Difference between revisions of "Qt development with linuxmce"

From LinuxMCE
Jump to: navigation, search
(Working on your core)
(Working from your own linux machine)
Line 19: Line 19:
  
 
== Working from your own linux machine ==
 
== Working from your own linux machine ==
 
+
Working from one's own linux machine can be beneficial from the standpoint using the most familiar development environment. Some things must be take into consideration however.
 +
*If your device is a plugin, this method is not open to you. Plugins run in the router memory space and this means they cannot be run from remote machines. It wouldnt even be wise to try.
 +
*Passing command line parameters to the device, will allow you to run it from your machine, but connected to the router.
 +
** Pass '-r <yourcoreip>' for the router. It defaults to 192.168.80.1
 +
** Pass '-d <devicenumber>' for the device number.
  
 
== Working on your core ==
 
== Working on your core ==

Revision as of 00:25, 1 April 2016

This article will explain how to utilize the Qt development framework with linuxmce. Currently, there are a few different types of devices that utilize the Qt framework within linuxmce

  • Hue Controller - For controlling Phillips Hue color changing LED lights using QtNetwork to interface with the JSON api of the device.
  • linuxmceTag - A simple command line media scanner which scans video files, and then does its best to lookup information via online api's to fill in metadata
  • QOrbiter - Graphical user interface for linuxmce, allowing one to have classic orbiter functionality.

General Requirements

These are the general requirements for working with Qt and linuxmce to develop devices

  • Qt Development SDK - http://www.qt.io/download/
    • Choose the open source version. This will allow you to download the source as needed, libraries, and the IDE, Qt Creator.
    • If you are targeting Qt4, you would best apt-get install qt4-dev-tools. This will pull in Qt4 libraries and the Qt Creator for qt4. Please note if creating a new project, you will be politely asked to use Qt5. Qt4 based projects are scheduled to be moved to Qt5.
  • A functioning linuxmce installation, VM or otherwise.


Once you have setup your linuxmce box according to the article above,you will be ready to start development


Working from your own linux machine

Working from one's own linux machine can be beneficial from the standpoint using the most familiar development environment. Some things must be take into consideration however.

  • If your device is a plugin, this method is not open to you. Plugins run in the router memory space and this means they cannot be run from remote machines. It wouldnt even be wise to try.
  • Passing command line parameters to the device, will allow you to run it from your machine, but connected to the router.
    • Pass '-r <yourcoreip>' for the router. It defaults to 192.168.80.1
    • Pass '-d <devicenumber>' for the device number.

Working on your core

Working on the core can be beneficial from the standpoint of

  • no need to move file(s) across network
  • compile in native environment

Both of these are useful, but debugging and gui functionality will be limited.

QOrbiter Specifics

Desktop

Android

iOS

Raspberry Pi / MD specifics