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.
- 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
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
- Roberto Azevedo [email protected]
- Eduardo Araújo [email protected]
- Marcelo Moreno [email protected]
- Bruno Lima [email protected]
NCL Composer is available through LGPLv3.
- NCL Composer Official Website (http://composer.telemidia.puc-rio.br)
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.