Skip to content
No description, website, or topics provided.
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.
platform Remove uselesss finished event call May 18, 2019
.gitignore Add .gitignore Oct 24, 2016
.nocompile Add '.nocompile' file. Oct 21, 2016 Rename LICENCE -> Jun 16, 2018 Update Jan 11, 2019

PureQML TV plugin

This plugin allow you to build PureQML apps for SmartTV platforms


  • AndroidTV
  • Hisense
  • LG NetCast
  • LG WebOS
  • OperaTV
  • Samsung Orsay
  • Samsung Tizen


Just place qmlcore-tv into your PureQML project root and you will able to build your app for any corresponded platform


To build an app for specific platform use this command:

./qmlcore/build -p androidtv|hisense|netcast|webos|opera|orsay|tizen


Creative Commons Attribution Share Alike 4.0

Adding New Platform

Platform is pretty much similar to any qml package you may have, just a directory with .manifest file in it. Platforms have some additional handling in build command (-p/--platform switch), but that's pretty much it. All dependencies are processed as anywhere else, platform code may have dist/ folder with additional files: own components and javascript modules, etc.


Pick a name relevant to platform or platform family. Ideally internal name, recognisable in professional community. Create platform/ directory. A few names are webos, orsay, tizen, we prefer lowercase kebab notation.


Platform manifest is just an ordinary manifests, and they may inherit some addition base platform, e.g. "video.html5" or "html5", and/or override some parent properties, for instance, strict mode. Consider the following example:

	"requires": ["video.html5", "video.shaka"],
	"templates": ["*.html", "appinfo.json"],
	"strict": false

This manifest imports video backends from generic html5 and Shaka, and also pass all .html and appinfo.json file to templater, so values from the manifest may override some application properties, like name, author, anything from manifest really.


This file is added really early in resulting js, if specific platform was activated. You may even override log function in it. Normally platforms declare their own key mapping if any, and/or some specific core functions, like close application or handling back button. See platform/<name>/.core.js as a good example how to do it.


Content of this folder has been installed into resulting application directory, with template variable replacement if required by "templates" manifest property.

Anything else

Anything else goes like normal package into "_globals.platform.<name>", so you can put additional qml components, include javascript modules, pretty much like anywhere else where .manifest is present.

If you have any questions feel free to drop us an email, or seek telegram/gitter support on our site:

You can’t perform that action at this time.