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.
- John J Foerch
- r7rs
- srfi-99
- foreigners
- list-utils
- matchable
- ola (libola-dev)
- (ola-version) => (major minor revision)
Return ola's version as a list.
- (ola-version-string) => string
Return ola's version as a string.
-
(init-logging [level] [output]) => bool
Level 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) => dmxbuffer
Construct a new empty dmxbuffer.
-
(dmxbuffer other-dmxbuffer) => dmxbuffer
Construct a new dmxbuffer with the same contents as other-dmxbuffer.
-
(dmxbuffer bytevector) => dmxbuffer
Constructs a new dmxbuffer with the same contents as bytevector.
-
(dmxbuffer? dmxbuffer) => bool
Dmxbuffer predicate.
-
(dmxbuffer=? dmxbuffer-a dmxbuffer-b) => bool
Test whether dmxbuffer-a and dmxbuffer-b have equal contents.
-
(dmxbuffer-size dmxbuffer) => size
Size of dmxbuffer.
-
(dmxbuffer-get dmxbuffer) => bytevector
Return contents of dmxbuffer as a bytevector.
-
(dmxbuffer-get-channel dmxbuffer channel) => value
Return the value of the given channel in dmxbuffer.
-
(dmxbuffer-get-range dmxbuffer offset length) => bytevector
Return a bytevector of the requested range in dmxbuffer.
-
(dmxbuffer-set! dmxbuffer bytevector offset size) => bool
Set the contents of dmxbuffer to contents of bytevector at given offset and size.
-
(dmxbuffer-set! dmxbuffer bytevector) => bool
Set the contents of dmxbuffer to contents of bytevector.
-
(dmxbuffer-set! dmxbuffer dmxbuffer-other) => bool
Set the contents of dmxbuffer to contents of dmxbuffer-other.
-
(dmxbuffer-set-channel! dmxbuffer channel value) => undefined
Set dmxbuffer channel to value.
-
(dmxbuffer-set-from-string! dmxbuffer str) => bool
Complement 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"
-
(dmxbuffer-set-range! dmxbuffer dst-offset bytevector) => bool
Set contents of dmxbuffer from dst-offset to contents of bytevector.
-
(dmxbuffer-set-range! dmxbuffer dst-offset bytevector src-offset src-length) => bool
Set contents of dmxbuffer from dst-offset to contents of bytevector, from src-offset, src-length bytes.
-
(dmxbuffer-set-range-to-value! dmxbuffer offset value length) => bool
Set contents of dmxbuffer from offset for length to value.
-
(dmxbuffer-htp-merge! dmxbuffer other-dmxbuffer) => bool
Perform an HTP merge (high value merge) with other-dmxbuffer into dmxbuffer.
-
(dmxbuffer-blackout! dmxbuffer) => bool
Set all channels to 0 in dmxbuffer.
-
(dmxbuffer-reset! dmxbuffer) => undefined
Reset dmxbuffer size to 0.
-
(dmxbuffer->string dmxbuffer) => string
Complement of 'dmxbuffer-set-from-string!'. Returns a human-readable string representing the contents of dmxbuffer - comma separated decimal values.
-
(streamingclient [auto-start: bool] [server-port: port]) => streamingclient
Constructs 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.
-
(streamingclient-stop streamingclient) => undefined
Stops a streamingclient.
-
(streamingclient-send-dmx streamingclient universe dmxbuffer) => bool
Sends contents of dmxbuffer to the given universe on streamingclient.
(use ola r7rs)
(let ((client (streamingclient auto-start: #f)))
(streamingclient-send-dmx client 0 (dmxbuffer (string->utf8 "AeIoUaEiO"))))
LGPL-3
- 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
- 0.4 (2016-09-05) use bytevectors instead of blobs