Multiplatform slideshow application.
The goal of the Lavender project is to create a simple configurable slideshow program for MS-DOS and Windows (95, NT 4.0 or newer), written mainly in C.
This project has been publicly deployed three times, as a part of the promotional package for the 7th, 8th, and 9th edition of the Twilightmeet cultural event.
The application shows slides consisting of text and graphics contained in the ZIP file appended to the executable, or provided as a separate archive.
Application features (version 0.6.5)
- DOS (with optional XMS support), Windows (x86, x64, Arm, Arm64, and Itanium), and diagnostic Linux targets
- text-based script file format
- graphics mode: CGA 640x200 monochrome under DOS, EGA 640x350 16-color under DOS using a loadable driver, 24-bit RGB under Windows and Linux with user-customizable content size, Windows DPI awareness and full screen mode support
- display delays (animations): millisecond resolution
- displaying text (with UTF-8 subset support): under DOS, supports Czech, Polish, and Spanish diacritics, and 0x00-0x1F, 0x7F CP437 special characters
- displaying bitmap images: monochrome and 16-color Windows Device Independent Bitmaps (BMP), XRGB8888 Windows Device Independent Bitmaps (BMP) under Windows and Linux
- drawing and filling rectangles: 16 colors on Windows and Linux, and DOS with EGA, mapped 5 monochrome patterns on DOS with CGA
- MIDI Type 0 and own mono format music playback: PC Speaker (with 3 simulated voices), Yamaha OPL2, Roland MPU-401 UART under DOS, with loadable driver support, Windows MME API, FluidSynth under Linux
- script nesting: plain text or encrypted (supported ciphers: XOR, DES, and TDES), decryption key stored locally, entered manually, or retrieved remotely (using request and confirmation code, QR and confirmation code, or over HTTP)
- navigation using key presses and mouse clicks
- multiple language support (Czech, English, Polish)
- configurable and localizable AutoRun application for checking Lavender run-time dependecies
Features planned for the next release
- compilation-time feature selection based on Kconfig
- high resolution graphics
- native macOS target
- native Windows target for AXP, PowerPC, and MIPS