Personal tools
The Open Lighting Project has moved!

We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.

Difference between revisions of "Open Lighting Architecture"

From wiki.openlighting.org

Jump to: navigation, search
(Supported Devices)
m (Developer Documentation: More APIs)
 
(81 intermediate revisions by 26 users not shown)
Line 1: Line 1:
[[Image:Ola.png|right]]
+
[[Image:OLA-Logo-Fitted-48px.png|right]]
Link: http://code.google.com/p/linux-lighting/ <br>
+
Link: http://www.openlighting.org/ola/ <br>
{{Features|free=yes|tx=yes|rx=yes|linux=yes|osx=yes|http=yes|rdm=yes}}
+
{{Features|free=yes|tx=yes|rx=yes|linux=yes|osx=yes|http=yes|rdm=yes|win=yes}}
[[Image:Ola-download.png |right|link=http://code.google.com/p/linux-lighting/downloads/list]]
+
[[Image:Ola-download.png |right|link=http://opendmx.net/index.php/Download_%26_Install_OLA]]
 
[[Image:Llad_home.png| thumb |200px|right|Universe Settings]]
 
[[Image:Llad_home.png| thumb |200px|right|Universe Settings]]
 
[[Image:Ola-rdm.png|thumb|200px|right|RDM Devices Page]]
 
[[Image:Ola-rdm.png|thumb|200px|right|RDM Devices Page]]
Line 13: Line 13:
 
OLA can also convert DMX512 data sent using DMX over IP protocols from one format to another, allowing devices from different manufacturers to interact with one another. For example a [[Strand_Lighting|Strand]] Lighting Console using ShowNet can send DMX512 to an [[Enttec]] [[DmxEtherGate MKII|EtherGate]]. When combined with a physical DMX interface such as the [[DMX USB Pro]], OLA can send and receive data from wired DMX512 networks.
 
OLA can also convert DMX512 data sent using DMX over IP protocols from one format to another, allowing devices from different manufacturers to interact with one another. For example a [[Strand_Lighting|Strand]] Lighting Console using ShowNet can send DMX512 to an [[Enttec]] [[DmxEtherGate MKII|EtherGate]]. When combined with a physical DMX interface such as the [[DMX USB Pro]], OLA can send and receive data from wired DMX512 networks.
  
==Main Features ==
+
==Supported Protocols==
  
* Supports a variety of DMX over IP Protocols and a dozen different USB DMX devices.
+
{| border=1 cellspacing="0"
* Priority based merging of different sources.
+
! '''Protocol'''!! Linux !! '''Mac OS X'''  || '''FreeBSD''' || '''Windows'''
* Built in web based configuration including:
+
|-
** [[RDM]] controller
+
|| [[:Category:ArtNet|ArtNet, ArtNet 2, ArtNet 3]]  || [[Image:Green-tick.png|center]] [[Image:Rdm.gif|center]] || [[Image:Green-tick.png|center]][[Image:Rdm.gif|center]] || [[Image:Green-tick.png|center]][[Image:Rdm.gif|center]] || [[Image:Green-tick.png|center]] [[Image:Rdm.gif|center]]
** Drag and drop RDM patching with an automatic patcher
+
|-
** Custom UI for mobile devices (iPhone, Android)
+
|| [[E1.31]] / [[ACN]] || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]] ||  Not yet
* Command line tools which enable scripting of configuration and RDM commands.
+
|-
* Python, C++, Objective-C++ APIs for developers to build their own applications.
+
|| [[:Category:ESP Net|ESP Net]] || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]] || [[Image:Green-tick.png|center]]
* Runs on Mac OS X (ppc, i386, x86_64) & Linux ( i386, x86-64, arm).
+
|-
* Source code is open and available at no cost.
+
|| [[KiNET]] ||  [[Image:Trans.gif|center]]  ||  [[Image:Trans.gif|center]] ||  [[Image:Trans.gif|center]] || [[Image:Trans.gif|center]]
 +
|-
 +
|| [[OSC]] (Open Sound Control) || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]] || ? || [[Image:Green-tick.png|center]]
 +
|-
 +
|| [[:Category:Pathport|Pathport]]  || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]] || [[Image:Green-tick.png|center]] || [[Image:Green-tick.png|center]]
 +
|-
 +
|| [[:Category:Sandnet|Sandnet]] || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]] || [[Image:Green-tick.png|center]] || [[Image:Green-tick.png|center]]
 +
|-
 +
|| [[:Category:ShowNet|ShowNet]] || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]] || [[Image:Green-tick.png|center]] || [[Image:Green-tick.png|center]]
 +
|}
  
  
A port to Windows is feasible if someone wants to add the necessary platform-dependent code. For now it can be run on Windows using VMWare (see [[OLA on Windows with VMWare]])
+
==Supported Devices==
 
 
<b>Questions</b>: See the [http://groups.google.com/group/open-lighting mailing list]
 
 
 
<b>Bugs</b>: Check the [http://code.google.com/p/linux-lighting/issues/list bug tracker]
 
 
 
<b>Contribute</b>: Looking to help? Visit the [[OLA Contributors]] page. The page also lists people and companies who have supported OLA. Please support them in return!
 
 
 
==Supported Protocols==
 
  
 
{| border=1 cellspacing="0"
 
{| border=1 cellspacing="0"
! '''Protocol'''!! Linux !! '''Mac OS X'''  
+
! '''Device'''!! Linux !! '''Mac OS X''' || '''FreeBSD''' || '''Windows'''
 +
|-
 +
||  [[Anyma uDMX]] || [[Image:Trans.gif|center]] || [[Image:Trans.gif|center]]  || ? || no
 +
|-
 +
|| [[Arduino RGB Mixer]] || [[Image:Green-tick.png|center]] [[Image:Rdm.gif|center]]  || [[Image:Green-tick.png|center]] [[Image:Rdm.gif|center]] || ? || no
 +
|-
 +
|| [[DMX 4 Linux]] || [[Image:Trans.gif|center]]  ||  ||  ? || no
 +
|-
 +
|| [[DMX USB Pro]] || [[Image:Trans.gif|center]] [[Image:Recv.gif|center]] [[Image:Rdm.gif|center]]  || [[Image:Trans.gif|center]] [[Image:Recv.gif|center]] [[Image:Rdm.gif|center]]  ||  [[Image:Trans.gif|center]] [[Image:Recv.gif|center]] [[Image:Rdm.gif|center]] || no
 +
|-
 +
|| [[DMX USB Pro MkII]] || [[Image:Trans.gif|center]] [[Image:Recv.gif|center]] [[Image:Rdm.gif|center]]  || [[Image:Trans.gif|center]] [[Image:Recv.gif|center]] [[Image:Rdm.gif|center]]  ||  [[Image:Trans.gif|center]] [[Image:Recv.gif|center]] [[Image:Rdm.gif|center]] || no
 +
|-
 +
|| [[DMX-TRI]] || [[Image:Trans.gif|center]] || [[Image:Trans.gif|center]]  || [[Image:Trans.gif|center]] || no
 +
|-
 +
|| [[DMXking USB DMX512-A]] || [[Image:Trans.gif|center]] [[Image:Recv.gif|center]] || [[Image:Trans.gif|center]] [[Image:Recv.gif|center]] || ? || no
 +
|-
 +
|| [[DMXter4 RDM]] / [[MiniDMXter]] || [[Image:Rdm.gif|center]] || [[Image:Rdm.gif|center]] || ? || no
 +
|-
 +
|| [[Eurolite USB DMX512 PRO]] || [[Image:Trans.gif|center]] || [[Image:Trans.gif|center]]  || ? || no
 +
|-
 +
|| [[KarateLight]] || [[Image:Trans.gif|center]] ||  || ? || no
 +
|-
 +
|| [http://kmtronic.com/kmtronic-dmx-adapter.html KMtronic DMX Adapter] || [[Image:Trans.gif|center]] ||  || ? || no
 +
|-
 +
|| [[Open DMX USB]] || [[Image:Trans.gif|center]]  ||  || ? || no
 +
|-
 +
|| [[Milford Instruments 1-463]] || [[Image:Trans.gif|center]] || ? || ? || no
 +
|-
 +
|| [[Packetheads USB_DMX Dongle]] ||  [[Image:Green-tick.png|center]]  ||  [[Image:Green-tick.png|center]]  || ? || no
 +
|-
 +
|| [[RDM USB Pro]] || [[Image:Trans.gif|center]]  [[Image:Recv.gif|center]]  || [[Image:Trans.gif|center]]  [[Image:Recv.gif|center]] || ? || no
 +
|-
 +
|| [[RDM-TRI]] || [[Image:Trans.gif|center]] [[Image:Rdm.gif|center]] || [[Image:Trans.gif|center]] [[Image:Rdm.gif|center]] ||  [[Image:Trans.gif|center]] [[Image:Rdm.gif|center]]  || no
 +
|-
 +
|| [http://www.doityourselfchristmas.com/wiki/index.php?title=Renard Renard Serial Protocol (Renard SS24, SS8, etc)] || [[Image:Trans.gif|center]] || ? || ? || no
 
|-
 
|-
|| [[:Category:ArtNet|ArtNet, ArtNet 2, ArtNet 3]]   || [[Image:Green-tick.png|center]] [[Image:Rdm.gif|center]] || [[Image:Green-tick.png|center]]   
+
|| [[Robe Universal Interface]] || [[Image:Trans.gif|center]] [[Image:Recv.gif|center]] [[Image:Rdm.gif|center]] || [[Image:Trans.gif|center]]  [[Image:Recv.gif|center]] [[Image:Rdm.gif|center]] || ? || no
[[Image:Rdm.gif|center]]  
 
 
|-
 
|-
|| [[E1.31]] / [[ACN]] || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]]  
+
|| [[RUNIT WTX]] || [[Image:Trans.gif|center]] [[Image:Recv.gif|center]] [[Image:Rdm.gif|center]] || [[Image:Trans.gif|center]]  [[Image:Recv.gif|center]] [[Image:Rdm.gif|center]] ||  ? || no
 
|-
 
|-
|| [[:Category:ESP Net|ESP Net]] || [[Image:Green-tick.png|center]] || [[Image:Green-tick.png|center]]  
+
|| [[OLA_LED_Pixels|SPI control of LED pixels]] || [[Image:Trans.gif|center]] [[Image:Rdm.gif|center]] || ? || ? || no
 
|-
 
|-
|| [[:Category:Pathport|Pathport]] || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]]  
+
|| [[StageProfi]] || [[Image:Trans.gif|center]]  || [[Image:Trans.gif|center]] (Ethernet version only) || ? || no
 
|-
 
|-
|| [[:Category:Sandnet|Sandnet]] || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]]  
+
|| [http://machosehead.wordpress.com/2010/06/12/udmx_asp/ uDMX_asp] || [[Image:Trans.gif|center]]  || [[Image:Trans.gif|center]] || ? || no
 
|-
 
|-
|| [[:Category:ShowNet|ShowNet]] || [[Image:Green-tick.png|center]]  || [[Image:Green-tick.png|center]]  
+
|| [[ultraDMX Pro]] ||  [[Image:Trans.gif|center]] [[Image:Recv.gif|center]] || [[Image:Trans.gif|center]] [[Image:Recv.gif|center]]  || ? || no
 +
|-
 +
|| [[ultraDMX Micro]] ||  [[Image:Trans.gif|center]] [[Image:Recv.gif|center]]  || [[Image:Trans.gif|center]] [[Image:Recv.gif|center]]  || ? || no
 +
|-
 +
|| [[USBDMX2]] || [[Image:Trans.gif|center]]  || [[Image:Trans.gif|center]] || ? || no
 +
|-
 +
|| [http://www.soh.cz/produkty/modul-usb-dmx512 USB-DMX512] || [[Image:Trans.gif|center]]  || [[Image:Trans.gif|center]]  || ? || no
 +
|-
 +
|| [[Velleman K8062]] || [[Image:Trans.gif|center]]  || [[Image:Trans.gif|center]]  || ? || no
 +
|-
 +
|| [[Velleman_K8062_Upgrade|VX8062]] || [[Image:Trans.gif|center]]  || [[Image:Trans.gif|center]]  || ? || no
 
|}
 
|}
 
It's sopoky how clever some ppl are. Thanks!
 
  
 
==Getting Started==
 
==Getting Started==
  
 
Start here if you've never used OLA before and read these in order.
 
Start here if you've never used OLA before and read these in order.
* [[Download OLA]]
+
* [[Download & Install OLA]]
* [[OLA on OS X]] or [[OLA on Linux]] or [[OLA on Windows with VMWare]] - How to install OLA.
 
* [[OLA Live CD]], instructions on how to use the Live CD
 
 
* [[Using OLA]] - A basic introduction
 
* [[Using OLA]] - A basic introduction
 
* [[OLA Command Line Tools]] - Documentation for the tools in ola-examples
 
* [[OLA Command Line Tools]] - Documentation for the tools in ola-examples
Line 68: Line 108:
 
* [[RDM with OLA]]
 
* [[RDM with OLA]]
  
<b>Tutorials</b>
+
 
* [[OlaOutput Max External]] - Setup OlaOutput on Mac OS X to send DMX messages from Max/MSP/Jitter
+
===Tutorials===
 +
* [[OLA on Windows with VMWare]]
 +
* [[OLA Live CD]], instructions on how to use the Live CD
 +
* [[OLA Raspberry Pi]]
 +
* [[OLA on Beaglebone]]
 
* [[OLAGuruPlug]] - Running OLA on a [http://www.globalscaletechnologies.com/c-4-guruplugs.aspx GuruPlug]
 
* [[OLAGuruPlug]] - Running OLA on a [http://www.globalscaletechnologies.com/c-4-guruplugs.aspx GuruPlug]
* [[OlaLED]] - control RGB LED via http
 
 
* [[OLA RDM Responder Testing]]
 
* [[OLA RDM Responder Testing]]
 +
* [[OLA LED Pixels]] - Using OLA and a Pi to drive SPI LED tape
 +
* [[OlaOutput Max External]] - Setup OlaOutput on Mac OS X to send DMX messages from Max/MSP/Jitter
 +
* [[OlaLED]] - control RGB LED via HTTP
  
<b>Advanced Topics:</b>
+
===Advanced Topics===
 
* [[OLA Merging Algorithms]]
 
* [[OLA Merging Algorithms]]
 
* [[OLA DiffServ support]] (QOS settings)
 
* [[OLA DiffServ support]] (QOS settings)
* [[OLA DMX Trigger]]
+
* [[OLA Thread Scheduling]] (Control latency)
 +
* [[OLA DMX Trigger]] - Using OLA and DMX to trigger events on a computer
 +
* [[OLA Patch persistency]]
 +
 
 +
===Developer Documentation===
 +
 
 +
The developer documentation is in the process of being re-written as doxygen comments in the src tarball. The latest generated copy of the docs is hosted at https://docs.openlighting.org/doc/latest/ versions for specific releases are hosted at https://docs.openlighting.org/doc/. 
  
<b>Developer Documentation:</b>
 
 
* [[OLA developer info]] - about the source code and structure
 
* [[OLA developer info]] - about the source code and structure
* [[OLA Client API]] - the C++ API
+
* [[doc:index|OLA Doxygen Docs]] - Generated Doxygen docs aimed at developers creating clients.
* [[OLA Python API]] - easy DMX programming
+
** See [[OLA_on_Linux#Doxygen_Documentation|here]] for info on generating Doxygen docs locally.
 +
* [[code-raw:plugins/osc/README|Walkthrough of the OSC plugin code]] - good for people wanting to create new plugins
 +
* OLA APIs - See also [https://www.openlighting.org/ola/apis/ https://www.openlighting.org/ola/apis/]
 +
** Protobufs Based
 +
*** [[doc:client_tutorial|OLA Client API]] - the C++ API, (also [[OLA Client API|older examples]])
 +
*** [[OLA Python API]] - easy DMX programming
 +
*** [[code:java|Java]] - currently a work in progress (see an example using it [https://github.com/neophob/ola-to-tpm2net here])
 +
** Alternatives
 +
*** [[OLA JSON API|JSON]] - Browse to /help on your OLA webserver to see the available commands (append ?help=1 to the end of a command for more info in newer versions of OLA)
 +
*** [[OSC]] - Not technically an API, but not strictly a lighting protocol either, enable the OSC plugin and use it to communicate with OLA from a variety of software
 
* [[Build OLA Mac Packages]] - notes for building the .dmg images
 
* [[Build OLA Mac Packages]] - notes for building the .dmg images
 
* [[Building OLA for Windows]] - Notes on Windows support (in progress)
 
* [[Building OLA for Windows]] - Notes on Windows support (in progress)
 +
* [[OLA on Android]] - Notes on Android support (in progress)
 +
* [[Cross Compiling OLA]]
 +
* [[OLA Buildbot|Buildbot]] - For continuous build and testing
 
* [[Using OLA with Xcode]] - on a Mac, in Objective-C++
 
* [[Using OLA with Xcode]] - on a Mac, in Objective-C++
 
* [[Writing RDM Responder Tests]]
 
* [[Writing RDM Responder Tests]]
 
* [[Port Throttling]]  
 
* [[Port Throttling]]  
 +
* [[RDM PID Definitions]]
 
* [[OLA Performance Stats]]
 
* [[OLA Performance Stats]]
 
* [[OLA TimeCode]]
 
* [[OLA TimeCode]]
 +
* [[doc:rpc_system|RPC Protocol]] (or "How do I talk to OLA in a different language")
  
<b>Tutorials</b>, these refer to the previous release but parts of them are still relevant.
+
===Old Tutorials===
 +
These refer to the previous release but parts of them are still relevant.
 
* [[LLA Sandnet Tutorial]] - Setup Horizon using Sandnet and LLA
 
* [[LLA Sandnet Tutorial]] - Setup Horizon using Sandnet and LLA
 
* [[LLA and Q Light Controller Ubuntu Tutorial]] - Setup LLA on Ubuntu/Debian-type distro with QLC
 
* [[LLA and Q Light Controller Ubuntu Tutorial]] - Setup LLA on Ubuntu/Debian-type distro with QLC

Latest revision as of 14:10, 24 March 2016

OLA-Logo-Fitted-48px.png

Link: http://www.openlighting.org/ola/
{{ #if: yes | Free! }}{{ #if: yes | Windows Support }}{{ #if: yes | Linux Support }}{{ #if: yes | Mac OS X Support }}{{ #if: yes | Sends DMX }}{{ #if: yes | Receives DMX }}{{ #if: yes | RDM Support }}{{ #if: | MIDI Support }}{{ #if: yes | HTTP Support }}

Ola-download.png
Universe Settings
RDM Devices Page
Drag & Drop RDM Patching
Mobile UI


The Open Lighting Architecture (OLA) is part of the Open Lighting Project and provides applications with a mechanism to send and receive DMX512 & RDM commands using hardware devices and DMX over IP protocols. This enables software lighting controllers to communicate with hardware either via Ethernet or traditional DMX512 networks.

OLA can also convert DMX512 data sent using DMX over IP protocols from one format to another, allowing devices from different manufacturers to interact with one another. For example a Strand Lighting Console using ShowNet can send DMX512 to an Enttec EtherGate. When combined with a physical DMX interface such as the DMX USB Pro, OLA can send and receive data from wired DMX512 networks.

Supported Protocols

Protocol Linux Mac OS X FreeBSD Windows
ArtNet, ArtNet 2, ArtNet 3
Green-tick.png
Rdm.gif
Green-tick.png
Rdm.gif
Green-tick.png
Rdm.gif
Green-tick.png
Rdm.gif
E1.31 / ACN
Green-tick.png
Green-tick.png
Green-tick.png
Not yet
ESP Net
Green-tick.png
Green-tick.png
Green-tick.png
Green-tick.png
KiNET
Trans.gif
Trans.gif
Trans.gif
Trans.gif
OSC (Open Sound Control)
Green-tick.png
Green-tick.png
 ?
Green-tick.png
Pathport
Green-tick.png
Green-tick.png
Green-tick.png
Green-tick.png
Sandnet
Green-tick.png
Green-tick.png
Green-tick.png
Green-tick.png
ShowNet
Green-tick.png
Green-tick.png
Green-tick.png
Green-tick.png


Supported Devices

Device Linux Mac OS X FreeBSD Windows
Anyma uDMX
Trans.gif
Trans.gif
 ? no
Arduino RGB Mixer
Green-tick.png
Rdm.gif
Green-tick.png
Rdm.gif
 ? no
DMX 4 Linux
Trans.gif
 ? no
DMX USB Pro
Trans.gif
Recv.gif
Rdm.gif
Trans.gif
Recv.gif
Rdm.gif
Trans.gif
Recv.gif
Rdm.gif
no
DMX USB Pro MkII
Trans.gif
Recv.gif
Rdm.gif
Trans.gif
Recv.gif
Rdm.gif
Trans.gif
Recv.gif
Rdm.gif
no
DMX-TRI
Trans.gif
Trans.gif
Trans.gif
no
DMXking USB DMX512-A
Trans.gif
Recv.gif
Trans.gif
Recv.gif
 ? no
DMXter4 RDM / MiniDMXter
Rdm.gif
Rdm.gif
 ? no
Eurolite USB DMX512 PRO
Trans.gif
Trans.gif
 ? no
KarateLight
Trans.gif
 ? no
KMtronic DMX Adapter
Trans.gif
 ? no
Open DMX USB
Trans.gif
 ? no
Milford Instruments 1-463
Trans.gif
 ?  ? no
Packetheads USB_DMX Dongle
Green-tick.png
Green-tick.png
 ? no
RDM USB Pro
Trans.gif
Recv.gif
Trans.gif
Recv.gif
 ? no
RDM-TRI
Trans.gif
Rdm.gif
Trans.gif
Rdm.gif
Trans.gif
Rdm.gif
no
Renard Serial Protocol (Renard SS24, SS8, etc)
Trans.gif
 ?  ? no
Robe Universal Interface
Trans.gif
Recv.gif
Rdm.gif
Trans.gif
Recv.gif
Rdm.gif
 ? no
RUNIT WTX
Trans.gif
Recv.gif
Rdm.gif
Trans.gif
Recv.gif
Rdm.gif
 ? no
SPI control of LED pixels
Trans.gif
Rdm.gif
 ?  ? no
StageProfi
Trans.gif
Trans.gif
(Ethernet version only)
 ? no
uDMX_asp
Trans.gif
Trans.gif
 ? no
ultraDMX Pro
Trans.gif
Recv.gif
Trans.gif
Recv.gif
 ? no
ultraDMX Micro
Trans.gif
Recv.gif
Trans.gif
Recv.gif
 ? no
USBDMX2
Trans.gif
Trans.gif
 ? no
USB-DMX512
Trans.gif
Trans.gif
 ? no
Velleman K8062
Trans.gif
Trans.gif
 ? no
VX8062
Trans.gif
Trans.gif
 ? no

Getting Started

Start here if you've never used OLA before and read these in order.


Tutorials

Advanced Topics

Developer Documentation

The developer documentation is in the process of being re-written as doxygen comments in the src tarball. The latest generated copy of the docs is hosted at https://docs.openlighting.org/doc/latest/ versions for specific releases are hosted at https://docs.openlighting.org/doc/.

Old Tutorials

These refer to the previous release but parts of them are still relevant.