gingaf is an MIT-licensed, multi-platform implementation of the interactive TV middleware Ginga standardised by ITU-T and SBTVD.
The gingaf repository is organized as a host-centric monorepo: the root directory (.) contains the Flutter visual host application for Ginga applications. It depends on core Dart packages in packages/ncldoc/ (the headless execution engine, see packages/ncldoc/README.md) and packages/ccws/ (the web service library, see packages/ccws/README.md).
The web interactive playground and player are located in node/, which also provides the ginga-node package.
User-level applications built on top of gingaf include ginga-playground (for web-based evaluation) and ginga-code (a Visual Studio Code extension for application development).
block-beta
columns 3
playground["playground"]
ginga_code["ginga-code"]
space
web["gingaf (web)"]
desktop["gingaf (desktop)"]
mobile["gingaf (mobile)"]
gingaf["gingaf"]:3
ncldoc["ncldoc"]:2
ccws["ccws"]:1
windows.mp4
android.mp4
chrome.mp4
cli.mp4
playground-ncl.mp4
playground-html.mp4
playground-lua.mp4
vscode.mp4
All example NCL and HTML documents are stored in the examples/ folder. You can configure and run the application via APP environment variable (e.g. examples/image.ncl or examples/image.html).
flutter run -d windows --dart-define="APP=examples/image.ncl"
flutter run -d windows --dart-define="APP=examples/video.ncl"For convenience, you can use make run-example for the current platform:
make run-example app=viode.ncl
make run-example app=image.htmlflutter run -d chrome --dart-define="APP=https://raw.githubusercontent.com/ginga-org-br/gingaf/refs/heads/main/examples/video.ncl"