Hollywood (programming language)
Encyclopedia
Hollywood is a commercially distributed programming language developed by Andreas Falkenhahn (Airsoft Softwair) which mainly focuses on the creation of multimedia-oriented applications. Hollywood is available for AmigaOS
(68k), AmigaOS 4
(PPC), MorphOS
, WarpOS
, AROS
and Windows
. There are currently no versions for Mac OS X
and Linux
but the software is already capable of compiling executables for these platforms. Hollywood has an inbuilt cross compiler
that can automatically save executables for all platforms supported by the software. The generated executables are completely stand-alone and do not have any external dependencies, so they can also be started from a USB flash drive
.
The Hollywood Designer is an add-on for Hollywood with which it is possible to use Hollywood also as a presentation software and an authoring system.
computer. Inspired by Amiga programming languages like AMOS, Blitz BASIC
, and Amiga E, Hollywood author Andreas Falkenhahn began development of Hollywood in Spring 2002 after finishing his A-levels. Version 1.0 of the software was released in November 2002, but only for 68000
-based Amiga systems. A month later, a native version for the PowerPC
-based MorphOS followed. Support for WarpOS was introduced with Hollywood 1.9 which appeared in Spring 2004 together with the first release of the Hollywood Designer, a tool which can be used to create presentations with Hollywood. AmigaOS 4 is supported since March 2005. Starting with version 2.0 (released in January 2006), Hollywood is using the Lua programming language as its virtual machine
, but with significant modifications in syntax
and functionality. Starting with version 3.0 (January 2008), Hollywood for the first time also runs on two non Amiga inspired operating systems: Microsoft Windows and Mac OS X. Since version 4.5 (January 2010) Hollywood is also available with an integrated development environment
on Windows. Since version 4.8 (April 2011) Hollywood can also compile executables for Linux
.
applications. The language set comprises roughly 500 different commands from the following fields of application: 2D graphics, sound, file system operations, text output, animations, sprites
, layers, transition effects, image manipulation, saving of images and video files
, time and date functions, input functions (keyboard, joystick, mouse) as well as mathematical operations and string functions. Programming in Hollywood is done via so called Hollywood scripts (using the file extension
*.hws). These scripts are compiled dynamically and can be converted into stand-alone executables. All Hollywood programs run inside a sandbox
, which makes it impossible for them to crash.
directly and are limited to the inbuilt command set. Text rendering is also implemented via a platform independent font backend that ensures that TrueType
text looks exactly the same on every platform. Furthermore, all versions of Hollywood support Amiga specific file formats like IFF ILBM
images, IFF 8SVX
sounds, or IFF ANIM
files, to be fully compatible with scripts written on an Amiga system.
compiler that comes with Hollywood is the ability to link all external files (including fonts) into the executable to be built automatically. This makes it possible to create programs which consist only of a single file and can thus be easily transported and distributed. Additionally, the Hollywood compiler can compile scripts into Hollywood applets (using the file extension *.hwa). These applets are smaller than regular Hollywood programs, but they can only be started on systems that have Hollywood installed. Finally, it is also possible to export Hollywood scripts as AVI videos
.
for the Amiga compatible version of Hollywood. On these systems, Cubic IDE
and Codebench can be used to develop with Hollywood as these have support for the Hollywood language through plugins. On Windows, Hollywood comes with an integrated development environment that can be used to create Hollywood scripts.
in Hollywood could look like this:
Print("Hello World!")
WaitLeftMouse
End
The code above opens a new window on the desktop, prints the text "Hello World!" in white letters and waits for the left mouse button before quitting. The opening of the window is automatically done by Hollywood. If not otherwise requested, Hollywood will automatically open a new window in the resolution of 640x480 for every script.
with Hollywood. The software uses a WYSIWYG
-compliant interface based on slides. Users can create as many slides as desired and fill them with texts, graphics, and sound. Hollywood Designer will then run the slides one after another or in a predefined order. Various transition effects are available. Additionally, it is possible to create applications which require user interaction, like kiosk systems.
All projects created in Hollywood Designer are displayed using Hollywood and can thus also be compiled into stand-alone executables or video files
. Advanced users can also embed custom code inside their projects. Through custom code it is possible to access the complete command set of Hollywood.
Technically speaking, Hollywood Designer does nothing else but automatically generate scripts for Hollywood according to the layout defined by the user in the GUI
. The process of generating scripts and running them using Hollywood is entirely hidden from the user so that programming skills are not necessary for using Hollywood Designer. However, because Hollywood Designer merely generates scripts for Hollywood, the latter is a mandatory requirement for Hollywood Designer.
The first version of Hollywood Designer was released in April 2004. Currently, the software is only available for Amiga compatible operating systems. However, thanks to the Hollywood cross-compiler, it can also save stand-alone executables for Windows, Mac OS X
and Linux
from the Amiga platform.
AmigaOS
AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...
(68k), AmigaOS 4
AmigaOS 4
AmigaOS 4, , is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code, and partially on version 3.9 developed by Haage & Partner...
(PPC), MorphOS
MorphOS
MorphOS is an Amiga-compatible computer operating system. It is a mixed proprietary and open source OS produced for the Pegasos PowerPC processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale development boards that use the Genesi firmware, including the...
, WarpOS
WarpOS
WarpOS was a multi-tasking kernel for the PowerPC architecture developed by Haage & Partner for the Amiga computer platform in the late 1990s and early 2000s. It ran on PowerUP accelerator boards developed by phase5 which contained both a Motorola 68000 family CPU and a PowerPC CPU with shared...
, AROS
Aros
Aros may refer to:*Aros , a river in J. R. R. Tolkien's Middle-earth legendarium*AROS Research Operating System, a free software implementation of AmigaOS* Aros, the original Viking name of Aarhus, the second largest city in Denmark...
and Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
. There are currently no versions for Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
and Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
but the software is already capable of compiling executables for these platforms. Hollywood has an inbuilt cross compiler
Cross compiler
A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is run. Cross compiler tools are used to generate executables for embedded system or multiple platforms. It is used to compile for a platform upon which it is not feasible to...
that can automatically save executables for all platforms supported by the software. The generated executables are completely stand-alone and do not have any external dependencies, so they can also be started from a USB flash drive
USB flash drive
A flash drive is a data storage device that consists of flash memory with an integrated Universal Serial Bus interface. flash drives are typically removable and rewritable, and physically much smaller than a floppy disk. Most weigh less than 30 g...
.
The Hollywood Designer is an add-on for Hollywood with which it is possible to use Hollywood also as a presentation software and an authoring system.
History
Hollywood has its roots on the AmigaAmiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...
computer. Inspired by Amiga programming languages like AMOS, Blitz BASIC
Blitz BASIC
Blitz BASIC refers to the programming language dialect that was interpreted by the first Blitz compilers, devised by New Zealand-based developer Mark Sibly. Being derived from BASIC, Blitz syntax was designed to be easy to pick-up for beginners first learning to program...
, and Amiga E, Hollywood author Andreas Falkenhahn began development of Hollywood in Spring 2002 after finishing his A-levels. Version 1.0 of the software was released in November 2002, but only for 68000
Motorola 68000
The Motorola 68000 is a 16/32-bit CISC microprocessor core designed and marketed by Freescale Semiconductor...
-based Amiga systems. A month later, a native version for the PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
-based MorphOS followed. Support for WarpOS was introduced with Hollywood 1.9 which appeared in Spring 2004 together with the first release of the Hollywood Designer, a tool which can be used to create presentations with Hollywood. AmigaOS 4 is supported since March 2005. Starting with version 2.0 (released in January 2006), Hollywood is using the Lua programming language as its virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...
, but with significant modifications in syntax
Syntax
In linguistics, syntax is the study of the principles and rules for constructing phrases and sentences in natural languages....
and functionality. Starting with version 3.0 (January 2008), Hollywood for the first time also runs on two non Amiga inspired operating systems: Microsoft Windows and Mac OS X. Since version 4.5 (January 2010) Hollywood is also available with an integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
on Windows. Since version 4.8 (April 2011) Hollywood can also compile executables for Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
.
General information
Hollywood's focus is on ease of use and platform independence. It was mainly designed for the creation of games and multimediaMultimedia
Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...
applications. The language set comprises roughly 500 different commands from the following fields of application: 2D graphics, sound, file system operations, text output, animations, sprites
Sprite (computer graphics)
In computer graphics, a sprite is a two-dimensional image or animation that is integrated into a larger scene...
, layers, transition effects, image manipulation, saving of images and video files
Audio Video Interleave
Audio Video Interleave , known by its acronym AVI, is a multimedia container format introduced by Microsoft in November 1992 as part of its Video for Windows technology. AVI files can contain both audio and video data in a file container that allows synchronous audio-with-video playback...
, time and date functions, input functions (keyboard, joystick, mouse) as well as mathematical operations and string functions. Programming in Hollywood is done via so called Hollywood scripts (using the file extension
Filename extension
A filename extension is a suffix to the name of a computer file applied to indicate the encoding of its contents or usage....
*.hws). These scripts are compiled dynamically and can be converted into stand-alone executables. All Hollywood programs run inside a sandbox
Sandbox (software development)
A sandbox is a testing environment that isolates untested code changes and outright experimentation from the production environment or repository, in the context of software development including Web development and revision control...
, which makes it impossible for them to crash.
Platform independence
Hollywood was designed to be a completely platform independent programming language. Thus, scripts cannot call any API functions of the host operating systemOperating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
directly and are limited to the inbuilt command set. Text rendering is also implemented via a platform independent font backend that ensures that TrueType
TrueType
TrueType is an outline font standard originally developed by Apple Computer in the late 1980s as a competitor to Adobe's Type 1 fonts used in PostScript...
text looks exactly the same on every platform. Furthermore, all versions of Hollywood support Amiga specific file formats like IFF ILBM
ILBM
ILBM is a subtype of the Interchange File Format used for storing picture data. ILBM stands for InterLeaved BitMap which refers to the way the pictures are stored. The image data is stored as a varying number of bitplanes, each storing one bit of data for each pixel in the image...
images, IFF 8SVX
8SVX
8SVX is a subformat of the Interchange File Format. The subformat is for 8-bit sampled sounds, supports both mono and stereo streams as well as loops; commonly used as a basic audio sample format on Amiga computers for many years...
sounds, or IFF ANIM
ANIM
ANIM is a file format, used to store digital movies and computer generated animations , and is a variation of the ILBM format, which is a subformat of Interchange File Format.-Anim FileTypes:...
files, to be fully compatible with scripts written on an Amiga system.
Compiler
A special feature of the cross-platformCross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...
compiler that comes with Hollywood is the ability to link all external files (including fonts) into the executable to be built automatically. This makes it possible to create programs which consist only of a single file and can thus be easily transported and distributed. Additionally, the Hollywood compiler can compile scripts into Hollywood applets (using the file extension *.hwa). These applets are smaller than regular Hollywood programs, but they can only be started on systems that have Hollywood installed. Finally, it is also possible to export Hollywood scripts as AVI videos
Audio Video Interleave
Audio Video Interleave , known by its acronym AVI, is a multimedia container format introduced by Microsoft in November 1992 as part of its Video for Windows technology. AVI files can contain both audio and video data in a file container that allows synchronous audio-with-video playback...
.
Development environment
There is no integrated development environmentIntegrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
for the Amiga compatible version of Hollywood. On these systems, Cubic IDE
Cubic IDE
Cubic IDE is a modular development environment for AmigaOS and MorphOS. Its central editor is GoldED 8, which supports file type centric configuration....
and Codebench can be used to develop with Hollywood as these have support for the Hollywood language through plugins. On Windows, Hollywood comes with an integrated development environment that can be used to create Hollywood scripts.
Hello World program
A Hello World programHello world program
A "Hello world" program is a computer program that outputs "Hello world" on a display device. Because it is typically one of the simplest programs possible in most programming languages, it is by tradition often used to illustrate to beginners the most basic syntax of a programming language, or to...
in Hollywood could look like this:
Print("Hello World!")
WaitLeftMouse
End
The code above opens a new window on the desktop, prints the text "Hello World!" in white letters and waits for the left mouse button before quitting. The opening of the window is automatically done by Hollywood. If not otherwise requested, Hollywood will automatically open a new window in the resolution of 640x480 for every script.
Hollywood Designer
The Hollywood Designer is an add-on for Hollywood that allows the creation of presentations and kiosk systemsInteractive kiosk
An Interactive kiosk is a computer terminal featuring specialized hardware and software designed within a public exhibit that provides access to information and applications for communication, commerce, entertainment, and education....
with Hollywood. The software uses a WYSIWYG
WYSIWYG
WYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...
-compliant interface based on slides. Users can create as many slides as desired and fill them with texts, graphics, and sound. Hollywood Designer will then run the slides one after another or in a predefined order. Various transition effects are available. Additionally, it is possible to create applications which require user interaction, like kiosk systems.
All projects created in Hollywood Designer are displayed using Hollywood and can thus also be compiled into stand-alone executables or video files
Audio Video Interleave
Audio Video Interleave , known by its acronym AVI, is a multimedia container format introduced by Microsoft in November 1992 as part of its Video for Windows technology. AVI files can contain both audio and video data in a file container that allows synchronous audio-with-video playback...
. Advanced users can also embed custom code inside their projects. Through custom code it is possible to access the complete command set of Hollywood.
Technically speaking, Hollywood Designer does nothing else but automatically generate scripts for Hollywood according to the layout defined by the user in the GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
. The process of generating scripts and running them using Hollywood is entirely hidden from the user so that programming skills are not necessary for using Hollywood Designer. However, because Hollywood Designer merely generates scripts for Hollywood, the latter is a mandatory requirement for Hollywood Designer.
The first version of Hollywood Designer was released in April 2004. Currently, the software is only available for Amiga compatible operating systems. However, thanks to the Hollywood cross-compiler, it can also save stand-alone executables for Windows, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
and Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
from the Amiga platform.
External links
- Official homepage and forums
- Homepage of the developer
- Cubic IDE, an IDE for Hollywood
- CodeBench, an AmigaOS 4 IDE for Hollywood and other languages
- An Infochannel created using Hollywood Designer (Norwegian)