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 monorepo: the root directory contains the Flutter host application. See the main components below.
packages/gingacc/: configuration, users, and CCWSpackages/ncldoc/: NCL headless execution enginepackages/nclui/: NCL and visual widgetsnode/: npm package which also contains web interactive playground
block-beta
columns 3
playground["playground"]
space
space
ginga_node["ginga-node"]
ginga_code["ginga-code"]
space
web["gingaf (web)"]
desktop["gingaf (desktop)"]
mobile["gingaf (mobile)"]
gingaf["gingaf"]:3
nclui["nclui"]:3
ncldoc["ncldoc"]:2
gingacc["gingacc"]:1
You can use gingaf to develop Ginga applications at web by using the playground or acessing ginga.org.br/gingaf/playground or at desktop by the Visual Studio Code extension ginga-code.
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/video.ncl"
flutter run -d windows --dart-define="APP=examples/image.html"For convenience, you can use make run-example for the current platform:
make run-example app=video.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"