** 1 page regular / 902 words ** Inside GEM Mark Wherry continues his exploration of the GEMScript jungle... In AC#11 we took a look at what the GEMScript protocol is, how it works and briefly discussed two GEMScript interpreter programs, Scripter and Simple Script. Since then, news that an English release of Scripter is in the pipeline has reached us; and a new version of Simple Script is also under development. In addition to all this good news, an English release of the GEMScript documentation should be available courtesy of the TransAction crew. Let's plug plug-ins! Plug-ins are typically small programs that add functionality to another main application. Scripter supports plug-ins, but because of the way Scripter handles plug-ins, any GEMScript aware application can theoretically access these plug-ins. Certainly, most Scripter plug-ins are usable using the freeware Simple Script. The reason for this compatibility is that a GEMScript plug-in, is really a GEMScript aware program that runs in the background waiting to receive and respond to commands from other programs so a multi-tasking operating system is a pre-requisite. GEMScript plug-ins, with PLG file extenders, are normally launched by the host application. However they can also be renamed as PRGs and executed from the desktop if you prefer. Plug-ins should be installed into the Scripter or Simple Script 2 plug-in folder. Several Atari developers have already released GEMScript plug-ins so let's take a look at what's currently available. At the moment all these plug-ins have been released as freeware, and we've also included them on the Reader Disk for your convenience. ** ON READER DISK banner/logo here ** Form Form is a plug-in, programmed by Alexander Clauss and translated to English by TransAction, which uses the windowed dialog routines of WDIALOG or MagiC (v4 or later) to provide an easy way for GEMScript programs or scripts to display dialogs or forms without having to create separate resource files. One of the best features of Form is that it isn't just limited to one dialog at a time - any running program or script can request a dialog to be displayed at any point. The current release supports groups, radio buttons, check boxes, standard buttons, text fields and keyboard shortcuts for activating these objects. To use Form to display a dialog, your script must first include an instruction to tell Form to create a new dialog in memory. You then specify which objects to add to the dialog, giving default selection, keyboard shortcuts and so on, where necessary. Finally you tell Form where to display the dialog on screen and handle user interaction. When the user has finished with the dialog your script can interrogate Form to determine the status of each of the dialog objects. These values can then be used within your script subsequent procedures. Future versions may include support for popups, listboxes, file selectors and more, depending on user feedback, so do make the effort to get in touch with Alexander if you have found a use for this exciting plug-in. ** FORM_C.GIF here ** ** Caption ** Example script and form displayed by Form - they look just like the real thing don't they! ** /caption ** Plug 'n' Pop Programmed by Volker Janzen, Plug 'n' Pop, is a simple yet effective GEMScript plug-in which can display a popup menu. On calling the plug-in you specify where you want the menu to appear, which can be at the current mouse position, along with the list of items you wish to be displayed in the pop-up menu. When the user has chosen an item, or otherwise exited from the pop-up menu, the plug-in informs the script which item the user selected, or if no selection was made. ** POPUP_C.GIF here ** ** Caption ** Example script and popup displayed by Plug 'n' Pop ** /caption ** ISVM Volker's other GEMScript plug-in is this, rather impressive sounding, InterScript Variables Manager, based on an idea from GEMScript protocol co-author Holger Weets. ISVM basically maintains a table of variables where any script or program can add a variable, delete a variable, or request the value of a variable. This provides a facility similar to operating system global variables and enables values to be shared between GEMScript programs and scripts. Permanent and temporary variables are supported. When the plug-in is terminated, permanent variables are stored in a file named PISV.DAT (Permanent InterScript Variables) and retrieved next time the plug-in is loaded. Temporary variables are, as you'd expect, lost when the plug-in is terminated. Socket This ambitious plug-in provides internet connectivity to your GEMScript programs or scripts. Socket is programmed by Jrgen Koneczny who also programs TurboBlanker and the I-Connect TCP/IP stack clients Fiffi (ftp) and Teli (telnet). To get the most out of this program, some knowledge of internet protocols is essential. Example scripts are provided for communication via ftp (File Transfer Protocol) and http (HyperText Transfer Protocol). Conclusion Plug-ins make powerful additions to the functionality of GEMScript interpreters and with GEMScript support built into desktops such as jinnee they will become increasingly useful. However, don't forget these plug-ins can also be run as stand-alone applications so we'll just have to wait and see what programmers come up with. Next time, following on from the Artworx review, we are going to take a look at the amazing possibilities GEMScript and OLGA can offer when using Form, Artworx, Texel, and CAB together. Meanwhile if you have any questions or suggestions please do get in touch: ** BC ** mark@ataricomputing.com http://www.rvmp.co.uk/igem/ ** /BC **