1.1 Introduction
Hollywood is a multimedia-oriented programming language that can be used to
create applications and games very easily. Designed with the paradigm
to make software creation as easy as possible in mind, Hollywood is
suited for beginners and advanced users alike. Hollywood comes with an
extensive function library (encompassing over 1000 commands) that
simplifies the creation of applications and games to a
great extent. Having been in development since 2002 it is a very mature and
stable software package today.
One of the highlights of Hollywood is its inbuilt cross-compiler which can be used
to deploy software on many different platforms without having to change a single line of the
code. The cross-compiler can compile executables for all platforms from any platform Hollywood
is running on. For instance, you can compile macOS application bundles using the
Windows version of Hollywood and vice versa. On top of that, there are also extensions
that allow you to compile your Hollywood projects into native applications for iOS
and Android.
Hollywood is a light-weight, but still powerful programming language whose core is just about
two megabytes in size and does not require any external components. Hence, it is ideal for
creating programs which run right out of the box. In fact, Hollywood programs will run perfectly from
a USB flash drive without any prior installation whatsoever. Furthermore, Hollywood's core functionality
can be greatly enhanced through lots of freely available plugins allowing you to access OpenGL and
SDL through Hollywood, for instance.
The following platform architectures are currently supported by Hollywood:
- – AmigaOS 3 (m68k)
- – AmigaOS 4 (ppc)
- – Android (arm)
- – AROS (x86)
- – iOS (arm)
- – Linux (x86)
- – Linux (x64)
- – Linux (ppc)
- – Linux (arm)
- – macOS (arm)
- – macOS (x86)
- – macOS (x64)
- – macOS (ppc)
- – MorphOS (ppc)
- – WarpOS (m68k/ppc)
- – Windows (x86)
- – Windows (x64)
Hollywood features
Graphics:
- Very flexible layer-based graphics engine
- Support for alpha channel graphics
- Sprites of any size can be used
- Extensive text support incl. on-the-fly formatting, wordwrapping, and rotation
- Platform independent TrueType text rendering
- Video playback fully supported
- Loads real vector image formats like SVG
- PDF import and export supported
- Many graphics primitives supported (ellipses, arcs, lines, rectangles, polygons...)
- Support for vector-based drawing (Bézier splines...)
- Optional antialiasing for text and graphics primitives
- Over 150 transition effects for graphics and text
- Tons of image processing functions
- Powerful off-screen rendering functions incl. rendering to masks and alpha channels
- Extensive clipping support (rectangular and custom shaped clipping regions)
- Support for hardware accelerated double-buffered displays
- Animation support
- Graphics can be exported as PNG, or even as AVI video streams
- Windows can use alpha channel transparency
- OpenGL 3D programming supported via plugin
- Video streaming supported via a dedicated plugin
Sound:
- Multichannel sound interface
- Support for samples and sound streams
- Protracker modules can be played
- Volume and pitch of samples can be changed during playback
- Multichannel mixer for manipulating samples
- Dynamically generated sound can be sent to the audio device
- Audio streaming supported via a dedicated plugin
GUI:
- Native GUI development supported via the RapaGUI plugin
- Create native GUIs for Windows, Linux (GTK), macOS and AmigaOS (MUI)
- GUIs are conveniently layouted using XML files
- Support for over 40 different widgets
- Full flexibility because Hollywood displays can be embedded in native GUIs
- Completely platform-independent GUI development - use the same code on every platform!
Network:
- Full Internet and network support
- Create server and client connections
- Transfer data using a wide variety of protocols like HTTP, FTP and SCP
- Serial I/O support through RS/232 or USB adapters
- IPC support for communicating with other programs
- IPv4 and IPv6 interfaces supported
- Full SSL/TLS support
System:
- Powerful yet extremely easy to use programming language
- Cross-platform compiler that supports Amiga compatibles, Windows, macOS and Linux
- Android and iOS support via the freely available Hollywood Player
- APKs can be generated via the optionally available APK Compiler
- Executables compiled by Hollywood do not require any additional libraries/DLLs (they also run from USB sticks!)
- All data files (including fonts) can be embedded in a single executable
- Unicode fully supported
- Windowed and full screen mode supported
- Multi-monitor support
- Sandbox container: programs can never crash
- Creation of OS menus is supported
- Event-based programming model guarantees moderate CPU usage
- Low latency interval and timer functions
- Extensive DOS library to work with the file system
- Support for ZIP and other archivers
- Convenient access to clipboard
- Access to system dialogs (file chooser, string prompt, etc.)
- Drag'n'drop support
- Database management via SQL supported
- Comprehensive string and math library
- Mouse cursor can be easily replaced with a custom cursor
- Convenient data serialization to and from JSON and XML
- Date and time functions
- Easy internationalization of programs via catalog system
- Joystick support
Plugin:
- Extremely powerful, cross-platform plugin system
- Publicly available SDK with over 500 pages of documentation and example code
- Default display driver is completely retargetable through entirely different subsystems (e.g. OpenGL)
- Default audio driver is completely retargetable through entirely different subsystems
- Plugins can add loaders and savers for additional image, animation, sound, font, and video formats
- All file I/O can be rerouted through customized handlers
- Hollywood's language command set can be extended via plugins
Show TOC