# Cavendish skin uses APIs deprecated in 1.42; keep those warnings out of the error log $wgDeprecationReleaseLimit = "1.41"; $wgEnableSidebarCache = true; $wgParserCacheType = CACHE_DB; OLA Python API: Difference between revisions - wiki.openlighting.org
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.

OLA Python API: Difference between revisions

From wiki.openlighting.org

Jump to: navigation, search
No edit summary
Line 41: Line 41:


Receiving is slightly harder, we need to setup an Observer object to handle the events:
Receiving is slightly harder, we need to setup an Observer object to handle the events:
''' THIS ISN'T WORKING YET ''' [simonn]


<pre>
<pre>
Line 46: Line 48:
import sys
import sys


class Observer(LlaClientObserver):
  """ Handle the events """
  def new_dmx(self, uni, length, data):
    """ Called with new dmx buffer """
    return 0
  # create a new LlaClient
  con = LlaClient()
# create an observer object and register
ob = Observer()
con.set_observer(ob)
if con.start():
  sys.exit()
con.register_uni(1, LlaClient.REGISTER)
while True:
  con.fd_action(1)


</pre>
</pre>

Revision as of 18:55, 13 October 2007

Building the Python Bindings

See Building LLA but run ./configure --enable-python-libs

Interesting Classes

LlaClient
the main connection class
dmxBuffer
represents a list of DMX channel values
LlaClientObserver
base class to handle events
LlaPlugin
represents a Plugin
LlaDevice
represents a Device

Sending DMX

A simple example to send DMX:

from lla import *
import sys

con = LlaClient()
if con.start():
  sys.exit()

universe = 0

# create a dmxBuffer for the channel values
DMX_LEN = 512
dmx = dmxBuffer(DMX_LEN)
for i in range(0, DMX_LEN):
  dmx[i] = i

con.send_dmx(universe, dmx, DMX_LEN)

Receiving DMX

Receiving is slightly harder, we need to setup an Observer object to handle the events:

THIS ISN'T WORKING YET [simonn]

from lla import *
import sys

class Observer(LlaClientObserver):
  """ Handle the events """
  def new_dmx(self, uni, length, data):
    """ Called with new dmx buffer """
    return 0

  # create a new LlaClient
  con = LlaClient()


# create an observer object and register
ob = Observer()
con.set_observer(ob)

if con.start():
  sys.exit()

con.register_uni(1, LlaClient.REGISTER)

while True:
  con.fd_action(1)