Demistar

Wieloplatformowa aplikacja pokazu slajdów.

Przykład użycia programu Lavender

Celem projektu Lavender jest stworzenie prostego, konfigurowalnego programu pokazu slajdów dla systemów MS-DOS i Windows (95, NT 4.0 lub nowszych), napisanego głównie w języku C.

Ten projekt został dwa razy wdrożony publicznie jako element pakietu promocyjnego VII, VIII i IX edycji wydarzenia kulturalnego Twilightmeet.

Aplikacja wyświetla slajdy złożone z tekstu i grafik zawartych w archiwum ZIP dołączonym do pliku wykonywalnego lub dostarczonym jako oddzielny plik.

Repozytorium w serwisie GitHub

Cechy aplikacji (wersja 0.6.5)

Ekran dialogowy wpisywania klucza
  • kompilacja dla systemów DOS (z opcjonalną obsługą XMS) i Windows (x86, x64, Arm, Arm64 oraz Itanium) oraz diagnostyczna dla systemu Linux
  • tekstowy format pliku scenariusza
  • tryb graficzny: monochromatyczny CGA 640x200 w systemie DOS, 16-kolorowy EGA 640x350 w systemie DOS z użyciem ładowalnego sterownika, 24-bitowy RGB w systemie Windows i Linux z rozmiarem treści dostosowywanym przez użytkownika, obsługa wysokiego DPI i trybu pełnoekranowego w systemie Windows
  • opóźnienia wyświetlania (animacje): dokładność do milisekundy
  • wyświetlanie tekstu (z obsługą podzakresu UTF-8): w systemie DOS wspiera czeskie, hiszpańskie i polskie znaki diakrytyczne oraz znaki specjalne 0x00-0x1F i 0x7F strony kodowej 437
  • wyświetlanie map bitowych: monochromatyczne i 16-kolorowe mapy bitowe niezależne od urządzenia systemu Windows (BMP), mapy bitowe niezależne od urządzenia systemu Windows (BMP) w formacie XRGB8888 w systemach Windows i Linux
  • rysowanie i wypełnianie prostokątów: 16 kolorów w systemach Windows i Linux oraz DOS w trybie EGA, odwzorowanie na 5 monochromatycznych deseni w systemie DOS w trybie CGA
  • odtwarzanie muzyki w formacie MIDI Type 0 oraz własnym formacie mono: głośnik systemowy (z symulacją trzech głosów), Yamaha OPL2, Roland MPU-401 UART w systemie DOS z obsługą ładowalnych sterowników, Windows MME API, FluidSynth w systemie Linux
  • zagnieżdżanie scenariuszy: tekst jawny lub zaszyfrowany (obsługiwane algorytmy: XOR, DES i TDES), klucz deszyfrujący przechowywany lokalnie, wpisywany ręcznie lub pozyskiwany zdalnie (z wykorzystaniem kodu żądania i potwierdzenia, kodu QR i potwierdzenia lub poprzez protokół HTTP)
  • nawigowanie z użyciem naciśnięć klawiszy i przycisków myszy
  • obsługa wielu języków (angielski, czeski, polski)
  • konfigurowalna i lokalizowalna aplikacja autoodtwarzania do sprawdzania zależności czasu wykonania programu Lavender

Funkcje przewidziane na kolejne wydanie

  • wybór funkcji na etapie kompilacji oparty o Kconfig
  • grafika wysokiej rozdzielczości
  • natywna kompilacja dla systemu macOS
  • natywna kompilacja dla systemu Windows AXP, PowerPC oraz MIPS