You are looking at historical revision 33279 of this page. It may differ significantly from its current revision.
ola
Description
Basic bindings for libola, Open Lighting Architecture. Classes covered so far are DmxBuffer and StreamingClient.
For bug reports, feature requests, and development versions, visit the github project page.
Authors
- John J Foerch
Requirements
Chicken Eggs
C Headers
- ola (libola-dev)
API
Version
[procedure] (ola-version) => (major minor revision)Return ola's version as a list.
[procedure] (ola-version-string) => stringReturn ola's version as a string.
Logging
[procedure] (init-logging [level] [output]) => boolLevel may be one of the following symbols:
- log-level/none
- log-level/fatal
- log-level/warn
- log-level/info
- log-level/debug
- log-level/max
Output may be one of the following symbols:
- log-output/stderr
- log-output/syslog
- log-output/null
DmxBuffer
[procedure] (dmxbuffer) => dmxbufferConstruct a new empty dmxbuffer.
[procedure] (dmxbuffer other-dmxbuffer) => dmxbufferConstruct a new dmxbuffer with the same contents as other-dmxbuffer.
[procedure] (dmxbuffer blob) => dmxbufferContents a new dmxbuffer with the same contents as blob.
[procedure] (dmxbuffer? dmxbuffer) => boolDmxbuffer predicate.
[procedure] (dmxbuffer=? dmxbuffer-a dmxbuffer-b) => boolTest whether dmxbuffer-a and dmxbuffer-b have equal contents.
[procedure] (dmxbuffer-size dmxbuffer) => sizeSize of dmxbuffer.
[procedure] (dmxbuffer-get dmxbuffer) => blobReturn contents of dmxbuffer as a blob.
[procedure] (dmxbuffer-get-channel dmxbuffer channel) => valueReturn the value of the given channel in dmxbuffer.
[procedure] (dmxbuffer-get-range dmxbuffer offset length) => blobReturn a blob of the requested range in dmxbuffer.
[procedure] (dmxbuffer-set! dmxbuffer blob offset size) => boolSet the contents of dmxbuffer to contents of blob at given offset and size.
[procedure] (dmxbuffer-set! dmxbuffer blob) => boolSet the contents of dmxbuffer to contents of blob.
[procedure] (dmxbuffer-set! dmxbuffer dmxbuffer-other) => boolSet the contents of dmxbuffer to contents of dmxbuffer-other.
[procedure] (dmxbuffer-set-channel! dmxbuffer channel value) => undefinedSet dmxbuffer channel to value.
[procedure] (dmxbuffer-set-from-string! dmxbuffer str) => boolComplement of dmxbuffer->string. Sets the contents of dmxbuffer according to the specially formatted string str. The format of the string is integers separated by commas, where 0's may be omitted, e.g. "1,2,,255"
[procedure] (dmxbuffer-set-range! dmxbuffer dst-offset blob) => boolSet contents of dmxbuffer from dst-offset to contents of blob.
[procedure] (dmxbuffer-set-range! dmxbuffer dst-offset blob src-offset src-length) => boolSet contents of dmxbuffer from dst-offset to contents of blob, from src-offset, src-length bytes.
[procedure] (dmxbuffer-set-range-to-value! dmxbuffer offset value length) => boolSet contents of dmxbuffer from offset for length to value.
[procedure] (dmxbuffer-htp-merge! dmxbuffer other-dmxbuffer) => boolPerform an HTP merge (high value merge) with other-dmxbuffer into dmxbuffer.
[procedure] (dmxbuffer-blackout! dmxbuffer) => boolSet all channels to 0 in dmxbuffer.
[procedure] (dmxbuffer-reset! dmxbuffer) => undefinedReset dmxbuffer size to 0.
[procedure] (dmxbuffer->string dmxbuffer) => stringComplement of 'dmxbuffer-set-from-string!'. Returns a human-readable string representing the contents of dmxbuffer - comma separated decimal values.
StreamingClient
[procedure] (streamingclient [auto-start: bool] [server-port: port]) => streamingclientConstructs a client and attempts to establish a connection to the ola daemon. Auto-start is whether to start olad if it is not already running, default true. Server-port is the port to use, default 9010. Signals an '(exn ola)' condition if it fails to connect to the ola daemon.
[procedure] (streamingclient-stop streamingclient) => undefinedStops a streamingclient.
[procedure] (streamingclient-send-dmx streamingclient universe dmxbuffer) => boolSends contents of dmxbuffer to the given universe on streamingclient.
Examples
(use ola) (let ((client (streamingclient auto-start: #f))) (streamingclient-send-dmx client 0 (dmxbuffer (string->blob "AeIoUaEiO"))))
License
LGPL-3
Version History
- 0.1 (2016-03-12) initial release
- 0.2 (2016-03-13) meta and documentation
- 0.3 (2016-03-13) streamingclient-setup removed, ola-version added