GLPRO
John Bridges' Graphics Language for Professionals: the script-driven successor to GRASP that packed images, animation, sound, fonts and even a database into a single small executable for DOS and Windows multimedia titles of the late 1990s.
Created by John Bridges, under a development contract with GMEDIA (IMS Communications Ltd, UK)
GLPRO, short for Graphics Language for Professionals, was a commercial multimedia authoring language for MS-DOS and Microsoft Windows. John Bridges wrote it as the successor to GRASP, the pioneering PC animation system he had developed since the 1980s. Most competing tools of the late 1990s were visual: Macromedia Director had its stage and score, Asymetrix ToolBook its books and pages. GLPRO was built around a script. Every fade, animation, sound, hotspot and database lookup was a line of BASIC-like code. The script was then compiled into a single self-contained .EXE or screensaver .SCR file that needed no runtimes, codecs or drivers on the user’s machine. That “one file, nothing to install” design made GLPRO popular for CD-ROM and floppy titles that had to run on whatever PC a customer happened to own.
History & Origins
The GRASP inheritance
GLPRO’s history begins with GRASP. In the mid-1980s Doug Wolfgram and John Bridges, who had already written PCPaint together for Mouse Systems, produced GRASP, the GRaphical System for Presentation. It was later renamed the GRaphics Animation System for Professionals. Wolfgram’s company Microtex Industries released it as shareware in 1985. From version 2.0 in 1987 it was a commercial product published by Paul Mace Software, and Bridges took over the core engine. GRASP 3.0 followed in 1988 and GRASP 4.0 in February 1991. Version 4.0 added the ability to bind a presentation into a stand-alone EXE, Autodesk FLI/FLC playback, file I/O, global variables and loadable command modules. Multi-Media GRASP followed in June 1993 with TrueColor support.
Early in 1990 Wolfgram sold his remaining rights in GRASP and PCPaint to Bridges. That is probably where the date 1990, used for GLPRO in some language lists, comes from. The GLPRO product itself appeared only in 1995.
From GRASP to GLPRO (1994-1995)
GMEDIA’s own history of the product says that in 1994 GRASP development “stagnates in a bad atmosphere” between Bridges and his publisher, and Bridges ended his contract with Paul Mace Software. In June 1995 he signed a new development contract with GMEDIA. GMEDIA was one of GRASP’s largest users and a popular developer of GRASP add-ons, and was associated with the British multimedia producer IMS Communications Ltd. Work started on a brand-new Windows codebase, codenamed Neptune.
The first product came out in autumn 1995: GLPRO 6 for DOS. It was a complete rewrite and was “100% upwardly compatible” with GRASP. The version number continued GRASP’s numbering rather than starting again at 1, so existing GRASP scripts and developers carried straight across. GLPRO for Windows followed in February 1996.
Design Philosophy
Everything in one file
The idea that ran through every GLPRO release was self-containment. GMEDIA’s GLPRO 8 specification explains it at length. Contemporary Windows applications depended on a growing pile of shared DLLs, codecs and drivers, and GMEDIA saw that as the root cause of “compatibility” failures. GLPRO’s answer was to implement each media type itself:
- Sound: WAV, ADPCM and, from late 1998, MP3, decoded by GLPRO’s own code with up to 32 mixed channels
- Animation: Autodesk FLI and FLC plus GLPRO’s own DFF format, with no
AAPLAY.DLL, Indeo or QuickTime runtime - Fonts: compressed
.GLFfonts with real-time anti-aliasing, so no TrueType fonts had to be installed - Images: JPEG, GIF, BMP, PCX and GLPRO’s own image format
- Data: a built-in dBASE
.DBFengine that GMEDIA put at about 8 KB
All of these assets could be embedded in, and protected inside, the compiled executable. GMEDIA quoted the size of the playback engine itself as 249 KB in early 1998, 321 KB after the late-1998 MP3 upgrade, and 320 KB for each of the two version 8 engines. These are vendor figures.
The drawback was the one Wikipedia’s article identifies. Because GLPRO did not use operating-system media services, it had to add every new format itself. It struggled to keep up as video and audio formats multiplied.
Code instead of WYSIWYG
GLPRO deliberately had few visual tools. Developers wrote scripts in an editor. The late-1998 MP3 upgrade introduced a 32-bit IDE with syntax colouring, breakpoints and watches, plus image and font editors. The language was not object-oriented: there were no classes and no way to extend the language itself. Instead it offered a very large vocabulary of specialised commands, which GMEDIA’s MP3 press release put at more than 650 commands and features. Customer testimonials on GMEDIA’s site present this as a selling point: “No object orientated programming, just straight code”. Critics pointed to its syntactic inconsistency and the steep learning curve.
Key Features
Syntax
GLPRO scripts are line-oriented. Each line holds a command followed by space-separated arguments, and comments begin with a semicolon. Version 8 reorganised the language so that every command starts with its subsystem name: image..., draw..., sound..., palette..., net..., file..., print.... The examples below are adapted from GMEDIA’s own “GLPRO tips” page (archived January 2000) and use the version 8 syntax.
Displaying images and waiting for the user:
| |
A complete screensaver that grabs the desktop and scribbles random lines over it:
| |
Variables and expressions. A name is assigned with set or = and dereferenced with @:
| |
Sound and internet access are ordinary commands too:
| |
Capabilities by the end of the 1990s
GMEDIA’s dated history records the feature growth through the Windows releases:
| Area | Feature | Added |
|---|---|---|
| Events | Enhanced WHEN command as the basis of event-driven scripts | May 1996 |
| Output | Screensaver (.SCR) generation | June 1996 |
| Interaction | Hotspots, later including irregular user-defined areas | Sept 1996 / v7.1x |
| Text | On-the-fly anti-aliased text with embedded compressed fonts | Feb 1997 |
| Internet | HTTP and FTP; then email sending | July / Nov 1997 |
| Graphics | Layers; filter and tint; rotate and warp | Oct 1997 - Mar 1998 |
| Data | dBASE .DBF database and printing | Jan 1998 |
| Build | Modular compiler that includes only the commands a script uses | Apr 1998 |
| Audio | Native MP3, ADPCM and multi-stream mixing | Nov 1998 |
| Video | Native MPEG video, first public version | Sept 2000 |
Version 7.1x also added serial and parallel port I/O, DLL callbacks, clipboard access and encryption functions.
Evolution
GLPRO 6 (1995-1996)
GLPRO 6 was the DOS rewrite and then the first Windows edition. Its main job was to give the existing GRASP user base a stable, actively developed home. GMEDIA credits the “instant user feedback and internet fueled development” of a mailing-list community for its rapid pace.
GLPRO 7 (1997)
Released in June 1997, GLPRO 7 brought JPEG support, long filenames and 32-bit Windows API access. It also merged GLPRO’s separate function and command forms into one common syntax. Script size limits doubled from 32 KB to 64 KB in 7.1x. The engine was still a tightly coded 16-bit Windows program, which kept Windows 3.1 compatibility.
GLPRO 8 (1999-2000)
GLPRO 8, announced on 16 September 1999, was the largest change in the product’s life. It introduced the prefixed command syntax shown above, a pure 32-bit engine for Windows 95, 98, NT and 2000, a second 16/32-bit engine that still played back on Windows 3.1, and an HTML Help reference with runnable examples. The old syntax remained available through a switch. GMEDIA described the new “clean” 32-bit architecture as the base for Macintosh, Linux and Windows CE engines that would reproduce a title “pixel for pixel” on every platform.
The end of GMEDIA
In February 2000 the GLPRO technology moved from IMS Communications to a separately financed public company, GMEDIA.COM plc, which renamed itself GMEDIA Technology plc that September. Its last dated history entry, from January 2001, reports alpha Macintosh and Linux engines running about 95% of GLPRO’s features. GMEDIA closed its doors in the last days of February 2001, according to Bridges’ own account on aftergrasp.com. Wikipedia adds that the Macintosh and Linux ports were just entering public beta at the time. We found no evidence that any non-Windows engine was ever released. The same article claims the rights later passed to a company called Comlet Technologies, which we could not verify.
Current Relevance
GLPRO is a historical product. Its vendor has been gone for a quarter of a century, and its runtimes are 16- and 32-bit Windows executables from the Windows 3.1-2000 era. They are of interest mainly to people preserving CD-ROM titles of that period.
The lineage did not quite end with GLPRO, though. In late February 2002 John Bridges began AfterGRASP, a new authoring system designed to be backwards compatible with GLPRO. Its website, aftergrasp.com, still describes it as “a successor to GLPRO and GRASP” and offers a free download under a non-commercial licence.
Why It Matters
GLPRO was the last commercial form of one of the PC’s earliest multimedia traditions. GMEDIA’s 1999 press release could claim “over 15 years” of history for a product launched in 1995, because GLPRO was really the continuation of GRASP and PCPaint, which go back to 1983-85. Its single-executable, no-dependency design was a deliberate response to the “DLL hell” of 1990s Windows, and it let small teams ship rich titles on a single floppy or a run-from-CD disc that worked on low-end PCs. Its main weakness, owning every media format itself, also explains why it faded once the industry moved to shared codecs and web-based multimedia.
Sources and Verification Notes
- GMEDIA, “The History of GLPRO and the people behind it” (gmedia.com/glpro/press/history.html, Wayback capture June 2001) is the source for the dated chronology from 1983 to January 2001.
- GMEDIA press releases are the source for the GLPRO 8 launch (16 September 1999), the MP3 upgrade and the World Cup 98 CD-ROM. The GLPRO 8 and version 7 specification pages and the “GLPRO tips” page are the source for the syntax examples. GMEDIA’s showcase pages are the source for AeroMexico, OAG CargoDisk, Microsoft Sales Specialist and CD Zone, and its 1998 users page for the “No object orientated programming” testimonial. All are Wayback captures, 1998-2001.
- Pallas Press, “Master GLPRO Faster” release (25 April 2000) is the source for GLPRO Foundations 2000, ISBN 0-9661871-7-2.
- Wikipedia’s GRASP, PCPaint and John Bridges articles are the source for GRASP history, the 1990 rights sale and the critique of the language.
- The February 2001 closure and the February 2002 start of AfterGRASP come from Bridges’ “Where did AfterGRASP come from?” page on aftergrasp.com. The claim that the Macintosh and Linux ports were entering public beta, and the later ownership by Comlet Technologies, come only from Wikipedia and are not independently verified. Engine sizes, command counts and the 8 KB database figure are vendor claims.
Timeline
Notable Uses & Legacy
The Ultimate Guide to the World Cup '98 (Ziff-Davis)
A magazine companion CD-ROM built by IMS Communications in GLPRO, with screensavers, games, video interviews and team information. The specification called for Windows 3.1/95/98/NT on a 486DX in no more than 4 MB of RAM, running directly from CD with nothing installed to the hard drive, plus live results updates over the internet without a web browser
AeroMexico Flight Planner
A single-floppy application listed in GMEDIA's showcase. It held a searchable graphical database of more than 45,000 flights, with airport details, aircraft types, connections and seat classes, together with country maps, cabin layouts and terminal plans.
OAG CargoDisk demonstration (Reed Travel Group)
A GMEDIA showcase disk made for Reed Travel Group to demonstrate its OAG CargoDisk product, containing a walk-through simulation of the product and descriptions of its key benefits
Microsoft Sales Specialist training disk
A multilingual, single-floppy training application listed in GMEDIA's showcase. Microsoft's remote sales offices used it to train staff and dealers in key product areas, and it included graphics, user testing and storage of trainee results
CD Zone (PC Zone Benelux cover disc)
The front end of the monthly cover CD-ROM for the Dutch and Belgian games magazine PC Zone Benelux, which GMEDIA's showcase put at 43,000 copies a month. It launched game demos after checking the user's CPU, disk space and free memory, played sound and video, and read its menu structure from an external INI file
Computer-based training (Conrad Brandt / Pallas Press)
Conrad Brandt, a retired US Air Force officer, used the GRASP/GLPRO line from 1991 to build computer-based training, testing and financial applications. He wrote the GLPRO tutorial books 'GLpro for Windows Foundations' and 'GLPRO Foundations 2000' (Pallas Press, Orlando)