** 2 page regular / 1497 words ** InsideGEM Mark Wherry Welcome to the final InsideGEM column; there are many exciting developments to report on this time, so much so that we've over grown onto two pages! ** SCRIPTER.GIF here ** English Scripter Preview If you've read some of the articles I've written recently you'll have heard me mention Scripter more than once. Scripter is written by ST-Guide author Holger Weets and Christian Wempe. Scripter has been available in German from ASH for some time but it's thanks once again to TransAction crew member Peter West who has translated the entire package, which just leaves System Solutions to put the release version together. Scripter is an interpreted scripting language, much like Javascript or Applescript. This means instead of writing a program, compiling it and then executing it, a Scripter "script" is run straight from the source code and executed one line at a time. So why use a scripting language in preference to a traditional language like C, Pascal or Basic? Generally speaking, traditional languages are designed for the development of complete applications, whereas scripting languages are designed to carry out a set of automated tasks. While Scripter is impressive as a stand-alone program, it really shines when used together with other GEMScript aware packages. Happily most ASH products (Texel, ArtWorx, jinnee, Papillon and CAB) support the GEMScript protocol and provide example scripts for use with Scripter. An Example Communication with other applications lies at the heart of Scripter's conception so let's look at an example. Alexander Clauss has written a script to create CD labels which uses his own Form plug-in to gather the input and ArtWorx to create the label output. Take a look at the following screenshots: First the details such as the dimensions and track names are set up via the dialogs created by Form. Once the dialog is satisfied the script assembles the data and draws the CD label within a new ArtWorx window - simple! ** CDLABEL1.GIF ** CDLABEL2.GIF ** CDLABEL3.GIF ** CDLABEL4.GIF We now have all the tools needed to add features, customise and automate common tasks within our work flow using scriptable applications. Just by supplying the names of the tracks in the CD label script, we can create a CD label for any CD so it would be possible to extend the script to link into a database (the one within Alexander's own popular CD-Player program would do nicely) where the track information could be extracted automatically to produce labels for every CD in your collection! Conclusion Although the Scripter documentation is comprehensive it's really aimed at experienced C programmers which means it's less likely users will take up the challenge to write some scripts - some tutorial orientated material would be helpful. A dedicated script editor which could point out syntax errors would be a useful addition to a future release. With jinnee 2 offering GEMScript support Scripter is fast becoming an essential desktop enhancement and it comes highly recommended. ** product boxout ** Scripter v1.1 Publisher ASH UK Distributor System Solutions, 17-19 Blackwater Street, Dulwich, London SE22 9RS Tel: 0181 692355 Email: info@system-solutions.co.uk http://www.system-solutions.co.uk/caf‚/ Price TBA Requirements A Multi-tasking OS is essential to use Scripter with other applications. Pros Can multi-task scripts without a multi-tasking OS. C-like syntax easy for programmers to understand. Cons No development environment, more information for beginner would be nice. 89% New Atari C/C++ Compiler! A brand new Atari development tool is now available featuring a modern Integrated Development Environment (IDE), but there's just a catch - it only runs on a Mac! Anyone who programs the Mac will be aware of CodeWarrior, it's a powerful standard Mac development tool from Metroworks, who incidentally, have recently become part of Motorola. What makes CodeWarrior special is a plug-in architecture, for which a development kit for programmers is widely available. Where traditional compilers convert source code directly into machine code, CodeWarrior uses a front-end compiler to create an "intermediate representation", which is then translated into machine code by a back-end code generator. This fact allows different back-end code generators to be used to create instructions for different machines, whilst still taking advantage of CodeWarrior's front-end C/C++ compilers. With the appropriate plug-ins, CodeWarrior can be used to create code for MacOS, PalmOS, Linux, Windows and, wait for it, Atari! TOS Linker, programmed by jinnee author Manfred Lippert is a back-end code generator plug-in to create Atari programs within CodeWarrior. Now this all sounds too good to be true for MagiCMac developers: A modern development system to create Atari projects - but it gets even better. TOS Linker includes newly written TOS libraries that provide full support for the latest MagiC and NVDI features. However, there are a few limitations. The current release does not implement C++ exceptions or C++ standard libraries and there's no floating-point support - although Manfred does have floating point arithmetic working for inclusion in a forthcoming update. I'm sure some readers will be aware CodeWarrior is also available for Windows but TOS Linker currently isn't - a Mac is required. Furthermore although CodeWarrior also supports Pascal and Java the TOS Linker libraries are currently only provided for C/C++ compilers. These limitations are best summarised by Manfred himself, "If you understand the limitations it is very lovely to write Atari programs with CodeWarrior." They say the proof of the pudding is in the eating and while jinnee isn't programmed with TOS Linker all of Manfred's utilities are. The list includes: Manitor, Battery, KeyWatch, MenuBar, the UU-Coder in jinnee, MacGMT, and others. TOS Linker is currently only available directly from ASH in Germany, but at the bargain price of only 30 DM (around ś10) so you really can't really grumble. Take a look at their web pages for more details: http://www.application-systems.de CodeWarrior Professional (MacOS) is available from their UK distributor Full Moon. For more details point your browser at: http://www.fullmoon.co.uk Visual Tools for Pure C One type of programming that is eminently popular on other platforms is the so-called "visual" approach. This method can and does fill huge tomes on the subject. I prefer to think of this as the programming equivalent of "Wash and Go" - take multiple development tools into the shower, a resource editor, a source editor, an application framework and a compiler/linker, etc...? Not me, I just want to... well, you get the idea! Although there is no real visual development tool for the Atari platform, there is one that comes close. ACS Pro is basically an application framework that comes with a GUI editor and uses Pure-C to make the final product. The GUI editor is the important bit as it effectively replaces the resource editor with a much more flexible tool. The problem with the way user interface additions have been bolted onto the Atari, is that they are achieved through cobbling together other resource types, instead of providing an all in one solution. The GUI editor for ACS Pro effectively "hides" this from the developer, but does a lot more besides. It's well worth any interested programmers taking a look at the web pages which include a step by step guide with full screenshots to create a simple "Hello World" application using the system: http://www.atari-computer.de/martin_elsaesser/index.html ** HELLO32.GIF here ** ** GSU150_S.GIF here ** GEM-Setup With news of new and improved development tools, programmers also need a better way to distribute them. If you've ever installed applications on other operating systems, you'll be familiar with Installer Vise for MacOS and/or Install Shield for Windows. These tools are generic installers - programs which can be customised by developers to automatically install packages on your computer. Such tools simplify the installation process for users, as the installer automatically puts the files in the right places, for example, CPX files are copies to the CPX folder. While many Atari packages such as those from ASH already include a custom installer, there has never been a truly flexible generic installer for the Atari platform - until now. GEM-Setup, programmed by Joachim Fornallaz offers many powerful features including support for targeting multiple languages, LZH archive handling and the ability to customise which parts of the package to install. Shareware and commercial authors will be particularly interested to note that GEM-Setup includes a plug-in interface for you to be able to build your registration routines into the installation process. Since its release, GEM-Setup has been adopted by Milan and is also now used to install applications such as Aniplayer, Spin!, Calamus SL, Rational Sounds, N.AES and more. There's even an unconfirmed rumour ASH products will switch to GEMSetup in the near future. As I write, a new version which will support multiple languages more effectively is close to release. This will also feature improved password handling, optimised code and some bug fixes. For more information, and to download the latest version, visit Joachim's homepage at: http://www.stud.ee.ethz.ch/~jfornall/gemsetup.html The End I hope you've found these columns interesting. By the time you read this, the InsideGEM pages will finally be made online at: http://www.cix.co.uk/~mark_wherry/ Email: mark@ataricomputing.com