Skip to content
A flexible authoring tool for interactive multimedia applications
C++ C Python CMake HTML QMake Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Some screenshots

Build Status (Linux) Build Status (Windows) Documentation Status Snap Status

NCL Composer

NCL Composer is a multiplataform and flexible authoring tool for creating interactive multimedia applications for Digital TV based on NCL (Nested Context Language). It provides a minimal core and different views (implemented as plug-ins) supporting textual and graphical abstractions.

Main features

  • Advanced textual editing, such as code coloring, autocomplete, and error marking
  • Validation of NCL documents
  • WYSISWG definition of the application layout
  • Structure viewing/edition of NCL documents
  • Integration with different players (e.g. Ginga-NCL Reference Implementation)
  • Multi-platform (Linux, Windows, and MacOS X are officially supported)
  • Easily extended through plug-ins

Source code organization

NCL Composer source code is divided into three main parts:

  • src/core: a minimal core that supports loading and communication between plug-ins.
  • src/gui: the GUI engine, responsible for grouping the different plugins in the same user interface.
  • src/plugins: the official plug-ins supported by NCL Composer.



The main requirement for building NCL Composer is:

  • cmake >= 3.2
  • Qt >= 5.4


In a Debian-based system (e.g. Debian, Ubuntu, or Linux Mint) you can easily install Qt libraries through:

$ apt-get install libqtbase5-dev libqttool5-dev

After installing the dependencies and cloning the NCL Composer's repository, you can compile NCL Composer by (in the nclcomposer's root directory):

$ mkdir _build && cd _build
$ cmake ..
$ make

If everything is alright with the compilation process you should be able to find the executable (and run):

$ ./_build/bin/nclcomposer

Nightly builds

Linux Debian/Ubuntu/Mint

To install a nightly build of this repository you can run:

$ sudo add-apt-repository ppa:telemidia/daily-builds
$ sudo apt-get update
$ sudo apt-get install nclcomposer

WARNING: Nightly builds are automatically generated builds from the latest development code. By their nature these builds are likely to contain bugs. We value your help. Please, report problems or give us feedbacks if you find any problem.

Main authors and contributors

Previous contributors


NCL Composer is available through LGPLv3.

Further information


NCL Composer would not be possible without other open source software we use. In special, we would like to acknowledge:

  • Qt for multi-plataform, gui, etc.
  • QScintilla and Scintilla for textual editing features.
  • QToolMainWindow: for a beautiful and easy-to-use organization of the interface.
  • Graphviz: for automatically layout of nodes in structural view.
You can’t perform that action at this time.