6 |
--------------------------------------------------------------------------------
/.github/workflows/isort.yml:
--------------------------------------------------------------------------------
1 | name: isort
2 |
3 | on: [push, pull_request]
4 |
5 | permissions:
6 | contents: read
7 |
8 | jobs:
9 | isort:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - uses: actions/checkout@v4
13 | with:
14 | persist-credentials: false
15 | - uses: isort/isort-action@v1
16 |
--------------------------------------------------------------------------------
/olad/www/new/img/favicons/manifest.webapp:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "name": "OLA",
4 | "description": "Open Lighting Architecture",
5 | "icons": {
6 | "60": "/new/img/favicons/firefox_app_60x60.png",
7 | "128": "/new/img/favicons/firefox_app_128x128.png",
8 | "512": "/new/img/favicons/firefox_app_512x512.png"
9 | }
10 | }
--------------------------------------------------------------------------------
/tools/e133/libolae133controller.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@prefix@
2 | exec_prefix=@exec_prefix@
3 | libdir=@libdir@
4 | includedir=@includedir@
5 |
6 | Name: libolae133controller
7 | Version: @VERSION@
8 | Description: Open Lighting Architecture E1.33 Controller
9 | Requires:
10 | Libs: -L${libdir} -lolae133controller
11 | Cflags: -I${includedir}
12 |
--------------------------------------------------------------------------------
/plugins/e131/messages/libolae131conf.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@prefix@
2 | exec_prefix=@exec_prefix@
3 | libdir=@libdir@
4 | includedir=@includedir@
5 |
6 | Name: libolae131conf
7 | Version: @VERSION@
8 | Description: Open Lighting Architecture - E1.31 Config Messages
9 | Requires: protobuf
10 | Libs: -L${libdir} -lolae131conf
11 | Cflags: -I${includedir}
12 |
--------------------------------------------------------------------------------
/tools/usbpro/Makefile.mk:
--------------------------------------------------------------------------------
1 | dist_noinst_SCRIPTS += tools/usbpro/download_firmware.sh
2 |
3 | bin_PROGRAMS += tools/usbpro/usbpro_firmware
4 | tools_usbpro_usbpro_firmware_SOURCES = tools/usbpro/usbpro-firmware.cpp
5 | tools_usbpro_usbpro_firmware_LDADD = common/libolacommon.la \
6 | plugins/usbpro/libolausbprowidget.la
7 |
--------------------------------------------------------------------------------
/libolaserver.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@prefix@
2 | exec_prefix=@exec_prefix@
3 | libdir=@libdir@
4 | includedir=@includedir@
5 |
6 | Name: libolaserver
7 | Version: @VERSION@
8 | Description: Open Lighting Architecture Server
9 | Requires: protobuf
10 | Libs: -L${libdir} -L${libdir}/olad -lola -lolacommon -lolaserver @OLA_SERVER_LIBS@
11 | Cflags: -I${includedir}
12 |
--------------------------------------------------------------------------------
/common/http/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | if HAVE_LIBMICROHTTPD
4 | noinst_LTLIBRARIES += common/http/libolahttp.la
5 | common_http_libolahttp_la_SOURCES = \
6 | common/http/HTTPServer.cpp \
7 | common/http/OlaHTTPServer.cpp
8 | common_http_libolahttp_la_LIBADD = $(libmicrohttpd_LIBS)
9 | endif
10 |
--------------------------------------------------------------------------------
/debian/tests/hw.cc:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int main(void) {
5 | ola::io::LoopbackDescriptor d;
6 | ola::client::OlaClient c(&d);
7 |
8 | bool success = c.Setup();
9 |
10 | std::cout << "Hello World!" << std::endl << "success: " << (success ? "t" : "f") << std::endl;
11 |
12 | return success ? 0 : 1;
13 | }
14 |
--------------------------------------------------------------------------------
/debian/ola.templates:
--------------------------------------------------------------------------------
1 | Template: ola/daemon
2 | Type: boolean
3 | Default: false
4 | Description: Do you want to start the OLA daemon at boot time?
5 | The OLA daemon is needed to use OLA.
6 | .
7 | You have the option of starting the OLA daemon automatically on
8 | system boot.
9 | .
10 | This setting can be modified later by running 'dpkg-reconfigure ola'.
11 |
--------------------------------------------------------------------------------
/plugins/stageprofi/README.md:
--------------------------------------------------------------------------------
1 | StageProfi Plugin
2 | =================
3 |
4 | This plugin creates devices with one output port.
5 |
6 |
7 | ### Config file: `ola-stageprofi.conf`
8 |
9 | `device = /dev/ttyUSB0`
10 | `device = 192.168.1.250`
11 | The device to use either as a path for the USB version or an IP address for
12 | the LAN version. Multiple devices are supported.
13 |
--------------------------------------------------------------------------------
/include/olad/Makefile.mk:
--------------------------------------------------------------------------------
1 | oladinclude_HEADERS = \
2 | include/olad/Device.h \
3 | include/olad/DmxSource.h \
4 | include/olad/Plugin.h \
5 | include/olad/PluginAdaptor.h \
6 | include/olad/Port.h \
7 | include/olad/PortBroker.h \
8 | include/olad/PortConstants.h \
9 | include/olad/Preferences.h \
10 | include/olad/TokenBucket.h \
11 | include/olad/Universe.h
12 |
--------------------------------------------------------------------------------
/common/rdm/testdata/pids/overrides.proto:
--------------------------------------------------------------------------------
1 | manufacturer {
2 | manufacturer_id: 31344
3 | manufacturer_name: "Open Lighting"
4 | pid {
5 | name: "FOO_BAR"
6 | value: 32768
7 | get_request {
8 | }
9 | get_response {
10 | field {
11 | type: UINT32
12 | name: "baz"
13 | }
14 | }
15 | set_sub_device_range: ROOT_OR_ALL_SUBDEVICE
16 | }
17 | }
18 | version: 1
19 |
--------------------------------------------------------------------------------
/common/rdm/testdata/inconsistent_pid.proto:
--------------------------------------------------------------------------------
1 | pid {
2 | name: "PROXIED_DEVICES"
3 | value: 16
4 | get_request {
5 | }
6 | get_response {
7 | field {
8 | type: STRING
9 | name: "label1"
10 | max_size: 32
11 | }
12 | field {
13 | type: STRING
14 | name: "label2"
15 | max_size: 32
16 | }
17 | }
18 | get_sub_device_range: ROOT_DEVICE
19 | }
20 | version: 1302986774
21 |
--------------------------------------------------------------------------------
/.github/problem-matcher-lint-spellintian.json:
--------------------------------------------------------------------------------
1 | {
2 | "problemMatcher": [
3 | {
4 | "owner": "lint-spellintian",
5 | "severity": "warning",
6 | "pattern": [
7 | {
8 | "regexp": "^([^:]+):(\\s+)(.+)$",
9 | "file": 1,
10 | "message": 3
11 | }
12 | ]
13 | }
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/debian/ola-rdm-tests.templates:
--------------------------------------------------------------------------------
1 | Template: ola-rdm-tests/daemon
2 | Type: boolean
3 | Default: false
4 | Description: Do you want to start the OLA RDM Test Server at boot time?
5 | The OLA RDM Test Server is needed to run RDM Responder Tests.
6 | .
7 | You have the option of starting the OLA RDM Test Server automatically on
8 | system boot.
9 | .
10 | This setting can be modified later by running 'dpkg-reconfigure ola-rdm-tests'.
11 |
--------------------------------------------------------------------------------
/include/ola/e133/Makefile.mk:
--------------------------------------------------------------------------------
1 | olae133includedir = $(pkgincludedir)/e133/
2 |
3 | if INSTALL_E133
4 | olae133include_HEADERS = \
5 | include/ola/e133/DeviceManager.h \
6 | include/ola/e133/E133Enums.h \
7 | include/ola/e133/E133Helper.h \
8 | include/ola/e133/E133Receiver.h \
9 | include/ola/e133/E133StatusHelper.h \
10 | include/ola/e133/E133URLParser.h \
11 | include/ola/e133/MessageBuilder.h
12 | endif
13 |
--------------------------------------------------------------------------------
/common/testing/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | if BUILD_TESTS
4 | noinst_LTLIBRARIES += common/testing/libolatesting.la \
5 | common/testing/libtestmain.la
6 | common_testing_libolatesting_la_SOURCES = \
7 | common/testing/MockUDPSocket.cpp \
8 | common/testing/TestUtils.cpp
9 | common_testing_libtestmain_la_SOURCES = common/testing/GenericTester.cpp
10 | endif
11 |
--------------------------------------------------------------------------------
/.github/problem-matcher-build-verify-trees.json:
--------------------------------------------------------------------------------
1 | {
2 | "problemMatcher": [
3 | {
4 | "owner": "build-verify-trees",
5 | "severity": "error",
6 | "pattern": [
7 | {
8 | "regexp": "^(Missing from tarball)(\\s+)(.+)$",
9 | "message": 1,
10 | "file": 3
11 | }
12 | ]
13 | }
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/common/file/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | common_libolacommon_la_SOURCES += common/file/Util.cpp
4 |
5 | # TESTS
6 | ##################################################
7 | test_programs += common/file/UtilTester
8 |
9 | common_file_UtilTester_SOURCES = common/file/UtilTest.cpp
10 | common_file_UtilTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
11 | common_file_UtilTester_LDADD = $(COMMON_TESTING_LIBS)
12 |
--------------------------------------------------------------------------------
/plugins/opendmx/README.md:
--------------------------------------------------------------------------------
1 | Enttec Open DMX Plugin
2 | ======================
3 |
4 | The plugin creates a single device with one output port using the Enttec
5 | Open DMX USB widget. It requires the Open DMX kernel module, if you don't
6 | have this installed, use the FTDI DMX USB plugin instead.
7 |
8 |
9 | ## Config file: `ola-opendmx.conf`
10 |
11 | `device = /dev/dmx0`
12 | The path to the Open DMX USB device. Multiple entries are supported.
13 |
--------------------------------------------------------------------------------
/include/ola/messaging/Makefile.mk:
--------------------------------------------------------------------------------
1 | olamessagingincludedir = $(pkgincludedir)/messaging/
2 | olamessaginginclude_HEADERS = \
3 | include/ola/messaging/Descriptor.h \
4 | include/ola/messaging/DescriptorVisitor.h \
5 | include/ola/messaging/Message.h \
6 | include/ola/messaging/MessagePrinter.h \
7 | include/ola/messaging/MessageVisitor.h \
8 | include/ola/messaging/SchemaPrinter.h \
9 | include/ola/messaging/StringMessageBuilder.h
10 |
--------------------------------------------------------------------------------
/plugins/ftdidmx/README.md:
--------------------------------------------------------------------------------
1 | FTDI USB Chipset DMX Plugin
2 | ===========================
3 |
4 | This plugin is compatible with Enttec Open DMX USB and other FTDI chipset
5 | based USB to DMX converters where the host needs to create the DMX stream
6 | itself and not the interface (the interface has no microprocessor to do so).
7 |
8 |
9 | ## Config file: ola-ftdidmx.conf
10 |
11 | `frequency = 30`
12 | The DMX stream frequency (30 to 44 Hz max are the usual).
13 |
--------------------------------------------------------------------------------
/tools/logic/Makefile.mk:
--------------------------------------------------------------------------------
1 | if HAVE_SALEAE_LOGIC
2 | bin_PROGRAMS += tools/logic/logic_rdm_sniffer
3 | endif
4 |
5 | tools_logic_logic_rdm_sniffer_SOURCES = \
6 | tools/logic/DMXSignalProcessor.cpp \
7 | tools/logic/DMXSignalProcessor.h \
8 | tools/logic/logic-rdm-sniffer.cpp
9 | tools_logic_logic_rdm_sniffer_LDADD = common/libolacommon.la \
10 | $(libSaleaeDevice_LIBS)
11 |
12 | EXTRA_DIST += tools/logic/README.md
13 |
--------------------------------------------------------------------------------
/tools/ola_trigger/contrib/mac_volume.conf:
--------------------------------------------------------------------------------
1 | # OLA Trigger Config to adjust the volume on Mac OS X
2 | # See https://wiki.openlighting.org/index.php/OLA_DMX_Trigger
3 | # Copyright (C) 2011 Simon Newton
4 |
5 | # Triggers
6 | ###############################################################################
7 | # Slot Trigger Values Action
8 |
9 | # Sets the output volume.
10 | 1 0-100 `osascript '-e' 'set volume output volume ${slot_value}'`
11 |
--------------------------------------------------------------------------------
/include/ola/base/Makefile.mk:
--------------------------------------------------------------------------------
1 | olabaseincludedir = $(pkgincludedir)/base/
2 | olabaseinclude_HEADERS = \
3 | include/ola/base/Array.h \
4 | include/ola/base/Credentials.h \
5 | include/ola/base/Env.h \
6 | include/ola/base/Flags.h \
7 | include/ola/base/FlagsPrivate.h \
8 | include/ola/base/Init.h \
9 | include/ola/base/Macro.h \
10 | include/ola/base/SysExits.h
11 |
12 | nodist_olabaseinclude_HEADERS = \
13 | include/ola/base/Version.h
14 |
--------------------------------------------------------------------------------
/javascript/new-src/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "nonew": true,
3 | "curly": true,
4 | "latedef": true,
5 | "unused": true,
6 | "noarg": true,
7 | "indent": 2,
8 | "trailing": true,
9 | "forin": true,
10 | "noempty": true,
11 | "quotmark": "single",
12 | "eqeqeq": true,
13 | "strict": true,
14 | "undef": true,
15 | "bitwise": true,
16 | "newcap": true,
17 | "immed": true,
18 | "es3": true,
19 | "maxlen": 80,
20 | "nonbsp": true,
21 | "freeze": true
22 | }
--------------------------------------------------------------------------------
/common/rdm/testdata/invalid_esta_pid.proto:
--------------------------------------------------------------------------------
1 | pid {
2 | name: "PROXIED_DEVICES"
3 | value: 32769
4 | get_request {
5 | }
6 | get_response {
7 | field {
8 | type: GROUP
9 | name: "uids"
10 | field {
11 | type: UINT16
12 | name: "manufacturer_id"
13 | }
14 | field {
15 | type: UINT32
16 | name: "device_id"
17 | }
18 | }
19 | }
20 | get_sub_device_range: ROOT_DEVICE
21 | }
22 | version: 1302986774
23 |
--------------------------------------------------------------------------------
/plugins/karate/README.md:
--------------------------------------------------------------------------------
1 | KarateLight - Version 0.1
2 | =========================
3 |
4 | The plugin creates devices with a single output port. Info on the
5 | KarateLight Hardware can be found at http://karatelight.de
6 |
7 | Unfortunately the site is in German only, but the maintainer will respond to
8 | emails in English.
9 |
10 |
11 | ## Config file: `ola-karate.conf`
12 |
13 | `device = /dev/kldmx0`
14 | The path to the KarateLight device. Multiple entries are supported.
--------------------------------------------------------------------------------
/debian/source/lintian-overrides:
--------------------------------------------------------------------------------
1 | # Source for these files is all under /javascript
2 | ola source: source-is-missing olad/www/mobile.js
3 | ola source: source-is-missing olad/www/ola.js
4 | # Source for these files is all under /javascript/new-src
5 | ola source: source-is-missing olad/www/new/js/app.min.js
6 | # We don't use these
7 | ola source: source-is-missing tools/rdm/static/jquery-1.7.2.min.js
8 | ola source: source-is-missing tools/rdm/static/jquery-ui-1.8.21.custom.min.js
9 |
10 |
--------------------------------------------------------------------------------
/include/ola/client/Makefile.mk:
--------------------------------------------------------------------------------
1 | olaclientincludedir = $(pkgincludedir)/client/
2 | olaclientinclude_HEADERS = \
3 | include/ola/client/CallbackTypes.h \
4 | include/ola/client/ClientArgs.h \
5 | include/ola/client/ClientRDMAPIShim.h \
6 | include/ola/client/ClientTypes.h \
7 | include/ola/client/ClientWrapper.h \
8 | include/ola/client/Module.h \
9 | include/ola/client/OlaClient.h \
10 | include/ola/client/Result.h \
11 | include/ola/client/StreamingClient.h
12 |
--------------------------------------------------------------------------------
/man/ola_uni_info.1:
--------------------------------------------------------------------------------
1 | .TH ola_uni_info 1 "July 2013"
2 | .SH NAME
3 | ola_uni_info \- Display the active universes in OLA.
4 | .SH SYNOPSIS
5 | .B ola_uni_info [ options ]
6 | .SH DESCRIPTION
7 | .B ola_uni_info
8 | displays the universe name and merge mode for the active universes in olad(1).
9 | .SH OPTIONS
10 | .IP "-h, --help"
11 | Display the help message.
12 | .IP "--list-universe-ids"
13 | Just list the universe ids with no additional information.
14 | .SH SEE ALSO
15 | .BR olad(1) ,
16 | .
17 |
--------------------------------------------------------------------------------
/common/web/testdata/not.test:
--------------------------------------------------------------------------------
1 | === POSITIVE ===
2 | // Anything but an int.
3 | {
4 | "not": {
5 | "type": "integer"
6 | }
7 | }
8 | === NEGATIVE ===
9 | {
10 | "not": []
11 | }
12 | === NEGATIVE ===
13 | {
14 | "not": null
15 | }
16 | === NEGATIVE ===
17 | {
18 | "not": false
19 | }
20 | === NEGATIVE ===
21 | {
22 | "not": "foo"
23 | }
24 | === NEGATIVE ===
25 | {
26 | "not": 1
27 | }
28 | === NEGATIVE ===
29 | {
30 | "not": -1
31 | }
32 | === NEGATIVE ===
33 | {
34 | "not": 1.2
35 | }
36 |
--------------------------------------------------------------------------------
/common/dmx/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | common_libolacommon_la_SOURCES += common/dmx/RunLengthEncoder.cpp
4 |
5 | # TESTS
6 | ##################################################
7 | test_programs += common/dmx/RunLengthEncoderTester
8 |
9 | common_dmx_RunLengthEncoderTester_SOURCES = common/dmx/RunLengthEncoderTest.cpp
10 | common_dmx_RunLengthEncoderTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
11 | common_dmx_RunLengthEncoderTester_LDADD = $(COMMON_TESTING_LIBS)
12 |
--------------------------------------------------------------------------------
/man/ola_uni_name.1:
--------------------------------------------------------------------------------
1 | .TH ola_uni_name 1 "June 2015"
2 | .SH NAME
3 | ola_uni_name \- Set the name for a universe in olad.
4 | .SH SYNOPSIS
5 | .B ola_uni_name
6 | --name --universe
7 | .SH DESCRIPTION
8 | .B ola_uni_name
9 | is used to set the name for a universe.
10 | .SH OPTIONS
11 | .IP "-n, --name "
12 | Name for the universe.
13 | .IP "-u, --universe "
14 | Id of the universe to name.
15 | .IP "-h, --help"
16 | Display the help message
17 | .SH SEE ALSO
18 | .BR olad(1) ,
19 | .
20 |
--------------------------------------------------------------------------------
/.github/problem-matcher-lint-check-licences.json:
--------------------------------------------------------------------------------
1 | {
2 | "problemMatcher": [
3 | {
4 | "owner": "lint-check-licences",
5 | "pattern": [
6 | {
7 | "regexp": "^(notice|error)(:(file|dir):([^:]+)(:lines? (\\d+)(-(\\d+))?)?)?: (.+)$",
8 | "severity": 1,
9 | "file": 4,
10 | "line": 6,
11 | "message": 9
12 | }
13 | ]
14 | }
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/.github/problem-matcher-lint-cpplint.json:
--------------------------------------------------------------------------------
1 | {
2 | "problemMatcher": [
3 | {
4 | "owner": "lint-cpplint",
5 | "severity": "error",
6 | "pattern": [
7 | {
8 | "regexp": "^(.+):(\\d+):\\s+((.+)\\s+\\[(.*)\\]\\s\\[(.*)\\])$",
9 | "file": 1,
10 | "line": 2,
11 | "message": 3,
12 | "code": 5
13 | }
14 | ]
15 | }
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/common/timecode/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | common_libolacommon_la_SOURCES += \
4 | common/timecode/TimeCode.cpp
5 |
6 | # TESTS
7 | ##################################################
8 | test_programs += common/timecode/TimeCodeTester
9 |
10 | common_timecode_TimeCodeTester_SOURCES = common/timecode/TimeCodeTest.cpp
11 | common_timecode_TimeCodeTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
12 | common_timecode_TimeCodeTester_LDADD = $(COMMON_TESTING_LIBS)
13 |
14 |
--------------------------------------------------------------------------------
/man/ola_dev_info.1:
--------------------------------------------------------------------------------
1 | .TH ola_dev_info 1 "July 2013"
2 | .SH NAME
3 | ola_dev_info \- Display olad devices and ports.
4 | .SH SYNOPSIS
5 | .B ola_dev_info [ options ]
6 | .SH DESCRIPTION
7 | .B ola_dev_info
8 | is used to display information about the available devices and ports in
9 | olad(1).
10 | .SH OPTIONS
11 | .IP "-h, --help"
12 | Display the help message.
13 | .IP "-p, --plugin-id "
14 | Show only the devices owned by this plugin id.
15 | .SH SEE ALSO
16 | .BR olad(1) ,
17 | .BR ola_patch(1) ,
18 | .
19 |
--------------------------------------------------------------------------------
/.github/problem-matcher-lint-generic-nolints.json:
--------------------------------------------------------------------------------
1 | {
2 | "problemMatcher": [
3 | {
4 | "owner": "lint-generic-nolints",
5 | "pattern": [
6 | {
7 | "regexp": "^(notice|error)(:(file|dir):([^:]+)(:lines? (\\d+)(-(\\d+))?)?)?: (.+)$",
8 | "severity": 1,
9 | "file": 4,
10 | "line": 6,
11 | "message": 9
12 | }
13 | ]
14 | }
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/tools/Makefile.mk:
--------------------------------------------------------------------------------
1 | include tools/ja-rule/Makefile.mk
2 | include tools/logic/Makefile.mk
3 | include tools/ola_mon/Makefile.mk
4 | include tools/ola_trigger/Makefile.mk
5 | include tools/rdm/Makefile.mk
6 |
7 | if !USING_WIN32
8 | include tools/e133/Makefile.mk
9 | include tools/usbpro/Makefile.mk
10 | include tools/rdmpro/Makefile.mk
11 | endif
12 |
13 | dist_noinst_DATA += \
14 | tools/ola_mon/index.html \
15 | tools/ola_mon/ola_mon.conf \
16 | tools/ola_mon/ola_mon.py
17 |
18 | PYTHON_BUILD_DIRS += tools
19 |
--------------------------------------------------------------------------------
/doxygen/copy-doc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | if [ $# != 1 ]; then
4 | echo "Usage: $0 "
5 | exit 1;
6 | fi
7 |
8 | output_dir=$1
9 | if [ ! -d $output_dir ]; then
10 | echo $output_dir is not a directory
11 | exit 1;
12 | fi
13 |
14 | echo "Output dir: $output_dir";
15 |
16 | if [ ! -d ./html/ ]; then
17 | echo ./html/ doesn\'t exist, make doxygen-doc failed somehow
18 | exit 1;
19 | fi
20 |
21 | cp -a -v ./html/* $output_dir
22 |
23 | chmod -c -R a+r $output_dir
24 |
25 | chmod -c a+rx $output_dir/search
26 |
--------------------------------------------------------------------------------
/olad/www/new/img/favicons/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | #FFFFFF
10 |
11 |
12 |
--------------------------------------------------------------------------------
/common/export_map/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | common_libolacommon_la_SOURCES += \
4 | common/export_map/ExportMap.cpp
5 |
6 | # TESTS
7 | ##################################################
8 | test_programs += common/export_map/ExportMapTester
9 |
10 | common_export_map_ExportMapTester_SOURCES = common/export_map/ExportMapTest.cpp
11 | common_export_map_ExportMapTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
12 | common_export_map_ExportMapTester_LDADD = $(COMMON_TESTING_LIBS)
13 |
--------------------------------------------------------------------------------
/common/strings/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | common_libolacommon_la_SOURCES += \
4 | common/strings/Format.cpp \
5 | common/strings/Utils.cpp
6 |
7 | # TESTS
8 | ################################################
9 | test_programs += common/strings/UtilsTester
10 |
11 | common_strings_UtilsTester_SOURCES = \
12 | common/strings/UtilsTest.cpp
13 | common_strings_UtilsTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
14 | common_strings_UtilsTester_LDADD = $(COMMON_TESTING_LIBS)
15 |
--------------------------------------------------------------------------------
/doxygen/Makefile.mk:
--------------------------------------------------------------------------------
1 | include doxygen/examples/Makefile.mk
2 |
3 | EXTRA_DIST += \
4 | doxygen/copy-doc.sh \
5 | doxygen/cpp-client.dox \
6 | doxygen/dmx-cpp-client.dox \
7 | doxygen/event-driven.dox \
8 | doxygen/http.dox \
9 | doxygen/json.dox \
10 | doxygen/namespaces.dox \
11 | doxygen/olad.dox \
12 | doxygen/OLALayout.xml \
13 | doxygen/OLA.png \
14 | doxygen/overview.dox \
15 | doxygen/rdm.dox \
16 | doxygen/rpc.dox \
17 | doxygen/rpc-message.png \
18 | doxygen/rpc.png
19 |
--------------------------------------------------------------------------------
/python/Makefile.mk:
--------------------------------------------------------------------------------
1 | include python/examples/Makefile.mk
2 | include python/ola/Makefile.mk
3 |
4 | python/PyCompileTest.sh: python/Makefile.mk
5 | mkdir -p $(top_builddir)/python
6 | echo "$(PYTHON) -m compileall $(PYTHON_BUILD_DIRS); exit \$$?" > $(top_builddir)/python/PyCompileTest.sh
7 | chmod +x $(top_builddir)/python/PyCompileTest.sh
8 |
9 | PYTHON_BUILD_DIRS += python
10 |
11 | if BUILD_PYTHON_LIBS
12 | test_scripts += \
13 | python/PyCompileTest.sh
14 | endif
15 |
16 | CLEANFILES += \
17 | python/PyCompileTest.sh
18 |
--------------------------------------------------------------------------------
/plugins/sandnet/README.md:
--------------------------------------------------------------------------------
1 | SandNet Plugin
2 | ==============
3 |
4 | This plugin creates a single device with 2 output and 8 input ports.
5 |
6 | The universe bindings are offset by one from those displayed in sandnet. For
7 | example, SandNet universe 1 is OLA universe 0.
8 |
9 |
10 | ## Config file: `ola-sandnet.conf`
11 |
12 | `ip = [a.b.c.d|]`
13 | The IP address or interface name to bind to. If not specified it will use
14 | the first non-loopback interface.
15 |
16 | `name = ola-SandNet`
17 | The name of the node.
18 |
--------------------------------------------------------------------------------
/data/rdm/download.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -x
2 | #
3 | # Fetch the new PIDs definition files from the RDM PID Index
4 | datahost="rdm.openlighting.org"
5 | if [ ! -z $1 ]; then
6 | datahost=$1
7 | fi
8 |
9 | echo "Fetching PID data from $datahost"
10 |
11 | curl -o pids.proto -f http://$datahost/download?pids=esta
12 | curl -o draft_pids.proto -f http://$datahost/download?pids=esta-draft
13 | curl -o manufacturer_pids.proto -f http://$datahost/download?pids=manufacturers
14 | curl -o manufacturer_names.proto -f http://$datahost/download?pids=manufacturer-names
15 |
--------------------------------------------------------------------------------
/man/ola_uni_merge.1:
--------------------------------------------------------------------------------
1 | .TH ola_uni_merge 1 "June 2015"
2 | .SH NAME
3 | ola_uni_merge \- Set the merge mode for a universe in olad.
4 | .SH SYNOPSIS
5 | .B ola_uni_merge
6 | --universe [--ltp]
7 | .SH DESCRIPTION
8 | .B ola_uni_merge
9 | is used to set the merge mode for a universe. Without --ltp it will revert to
10 | HTP mode.
11 | .SH OPTIONS
12 | .IP "-l, --ltp"
13 | Change to LTP mode.
14 | .IP "-u, --universe "
15 | Id of the universe to name.
16 | .IP "-h, --help"
17 | Display the help message
18 | .SH SEE ALSO
19 | .BR olad(1) ,
20 | .
21 |
--------------------------------------------------------------------------------
/include/ola/web/Makefile.mk:
--------------------------------------------------------------------------------
1 | olawebincludedir = $(pkgincludedir)/web/
2 | olawebinclude_HEADERS = \
3 | include/ola/web/Json.h \
4 | include/ola/web/JsonData.h \
5 | include/ola/web/JsonLexer.h \
6 | include/ola/web/JsonParser.h \
7 | include/ola/web/JsonPatch.h \
8 | include/ola/web/JsonPatchParser.h \
9 | include/ola/web/JsonPointer.h \
10 | include/ola/web/JsonSchema.h \
11 | include/ola/web/JsonSections.h \
12 | include/ola/web/JsonTypes.h \
13 | include/ola/web/JsonWriter.h \
14 | include/ola/web/OptionalItem.h
15 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # See: https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#about-the-dependabotyml-file
2 | version: 2
3 |
4 | updates:
5 | # Configure check for outdated GitHub Actions actions in workflows.
6 | # See: https://docs.github.com/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
7 | - package-ecosystem: github-actions
8 | directory: / # Check the repository's workflows under /.github/workflows/
9 | schedule:
10 | interval: daily
11 |
--------------------------------------------------------------------------------
/TODO:
--------------------------------------------------------------------------------
1 |
2 | See https://github.com/OpenLightingProject/ola/issues?direction=desc&state=open
3 |
4 | --URGENT--
5 | resend DMX on idle (Art-Net every 4s)
6 |
7 | --REQUIRED--
8 |
9 | * allow for finer grained channel control (set_block, set_channel)
10 | * regression tests for plugins
11 |
12 | --WISH LIST--
13 |
14 | * consider using filters:
15 | o split dmx to different universes OUT = SPLIT(1,0,255)
16 | o invert channels OUT = INV(1)
17 | o different merge modes OUT = HTP(1,2)
18 | o change offset / map OUT = OFFSET(1, +50)
19 | o scaler (OUT = SCALE(1, %40) )
20 | o clip (OUT = CLIP(1,%80) )
21 |
--------------------------------------------------------------------------------
/LICENCE:
--------------------------------------------------------------------------------
1 | Licencing Information for OLA
2 | =========================================
3 |
4 | C++
5 | -----------------------------------------
6 | The files required for libola and libolacommon are licenced under the LGPLv2.1
7 | (or later), this means you are free to link against the OLA client library in
8 | your own programs.
9 |
10 | The files required for libolaserver and olad are licenced under the GPL v2 (or
11 | later).
12 |
13 | Python
14 | ------------------------------------------
15 | The Python client API is LGPL, the examples and RDM Responder Test Suite is
16 | GPL.
17 |
18 | Simon Newton
19 | 15/7/2005
20 |
--------------------------------------------------------------------------------
/plugins/shownet/README.md:
--------------------------------------------------------------------------------
1 | Strand ShowNet Plugin
2 | =====================
3 |
4 | This plugin creates a single device with 8 input and 8 output ports.
5 |
6 | The ports correspond to the DMX channels used in the shownet protocol. For
7 | example the first input and output port 0 is channels 1 - 512 and the second
8 | input and output ports are channels 513 - 1024.
9 |
10 |
11 | ## Config file: `ola-shownet.conf`
12 |
13 | `ip = [a.b.c.d|]`
14 | The IP address or interface name to bind to. If not specified it will use
15 | the first non-loopback interface.
16 |
17 | `name = ola-ShowNet`
18 | The name of the node.
19 |
--------------------------------------------------------------------------------
/man/usbpro_firmware.1:
--------------------------------------------------------------------------------
1 | .TH usbpro_firmware 1 "July 2014"
2 | .SH NAME
3 | usbpro_firmware \- Update the firmware on an Enttec USB Pro Device.
4 | .SH SYNOPSIS
5 | .B usbpro_firmware -d -f [ options ]
6 | .SH DESCRIPTION
7 | .B usbpro_firmware
8 | is used to update the firmware on Enttec USB Pro devices.
9 | .SH OPTIONS
10 | .IP "-h, --help"
11 | Display the help message.
12 | .IP "-d, --device "
13 | The path to the device to update
14 | .IP "-f, --firmware "
15 | The path to the firmware to use
16 | .IP "-l, --log-level "
17 | Set the logging level 0 .. 4.
18 | .SH SEE ALSO
19 | .BR ola_usbpro(1) ,
20 | .
21 |
--------------------------------------------------------------------------------
/man/ola_plugin_info.1:
--------------------------------------------------------------------------------
1 | .TH ola_plugin_info 1 "June 2015"
2 | .SH NAME
3 | ola_plugin_info \- Get info on the plugins loaded by olad.
4 | .SH SYNOPSIS
5 | .B ola_plugin_info
6 | [--plugin-id ] [--list-plugin-ids]
7 | .SH DESCRIPTION
8 | .B ola_plugin_info
9 | is used to get info on the plugins loaded by olad. With no arguments it shows
10 | the name and id of the loaded plugins.
11 | .SH OPTIONS
12 | .IP "-h, --help"
13 | Display the help message
14 | .IP "-p, --plugin-id "
15 | Id of the plugin to fetch the description of.
16 | .IP "--list-plugin-ids"
17 | List just the ids of the plugins loaded by olad.
18 | .SH SEE ALSO
19 | .BR olad(1) ,
20 | .
21 |
--------------------------------------------------------------------------------
/man/ola_plugin_state.1:
--------------------------------------------------------------------------------
1 | .TH ola_plugin_state 1 "June 2015"
2 | .SH NAME
3 | ola_plugin_state \- Get and set the state of the plugins loaded by olad.
4 | .SH SYNOPSIS
5 | .B ola_plugin_state
6 | --plugin-id [--state ]
7 | .SH DESCRIPTION
8 | .B ola_plugin_state
9 | is used to get and set the enabled/disabled state for a plugin and the list of
10 | plugins this plugin will conflict with.
11 | .SH OPTIONS
12 | .IP "-h, --help"
13 | Display the help message
14 | .IP "-p, --plugin-id "
15 | Id of the plugin to fetch the state of.
16 | .IP "-s, --state "
17 | State to set a plugin to.
18 | .SH SEE ALSO
19 | .BR olad(1) ,
20 | .
21 |
--------------------------------------------------------------------------------
/common/web/testdata/allof.test:
--------------------------------------------------------------------------------
1 | === POSITIVE ===
2 | // This value can be a bool or a string with the value "true" or "false".
3 | {
4 | "allOf": [
5 | {
6 | "type": "string"
7 | },
8 | {
9 | "default": "foo"
10 | }
11 | ]
12 | }
13 | === NEGATIVE ===
14 | {
15 | "allOf": []
16 | }
17 | === NEGATIVE ===
18 | {
19 | "allOf": null
20 | }
21 | === NEGATIVE ===
22 | {
23 | "allOf": false
24 | }
25 | === NEGATIVE ===
26 | {
27 | "allOf": "foo"
28 | }
29 | === NEGATIVE ===
30 | {
31 | "allOf": 1
32 | }
33 | === NEGATIVE ===
34 | {
35 | "allOf": -1
36 | }
37 | === NEGATIVE ===
38 | {
39 | "allOf": 1.2
40 | }
41 | === NEGATIVE ===
42 | {
43 | "allOf": {}
44 | }
45 |
--------------------------------------------------------------------------------
/mac_build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # A simple script to build OLA for mac systems. We need to support multiple
4 | # architectures as well as pre 10.6 systems.
5 |
6 | if [ $# != 1 ]; then
7 | echo "Usage: mac_build.sh ";
8 | exit;
9 | fi
10 |
11 | dest_dir=$1;
12 |
13 | if [ ! -d $dest_dir ]; then
14 | echo "destination_dir ${dest_dir} does not exist";
15 | exit;
16 | fi
17 |
18 | ./configure --disable-dependency-tracking --enable-python-libs --disable-slp
19 | make CPPFLAGS="-arch ppc -arch i386 -arch x86_64 -mmacosx-version-min=10.5" \
20 | LDFLAGS=" -arch ppc -arch i386 -arch x86_64 -mmacosx-version-min=10.5"
21 | make check
22 | sudo make install
23 | DESTDIR=${dest_dir} make install
24 |
--------------------------------------------------------------------------------
/include/ola/thread/Makefile.mk:
--------------------------------------------------------------------------------
1 | olathreadincludedir = $(pkgincludedir)/thread/
2 | olathreadinclude_HEADERS = \
3 | include/ola/thread/CallbackThread.h \
4 | include/ola/thread/ConsumerThread.h \
5 | include/ola/thread/ExecutorInterface.h \
6 | include/ola/thread/ExecutorThread.h \
7 | include/ola/thread/Future.h \
8 | include/ola/thread/FuturePrivate.h \
9 | include/ola/thread/Mutex.h \
10 | include/ola/thread/PeriodicThread.h \
11 | include/ola/thread/SchedulerInterface.h \
12 | include/ola/thread/SchedulingExecutorInterface.h \
13 | include/ola/thread/SignalThread.h \
14 | include/ola/thread/Thread.h \
15 | include/ola/thread/ThreadPool.h \
16 | include/ola/thread/Utils.h
17 |
--------------------------------------------------------------------------------
/common/web/testdata/anyof.test:
--------------------------------------------------------------------------------
1 | === POSITIVE ===
2 | // This value can be a bool or a string with the value "true" or "false".
3 | {
4 | "anyOf": [
5 | {
6 | "type": "boolean"
7 | },
8 | {
9 | "enum": ["true", "false"],
10 | "type": "string"
11 | }
12 | ]
13 | }
14 | === NEGATIVE ===
15 | {
16 | "anyOf": []
17 | }
18 | === NEGATIVE ===
19 | {
20 | "anyOf": null
21 | }
22 | === NEGATIVE ===
23 | {
24 | "anyOf": false
25 | }
26 | === NEGATIVE ===
27 | {
28 | "anyOf": "foo"
29 | }
30 | === NEGATIVE ===
31 | {
32 | "anyOf": 1
33 | }
34 | === NEGATIVE ===
35 | {
36 | "anyOf": -1
37 | }
38 | === NEGATIVE ===
39 | {
40 | "anyOf": 1.2
41 | }
42 | === NEGATIVE ===
43 | {
44 | "anyOf": {}
45 | }
46 |
--------------------------------------------------------------------------------
/javascript/new-src/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "OLA",
3 | "license": "GPL-2.0+",
4 | "repository": "OpenLightingProject/ola",
5 | "devDependencies": {
6 | "grunt": "~1.6.1",
7 | "grunt-bower-task": "^0.6.2",
8 | "grunt-contrib-concat": "~0.5.1",
9 | "grunt-contrib-cssmin": "^4.0.0",
10 | "grunt-contrib-jshint": "^3.2.0",
11 | "grunt-contrib-uglify": "^5.2.2",
12 | "grunt-contrib-watch": "^1.1.0",
13 | "grunt-jscs": "^3.0.1",
14 | "grunt-stylelint": "^0.16.0",
15 | "olp-javascript-style": "OpenLightingProject/javascript-style",
16 | "stylelint": "^13.8.0",
17 | "stylelint-config-recommended": "^5.0.0"
18 | },
19 | "scripts": {
20 | "test": "grunt -v -d --stack test"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/libs/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/olad/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/examples/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/include/ola/network/Makefile.mk:
--------------------------------------------------------------------------------
1 | olanetworkincludedir = $(pkgincludedir)/network/
2 | olanetworkinclude_HEADERS = \
3 | include/ola/network/AdvancedTCPConnector.h\
4 | include/ola/network/HealthCheckedConnection.h \
5 | include/ola/network/IPV4Address.h \
6 | include/ola/network/IPV6Address.h \
7 | include/ola/network/Interface.h \
8 | include/ola/network/InterfacePicker.h \
9 | include/ola/network/MACAddress.h \
10 | include/ola/network/NetworkUtils.h \
11 | include/ola/network/Socket.h \
12 | include/ola/network/SocketAddress.h \
13 | include/ola/network/SocketCloser.h \
14 | include/ola/network/TCPConnector.h \
15 | include/ola/network/TCPSocket.h \
16 | include/ola/network/TCPSocketFactory.h
17 |
--------------------------------------------------------------------------------
/plugins/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/tools/e133/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/tools/logic/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/tools/rdm/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/include/ola/acn/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/include/ola/e133/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/include/olad/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/javascript/new-src/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--------------------------------------------------------------------------------
/javascript/ola/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/plugins/milinst/README.md:
--------------------------------------------------------------------------------
1 | Milford Instruments Plugin
2 | ==========================
3 |
4 | This plugin creates devices with one output port. It currently supports the
5 | 1-463 DMX Protocol Converter and 1-553 512 Channel Serial to DMX
6 | Transmitter.
7 |
8 |
9 | ## Config file: `ola-milinst.conf`
10 |
11 | `device = /dev/ttyS0`
12 | The device to use as a path for the serial port. Multiple devices are
13 | supported.
14 |
15 | ### Per Device Settings
16 |
17 | `-type = [1-463 | 1-553]`
18 | The type of interface.
19 |
20 | #### 1-553 Specific Per Device Settings
21 |
22 | `-baudrate = [9600 | 19200]`
23 | The baudrate to connect at.
24 |
25 | `-channels = [128 | 256 | 512]`
26 | The number of channels to send.
27 |
--------------------------------------------------------------------------------
/python/examples/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/tools/ola_mon/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/tools/rdmpro/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/tools/usbpro/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/common/LICENCE:
--------------------------------------------------------------------------------
1 | This library is free software; you can redistribute it and/or
2 | modify it under the terms of the GNU Lesser General Public
3 | License as published by the Free Software Foundation; either
4 | version 2.1 of the License, or (at your option) any later version.
5 |
6 | This library is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9 | Lesser General Public License for more details.
10 |
11 | You should have received a copy of the GNU Lesser General Public
12 | License along with this library; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
14 |
--------------------------------------------------------------------------------
/ola/LICENCE:
--------------------------------------------------------------------------------
1 | This library is free software; you can redistribute it and/or
2 | modify it under the terms of the GNU Lesser General Public
3 | License as published by the Free Software Foundation; either
4 | version 2.1 of the License, or (at your option) any later version.
5 |
6 | This library is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9 | Lesser General Public License for more details.
10 |
11 | You should have received a copy of the GNU Lesser General Public
12 | License along with this library; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
14 |
--------------------------------------------------------------------------------
/olad/www/new/views/universes.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Universes:
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
Id
13 |
Name
14 |
15 |
16 |
{{u.id}}
17 |
{{u.name}}
18 |
19 |
20 |
--------------------------------------------------------------------------------
/tools/ola_trigger/LICENCE:
--------------------------------------------------------------------------------
1 | This program is free software; you can redistribute it and/or modify
2 | it under the terms of the GNU General Public License as published by
3 | the Free Software Foundation; either version 2 of the License, or
4 | (at your option) any later version.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU Library General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 |
--------------------------------------------------------------------------------
/include/ola/LICENCE:
--------------------------------------------------------------------------------
1 | This library is free software; you can redistribute it and/or
2 | modify it under the terms of the GNU Lesser General Public
3 | License as published by the Free Software Foundation; either
4 | version 2.1 of the License, or (at your option) any later version.
5 |
6 | This library is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9 | Lesser General Public License for more details.
10 |
11 | You should have received a copy of the GNU Lesser General Public
12 | License along with this library; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
14 |
--------------------------------------------------------------------------------
/plugins/gpio/README.md:
--------------------------------------------------------------------------------
1 | General Purpose I/O Plugin
2 | ==========================
3 |
4 | This plugin controls the General Purpose Digital I/O (GPIO) pins on devices
5 | like a Raspberry Pi. It creates a single device, with a single output port.
6 | The offset (start address) of the GPIO pins is configurable.
7 |
8 |
9 | ## Config file: `ola-gpio.conf`
10 |
11 | `gpio_pins = [int]`
12 | The list of GPIO pins to control, each pin is mapped to a DMX512 slot.
13 |
14 | `gpio_slot_offset = `
15 | The DMX512 slot for the first pin. Slots are indexed from 1.
16 |
17 | `gpio_turn_on = `
18 | The DMX512 value above which a GPIO pin will be turned on.
19 |
20 | `gpio_turn_off = `
21 | The DMX512 value below which a GPIO pin will be turned off.
22 |
--------------------------------------------------------------------------------
/python/ola/LICENCE:
--------------------------------------------------------------------------------
1 | This library is free software; you can redistribute it and/or
2 | modify it under the terms of the GNU Lesser General Public
3 | License as published by the Free Software Foundation; either
4 | version 2.1 of the License, or (at your option) any later version.
5 |
6 | This library is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9 | Lesser General Public License for more details.
10 |
11 | You should have received a copy of the GNU Lesser General Public
12 | License along with this library; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
14 |
--------------------------------------------------------------------------------
/common/web/testdata/oneof.test:
--------------------------------------------------------------------------------
1 | === POSITIVE ===
2 | // An int between 1 and 10 or 99 and 101
3 | {
4 | "oneOf": [
5 | {
6 | "maximum": 10,
7 | "minimum": 1,
8 | "type": "integer"
9 | },
10 | {
11 | "maximum": 101,
12 | "minimum": 99,
13 | "type": "integer"
14 | }
15 | ]
16 | }
17 | === NEGATIVE ===
18 | {
19 | "oneOf": []
20 | }
21 | === NEGATIVE ===
22 | {
23 | "oneOf": null
24 | }
25 | === NEGATIVE ===
26 | {
27 | "oneOf": false
28 | }
29 | === NEGATIVE ===
30 | {
31 | "oneOf": "foo"
32 | }
33 | === NEGATIVE ===
34 | {
35 | "oneOf": 1
36 | }
37 | === NEGATIVE ===
38 | {
39 | "oneOf": -1
40 | }
41 | === NEGATIVE ===
42 | {
43 | "oneOf": 1.2
44 | }
45 | === NEGATIVE ===
46 | {
47 | "oneOf": {}
48 | }
49 |
--------------------------------------------------------------------------------
/plugins/espnet/README.md:
--------------------------------------------------------------------------------
1 | Enttec ESP Net Plugin
2 | =====================
3 |
4 | This plugin creates a single device with five input and five output ports.
5 |
6 | ESP supports up to 255 universes. As ESP has no notion of ports, we provide
7 | a fixed number of ports which can be patched to any universe. When sending
8 | data from a port, the data is addressed to the universe the port is patched
9 | to. For example if port 0 is patched to universe 10, the data will be sent
10 | to ESP universe 10.
11 |
12 |
13 | ## Config file: `ola-espnet.conf`
14 |
15 | `ip = [a.b.c.d|]`
16 | The IP address or interface name to bind to. If not specified it will use
17 | the first non-loopback interface.
18 |
19 | `name = ola-EspNet`
20 | The name of the node.
21 |
--------------------------------------------------------------------------------
/common/messaging/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | common_libolacommon_la_SOURCES += \
4 | common/messaging/Descriptor.cpp \
5 | common/messaging/Message.cpp \
6 | common/messaging/MessagePrinter.cpp \
7 | common/messaging/SchemaPrinter.cpp
8 |
9 | # TESTS
10 | ##################################################
11 | test_programs += common/messaging/DescriptorTester
12 |
13 | common_messaging_DescriptorTester_SOURCES = \
14 | common/messaging/DescriptorTest.cpp \
15 | common/messaging/SchemaPrinterTest.cpp \
16 | common/messaging/MessagePrinterTest.cpp
17 | common_messaging_DescriptorTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
18 | common_messaging_DescriptorTester_LDADD = $(COMMON_TESTING_LIBS)
19 |
20 |
--------------------------------------------------------------------------------
/debian/ola.config:
--------------------------------------------------------------------------------
1 | #!/bin/sh -e
2 | # ola package configuration script
3 |
4 | conffile="/etc/default/ola"
5 |
6 | get_config_file() {
7 | config_field=$1
8 | db_field=$2
9 |
10 | if [ -f "$conffile" ] ; then
11 | VALUE="$(grep "^[ ]*$config_field" $conffile | sed -e "s/^$config_field *= *\"\(.*\)\"/\1/g")"
12 | if [ -n "$VALUE" ] ; then
13 | db_set $db_field "$VALUE"
14 | fi
15 | fi
16 | }
17 |
18 | # Source debconf library -- we have a Depends line
19 | # to make sure it is there...
20 | . /usr/share/debconf/confmodule
21 | db_version 2.0
22 |
23 | if [ "$1" = configure -o "$1" = reconfigure ] ; then
24 | get_config_file RUN_DAEMON ola/daemon
25 | db_input high ola/daemon || true
26 | db_go
27 | db_get ola/daemon
28 | fi
29 |
30 | exit 0
31 |
--------------------------------------------------------------------------------
/plugins/pathport/README.md:
--------------------------------------------------------------------------------
1 | Pathway Pathport Plugin
2 | =======================
3 |
4 | This plugin creates a single device with 5 input and 5 output ports.
5 |
6 | The universe the port is patched to corresponds with the DMX channels used
7 | in the PathPort protocol. For example universe 0 is xDMX channels 0 - 511,
8 | universe 1 is xDMX channels 512 - 1023.
9 |
10 |
11 | ## Config file: `ola-pathport.conf`
12 |
13 | `dscp = `
14 | Set the DSCP value for the packets. Range is 0-63.
15 |
16 | `ip = [a.b.c.d|]`
17 | The IP address or interface name to bind to. If not specified it will use
18 | the first non-loopback interface.
19 |
20 | `name = ola-Pathport`
21 | The name of the node.
22 |
23 | `node-id = `
24 | The pathport id of the node.
25 |
--------------------------------------------------------------------------------
/python/examples/Makefile.mk:
--------------------------------------------------------------------------------
1 | # example python scripts
2 | dist_noinst_SCRIPTS += \
3 | python/examples/ola_artnet_params.py \
4 | python/examples/ola_candidate_ports.py \
5 | python/examples/ola_devices.py \
6 | python/examples/ola_fetch_dmx.py \
7 | python/examples/ola_patch_unpatch.py \
8 | python/examples/ola_plugin_info.py \
9 | python/examples/ola_rdm_discover.py \
10 | python/examples/ola_rdm_get.py \
11 | python/examples/ola_recv_dmx.py \
12 | python/examples/ola_send_dmx.py \
13 | python/examples/ola_simple_fade.py \
14 | python/examples/ola_universe_info.py \
15 | python/examples/rdm_compare.py \
16 | python/examples/rdm_snapshot.py
17 |
18 | CLEANFILES += \
19 | python/examples/*.pyc \
20 | python/examples/__pycache__/*
21 |
--------------------------------------------------------------------------------
/man/ola_set_dmx.1:
--------------------------------------------------------------------------------
1 | .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
2 | .TH OLA_SET_DMX "1" "December 2015" "ola_set_dmx " "User Commands"
3 | .SH NAME
4 | ola_set_dmx \- Sets the DMX values for a universe.
5 | .SH SYNOPSIS
6 | .B ola_set_dmx
7 | \fI--universe [ --dmx ] [ --blackout ]\fR
8 | .SH DESCRIPTION
9 | Sets the DMX values for a universe.
10 | .TP
11 | \fB\-h\fR, \fB\-\-help\fR
12 | Display this help message and exit.
13 | .HP
14 | \fB\-u\fR, \fB\-\-universe\fR Universe number, e.g. 0.
15 | .TP
16 | \fB\-d\fR, \fB\-\-dmx\fR
17 | Comma separated DMX values, e.g. 0,255,128 sets first channel to 0, second channel to 255 and third channel to 128.
18 | .HP
19 | \fB\-b\fR, \fB\-\-blackout\fR
20 | Send a universe to blackout instead.
21 | .TP
22 |
--------------------------------------------------------------------------------
/man/ola_set_priority.1:
--------------------------------------------------------------------------------
1 | .TH ola_set_priority 1 "July 2013"
2 | .SH NAME
3 | ola_set_priority \- Set an olad port's priority.
4 | .SH SYNOPSIS
5 | .B ola_set_priority [ options ]
6 | .SH DESCRIPTION
7 | .B ola_set_priority
8 | is used to set the priority of ports in olad(1).
9 | .SH OPTIONS
10 | .IP "-h, --help"
11 | Display the help message.
12 | .IP "-d, --device "
13 | Id of the device you want to set the priority of.
14 | .IP "-i, --input"
15 | Set an input port, otherwise set an output port.
16 | .IP "-o, --override "
17 | Set the port priority to a static value, if this option isn't used, the port
18 | will be set to inherit mode.
19 | .IP "-p, --port "
20 | Id of the port you want to set the priority of.
21 | .SH SEE ALSO
22 | .BR olad(1) ,
23 | .BR ola_dev_info(1) ,
24 | .
25 |
--------------------------------------------------------------------------------
/tools/ola_mon/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | OLA Monitoring Console
5 |
6 |
7 |
8 |
OLA Monitoring
9 |
RPCs
10 |
11 |
12 |
13 |
14 |
Performance
15 |
16 |
17 |
18 |
19 |
Connections & Timers
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/common/web/testdata/type.test:
--------------------------------------------------------------------------------
1 | === POSITIVE ===
2 | {
3 | "type": "array"
4 | }
5 | === POSITIVE ===
6 | {
7 | "type": "boolean"
8 | }
9 | === POSITIVE ===
10 | {
11 | "type": "integer"
12 | }
13 | === POSITIVE ===
14 | {
15 | "type": "null"
16 | }
17 | === POSITIVE ===
18 | {
19 | "type": "number"
20 | }
21 | === POSITIVE ===
22 | {
23 | "type": "object"
24 | }
25 | === POSITIVE ===
26 | {
27 | "type": "string"
28 | }
29 | === NEGATIVE ===
30 | {
31 | "type": null
32 | }
33 | === NEGATIVE ===
34 | {
35 | "type": "foo"
36 | }
37 | === NEGATIVE ===
38 | {
39 | "type": true
40 | }
41 | === NEGATIVE ===
42 | {
43 | "type": 1
44 | }
45 | === NEGATIVE ===
46 | {
47 | "type": -1
48 | }
49 | === NEGATIVE ===
50 | {
51 | "type": 1.2
52 | }
53 | === NEGATIVE ===
54 | {
55 | "type": {}
56 | }
57 |
--------------------------------------------------------------------------------
/common/rdm/testdata/duplicate_manufacturer.proto:
--------------------------------------------------------------------------------
1 | manufacturer {
2 | manufacturer_id: 31344
3 | manufacturer_name: "Open Lighting"
4 | pid {
5 | name: "SERIAL_NUMBER"
6 | value: 32768
7 | set_request {
8 | field {
9 | type: UINT32
10 | name: "serial_number"
11 | }
12 | }
13 | set_response {
14 | }
15 | set_sub_device_range: ROOT_OR_ALL_SUBDEVICE
16 | }
17 | }
18 | manufacturer {
19 | manufacturer_id: 31344
20 | manufacturer_name: "Open Lighting"
21 | pid {
22 | name: "SERIAL_NUMBER"
23 | value: 32768
24 | set_request {
25 | field {
26 | type: UINT32
27 | name: "serial_number"
28 | }
29 | }
30 | set_response {
31 | }
32 | set_sub_device_range: ROOT_OR_ALL_SUBDEVICE
33 | }
34 | }
35 | version: 1302986774
36 |
--------------------------------------------------------------------------------
/debian/tests/control:
--------------------------------------------------------------------------------
1 | Test-Command: olad --help
2 | Depends: ola
3 |
4 | Test-Command: ola_rdm_get --list-pids
5 | Depends: ola
6 |
7 | Test-Command: set -e ; for py in $(py3versions -s 2>/dev/null) ; do echo "Testing with $py:" ; $py $(which rdm_responder_test.py) --help ; done
8 | Depends: ola-rdm-tests
9 |
10 | Test-Command: set -e ; for py in $(py3versions -s 2>/dev/null) ; do cd "$ADTTMP" ; echo "Testing with $py:" ; $py -c "from ola.ClientWrapper import ClientWrapper; print(ClientWrapper)" ; done
11 | Depends: python3-all, ola, ola-python
12 |
13 | Test-Command: pkg-config --cflags --libs libola
14 | Depends: libola-dev, pkg-config
15 |
16 | Test-Command: set -e; g++ -o linktest debian/tests/hw.cc $(pkg-config --cflags --libs libola); ./linktest
17 | Depends: libola-dev, g++, pkg-config
18 | Restrictions: rw-build-tree
19 |
--------------------------------------------------------------------------------
/debian/ola-rdm-tests.config:
--------------------------------------------------------------------------------
1 | #!/bin/sh -e
2 | # ola-rdm-tests package configuration script
3 |
4 | conffile="/etc/default/ola-rdm-tests"
5 |
6 | get_config_file() {
7 | config_field=$1
8 | db_field=$2
9 |
10 | if [ -f "$conffile" ] ; then
11 | VALUE="$(grep "^[ ]*$config_field" $conffile | sed -e "s/^$config_field *= *\"\(.*\)\"/\1/g")"
12 | if [ -n "$VALUE" ] ; then
13 | db_set $db_field "$VALUE"
14 | fi
15 | fi
16 | }
17 |
18 | # Source debconf library -- we have a Depends line
19 | # to make sure it is there...
20 | . /usr/share/debconf/confmodule
21 | db_version 2.0
22 |
23 | if [ "$1" = configure -o "$1" = reconfigure ] ; then
24 | get_config_file RUN_DAEMON ola-rdm-tests/daemon
25 | db_input high ola-rdm-tests/daemon || true
26 | db_go
27 | db_get ola-rdm-tests/daemon
28 | fi
29 |
30 | exit 0
31 |
--------------------------------------------------------------------------------
/include/ola/timecode/Makefile.mk:
--------------------------------------------------------------------------------
1 | olatimecodeincludedir = $(pkgincludedir)/timecode/
2 |
3 | olatimecodeinclude_HEADERS = include/ola/timecode/TimeCode.h
4 | nodist_olatimecodeinclude_HEADERS = include/ola/timecode/TimeCodeEnums.h
5 |
6 | dist_noinst_SCRIPTS += include/ola/timecode/make_timecode.sh
7 |
8 | # BUILT_SOURCES is our only option here since we can't override the generated
9 | # automake rules for common/libolacommon.la
10 | built_sources += include/ola/timecode/TimeCodeEnums.h
11 |
12 | include/ola/timecode/TimeCodeEnums.h: include/ola/timecode/Makefile.mk include/ola/timecode/make_timecode.sh common/protocol/Ola.proto
13 | mkdir -p $(top_builddir)/include/ola/timecode
14 | sh $(top_srcdir)/include/ola/timecode/make_timecode.sh $(top_srcdir)/common/protocol/Ola.proto > $(top_builddir)/include/ola/timecode/TimeCodeEnums.h
15 |
--------------------------------------------------------------------------------
/tools/ola_trigger/contrib/mac_itunes.conf:
--------------------------------------------------------------------------------
1 | # OLA Trigger Config to control itunes
2 | # See https://wiki.openlighting.org/index.php/OLA_DMX_Trigger
3 | # Copyright (C) 2011 Simon Newton
4 |
5 | # Variable definitions
6 | ###############################################################################
7 | itunes_action=''
8 |
9 |
10 | # Triggers
11 | ###############################################################################
12 | # Slot Values Action
13 |
14 | # The first slot selects the action
15 | 1 1 itunes_action='play'
16 | 1 2 itunes_action='pause'
17 | 1 3 itunes_action='previous track'
18 | 1 4 itunes_action='next track'
19 |
20 | # Sending non-0 on the second slot will run the action
21 | 2 1-255 `osascript '-e' 'tell application "iTunes"' '-e' '${itunes_action}' '-e' 'end tell'`
22 |
--------------------------------------------------------------------------------
/tools/logic/README.md:
--------------------------------------------------------------------------------
1 | This currently only works with the original Saleae Logic and Logic 16.
2 | The more recent Logic 4, Logic 8, Logic Pro 8 and Logic Pro 16 are not supported by the SDK.
3 | https://support.saleae.com/saleae-api-and-sdk/other-information/device-sdk-status-for-new-products
4 |
5 | In order to compile the logic rdm sniffer, you need the SaleaeDeviceSDK, there
6 | is a version available from:
7 | http://downloads.saleae.com/SDK/SaleaeDeviceSdk-1.1.14.zip
8 |
9 | You will also need to set the include path to your SaleaeDeviceSDK. Example:
10 |
11 | ```
12 | ./configure CPPFLAGS="-I/path/to/your/SaleaeDeviceSdk-1.1.14/include"
13 | ```
14 |
15 | The configure script should output something like this:
16 |
17 | ```
18 | checking SaleaeDeviceApi.h usability... yes
19 | checking SaleaeDeviceApi.h presence... yes
20 | checking for SaleaeDeviceApi.h... yes
21 | ```
22 |
--------------------------------------------------------------------------------
/include/ola/io/Makefile.mk:
--------------------------------------------------------------------------------
1 | olaioincludedir = $(pkgincludedir)/io/
2 | olaioinclude_HEADERS = \
3 | include/ola/io/BigEndianStream.h \
4 | include/ola/io/ByteString.h \
5 | include/ola/io/Descriptor.h \
6 | include/ola/io/ExtendedSerial.h \
7 | include/ola/io/IOQueue.h \
8 | include/ola/io/IOStack.h \
9 | include/ola/io/IOUtils.h \
10 | include/ola/io/IOVecInterface.h \
11 | include/ola/io/InputBuffer.h \
12 | include/ola/io/InputStream.h \
13 | include/ola/io/MemoryBlock.h \
14 | include/ola/io/MemoryBlockPool.h \
15 | include/ola/io/MemoryBuffer.h \
16 | include/ola/io/NonBlockingSender.h \
17 | include/ola/io/OutputBuffer.h \
18 | include/ola/io/OutputStream.h \
19 | include/ola/io/SelectServer.h \
20 | include/ola/io/SelectServerInterface.h \
21 | include/ola/io/Serial.h \
22 | include/ola/io/StdinHandler.h
23 |
--------------------------------------------------------------------------------
/common/rdm/testdata/duplicate_pid_value.proto:
--------------------------------------------------------------------------------
1 | pid {
2 | name: "PROXIED_DEVICES"
3 | value: 16
4 | get_request {
5 | }
6 | get_response {
7 | field {
8 | type: GROUP
9 | name: "uids"
10 | field {
11 | type: UINT16
12 | name: "manufacturer_id"
13 | }
14 | field {
15 | type: UINT32
16 | name: "device_id"
17 | }
18 | }
19 | }
20 | get_sub_device_range: ROOT_DEVICE
21 | }
22 | pid {
23 | name: "OTHER_PID"
24 | value: 16
25 | get_request {
26 | }
27 | get_response {
28 | field {
29 | type: GROUP
30 | name: "uids"
31 | field {
32 | type: UINT16
33 | name: "manufacturer_id"
34 | }
35 | field {
36 | type: UINT32
37 | name: "device_id"
38 | }
39 | }
40 | }
41 | get_sub_device_range: ROOT_DEVICE
42 | }
43 | version: 1302986774
44 |
--------------------------------------------------------------------------------
/common/rdm/testdata/duplicate_pid_name.proto:
--------------------------------------------------------------------------------
1 | pid {
2 | name: "PROXIED_DEVICES"
3 | value: 16
4 | get_request {
5 | }
6 | get_response {
7 | field {
8 | type: GROUP
9 | name: "uids"
10 | field {
11 | type: UINT16
12 | name: "manufacturer_id"
13 | }
14 | field {
15 | type: UINT32
16 | name: "device_id"
17 | }
18 | }
19 | }
20 | get_sub_device_range: ROOT_DEVICE
21 | }
22 | pid {
23 | name: "PROXIED_DEVICES"
24 | value: 17
25 | get_request {
26 | }
27 | get_response {
28 | field {
29 | type: GROUP
30 | name: "uids"
31 | field {
32 | type: UINT16
33 | name: "manufacturer_id"
34 | }
35 | field {
36 | type: UINT32
37 | name: "device_id"
38 | }
39 | }
40 | }
41 | get_sub_device_range: ROOT_DEVICE
42 | }
43 | version: 1302986774
44 |
--------------------------------------------------------------------------------
/man/ola_patch.1:
--------------------------------------------------------------------------------
1 | .TH ola_patch 1 "July 2013"
2 | .SH NAME
3 | ola_patch \- Control OLA port bindings.
4 | .SH SYNOPSIS
5 | .B ola_patch [ options ]
6 | .SH DESCRIPTION
7 | .B ola_patch
8 | is used to control the port to universe mappings in olad(1).
9 | .SH OPTIONS
10 | .IP "-d, --device "
11 | The id of device to patch.
12 | .IP "-h, --help"
13 | Display the help message.
14 | .IP "-p, --port "
15 | The id of the port to patch.
16 | .IP "-r, --unpatch"
17 | Unpatch this port.
18 | .IP "-i, --input"
19 | Patch the input port (default is output).
20 | .IP "-u, --universe "
21 | The id of the universe to patch to (default 0).
22 | .SH EXAMPLES
23 | .SS Patch output port 1 of device 4 to universe 3:
24 | ola_patch -d 4 -p 1 -u 3
25 | .SS Patch input port 2 of device 5 to universe 10:
26 | ola_patch -d 5 -p 2 -i -u 10
27 | .SH SEE ALSO
28 | .BR olad(1) ,
29 | .BR ola_dev_info(1) ,
30 | .
31 |
--------------------------------------------------------------------------------
/man/Makefile.mk:
--------------------------------------------------------------------------------
1 | dist_man_MANS += \
2 | man/logic_rdm_sniffer.1 \
3 | man/ola_artnet.1 \
4 | man/ola_dev_info.1 \
5 | man/ola_dmxconsole.1 \
6 | man/ola_dmxmonitor.1 \
7 | man/ola_e131.1 \
8 | man/ola_patch.1 \
9 | man/ola_plugin_info.1 \
10 | man/ola_plugin_state.1 \
11 | man/ola_rdm_discover.1 \
12 | man/ola_rdm_get.1 \
13 | man/ola_rdm_set.1 \
14 | man/ola_recorder.1 \
15 | man/ola_set_dmx.1 \
16 | man/ola_set_priority.1 \
17 | man/ola_streaming_client.1 \
18 | man/ola_timecode.1 \
19 | man/ola_trigger.1 \
20 | man/ola_uni_info.1 \
21 | man/ola_uni_merge.1 \
22 | man/ola_uni_name.1 \
23 | man/ola_uni_stats.1 \
24 | man/ola_usbpro.1 \
25 | man/olad.1 \
26 | man/rdm_model_collector.py.1 \
27 | man/rdm_responder_test.py.1 \
28 | man/rdm_test_server.py.1 \
29 | man/rdmpro_sniffer.1 \
30 | man/usbpro_firmware.1
31 |
--------------------------------------------------------------------------------
/man/ola_uni_stats.1:
--------------------------------------------------------------------------------
1 | .TH ola_uni_stats 1 "August 2014"
2 | .SH NAME
3 | ola_uni_stats \- Produce statistics on DMX frame rates.
4 | .SH SYNOPSIS
5 | .B ola_uni_stats
6 | [options] ...
7 | .SH DESCRIPTION
8 | .B ola_uni_stats
9 | is used to watch one or more universes and produce stats on DMX frame rates.
10 | .SH OPTIONS
11 | .IP "-h, --help"
12 | Display the help message
13 | .IP "-l, --log-level "
14 | Set the logging level 0 .. 4.
15 | .IP "-v, --version"
16 | Display version information
17 | .IP "--syslog"
18 | Send to syslog rather than stderr.
19 | .IP "--no-use-epoll"
20 | Disable the use of epoll(), revert to select()
21 | .IP "--no-use-kqueue"
22 | Disable the use of kqueue(), revert to select()
23 | .IP "--scheduler-policy "
24 | The thread scheduling policy, one of {fifo, rr}.
25 | .IP "--scheduler-priority "
26 | The thread priority, only used if --scheduler-policy is set.
27 |
--------------------------------------------------------------------------------
/javascript/new-src/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "OLA",
3 | "authors": [
4 | "Dave Olsthoorn "
5 | ],
6 | "description": "The new OLA web-ui",
7 | "license": "GPL",
8 | "private": true,
9 | "dependencies": {
10 | "angular": "~1.8.3",
11 | "angular-marked": "~1.2.2",
12 | "angular-route": "~1.8.3",
13 | "bootstrap": "~3.3.1",
14 | "marked": "~0.3.6"
15 | },
16 | "exportsOverride": {
17 | "angular": {
18 | "js": ["*.min.js"]
19 | },
20 | "jquery": {
21 | "js": "dist/*.min.js"
22 | },
23 | "bootstrap": {
24 | "js": "dist/js/bootstrap.min.js",
25 | "css": "dist/css/bootstrap.min.css",
26 | "fonts": "dist/fonts/"
27 | },
28 | "angular-route": {
29 | "js": ["*.min.js"]
30 | },
31 | "marked": {
32 | "js": ["*.min.js"]
33 | },
34 | "angular-marked": {
35 | "js": ["*.min.js"]
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/CONTRIBUTING:
--------------------------------------------------------------------------------
1 | Contributing to Open Lighting Architecture (OLA)
2 | ===============================================================================
3 |
4 | There are lots of ways you can help with OLA, such as running a Buildbot or
5 | writing documentation or user guides.
6 |
7 | If you’d like to contribute code (such as a new plugin, extending an existing
8 | feature or adding a brand new one), our preferred method is by forking us on
9 | GitHub, committing your code to there, then opening a pull request. We can then
10 | review and comment on your code if necessary and merge it in. It will also get
11 | checked automatically by GitHub Actions (you will see a message
12 | within the pull request showing the status of the GitHub tests); hence why we
13 | prefer pull requests to other methods such as patch submissions.
14 |
15 | When writing code, please read the README.developer file which covers coding
16 | style, the code review process and various other guidelines.
17 |
--------------------------------------------------------------------------------
/man/rdm_model_collector.py.1:
--------------------------------------------------------------------------------
1 | .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
2 | .TH RDM_MODEL_COLLECTOR.PY "1" "October 2015" "rdm_model_collector.py " "User Commands"
3 | .SH NAME
4 | rdm_model_collector.py \- Gather RDM model info from responders
5 | .SH SYNOPSIS
6 | .B rdm_model_collector.py
7 | \fI--universe \fR
8 | .SH DESCRIPTION
9 | Collect information about responders attached to a universe and output in a
10 | format that can be imported into the RDM manufacturer index
11 | (http://rdm.openlighting.org/)
12 | .TP
13 | \fB\-d\fR, \fB\-\-debug\fR
14 | Print extra debug info.
15 | .TP
16 | \fB\-h\fR, \fB\-\-help\fR
17 | Display this help message and exit.
18 | .TP
19 | \fB\-p\fR, \fB\-\-pid\-location\fR
20 | The directory to read PID definitions from.
21 | .TP
22 | \fB\-\-skip\-queued\-messages\fR
23 | Don't attempt to fetch queued messages for the
24 | device.
25 | .HP
26 | \fB\-u\fR, \fB\-\-universe\fR Universe number.
27 |
--------------------------------------------------------------------------------
/protoc/Makefile.mk:
--------------------------------------------------------------------------------
1 | # Programs
2 | #########################
3 | if BUILD_OLA_PROTOC_PLUGIN
4 | noinst_PROGRAMS += protoc/ola_protoc_plugin
5 |
6 | protoc_ola_protoc_plugin_SOURCES = \
7 | protoc/CppFileGenerator.cpp \
8 | protoc/CppFileGenerator.h \
9 | protoc/CppGenerator.cpp \
10 | protoc/CppGenerator.h \
11 | protoc/GeneratorHelpers.cpp \
12 | protoc/GeneratorHelpers.h \
13 | protoc/ServiceGenerator.cpp \
14 | protoc/ServiceGenerator.h \
15 | protoc/StrUtil.cpp \
16 | protoc/StrUtil.h \
17 | protoc/ola-protoc-generator-plugin.cpp
18 | protoc_ola_protoc_plugin_CXXFLAGS = $(COMMON_PROTOBUF_CXXFLAGS)
19 | protoc_ola_protoc_plugin_LDADD = $(libprotobuf_LIBS) -lprotoc
20 |
21 | else
22 |
23 | # If we're using a different ola_protoc_plugin, we need to provide a rule to
24 | # create this file since the generated service configs depend on it.
25 | protoc/ola_protoc_plugin$(EXEEXT):
26 | touch protoc/ola_protoc_plugin$(EXEEXT)
27 |
28 | endif
29 |
--------------------------------------------------------------------------------
/javascript/README:
--------------------------------------------------------------------------------
1 | This javascript uses the Google Closure library -
2 | http://closure-library.googlecode.com/
3 |
4 | To build it you'll need a copy of closure checked out in the javascript
5 | directory. You can do this by running :
6 |
7 | svn checkout http://closure-library.googlecode.com/svn/trunk/
8 |
9 | You'll also need the javascript compiler from
10 | http://code.google.com/closure/compiler/
11 |
12 | Then to compile the javascript, run:
13 |
14 | trunk/closure/bin/build/closurebuilder.py --root=trunk/ --root=ola
15 | --namespace="ola.Setup" --output_mode=compiled --compiler_jar=compiler.jar
16 | --compiler_flags="--compilation_level=ADVANCED_OPTIMIZATIONS" >
17 | ../olad/www/ola.js
18 |
19 | To build the mobile version run:
20 |
21 | trunk/closure/bin/build/closurebuilder.py --root=trunk/ --root=ola
22 | --namespace="ola.mobile" --output_mode=compiled --compiler_jar=compiler.jar
23 | --compiler_flags="--compilation_level=ADVANCED_OPTIMIZATIONS" >
24 | ../olad/www/mobile.js
25 |
--------------------------------------------------------------------------------
/plugins/openpixelcontrol/README.md:
--------------------------------------------------------------------------------
1 | OPC Plugin
2 | ==========
3 |
4 | This plugin creates OPC Client and/or OPC Server Devices.
5 |
6 |
7 | ## Config file: `ola-opc.conf`
8 |
9 | `target = :`
10 | Create a Open Pixel Control client, connected to the `IP:port`. Multiple
11 | targets can be specified and a device will be created for each.
12 |
13 | `listen = :`
14 | Create an Open Pixel Control server, listening on `IP:port`. To listen on
15 | any address use `listen = 0.0.0.0`. Multiple listen keys can be specified
16 | and a device will be created for each.
17 |
18 | `target_:_channel = `
19 | The Open Pixel Control channels to use for the specified device. Multiple
20 | channels can be specified and an output port will be created for each.
21 |
22 | `listen_:_channel = `
23 | The Open Pixel Control channels to use for the specified device. Multiple
24 | channels can be specified and an input port will be created for each.
25 |
--------------------------------------------------------------------------------
/man/ola_timecode.1:
--------------------------------------------------------------------------------
1 | .TH ola_timecode 1 "August 2014"
2 | .SH NAME
3 | ola_timecode \- OLA TimeCode Sender
4 | .SH SYNOPSIS
5 | .B ola_timecode
6 | [options]
7 | .SH DESCRIPTION
8 | .B ola_timecode
9 | lets you send TimeCode data to OLA. time_code is in the form:
10 | .PP
11 | Hours:Minutes:Seconds:Frames
12 | .SH OPTIONS
13 | .IP "-f, --format "
14 | One of FILM, EBU, DF, SMPTE (default).
15 | .IP "-h, --help"
16 | Display the help message
17 | .IP "-l, --log-level "
18 | Set the logging level 0 .. 4.
19 | .IP "-v, --version"
20 | Display version information
21 | .IP "--syslog"
22 | Send to syslog rather than stderr.
23 | .IP "--no-use-epoll"
24 | Disable the use of epoll(), revert to select()
25 | .IP "--no-use-kqueue"
26 | Disable the use of kqueue(), revert to select()
27 | .IP "--scheduler-policy "
28 | The thread scheduling policy, one of {fifo, rr}.
29 | .IP "--scheduler-priority "
30 | The thread priority, only used if --scheduler-policy is set.
31 |
32 |
--------------------------------------------------------------------------------
/plugins/nanoleaf/README.md:
--------------------------------------------------------------------------------
1 | Nanoleaf Plugin
2 | ============
3 |
4 | This plugin creates a device per IP, each with one output port. Each port
5 | represents a Nanoleaf Aurora controller, with up to 30 panels attached.
6 | This plugin uses the streaming external control effects functionality of
7 | the Aurora OpenAPI.
8 |
9 | Currently only the [Nanoleaf
10 | Aurora](https://nanoleaf.me/en/consumer-led-lighting/products/
11 | smarter-series/nanoleaf-light-panels-smarter-kit/)
12 | is supported.
13 |
14 |
15 | ## Config file: `ola-nanoleaf.conf`
16 |
17 | `controller = `
18 | The IP of the controller to send to. You can communicate with more than
19 | one controller by adding multiple `controller =` lines
20 |
21 | ### Per Device Settings
22 |
23 | `-port = `
24 | The port to stream to on the controller, range is 1 - 65535.
25 |
26 | `-panels = [int]`
27 | The list of panel IDs to control, each panel is mapped to three DMX512 slots
28 | (for Red, Green and Blue).
29 |
--------------------------------------------------------------------------------
/man/ola_dmxmonitor.1:
--------------------------------------------------------------------------------
1 | .TH ola_dmxmonitor 1 "March 2013"
2 | .SH NAME
3 | ola_dmxmonitor \- Monitor the DMX512 values on an OLA universe.
4 | .SH SYNOPSIS
5 | .B ola_dmxmonitor [-u
6 | .I universe-id
7 | .B ]
8 | .SH DESCRIPTION
9 | .B ola_dmxmonitor
10 | provides a simple monitor for DMX512 data.
11 | .SH OPTIONS
12 | .IP "-u, --universe "
13 | The universe ID to monitor.
14 | .IP "-h, --help"
15 | Displays a short help message.
16 | .SH CONTROLS
17 | Once running, the following keys control the behavior:
18 | .IP "m, M"
19 | Toggle display modes: hex, DMX and decimal.
20 | .IP "n, N"
21 | Toggle channel (slot) indexing mode. 0-indexed or 1-indexed.
22 | .IP "p, P"
23 | Toggle display palette.
24 | .IP "q, Q"
25 | Quit the program
26 | .IP "Arrow keys or k, j, h, l or K, J, H, L"
27 | Move the channel (slot) cursor.
28 | .IP "Home"
29 | Move the channel (slot) cursor to the first channel.
30 | .IP "End"
31 | Move the channel (slot) cursor to the last channel.
32 | .SH SEE ALSO
33 | .BR ola_dmxconsole(1) ,
34 | .BR olad(1) ,
35 | .
36 |
--------------------------------------------------------------------------------
/man/ola_rdm_get.1:
--------------------------------------------------------------------------------
1 | .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
2 | .TH OLA_RDM_GET "1" "December 2015" "ola_rdm_get " "User Commands"
3 | .SH NAME
4 | ola_rdm_get \- Get the value of a PID for an RDM device
5 | .SH SYNOPSIS
6 | .B ola_rdm_get
7 | \fI--universe --uid \fR
8 | .SH DESCRIPTION
9 | Get the value of a pid for a device.
10 | Use 'ola_rdm_get \fB\-\-list\-pids\fR' to get a list of applicable pids.
11 | .TP
12 | \fB\-\-frames\fR
13 | display the raw RDM frames if available.
14 | .TP
15 | \fB\-\-uid\fR
16 | the UID of the device to control.
17 | .HP
18 | \fB\-d\fR, \fB\-\-sub\-device\fR target a particular sub device (default is 0)
19 | .TP
20 | \fB\-h\fR, \fB\-\-help\fR
21 | display this help message and exit.
22 | .TP
23 | \fB\-l\fR, \fB\-\-list\-pids\fR
24 | display a list of pids that support GET.
25 | .TP
26 | \fB\-p\fR, \fB\-\-pid\-location\fR
27 | the directory to read PID definitions from
28 | .HP
29 | \fB\-u\fR, \fB\-\-universe\fR universe number.
30 |
--------------------------------------------------------------------------------
/man/ola_rdm_set.1:
--------------------------------------------------------------------------------
1 | .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
2 | .TH OLA_RDM_SET "1" "December 2015" "ola_rdm_set " "User Commands"
3 | .SH NAME
4 | ola_rdm_set \- Set the value of a PID for an RDM device
5 | .SH SYNOPSIS
6 | .B ola_rdm_set
7 | \fI--universe --uid \fR
8 | .SH DESCRIPTION
9 | Set the value of a PID for a device.
10 | Use 'ola_rdm_set \fB\-\-list\-pids\fR' to get a list of applicable PIDs.
11 | .TP
12 | \fB\-\-frames\fR
13 | display the raw RDM frames if available.
14 | .TP
15 | \fB\-\-uid\fR
16 | the UID of the device to control.
17 | .HP
18 | \fB\-d\fR, \fB\-\-sub\-device\fR target a particular sub device (default is 0)
19 | .TP
20 | \fB\-h\fR, \fB\-\-help\fR
21 | display this help message and exit.
22 | .TP
23 | \fB\-l\fR, \fB\-\-list\-pids\fR
24 | display a list of PIDs that support SET.
25 | .TP
26 | \fB\-p\fR, \fB\-\-pid\-location\fR
27 | the directory to read PID definitions from
28 | .HP
29 | \fB\-u\fR, \fB\-\-universe\fR universe number.
30 |
--------------------------------------------------------------------------------
/common/utils/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ################################################
3 | common_libolacommon_la_SOURCES += \
4 | common/utils/ActionQueue.cpp \
5 | common/utils/Clock.cpp \
6 | common/utils/DmxBuffer.cpp \
7 | common/utils/StringUtils.cpp \
8 | common/utils/TokenBucket.cpp \
9 | common/utils/Watchdog.cpp
10 |
11 | # TESTS
12 | ################################################
13 | test_programs += common/utils/UtilsTester
14 |
15 | common_utils_UtilsTester_SOURCES = \
16 | common/utils/ActionQueueTest.cpp \
17 | common/utils/BackoffTest.cpp \
18 | common/utils/CallbackTest.cpp \
19 | common/utils/ClockTest.cpp \
20 | common/utils/DmxBufferTest.cpp \
21 | common/utils/MultiCallbackTest.cpp \
22 | common/utils/StringUtilsTest.cpp \
23 | common/utils/TokenBucketTest.cpp \
24 | common/utils/UtilsTest.cpp \
25 | common/utils/WatchdogTest.cpp
26 | common_utils_UtilsTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
27 | common_utils_UtilsTester_LDADD = $(COMMON_TESTING_LIBS)
28 |
--------------------------------------------------------------------------------
/python/ola/DMXConstants.py:
--------------------------------------------------------------------------------
1 | # This library is free software; you can redistribute it and/or
2 | # modify it under the terms of the GNU Lesser General Public
3 | # License as published by the Free Software Foundation; either
4 | # version 2.1 of the License, or (at your option) any later version.
5 | #
6 | # This library is distributed in the hope that it will be useful,
7 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9 | # Lesser General Public License for more details.
10 | #
11 | # You should have received a copy of the GNU Lesser General Public
12 | # License along with this library; if not, write to the Free Software
13 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
14 | #
15 | # DMXConstants.py
16 | # Copyright (C) 2014 Sean Sill
17 |
18 | """Constants for E1.11 DMX512A (DMX). """
19 |
20 | __author__ = 'sms3h2@gmail.com (Sean Sill)'
21 |
22 | DMX_UNIVERSE_SIZE = 512
23 | DMX_MIN_SLOT_VALUE = 0
24 | DMX_MAX_SLOT_VALUE = 255
25 |
--------------------------------------------------------------------------------
/debian/rules:
--------------------------------------------------------------------------------
1 | #!/usr/bin/make -f
2 | # -*- makefile -*-
3 | # Sample debian/rules that uses debhelper.
4 | # This file was originally written by Joey Hess and Craig Small.
5 | # As a special exception, when this file is copied by dh-make into a
6 | # dh-make output file, you may use that output file without restriction.
7 | # This special exception was added by Craig Small in version 0.37 of dh-make.
8 |
9 | # Uncomment this to turn on verbose mode.
10 | #export DH_VERBOSE=1
11 | export VERBOSE=1
12 |
13 | %:
14 | dh $@ --parallel --with autotools_dev,autoreconf,bash_completion,python3
15 |
16 | override_dh_auto_configure:
17 | dh_auto_configure -- --enable-python-libs --enable-rdm-tests CXXFLAGS='-Wno-error=deprecated-declarations -Wno-error=unused-parameter' pythondir='/usr/lib/python3/dist-packages'
18 |
19 | override_dh_installinit:
20 | dh_installinit -p ola --name=olad
21 | dh_installinit -p ola-rdm-tests --name=rdm_test_server
22 |
23 | override_dh_makeshlibs:
24 | dh_makeshlibs -V
25 |
26 | override_dh_python3:
27 | dh_python3 --shebang=/usr/bin/python3
28 |
--------------------------------------------------------------------------------
/plugins/Makefile.mk:
--------------------------------------------------------------------------------
1 | include plugins/artnet/Makefile.mk
2 | include plugins/dummy/Makefile.mk
3 | include plugins/espnet/Makefile.mk
4 | include plugins/ftdidmx/Makefile.mk
5 | include plugins/gpio/Makefile.mk
6 | include plugins/karate/Makefile.mk
7 | include plugins/kinet/Makefile.mk
8 | include plugins/milinst/Makefile.mk
9 | include plugins/nanoleaf/Makefile.mk
10 | include plugins/opendmx/Makefile.mk
11 | include plugins/openpixelcontrol/Makefile.mk
12 | include plugins/osc/Makefile.mk
13 | include plugins/pathport/Makefile.mk
14 | include plugins/renard/Makefile.mk
15 | include plugins/sandnet/Makefile.mk
16 | include plugins/shownet/Makefile.mk
17 | include plugins/spi/Makefile.mk
18 | include plugins/spidmx/Makefile.mk
19 | include plugins/stageprofi/Makefile.mk
20 | include plugins/usbdmx/Makefile.mk
21 |
22 | if !USING_WIN32
23 | include plugins/usbpro/Makefile.mk
24 | include plugins/dmx4linux/Makefile.mk
25 | include plugins/e131/Makefile.mk
26 | include plugins/uartdmx/Makefile.mk
27 | endif
28 |
29 | dist_noinst_SCRIPTS += plugins/convert_README_to_header.sh
30 |
--------------------------------------------------------------------------------
/olad/plugin_api/DmxSource.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * DmxSource.cpp
17 | * The DmxSource class.
18 | * Copyright (C) 2005 Simon Newton
19 | */
20 |
21 | #include
22 |
23 | namespace ola {
24 |
25 | const TimeInterval DmxSource::TIMEOUT_INTERVAL(2500000); // 2.5s
26 | } // namespace ola
27 |
--------------------------------------------------------------------------------
/tools/ola_trigger/example.conf:
--------------------------------------------------------------------------------
1 | # Example DMX Trigger Config File
2 |
3 | # Variable definitions
4 | ###############################################################################
5 | # The default value of slot 3, this won't ever be used, since the variable is
6 | # only used with slot 4, which implies we already got data for slot 3.
7 | slot_3_value = "nan" # nan isn't special in any way
8 |
9 |
10 | # Triggers
11 | ###############################################################################
12 | # Slot Trigger Values Action
13 |
14 | # Slot 1 prints the current value of slot 1
15 | 1 % `echo "Slot ${slot_offset} is at ${slot_value}"`
16 |
17 | # Slot 2 runs a different command line tools
18 | 2 1 `ls`
19 | 2 2 `ps aux`
20 | 2 3 `who`
21 |
22 | # Slot 3 sets a variable
23 | 3 % slot_3_value="${slot_value}"
24 |
25 | # Slot 4 prints the value of slot3 if slot 4 is greater than 50%
26 | 4 128-255 `echo "Slot 3 is ${slot_3_value}"`
27 |
--------------------------------------------------------------------------------
/plugins/usbdmx/Flags.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * Flags.cpp
17 | * Flags for the libusb plugin.
18 | * Copyright (C) 2014 Simon Newton
19 | */
20 |
21 | #include "ola/base/Flags.h"
22 |
23 | DEFINE_default_bool(use_async_libusb, true,
24 | "Disable the use of the asynchronous libusb calls, revert to synchronous");
25 |
26 |
--------------------------------------------------------------------------------
/plugins/sandnet/SandNetCommon.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * SandNetCommon.h
17 | * Constants for the sandnet plugin
18 | * Copyright (C) 2005 Simon Newton
19 | */
20 |
21 | #ifndef PLUGINS_SANDNET_SANDNETCOMMON_H_
22 | #define PLUGINS_SANDNET_SANDNETCOMMON_H_
23 |
24 | enum {SANDNET_MAX_PORTS = 2};
25 |
26 | #endif // PLUGINS_SANDNET_SANDNETCOMMON_H_
27 |
--------------------------------------------------------------------------------
/javascript/new-src/src/constants.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * The new OLA web UI.
17 | * Copyright (C) 2015 Dave Olsthoorn
18 | */
19 | /*jshint browser: true, jquery: true*/
20 | /* global ola */
21 | ola.constant('OLA', {
22 | 'MIN_CHANNEL_NUMBER': 1,
23 | 'MAX_CHANNEL_NUMBER': 512,
24 | 'MIN_CHANNEL_VALUE': 0,
25 | 'MAX_CHANNEL_VALUE': 255
26 | });
27 |
--------------------------------------------------------------------------------
/plugins/uartdmx/README.md:
--------------------------------------------------------------------------------
1 | Native UART DMX Plugin
2 | ======================
3 |
4 | This plugin drives a supported POSIX UART (plus extensions) to produce a
5 | direct DMX output stream. The host needs to create the DMX stream itself as
6 | there is no external microcontroller.
7 |
8 | This is tested with the on-board UART of the Raspberry Pi. See here for a
9 | possible schematic:
10 | http://eastertrail.blogspot.co.uk/2014/04/command-and-control-ii.html
11 |
12 |
13 | ## Config file: `ola-uartdmx.conf`
14 |
15 | `enabled = true`
16 | Enable this plugin (DISABLED by default).
17 |
18 | `device = /dev/ttyAMA0`
19 | The device to use for DMX output (optional). Multiple devices are supported
20 | if the hardware exists. On later software it may also be /dev/serial0.
21 | Using USB-serial adapters is not supported (try the
22 | *ftdidmx* plugin instead).
23 |
24 |
25 | ### Per Device Settings (using above device name)
26 |
27 | `-break = 100`
28 | The DMX break time in microseconds for this device (optional).
29 |
30 | `-malf = 100`
31 | The Mark After Last Frame time in microseconds for this device (optional).
32 |
--------------------------------------------------------------------------------
/javascript/new-src/src/filters/start_from.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * The new OLA web UI.
17 | * Copyright (C) 2015 Dave Olsthoorn
18 | */
19 | /*jshint browser: true, jquery: true*/
20 | /* global ola */
21 | ola.filter('startFrom', function() {
22 | 'use strict';
23 | return function(input, start) {
24 | start = parseInt(start, 10);
25 | return input.slice(start);
26 | };
27 | });
28 |
--------------------------------------------------------------------------------
/doxygen/json.dox:
--------------------------------------------------------------------------------
1 | /**
2 | * @defgroup json JSON
3 | * @brief JSON based APIs.
4 | *
5 | * The ola::web namespace provides:
6 | * - Classes for parsing and serializing JSON (RFC 7159)
7 | * - Implementation of JSON pointers (RFC 6901)
8 | * - Classes for applying JSON Patch documents (RFC 6902)
9 | * - A JSON Schema validator (http://www.json-schema.org).
10 | *
11 | * @par Serialization Example
12 | *
13 | * ~~~~~~~~~~~~~~~~~~~~~
14 | \#include
15 | \#include
16 |
17 | JsonObject obj;
18 | obj.Add("name", "simon");
19 | obj.Add("age", 10);
20 | obj.Add("male", true);
21 | JsonArray *friends = obj.AddArray("friends");
22 | friends->Add("Peter");
23 | friends->Add("Bob");
24 | friends->Add("Jane");
25 |
26 | const std::string output = JsonWriter::AsString(json);
27 | ~~~~~~~~~~~~~~~~~~~~~
28 | *
29 | * @par Parsing Example
30 | *
31 | * ~~~~~~~~~~~~~~~~~~~~~
32 | \#include
33 | \#include
34 |
35 | std::string error;
36 | JsonValue *value = JsonParser::Parse(json_string, &error);
37 | ~~~~~~~~~~~~~~~~~~~~~
38 | */
39 |
--------------------------------------------------------------------------------
/plugins/usbpro/README.md:
--------------------------------------------------------------------------------
1 | Serial USB Plugin
2 | =================
3 |
4 | This plugin supports DMX USB devices that emulate a serial port. This
5 | includes:
6 |
7 | * Arduino RGB Mixer
8 | * DMX-TRI & RDM-TRI
9 | * DMXking USB DMX512-A, Ultra DMX, Ultra DMX Pro
10 | * DMXter4, DMXter4A & mini DMXter
11 | * Enttec DMX USB Pro & USB Pro Mk II
12 | * Robe Universe Interface
13 | * LumenRadio CRMX Nova TX USB
14 |
15 | See https://wiki.openlighting.org/index.php/USB_Protocol_Extensions for
16 | more info.
17 |
18 |
19 | ## Config file: `ola-usbserial.conf`
20 |
21 | `device_dir = /dev`
22 | The directory to look for devices in.
23 |
24 | `device_prefix = ttyUSB`
25 | The prefix of filenames to consider as devices. Multiple keys are allowed.
26 |
27 | `ignore_device = /dev/ttyUSB`
28 | Ignore the device matching this string. Multiple keys are allowed.
29 |
30 | `pro_fps_limit = 190`
31 | The max frames per second to send to a Usb Pro or DMXKing device.
32 |
33 | `tri_use_raw_rdm = [true|false]`
34 | Bypass RDM handling in the {DMX,RDM}-TRI widgets.
35 |
36 | `ultra_fps_limit = 40`
37 | The max frames per second to send to a Ultra DMX Pro device.
38 |
--------------------------------------------------------------------------------
/debian/Makefile.mk:
--------------------------------------------------------------------------------
1 | # Debian build files
2 | EXTRA_DIST += \
3 | debian/changelog \
4 | debian/compat \
5 | debian/control \
6 | debian/copyright \
7 | debian/libola-dev.dirs \
8 | debian/libola-dev.install \
9 | debian/libola1.install \
10 | debian/ola-python.dirs \
11 | debian/ola-python.install \
12 | debian/ola-rdm-tests.bash-completion \
13 | debian/ola-rdm-tests.config \
14 | debian/ola-rdm-tests.dirs \
15 | debian/ola-rdm-tests.install \
16 | debian/ola-rdm-tests.postinst \
17 | debian/ola-rdm-tests.rdm_test_server.init \
18 | debian/ola-rdm-tests.templates \
19 | debian/ola.bash-completion \
20 | debian/ola.config \
21 | debian/ola.dirs \
22 | debian/ola.docs \
23 | debian/ola.install \
24 | debian/ola.olad.init \
25 | debian/ola.postinst \
26 | debian/ola.templates \
27 | debian/ola.udev \
28 | debian/org.openlighting.ola.ola.metainfo.xml \
29 | debian/rules \
30 | debian/source/format \
31 | debian/source/lintian-overrides \
32 | debian/source/local-options \
33 | debian/tests/control \
34 | debian/tests/hw.cc \
35 | debian/watch
36 |
--------------------------------------------------------------------------------
/tools/ja-rule/Makefile.mk:
--------------------------------------------------------------------------------
1 | if BUILD_JA_RULE
2 | bin_PROGRAMS += tools/ja-rule/ja-rule \
3 | tools/ja-rule/ja-rule-controller
4 | endif
5 |
6 | tools_ja_rule_ja_rule_SOURCES = \
7 | tools/ja-rule/USBDeviceManager.cpp \
8 | tools/ja-rule/USBDeviceManager.h \
9 | tools/ja-rule/ja-rule.cpp
10 | tools_ja_rule_ja_rule_CXXFLAGS = $(COMMON_CXXFLAGS) $(libusb_CFLAGS)
11 | tools_ja_rule_ja_rule_LDADD = $(libusb_LIBS) \
12 | common/libolacommon.la \
13 | plugins/usbdmx/libolausbdmxwidget.la \
14 | libs/usb/libolausb.la
15 |
16 | tools_ja_rule_ja_rule_controller_SOURCES = \
17 | tools/ja-rule/USBDeviceManager.cpp \
18 | tools/ja-rule/USBDeviceManager.h \
19 | tools/ja-rule/ja-rule-controller.cpp
20 | tools_ja_rule_ja_rule_controller_CXXFLAGS = $(COMMON_CXXFLAGS) $(libusb_CFLAGS)
21 | tools_ja_rule_ja_rule_controller_LDADD = $(libusb_LIBS) \
22 | common/libolacommon.la \
23 | plugins/usbdmx/libolausbdmxwidget.la \
24 | libs/usb/libolausb.la
25 |
--------------------------------------------------------------------------------
/tools/rdm/static/MIT-LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2009 Michael Aufreiter, http://www.quasipartikel.at
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/common/base/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | common_libolacommon_la_SOURCES += \
4 | common/base/Credentials.cpp \
5 | common/base/Env.cpp \
6 | common/base/Flags.cpp \
7 | common/base/Init.cpp \
8 | common/base/Logging.cpp \
9 | common/base/SysExits.cpp \
10 | common/base/Version.cpp
11 |
12 | # TESTS
13 | ##################################################
14 |
15 | test_programs += common/base/CredentialsTester \
16 | common/base/FlagsTester \
17 | common/base/LoggingTester
18 |
19 | common_base_CredentialsTester_SOURCES = common/base/CredentialsTest.cpp
20 | common_base_CredentialsTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
21 | common_base_CredentialsTester_LDADD = $(COMMON_TESTING_LIBS)
22 |
23 | common_base_FlagsTester_SOURCES = common/base/FlagsTest.cpp
24 | common_base_FlagsTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
25 | common_base_FlagsTester_LDADD = $(COMMON_TESTING_LIBS)
26 |
27 | common_base_LoggingTester_SOURCES = common/base/LoggingTest.cpp
28 | common_base_LoggingTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
29 | common_base_LoggingTester_LDADD = $(COMMON_TESTING_LIBS)
30 |
--------------------------------------------------------------------------------
/common/rdm/OpenLightingEnums.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * This library is free software; you can redistribute it and/or
3 | * modify it under the terms of the GNU Lesser General Public
4 | * License as published by the Free Software Foundation; either
5 | * version 2.1 of the License, or (at your option) any later version.
6 | *
7 | * This library is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 | * Lesser General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU Lesser General Public
13 | * License along with this library; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15 | *
16 | * OpenLightingEnums.cpp
17 | * Copyright (C) 2013 Peter Newman
18 | */
19 |
20 | #include "ola/rdm/OpenLightingEnums.h"
21 |
22 | namespace ola {
23 | namespace rdm {
24 |
25 | const char OLA_MANUFACTURER_LABEL[] = "Open Lighting Project";
26 | const char OLA_MANUFACTURER_URL[] = "https://openlighting.org/";
27 | } // namespace rdm
28 | } // namespace ola
29 |
--------------------------------------------------------------------------------
/olad/www/new/img/favicons/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "OLA",
3 | "display": "standalone",
4 | "orientation": "portrait",
5 | "icons": [
6 | {
7 | "src": "/new/img/favicons/android-chrome-36x36.png",
8 | "sizes": "36x36",
9 | "type": "image/png",
10 | "density": "0.75"
11 | },
12 | {
13 | "src": "/new/img/favicons/android-chrome-48x48.png",
14 | "sizes": "48x48",
15 | "type": "image/png",
16 | "density": "1.0"
17 | },
18 | {
19 | "src": "/new/img/favicons/android-chrome-72x72.png",
20 | "sizes": "72x72",
21 | "type": "image/png",
22 | "density": "1.5"
23 | },
24 | {
25 | "src": "/new/img/favicons/android-chrome-96x96.png",
26 | "sizes": "96x96",
27 | "type": "image/png",
28 | "density": "2.0"
29 | },
30 | {
31 | "src": "/new/img/favicons/android-chrome-144x144.png",
32 | "sizes": "144x144",
33 | "type": "image/png",
34 | "density": "3.0"
35 | },
36 | {
37 | "src": "/new/img/favicons/android-chrome-192x192.png",
38 | "sizes": "192x192",
39 | "type": "image/png",
40 | "density": "4.0"
41 | }
42 | ]
43 | }
--------------------------------------------------------------------------------
/config/ola_version.m4:
--------------------------------------------------------------------------------
1 | ## ola_version.m4 -- Defines for OLA Versioning
2 | ## Copyright (C) 2014 Peter Newman
3 | ##
4 | ## This program is free software; you can redistribute it and/or modify
5 | ## it under the terms of the GNU General Public License as published by
6 | ## the Free Software Foundation; either version 2, or (at your option)
7 | ## any later version.
8 | ##
9 | ## This program is distributed in the hope that it will be useful,
10 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | ## GNU General Public License for more details.
13 | ##
14 | ## You should have received a copy of the GNU General Public License
15 | ## along with this program; if not, write to the Free Software
16 | ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 |
18 | # Define the version information
19 | # -----------------------------------------------------------------------------
20 | m4_define([ola_major_version], [0])
21 | m4_define([ola_minor_version], [10])
22 | m4_define([ola_revision_version], [9])
23 |
24 | m4_define([ola_version],
25 | [ola_major_version.ola_minor_version.ola_revision_version])
26 |
--------------------------------------------------------------------------------
/common/Makefile.mk:
--------------------------------------------------------------------------------
1 | lib_LTLIBRARIES += common/libolacommon.la
2 |
3 | # Variables the included files can append to
4 | # ------------------------------------------
5 | common_libolacommon_la_CXXFLAGS = $(COMMON_PROTOBUF_CXXFLAGS)
6 | common_libolacommon_la_LIBADD =
7 | common_libolacommon_la_SOURCES =
8 | nodist_common_libolacommon_la_SOURCES =
9 | # ------------------------------------------
10 |
11 | if USING_WIN32
12 | common_libolacommon_la_LIBADD += -lWs2_32 -lIphlpapi
13 | endif
14 |
15 | include common/base/Makefile.mk
16 | include common/dmx/Makefile.mk
17 | include common/export_map/Makefile.mk
18 | include common/file/Makefile.mk
19 | include common/http/Makefile.mk
20 | include common/io/Makefile.mk
21 | include common/math/Makefile.mk
22 | include common/messaging/Makefile.mk
23 | include common/network/Makefile.mk
24 | include common/protocol/Makefile.mk
25 | include common/rdm/Makefile.mk
26 | include common/rpc/Makefile.mk
27 | include common/strings/Makefile.mk
28 | include common/system/Makefile.mk
29 | include common/testing/Makefile.mk
30 | include common/thread/Makefile.mk
31 | include common/timecode/Makefile.mk
32 | include common/utils/Makefile.mk
33 | include common/web/Makefile.mk
34 |
--------------------------------------------------------------------------------
/man/ola_rdm_discover.1:
--------------------------------------------------------------------------------
1 | .TH ola_rdm_discover 1 "October 2015"
2 | .SH NAME
3 | ola_rdm_discover \- Fetch the UID list for a universe.
4 | .SH SYNOPSIS
5 | .B ola_rdm_discover
6 | --universe [--full|--incremental]
7 | .SH DESCRIPTION
8 | .B ola_rdm_discover
9 | Fetch the UID list for a universe.
10 | .SH OPTIONS
11 | .IP "-f, --full"
12 | Force full RDM Discovery for this universe
13 | .IP "-h, --help"
14 | Display the help message
15 | .IP "-i, --incremental"
16 | Force incremental RDM Discovery for this universe
17 | .IP "-l, --log-level "
18 | Set the logging level 0 .. 4.
19 | .IP "-u, --universe "
20 | The universe to do RDM discovery on
21 | .IP "-v, --version"
22 | Display version information
23 | .IP "--include-broadcast"
24 | Include broadcast UID for this universe
25 | .IP "--include-vendorcast"
26 | Include vendorcast UID for this universe
27 | .IP "--no-use-epoll"
28 | Disable the use of epoll(), revert to select()
29 | .IP "--scheduler-policy "
30 | The thread scheduling policy, one of {fifo, rr}.
31 | .IP "--scheduler-priority "
32 | The thread priority, only used if --scheduler-policy is set.
33 | .IP "--syslog"
34 | Send to syslog rather than stderr.
35 |
--------------------------------------------------------------------------------
/plugins/renard/README.md:
--------------------------------------------------------------------------------
1 | Renard Plugin
2 | =============
3 |
4 | This plugin creates devices with one output port. It supports multiple
5 | Renard SS boards directly connected, or daisy-chained. See this link for
6 | more information:
7 | http://www.doityourselfchristmas.com/wiki/index.php?title=Renard
8 |
9 |
10 | ## Config file: `ola-renard.conf`
11 |
12 | `device = /dev/ttyUSB0`
13 | The device to use as a path for the serial port or USB-Serial adapter.
14 | Renard boards don't have a built-in USB port, you will need an adapter
15 | (USB->RS232 or USB->RS485). Multiple devices are supported.
16 |
17 | ### Per Device Settings (using above device name without `/dev/`)
18 | `-baudrate = `
19 | The speed of the serial port, options are 9600, 19200, 38400, 57600, 115200.
20 | Default is 57600.
21 |
22 | `-channels = `
23 | The number of channels connected to this device. Default 64. Note that the
24 | max number of channels vary by baud rate and the encoding.
25 |
26 | `-dmx-offset = `
27 | Which starting point in the DMX universe this device is mapped to. The
28 | default is 0, which means the first channel on Renard address 128 (0x80)
29 | will be mapped to DMX channel 1.
30 |
--------------------------------------------------------------------------------
/plugins/opendmx/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | if USE_OPENDMX
4 | lib_LTLIBRARIES += plugins/opendmx/libolaopendmx.la
5 |
6 | # Plugin description is generated from README.md
7 | built_sources += plugins/opendmx/OpenDmxPluginDescription.h
8 | nodist_plugins_opendmx_libolaopendmx_la_SOURCES = \
9 | plugins/opendmx/OpenDmxPluginDescription.h
10 | plugins/opendmx/OpenDmxPluginDescription.h: plugins/opendmx/README.md plugins/opendmx/Makefile.mk plugins/convert_README_to_header.sh
11 | sh $(top_srcdir)/plugins/convert_README_to_header.sh $(top_srcdir)/plugins/opendmx $(top_builddir)/plugins/opendmx/OpenDmxPluginDescription.h
12 |
13 | plugins_opendmx_libolaopendmx_la_SOURCES = \
14 | plugins/opendmx/OpenDmxDevice.cpp \
15 | plugins/opendmx/OpenDmxDevice.h \
16 | plugins/opendmx/OpenDmxPlugin.cpp \
17 | plugins/opendmx/OpenDmxPlugin.h \
18 | plugins/opendmx/OpenDmxPort.h \
19 | plugins/opendmx/OpenDmxThread.cpp \
20 | plugins/opendmx/OpenDmxThread.h
21 | plugins_opendmx_libolaopendmx_la_LIBADD = \
22 | common/libolacommon.la \
23 | olad/plugin_api/libolaserverplugininterface.la
24 | endif
25 |
26 | EXTRA_DIST += plugins/opendmx/README.md
27 |
--------------------------------------------------------------------------------
/plugins/renard/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | if USE_RENARD
4 | lib_LTLIBRARIES += plugins/renard/libolarenard.la
5 |
6 | # Plugin description is generated from README.md
7 | built_sources += plugins/renard/RenardPluginDescription.h
8 | nodist_plugins_renard_libolarenard_la_SOURCES = \
9 | plugins/renard/RenardPluginDescription.h
10 | plugins/renard/RenardPluginDescription.h: plugins/renard/README.md plugins/renard/Makefile.mk plugins/convert_README_to_header.sh
11 | sh $(top_srcdir)/plugins/convert_README_to_header.sh $(top_srcdir)/plugins/renard $(top_builddir)/plugins/renard/RenardPluginDescription.h
12 |
13 | plugins_renard_libolarenard_la_SOURCES = \
14 | plugins/renard/RenardDevice.cpp \
15 | plugins/renard/RenardDevice.h \
16 | plugins/renard/RenardPlugin.cpp \
17 | plugins/renard/RenardPlugin.h \
18 | plugins/renard/RenardPort.cpp \
19 | plugins/renard/RenardPort.h \
20 | plugins/renard/RenardWidget.cpp \
21 | plugins/renard/RenardWidget.h
22 | plugins_renard_libolarenard_la_LIBADD = \
23 | common/libolacommon.la \
24 | olad/plugin_api/libolaserverplugininterface.la
25 | endif
26 |
27 | EXTRA_DIST += plugins/renard/README.md
28 |
--------------------------------------------------------------------------------
/data/rdm/Makefile.mk:
--------------------------------------------------------------------------------
1 | # DATA
2 | ################################################
3 | dist_piddata_DATA = \
4 | data/rdm/draft_pids.proto \
5 | data/rdm/pids.proto \
6 | data/rdm/manufacturer_names.proto \
7 | data/rdm/manufacturer_pids.proto
8 |
9 | # SCRIPTS
10 | ################################################
11 | dist_noinst_SCRIPTS += \
12 | data/rdm/download.sh \
13 | data/rdm/PidDataTest.py
14 |
15 | # TESTS
16 | ################################################
17 |
18 | if BUILD_TESTS
19 | test_programs += data/rdm/PidDataTester
20 |
21 | if BUILD_PYTHON_LIBS
22 | test_scripts += data/rdm/PidDataTest.sh
23 | endif
24 | endif
25 |
26 | data/rdm/PidDataTest.sh: data/rdm/Makefile.mk
27 | echo "PYTHONPATH=${top_builddir}/python PIDDATA=${srcdir}/data/rdm $(PYTHON) ${srcdir}/data/rdm/PidDataTest.py; exit \$$?" > data/rdm/PidDataTest.sh
28 | chmod +x data/rdm/PidDataTest.sh
29 |
30 | data_rdm_PidDataTester_SOURCES = data/rdm/PidDataTest.cpp
31 | data_rdm_PidDataTester_CXXFLAGS = $(COMMON_TESTING_FLAGS) -DDATADIR=\"$(srcdir)/data/rdm\"
32 | data_rdm_PidDataTester_LDADD = $(COMMON_TESTING_LIBS)
33 |
34 | CLEANFILES += \
35 | data/rdm/*.pyc \
36 | data/rdm/PidDataTest.sh \
37 | data/rdm/__pycache__/*
38 |
--------------------------------------------------------------------------------
/javascript/new-src/src/controllers/patch_universe.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * The new OLA web UI.
17 | * Copyright (C) 2015 Dave Olsthoorn
18 | */
19 | /*jshint browser: true, jquery: true*/
20 | /* global ola */
21 | ola.controller('patchUniverseCtrl',
22 | ['$scope', '$ola', '$routeParams',
23 | function($scope, $ola, $routeParams) {
24 | 'use strict';
25 | $scope.Universe = $routeParams.id;
26 |
27 | //TODO(Dave_o): implement me!
28 | }
29 | ]);
30 |
--------------------------------------------------------------------------------
/man/generate-html.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | if [ $# != 1 ]; then
4 | echo "Usage: $0 "
5 | exit 1;
6 | fi
7 |
8 | output_dir=$1
9 | if [ ! -d $output_dir ]; then
10 | echo $output_dir is not a directory
11 | exit 1;
12 | fi
13 |
14 | index_file=$output_dir/index.html;
15 |
16 | echo "Output dir: $output_dir";
17 | echo "Index file: $index_file";
18 |
19 | cat << 'EOF' > $index_file
20 |
21 |
22 | Man pages for the Open Lighting Architecture
23 |
24 |
25 |
43 |
44 |
45 | EOF
46 |
47 | chmod a+r $index_file;
48 |
--------------------------------------------------------------------------------
/python/ola/__init__.py:
--------------------------------------------------------------------------------
1 | # This library is free software; you can redistribute it and/or
2 | # modify it under the terms of the GNU Lesser General Public
3 | # License as published by the Free Software Foundation; either
4 | # version 2.1 of the License, or (at your option) any later version.
5 | #
6 | # This library is distributed in the hope that it will be useful,
7 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9 | # Lesser General Public License for more details.
10 | #
11 | # You should have received a copy of the GNU Lesser General Public
12 | # License along with this library; if not, write to the Free Software
13 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
14 | #
15 | # __init__.py
16 | # Copyright (C) 2018 Shenghao Yang
17 |
18 | """
19 | Initialization code for the ola python library
20 | """
21 |
22 | import logging
23 |
24 | __author__ = 'me@shenghaoyang.info (Shenghao Yang)'
25 |
26 |
27 | ola_handler = logging.StreamHandler()
28 | ola_handler.setFormatter(logging.Formatter(logging.BASIC_FORMAT))
29 | ola_logger = logging.getLogger(__name__)
30 | ola_logger.addHandler(ola_handler)
31 | ola_logger.propagate = False
32 |
--------------------------------------------------------------------------------
/man/ola_e131.1:
--------------------------------------------------------------------------------
1 | .TH ola_e131 1 "July 2013"
2 | .SH NAME
3 | ola_e131 \- Configure E1.31 devices managed by OLA.
4 | .SH SYNOPSIS
5 | .B ola_e131
6 | -d -p [--input] --preview-mode
7 | .SH DESCRIPTION
8 | .B ola_e131
9 | is used to configure E1.31 devices managed by OLA.
10 | .SH OPTIONS
11 | .IP "-d, --device "
12 | Id of the device to control.
13 | .IP "-h, --help"
14 | Display the help message
15 | .IP "-i, --input"
16 | Set an input port, otherwise set an output port.
17 | .IP "-l, --log-level "
18 | Set the logging level 0 .. 4.
19 | .IP "-p, --port-id "
20 | Id of the port to control
21 | .IP "-v, --version"
22 | Display version information
23 | .IP "--preview-mode "
24 | Set the preview mode bit.
25 | .IP "--discovery"
26 | Get the discovery state
27 | .IP "--syslog"
28 | Send to syslog rather than stderr.
29 | .IP "--no-use-epoll"
30 | Disable the use of epoll(), revert to select()
31 | .IP "--no-use-kqueue"
32 | Disable the use of kqueue(), revert to select()
33 | .IP "--scheduler-policy "
34 | The thread scheduling policy, one of {fifo, rr}.
35 | .IP "--scheduler-priority "
36 | The thread priority, only used if --scheduler-policy is set.
37 | .SH SEE ALSO
38 | .BR olad(1) ,
39 | .
40 |
--------------------------------------------------------------------------------
/plugins/e131/Makefile.mk:
--------------------------------------------------------------------------------
1 | include plugins/e131/messages/Makefile.mk
2 |
3 | # LIBRARIES
4 | ##################################################
5 |
6 | if USE_E131
7 | lib_LTLIBRARIES += plugins/e131/libolae131.la
8 |
9 | # Plugin description is generated from README.md
10 | built_sources += plugins/e131/E131PluginDescription.h
11 | nodist_plugins_e131_libolae131_la_SOURCES = \
12 | plugins/e131/E131PluginDescription.h
13 | plugins/e131/E131PluginDescription.h: plugins/e131/README.md plugins/e131/Makefile.mk plugins/convert_README_to_header.sh
14 | sh $(top_srcdir)/plugins/convert_README_to_header.sh $(top_srcdir)/plugins/e131 $(top_builddir)/plugins/e131/E131PluginDescription.h
15 |
16 | plugins_e131_libolae131_la_SOURCES = \
17 | plugins/e131/E131Device.cpp \
18 | plugins/e131/E131Device.h \
19 | plugins/e131/E131Plugin.cpp \
20 | plugins/e131/E131Plugin.h \
21 | plugins/e131/E131Port.cpp \
22 | plugins/e131/E131Port.h
23 | plugins_e131_libolae131_la_CXXFLAGS = $(COMMON_PROTOBUF_CXXFLAGS)
24 | plugins_e131_libolae131_la_LIBADD = \
25 | olad/plugin_api/libolaserverplugininterface.la \
26 | plugins/e131/messages/libolae131conf.la \
27 | libs/acn/libolae131core.la
28 | endif
29 |
30 | EXTRA_DIST += plugins/e131/README.md
31 |
--------------------------------------------------------------------------------
/config/ax_python_module.m4:
--------------------------------------------------------------------------------
1 | # ===========================================================================
2 | # http://www.gnu.org/software/autoconf-archive/ax_python_module.html
3 | # ===========================================================================
4 | #
5 | # SYNOPSIS
6 | #
7 | # AX_PYTHON_MODULE(modname[, fatal])
8 | #
9 | # DESCRIPTION
10 | #
11 | # Checks for Python module.
12 | #
13 | # If fatal is non-empty then absence of a module will trigger an error.
14 | #
15 | # LICENSE
16 | #
17 | # Copyright (c) 2008 Andrew Collier
18 | #
19 | # Copying and distribution of this file, with or without modification, are
20 | # permitted in any medium without royalty provided the copyright notice
21 | # and this notice are preserved. This file is offered as-is, without any
22 | # warranty.
23 |
24 | #serial 5
25 |
26 | AU_ALIAS([AC_PYTHON_MODULE], [AX_PYTHON_MODULE])
27 | AC_DEFUN([AX_PYTHON_MODULE],[
28 | $PYTHON -c "import $1" 2>/dev/null
29 | if test $? -eq 0;
30 | then
31 | eval AS_TR_CPP([HAVE_PYMOD_$1])=yes
32 | else
33 | AC_MSG_RESULT([no])
34 | eval AS_TR_CPP([HAVE_PYMOD_$1])=no
35 | #
36 | if test -n "$2"
37 | then
38 | AC_MSG_ERROR([failed to find required module $1])
39 | fi
40 | fi
41 | ])
42 |
--------------------------------------------------------------------------------
/plugins/dmx4linux/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | if USE_DMX4LINUX
4 | lib_LTLIBRARIES += plugins/dmx4linux/liboladmx4linux.la
5 |
6 | # Plugin description is generated from README.md
7 | built_sources += plugins/dmx4linux/Dmx4LinuxPluginDescription.h
8 | nodist_plugins_dmx4linux_liboladmx4linux_la_SOURCES = \
9 | plugins/dmx4linux/Dmx4LinuxPluginDescription.h
10 | plugins/dmx4linux/Dmx4LinuxPluginDescription.h: plugins/dmx4linux/README.md plugins/dmx4linux/Makefile.mk plugins/convert_README_to_header.sh
11 | sh $(top_srcdir)/plugins/convert_README_to_header.sh $(top_srcdir)/plugins/dmx4linux $(top_builddir)/plugins/dmx4linux/Dmx4LinuxPluginDescription.h
12 |
13 | plugins_dmx4linux_liboladmx4linux_la_SOURCES = \
14 | plugins/dmx4linux/Dmx4LinuxDevice.cpp \
15 | plugins/dmx4linux/Dmx4LinuxDevice.h \
16 | plugins/dmx4linux/Dmx4LinuxPlugin.cpp \
17 | plugins/dmx4linux/Dmx4LinuxPlugin.h \
18 | plugins/dmx4linux/Dmx4LinuxPort.cpp \
19 | plugins/dmx4linux/Dmx4LinuxPort.h \
20 | plugins/dmx4linux/Dmx4LinuxSocket.h
21 | plugins_dmx4linux_liboladmx4linux_la_LIBADD = \
22 | common/libolacommon.la \
23 | olad/plugin_api/libolaserverplugininterface.la
24 | endif
25 |
26 | EXTRA_DIST += plugins/dmx4linux/README.md
27 |
--------------------------------------------------------------------------------
/common/web/testdata/definitions.test:
--------------------------------------------------------------------------------
1 | === POSITIVE ===
2 | {
3 | "definitions": {
4 | "positiveInteger": {
5 | "minimum": 0,
6 | "type": "integer"
7 | },
8 | "positiveIntegerDefault0": {
9 | "allOf": [
10 | {
11 | "$ref": "#\/definitions\/positiveInteger"
12 | },
13 | {
14 | "default": 0
15 | }
16 | ]
17 | },
18 | "schemaArray": {
19 | "items": {
20 | "$ref": "#"
21 | },
22 | "minItems": 1,
23 | "type": "array"
24 | },
25 | "simpleTypes": {
26 | "enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
27 | },
28 | "stringArray": {
29 | "items": {
30 | "type": "string"
31 | },
32 | "minItems": 1,
33 | "type": "array",
34 | "uniqueItems": true
35 | }
36 | }
37 | }
38 | === NEGATIVE ===
39 | {
40 | "definitions": []
41 | }
42 | === NEGATIVE ===
43 | {
44 | "definitions": null
45 | }
46 | === NEGATIVE ===
47 | {
48 | "definitions": false
49 | }
50 | === NEGATIVE ===
51 | {
52 | "definitions": "foo"
53 | }
54 | === NEGATIVE ===
55 | {
56 | "definitions": 1
57 | }
58 | === NEGATIVE ===
59 | {
60 | "definitions": -1
61 | }
62 | === NEGATIVE ===
63 | {
64 | "definitions": 1.2
65 | }
66 |
--------------------------------------------------------------------------------
/plugins/renard/RenardPort.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * RenardPort.cpp
17 | * The Renard plugin for ola
18 | * Copyright (C) 2013 Hakan Lindestaf
19 | */
20 |
21 | #include "plugins/renard/RenardPort.h"
22 |
23 | namespace ola {
24 | namespace plugin {
25 | namespace renard {
26 |
27 | bool RenardOutputPort::WriteDMX(const DmxBuffer &buffer,
28 | OLA_UNUSED uint8_t priority) {
29 | return m_widget->SendDmx(buffer);
30 | }
31 | } // namespace renard
32 | } // namespace plugin
33 | } // namespace ola
34 |
--------------------------------------------------------------------------------
/plugins/uartdmx/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | if USE_UART
4 | lib_LTLIBRARIES += plugins/uartdmx/libolauartdmx.la
5 |
6 | # Plugin description is generated from README.md
7 | built_sources += plugins/uartdmx/UartDmxPluginDescription.h
8 | nodist_plugins_uartdmx_libolauartdmx_la_SOURCES = \
9 | plugins/uartdmx/UartDmxPluginDescription.h
10 | plugins/uartdmx/UartDmxPluginDescription.h: plugins/uartdmx/README.md plugins/uartdmx/Makefile.mk plugins/convert_README_to_header.sh
11 | sh $(top_srcdir)/plugins/convert_README_to_header.sh $(top_srcdir)/plugins/uartdmx $(top_builddir)/plugins/uartdmx/UartDmxPluginDescription.h
12 |
13 | plugins_uartdmx_libolauartdmx_la_SOURCES = \
14 | plugins/uartdmx/UartDmxDevice.cpp \
15 | plugins/uartdmx/UartDmxDevice.h \
16 | plugins/uartdmx/UartDmxPlugin.cpp \
17 | plugins/uartdmx/UartDmxPlugin.h \
18 | plugins/uartdmx/UartDmxPort.h \
19 | plugins/uartdmx/UartDmxThread.cpp \
20 | plugins/uartdmx/UartDmxThread.h \
21 | plugins/uartdmx/UartWidget.cpp \
22 | plugins/uartdmx/UartWidget.h
23 | plugins_uartdmx_libolauartdmx_la_LIBADD = \
24 | common/libolacommon.la \
25 | olad/plugin_api/libolaserverplugininterface.la
26 | endif
27 |
28 | EXTRA_DIST += plugins/uartdmx/README.md
29 |
--------------------------------------------------------------------------------
/plugins/milinst/MilInstPort.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * MilInstPort.cpp
17 | * The MilInst plugin for ola
18 | * Copyright (C) 2013 Peter Newman
19 | */
20 |
21 | #include "plugins/milinst/MilInstPort.h"
22 |
23 | namespace ola {
24 | namespace plugin {
25 | namespace milinst {
26 |
27 | bool MilInstOutputPort::WriteDMX(const DmxBuffer &buffer,
28 | OLA_UNUSED uint8_t priority) {
29 | return m_widget->SendDmx(buffer);
30 | }
31 | } // namespace milinst
32 | } // namespace plugin
33 | } // namespace ola
34 |
--------------------------------------------------------------------------------
/plugins/osc/README.md:
--------------------------------------------------------------------------------
1 | OSC (Open Sound Control) Plugin
2 | ===============================
3 |
4 | This plugin allows OLA to send and receive
5 | [OSC](https://opensoundcontrol.stanford.edu/) messages.
6 |
7 | OLA uses the blob type for transporting DMX data.
8 |
9 |
10 | ## Config file: `ola-osc.conf`
11 |
12 | `input_ports = `
13 | The number of input ports to create.
14 |
15 | `output_ports = `
16 | The number of output ports to create.
17 |
18 | `udp_listen_port = `
19 | The UDP Port to listen on for OSC messages.
20 |
21 | `port_N_address = /address`
22 | The OSC address to listen on for port N. If the address contains `%d` it's
23 | replaced by the universe number for port N.
24 |
25 | `port_N_targets = ip:port/address,ip:port/address,...`
26 | For output port N, the list of targets to send OSC messages to. If the
27 | targets contain `%d` it's replaced by the universe number for port N
28 |
29 | `port_N_output_format = `
30 | The format (OSC Type) to send the DMX data in:
31 |
32 | - `blob`: a OSC-blob
33 | - `float_array`: an array of float values. 0.0 - 1.0
34 | - `individual_float`: one float message for each slot (channel). 0.0 - 1.0
35 | - `individual_int`: one int message for each slot (channel). 0 - 255.
36 | - `int_array`: an array of int values. 0 - 255.
37 |
--------------------------------------------------------------------------------
/man/logic_rdm_sniffer.1:
--------------------------------------------------------------------------------
1 | .TH logic_rdm_sniffer 1 "December 2013"
2 | .SH NAME
3 | logic_rdm_sniffer \- Decode DMX/RDM data from a Saleae Logic device.
4 | .SH SYNOPSIS
5 | logic_rdm_sniffer [ options ]
6 | .SH DESCRIPTION
7 | logic_rdm_sniffer
8 | Decode DMX/RDM data from a Saleae Logic device.
9 | .SH OPTIONS
10 | .IP "-d, --display-dmx"
11 | Display DMX Frames. Defaults to false.
12 | .IP "-h, --help"
13 | Display the help message
14 | .IP "-l, --log-level "
15 | Set the logging level 0 .. 4.
16 | .IP "-r, --full-rdm"
17 | Unpack RDM parameter data.
18 | .IP "-t, --timestamp"
19 | Include timestamps.
20 | .IP "--display-asc"
21 | Display non-RDM alternate start code frames.
22 | .IP "--dmx-slot-limit "
23 | Only display the first N slots of DMX data.
24 | .IP "--no-use-epoll"
25 | Disable the use of epoll(), revert to select()
26 | .IP "--pid-location "
27 | The directory containing the PID definitions.
28 | .IP "--sample-rate "
29 | Sample rate in HZ.
30 | .IP "--syslog"
31 | Send to syslog rather than stderr.
32 | .IP "-v, --version"
33 | Print
34 | .B logic_rdm_sniffer
35 | version information
36 | .SH EXAMPLES
37 | .SS Display RDM messages from the Logic device.
38 | logic_rdm_sniffer -r
39 | .SS Display RDM and DMX frames from the Logic device.
40 | logic_rdm_sniffer -r -d
41 |
--------------------------------------------------------------------------------
/plugins/karate/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | if USE_KARATE
4 | # Plugin description is generated from README.md
5 | built_sources += plugins/karate/KaratePluginDescription.h
6 | nodist_plugins_karate_libolakarate_la_SOURCES = \
7 | plugins/karate/KaratePluginDescription.h
8 | plugins/karate/KaratePluginDescription.h: plugins/karate/README.md plugins/karate/Makefile.mk plugins/convert_README_to_header.sh
9 | sh $(top_srcdir)/plugins/convert_README_to_header.sh $(top_srcdir)/plugins/karate $(top_builddir)/plugins/karate/KaratePluginDescription.h
10 |
11 | lib_LTLIBRARIES += plugins/karate/libolakarate.la
12 | plugins_karate_libolakarate_la_SOURCES = \
13 | plugins/karate/KaratePlugin.cpp \
14 | plugins/karate/KarateDevice.cpp \
15 | plugins/karate/KarateThread.cpp \
16 | plugins/karate/KarateLight.cpp \
17 | plugins/karate/KaratePlugin.h \
18 | plugins/karate/KarateDevice.h \
19 | plugins/karate/KaratePort.h \
20 | plugins/karate/KarateThread.h \
21 | plugins/karate/KarateLight.h
22 | plugins_karate_libolakarate_la_LIBADD = \
23 | common/libolacommon.la \
24 | olad/plugin_api/libolaserverplugininterface.la
25 | endif
26 |
27 | EXTRA_DIST += \
28 | plugins/karate/README.md \
29 | plugins/karate/README.protocol
30 |
--------------------------------------------------------------------------------
/tools/ola_trigger/VariableInterpolator.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * VariableInterpolator.h
17 | * Copyright (C) 2011 Simon Newton
18 | */
19 |
20 |
21 | #ifndef TOOLS_OLA_TRIGGER_VARIABLEINTERPOLATOR_H_
22 | #define TOOLS_OLA_TRIGGER_VARIABLEINTERPOLATOR_H_
23 |
24 | #include
25 | #include "tools/ola_trigger/Context.h"
26 |
27 | bool InterpolateVariables(const std::string &input,
28 | std::string *output,
29 | const Context &context);
30 |
31 | #endif // TOOLS_OLA_TRIGGER_VARIABLEINTERPOLATOR_H_
32 |
--------------------------------------------------------------------------------
/javascript/new-src/src/controllers/rdm_universe.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * The new OLA web UI.
17 | * Copyright (C) 2015 Dave Olsthoorn
18 | */
19 | /*jshint browser: true, jquery: true*/
20 | /* global ola */
21 | ola.controller('rdmUniverseCtrl',
22 | ['$scope', '$ola', '$routeParams',
23 | function($scope, $ola, $routeParams) {
24 | 'use strict';
25 | //get:
26 | // /json/rdm/set_section_info?id={{id}}&uid={{uid}}§ion={{section}}&hint={{hint}}&address={{address}}
27 | $scope.Universe = $routeParams.id;
28 | }
29 | ]);
30 |
--------------------------------------------------------------------------------
/plugins/e131/README.md:
--------------------------------------------------------------------------------
1 | E1.31 (Streaming DMX over ACN) Plugin
2 | =====================================
3 |
4 | This plugin creates a single device with a configurable number of input and
5 | output ports.
6 |
7 | Each port can be assigned to a different E1.31 Universe.
8 |
9 |
10 | ## Config file: `ola-e131.conf`
11 |
12 | `cid = 00010203-0405-0607-0809-0A0B0C0D0E0F`
13 | The CID to use for this device.
14 |
15 | `dscp = [int]`
16 | The DSCP value to tag the packets with, range is 0 to 63.
17 |
18 | `draft_discovery = [bool]`
19 | Enable the draft (2014) E1.31 discovery protocol.
20 |
21 | `ignore_preview = [true|false]`
22 | Ignore preview data.
23 |
24 | `input_ports = [int]`
25 | The number of input ports to create up to an arbitrary max of 512.
26 |
27 | `ip = [a.b.c.d|]`
28 | The IP address or interface name to bind to. If not specified it will use
29 | the first non-loopback interface.
30 |
31 | `output_ports = [int]`
32 | The number of output ports to create up to an arbitrary max of 512.
33 |
34 | `prepend_hostname = [true|false]`
35 | Prepend the hostname to the source name when sending packets.
36 |
37 | `revision = [0.2|0.46]`
38 | Select which revision of the standard to use when sending data. 0.2 is the
39 | standardized revision, 0.46 (default) is the ANSI standard version.
40 |
--------------------------------------------------------------------------------
/plugins/osc/OSCAddressTemplate.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * OSCAddressTemplate.h
17 | * Expand a template, substituting values.
18 | * Copyright (C) 2012 Simon Newton
19 | */
20 |
21 | #ifndef PLUGINS_OSC_OSCADDRESSTEMPLATE_H_
22 | #define PLUGINS_OSC_OSCADDRESSTEMPLATE_H_
23 |
24 | #include
25 |
26 | namespace ola {
27 | namespace plugin {
28 | namespace osc {
29 |
30 | std::string ExpandTemplate(const std::string &str, unsigned int value);
31 | } // namespace osc
32 | } // namespace plugin
33 | } // namespace ola
34 | #endif // PLUGINS_OSC_OSCADDRESSTEMPLATE_H_
35 |
--------------------------------------------------------------------------------
/common/network/SocketHelper.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This library is free software; you can redistribute it and/or
3 | * modify it under the terms of the GNU Lesser General Public
4 | * License as published by the Free Software Foundation; either
5 | * version 2.1 of the License, or (at your option) any later version.
6 | *
7 | * This library is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 | * Lesser General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU Lesser General Public
13 | * License along with this library; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15 | *
16 | * SocketHelper.h
17 | * Various functions to operate on sockets.
18 | * Copyright (C) 2013 Simon Newton
19 | */
20 |
21 | #ifndef COMMON_NETWORK_SOCKETHELPER_H_
22 | #define COMMON_NETWORK_SOCKETHELPER_H_
23 |
24 | #include
25 |
26 | namespace ola {
27 | namespace network {
28 |
29 | GenericSocketAddress GetLocalAddress(int sd);
30 | GenericSocketAddress GetPeerAddress(int sd);
31 |
32 | } // namespace network
33 | } // namespace ola
34 | #endif // COMMON_NETWORK_SOCKETHELPER_H_
35 |
--------------------------------------------------------------------------------
/plugins/espnet/EspNetPluginCommon.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * EspNetPluginCommon.h
17 | * Constants for the ESP plugin
18 | * Copyright (C) 2005 Simon Newton
19 | */
20 |
21 | #ifndef PLUGINS_ESPNET_ESPNETPLUGINCOMMON_H_
22 | #define PLUGINS_ESPNET_ESPNETPLUGINCOMMON_H_
23 |
24 | namespace ola {
25 | namespace plugin {
26 | namespace espnet {
27 |
28 | // modify this to increase the number of ports in the plugin
29 | enum { PORTS_PER_DEVICE = 5 };
30 | } // namespace espnet
31 | } // namespace plugin
32 | } // namespace ola
33 | #endif // PLUGINS_ESPNET_ESPNETPLUGINCOMMON_H_
34 |
--------------------------------------------------------------------------------
/plugins/pathport/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | if USE_PATHPORT
4 | lib_LTLIBRARIES += plugins/pathport/libolapathport.la
5 |
6 | # Plugin description is generated from README.md
7 | built_sources += plugins/pathport/PathportPluginDescription.h
8 | nodist_plugins_pathport_libolapathport_la_SOURCES = \
9 | plugins/pathport/PathportPluginDescription.h
10 | plugins/pathport/PathportPluginDescription.h: plugins/pathport/README.md plugins/pathport/Makefile.mk plugins/convert_README_to_header.sh
11 | sh $(top_srcdir)/plugins/convert_README_to_header.sh $(top_srcdir)/plugins/pathport $(top_builddir)/plugins/pathport/PathportPluginDescription.h
12 |
13 | plugins_pathport_libolapathport_la_SOURCES = \
14 | plugins/pathport/PathportDevice.cpp \
15 | plugins/pathport/PathportDevice.h \
16 | plugins/pathport/PathportNode.cpp \
17 | plugins/pathport/PathportNode.h \
18 | plugins/pathport/PathportPackets.h \
19 | plugins/pathport/PathportPlugin.cpp \
20 | plugins/pathport/PathportPlugin.h \
21 | plugins/pathport/PathportPort.cpp \
22 | plugins/pathport/PathportPort.h
23 | plugins_pathport_libolapathport_la_LIBADD = \
24 | common/libolacommon.la \
25 | olad/plugin_api/libolaserverplugininterface.la
26 | endif
27 |
28 | EXTRA_DIST += plugins/pathport/README.md
29 |
--------------------------------------------------------------------------------
/plugins/sandnet/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | if USE_SANDNET
4 | lib_LTLIBRARIES += plugins/sandnet/libolasandnet.la
5 |
6 | # Plugin description is generated from README.md
7 | built_sources += plugins/sandnet/SandNetPluginDescription.h
8 | nodist_plugins_sandnet_libolasandnet_la_SOURCES = \
9 | plugins/sandnet/SandNetPluginDescription.h
10 | plugins/sandnet/SandNetPluginDescription.h: plugins/sandnet/README.md plugins/sandnet/Makefile.mk plugins/convert_README_to_header.sh
11 | sh $(top_srcdir)/plugins/convert_README_to_header.sh $(top_srcdir)/plugins/sandnet $(top_builddir)/plugins/sandnet/SandNetPluginDescription.h
12 |
13 | plugins_sandnet_libolasandnet_la_SOURCES = \
14 | plugins/sandnet/SandNetCommon.h \
15 | plugins/sandnet/SandNetDevice.cpp \
16 | plugins/sandnet/SandNetDevice.h \
17 | plugins/sandnet/SandNetNode.cpp \
18 | plugins/sandnet/SandNetNode.h \
19 | plugins/sandnet/SandNetPackets.h \
20 | plugins/sandnet/SandNetPlugin.cpp \
21 | plugins/sandnet/SandNetPlugin.h \
22 | plugins/sandnet/SandNetPort.cpp \
23 | plugins/sandnet/SandNetPort.h
24 | plugins_sandnet_libolasandnet_la_LIBADD = \
25 | common/libolacommon.la \
26 | olad/plugin_api/libolaserverplugininterface.la
27 | endif
28 |
29 | EXTRA_DIST += plugins/sandnet/README.md
30 |
--------------------------------------------------------------------------------
/plugins/spidmx/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | if USE_SPIDMX
4 | lib_LTLIBRARIES += plugins/spidmx/libolaspidmx.la
5 |
6 | # Plugin description is generated from README.md
7 | built_sources += plugins/spidmx/SPIDMXPluginDescription.h
8 | nodist_plugins_spidmx_libolaspidmx_la_SOURCES = \
9 | plugins/spidmx/SPIDMXPluginDescription.h
10 | plugins/spidmx/SPIDMXPluginDescription.h: plugins/spidmx/README.md plugins/spidmx/Makefile.mk plugins/convert_README_to_header.sh
11 | sh $(top_srcdir)/plugins/convert_README_to_header.sh $(top_srcdir)/plugins/spidmx $(top_builddir)/plugins/spidmx/SPIDMXPluginDescription.h
12 |
13 | plugins_spidmx_libolaspidmx_la_SOURCES = \
14 | plugins/spidmx/SPIDMXDevice.cpp \
15 | plugins/spidmx/SPIDMXDevice.h \
16 | plugins/spidmx/SPIDMXParser.cpp \
17 | plugins/spidmx/SPIDMXParser.h \
18 | plugins/spidmx/SPIDMXPlugin.cpp \
19 | plugins/spidmx/SPIDMXPlugin.h \
20 | plugins/spidmx/SPIDMXPort.h \
21 | plugins/spidmx/SPIDMXThread.cpp \
22 | plugins/spidmx/SPIDMXThread.h \
23 | plugins/spidmx/SPIDMXWidget.cpp \
24 | plugins/spidmx/SPIDMXWidget.h
25 | plugins_spidmx_libolaspidmx_la_LIBADD = \
26 | common/libolacommon.la \
27 | olad/plugin_api/libolaserverplugininterface.la
28 | endif
29 |
30 | EXTRA_DIST += plugins/spidmx/README.md
31 |
--------------------------------------------------------------------------------
/ola/AutoStart.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This library is free software; you can redistribute it and/or
3 | * modify it under the terms of the GNU Lesser General Public
4 | * License as published by the Free Software Foundation; either
5 | * version 2.1 of the License, or (at your option) any later version.
6 | *
7 | * This library is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 | * Lesser General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU Lesser General Public
13 | * License along with this library; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15 | *
16 | * AutoStart.h
17 | * Connects to the ola server, starting it if it's not already running.
18 | * Copyright (C) 2010 Simon Newton
19 | */
20 |
21 | #ifndef OLA_AUTOSTART_H_
22 | #define OLA_AUTOSTART_H_
23 |
24 | #include
25 | #include
26 |
27 | namespace ola {
28 | namespace client {
29 |
30 | /*
31 | * Open a connection to the server.
32 | */
33 | ola::network::TCPSocket *ConnectToServer(unsigned short port);
34 | } // namespace client
35 | } // namespace ola
36 | #endif // OLA_AUTOSTART_H_
37 |
--------------------------------------------------------------------------------
/common/thread/Makefile.mk:
--------------------------------------------------------------------------------
1 | # LIBRARIES
2 | ##################################################
3 | common_libolacommon_la_SOURCES += \
4 | common/thread/ConsumerThread.cpp \
5 | common/thread/ExecutorThread.cpp \
6 | common/thread/Mutex.cpp \
7 | common/thread/PeriodicThread.cpp \
8 | common/thread/SignalThread.cpp \
9 | common/thread/Thread.cpp \
10 | common/thread/ThreadPool.cpp \
11 | common/thread/Utils.cpp
12 |
13 | # TESTS
14 | ##################################################
15 | test_programs += common/thread/ExecutorThreadTester \
16 | common/thread/ThreadTester \
17 | common/thread/FutureTester
18 |
19 | common_thread_ThreadTester_SOURCES = \
20 | common/thread/ThreadPoolTest.cpp \
21 | common/thread/ThreadTest.cpp
22 | common_thread_ThreadTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
23 | common_thread_ThreadTester_LDADD = $(COMMON_TESTING_LIBS)
24 |
25 | common_thread_FutureTester_SOURCES = common/thread/FutureTest.cpp
26 | common_thread_FutureTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
27 | common_thread_FutureTester_LDADD = $(COMMON_TESTING_LIBS)
28 |
29 | common_thread_ExecutorThreadTester_SOURCES = \
30 | common/thread/ExecutorThreadTest.cpp
31 | common_thread_ExecutorThreadTester_CXXFLAGS = $(COMMON_TESTING_FLAGS)
32 | common_thread_ExecutorThreadTester_LDADD = $(COMMON_TESTING_LIBS)
33 |
--------------------------------------------------------------------------------
/ola/StreamingClient.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This library is free software; you can redistribute it and/or
3 | * modify it under the terms of the GNU Lesser General Public
4 | * License as published by the Free Software Foundation; either
5 | * version 2.1 of the License, or (at your option) any later version.
6 | *
7 | * This library is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 | * Lesser General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU Lesser General Public
13 | * License along with this library; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15 | *
16 | * StreamingClient.h
17 | * Implementation of Streaming Client
18 | * Copyright (C) 2005 Simon Newton
19 | */
20 |
21 | #ifndef OLA_STREAMINGCLIENT_H_
22 | #define OLA_STREAMINGCLIENT_H_
23 |
24 | #include
25 |
26 | /**
27 | * @file
28 | * @brief
29 | * @deprecated Include instead.
30 | */
31 |
32 | namespace ola {
33 |
34 | // For backwards compatibility:
35 | typedef ola::client::StreamingClient StreamingClient;
36 |
37 | } // namespace ola
38 | #endif // OLA_STREAMINGCLIENT_H_
39 |
--------------------------------------------------------------------------------
/README.rpm:
--------------------------------------------------------------------------------
1 | Instructions on how to build RPM's for Fedora, this may work with other RPM
2 | based distros like CentOS.
3 |
4 | 1. Install RPM build tools:
5 | $ sudo dnf install rpmdevtools
6 |
7 | 2. Create the build environment as the user you want to build as (NOT root):
8 | $ rpmdev-setuptree
9 |
10 | 3. Clone the ola git repository to /tmp:
11 | $ sudo dnf install git # install git if you haven't already
12 | $ cd /tmp
13 | $ git clone https://github.com/OpenLightingProject/ola.git
14 | $ cd ola
15 | $ git checkout X.Y.Z # If you want a specific version
16 | $ autoreconf -i && ./configure && make dist
17 | $ cp ola-X.Y.Z.tar.gz ~/rpmbuild/SOURCES/
18 |
19 | 4. Install requires build dependencies of ola:
20 | $ sudo dnf install libmicrohttpd-devel cppunit-devel protobuf-devel \
21 | protobuf-compiler protobuf-python libftdi-devel \
22 | openslp-devel uuid-devel libtool bison flex \
23 | pkgconfig gcc gcc-c++ python2-devel avahi-devel
24 |
25 | 5. Build ola from the spec file:
26 | $ cd ~/rpmbuild/SPECS/
27 | $ cp /tmp/ola/ola.spec ./
28 | $ rpmbuild -ba ./ola.spec
29 |
30 | 6. Et voila ! Your RPM's are in ~/rpmbuild/RPMS/noarch/ and ~/rpmbuild/RPMS// !
31 |
32 | 7. (OPTIONAL) Further reading: https://fedoraproject.org/wiki/How_to_create_an_RPM_package
33 |
34 |
--------------------------------------------------------------------------------
/common/base/Env.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * This library is free software; you can redistribute it and/or
3 | * modify it under the terms of the GNU Lesser General Public
4 | * License as published by the Free Software Foundation; either
5 | * version 2.1 of the License, or (at your option) any later version.
6 | *
7 | * This library is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 | * Lesser General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU Lesser General Public
13 | * License along with this library; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15 | *
16 | * Env.cpp
17 | * Get / Set Environment variables.
18 | */
19 |
20 | #include
21 | #include
22 |
23 | #include "ola/base/Env.h"
24 |
25 | using std::string;
26 |
27 | namespace ola {
28 |
29 | bool GetEnv(const string &var, string *value) {
30 | char *v = NULL;
31 | #ifdef HAVE_SECURE_GETENV
32 | v = secure_getenv(var.c_str());
33 | #else
34 | v = getenv(var.c_str());
35 | #endif // HAVE_SECURE_GETENV
36 | if (v) {
37 | value->assign(v);
38 | return true;
39 | }
40 | return false;
41 | }
42 |
43 | } // namespace ola
44 |
--------------------------------------------------------------------------------
/include/ola/e133/E133URLParser.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * E133URLParser.h
17 | * Copyright (C) 2011 Simon Newton
18 | */
19 |
20 | #include
21 | #include
22 |
23 | #include
24 |
25 | #ifndef INCLUDE_OLA_E133_E133URLPARSER_H_
26 | #define INCLUDE_OLA_E133_E133URLPARSER_H_
27 |
28 | using std::string;
29 |
30 | namespace ola {
31 | namespace e133 {
32 |
33 | bool ParseE133URL(const string &url, ola::rdm::UID *uid,
34 | ola::network::IPV4Address *ip);
35 | } // namespace e133
36 | } // namespace ola
37 | #endif // INCLUDE_OLA_E133_E133URLPARSER_H_
38 |
--------------------------------------------------------------------------------
/java/src/test/java/ola/OlaClientUtilsTest.java:
--------------------------------------------------------------------------------
1 | package ola;
2 |
3 | import static org.junit.Assert.assertArrayEquals;
4 | import com.google.protobuf.ByteString;
5 | import ola.OlaClient;
6 |
7 | import org.junit.Test;
8 |
9 | /**
10 | * Test standalone OlaClient code.
11 | * Does not require an ola daemon to be running.
12 | */
13 | public class OlaClientUtilsTest {
14 |
15 | @Test
16 | public void testConvertToUnsigned() {
17 | assertArrayEquals(
18 | OlaClient.convertToUnsigned(
19 | new short[]{0, 1, 2}).toByteArray(),
20 | ByteString.copyFrom(new byte[]{0, 1, 2}).toByteArray());
21 |
22 | assertArrayEquals(
23 | OlaClient.convertToUnsigned(
24 | new short[]{0xff, 128, 0}).toByteArray(),
25 | ByteString.copyFrom(
26 | new byte[]{(byte)0xff, (byte)128, 0}).toByteArray());
27 | }
28 |
29 | @Test
30 | public void testConvertFromUnsigned() {
31 | assertArrayEquals(
32 | OlaClient.convertFromUnsigned(
33 | ByteString.copyFrom(new byte[]{0, 1, 2})),
34 | new short[]{0, 1, 2});
35 |
36 | assertArrayEquals(
37 | OlaClient.convertFromUnsigned(
38 | ByteString.copyFrom(new byte[]{(byte)0xff, (byte)128, 0})),
39 | new short[]{0xff, 128, 0});
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/olad/www/new/views/universe-header.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/usbdmx/FirmwareLoader.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * FirmwareLoader.h
17 | * The base class for FirmwareLoaders.
18 | * Copyright (C) 2010 Simon Newton
19 | */
20 |
21 | #ifndef PLUGINS_USBDMX_FIRMWARELOADER_H_
22 | #define PLUGINS_USBDMX_FIRMWARELOADER_H_
23 |
24 | namespace ola {
25 | namespace plugin {
26 | namespace usbdmx {
27 |
28 | class FirmwareLoader {
29 | public:
30 | FirmwareLoader() {}
31 | virtual ~FirmwareLoader() {}
32 |
33 | virtual bool LoadFirmware() = 0;
34 | };
35 | } // namespace usbdmx
36 | } // namespace plugin
37 | } // namespace ola
38 | #endif // PLUGINS_USBDMX_FIRMWARELOADER_H_
39 |
--------------------------------------------------------------------------------
/plugins/e131/messages/Makefile.mk:
--------------------------------------------------------------------------------
1 | # The E1.31 plugin config messages. This needs to be available to client
2 | # programs.
3 | EXTRA_DIST += plugins/e131/messages/E131ConfigMessages.proto
4 |
5 | # pkg-config
6 | ##################################################
7 | pkgconfig_DATA += plugins/e131/messages/libolae131conf.pc
8 |
9 | # LIBRARIES
10 | ##################################################
11 | if USE_E131
12 | lib_LTLIBRARIES += plugins/e131/messages/libolae131conf.la
13 | e131includedir = $(includedir)/ola/e131
14 | nodist_e131include_HEADERS = \
15 | plugins/e131/messages/E131ConfigMessages.pb.h
16 |
17 | built_sources += plugins/e131/messages/E131ConfigMessages.pb.cc \
18 | plugins/e131/messages/E131ConfigMessages.pb.h
19 |
20 | nodist_plugins_e131_messages_libolae131conf_la_SOURCES = \
21 | plugins/e131/messages/E131ConfigMessages.pb.cc
22 | plugins_e131_messages_libolae131conf_la_CXXFLAGS = $(COMMON_PROTOBUF_CXXFLAGS)
23 | plugins_e131_messages_libolae131conf_la_LIBADD = $(libprotobuf_LIBS)
24 |
25 | plugins/e131/messages/E131ConfigMessages.pb.cc plugins/e131/messages/E131ConfigMessages.pb.h: plugins/e131/messages/Makefile.mk plugins/e131/messages/E131ConfigMessages.proto
26 | $(PROTOC) --cpp_out $(top_builddir)/plugins/e131/messages/ --proto_path $(srcdir)/plugins/e131/messages/ $(srcdir)/plugins/e131/messages/E131ConfigMessages.proto
27 |
28 | endif
29 |
--------------------------------------------------------------------------------
/common/rdm/TestHelper.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This library is free software; you can redistribute it and/or
3 | * modify it under the terms of the GNU Lesser General Public
4 | * License as published by the Free Software Foundation; either
5 | * version 2.1 of the License, or (at your option) any later version.
6 | *
7 | * This library is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 | * Lesser General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU Lesser General Public
13 | * License along with this library; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15 | *
16 | * TestHelper.h
17 | * Helper classes for the RDM tests.
18 | * Copyright (C) 2015 Simon Newton
19 | */
20 |
21 | #ifndef COMMON_RDM_TESTHELPER_H_
22 | #define COMMON_RDM_TESTHELPER_H_
23 |
24 | #include "ola/network/NetworkUtils.h"
25 | #include "ola/rdm/RDMCommand.h"
26 |
27 | inline uint16_t NackReasonFromResponse(const ola::rdm::RDMResponse *response) {
28 | uint16_t reason;
29 | memcpy(reinterpret_cast(&reason), response->ParamData(),
30 | sizeof(reason));
31 | return ola::network::NetworkToHost(reason);
32 | }
33 |
34 | #endif // COMMON_RDM_TESTHELPER_H_
35 |
--------------------------------------------------------------------------------
/doxygen/rdm.dox:
--------------------------------------------------------------------------------
1 | /**
2 | * See [ESTA Standards]
3 | * (http://tsp.esta.org/tsp/documents/published_docs.php) to download a copy of
4 | * E1.20.
5 | *
6 | * @defgroup rdm RDM
7 | * @brief E1.20 (Remote Device Management)
8 | *
9 | * Remote Device Management or RDM is a protocol enhancement to DMX512
10 | * that allows bi-directional communication between a lighting or system
11 | * controller and attached RDM compliant devices over a standard DMX line. See
12 | * [RDM](http://en.wikipedia.org/wiki/RDM_(lighting%29).
13 | *
14 | * @addtogroup rdm
15 | * @{
16 | *
17 | * @defgroup rdm_command RDM Messages
18 | * @brief Construct and dissect RDM messages.
19 | *
20 | * @defgroup rdm_resp Responders
21 | * @brief Code related to RDM responders.
22 | *
23 | * @defgroup rdm_controller Controllers
24 | * @brief Code related to RDM controllers.
25 | *
26 | * @defgroup rdm_helpers Helpers and Constants
27 | * @brief RDM Helper functions, constants and enumerations.
28 | *
29 | * @defgroup rdm_pids Parameter IDs
30 | * @brief A flexible system to handle RDM parameter data.
31 | *
32 | * @defgroup rdm_uid UID
33 | * @brief RDM UID Storage and allocation
34 | *
35 | * @defgroup rdm_api RDM API
36 | * @brief Old interface for RDM message handling.
37 | * @deprecated This is only used by the Web Server. New code should
38 | * use ola::rdm::PidStore.
39 | *
40 | * @} //End rdm group
41 | */
42 |
--------------------------------------------------------------------------------
/include/ola/e133/E133Helper.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This program is free software; you can redistribute it and/or modify
3 | * it under the terms of the GNU General Public License as published by
4 | * the Free Software Foundation; either version 2 of the License, or
5 | * (at your option) any later version.
6 | *
7 | * This program is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 | * GNU Library General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU General Public License
13 | * along with this program; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 | *
16 | * E133Helper.h
17 | * Various misc E1.33 functions.
18 | * Copyright (C) 2024 Peter Newman
19 | */
20 |
21 | #ifndef INCLUDE_OLA_E133_E133HELPER_H_
22 | #define INCLUDE_OLA_E133_E133HELPER_H_
23 |
24 | #include
25 | #include
26 | #include
27 |
28 | namespace ola {
29 | namespace e133 {
30 |
31 | bool IntToRPTClientType(uint8_t input,
32 | ola::e133::E133RPTClientTypeCode *client_type);
33 | std::string RPTClientTypeToString(uint8_t type);
34 | } // namespace e133
35 | } // namespace ola
36 | #endif // INCLUDE_OLA_E133_E133HELPER_H_
37 |
--------------------------------------------------------------------------------
/common/network/SocketCloser.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * This library is free software; you can redistribute it and/or
3 | * modify it under the terms of the GNU Lesser General Public
4 | * License as published by the Free Software Foundation; either
5 | * version 2.1 of the License, or (at your option) any later version.
6 | *
7 | * This library is distributed in the hope that it will be useful,
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 | * Lesser General Public License for more details.
11 | *
12 | * You should have received a copy of the GNU Lesser General Public
13 | * License along with this library; if not, write to the Free Software
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15 | *
16 | * SocketCloser.cpp
17 | * Close a socket when the object goes out of scope.
18 | * Copyright (C) 2013 Simon Newton
19 | */
20 |
21 | #include "ola/network/SocketCloser.h"
22 |
23 | #include
24 | #include
25 |
26 | #ifdef _WIN32
27 | #include
28 | #endif // _WIN32
29 |
30 | namespace ola {
31 | namespace network {
32 |
33 | SocketCloser::~SocketCloser() {
34 | if (m_fd >= 0) {
35 | #ifdef _WIN32
36 | closesocket(m_fd);
37 | #else
38 | close(m_fd);
39 | #endif // _WIN32
40 | }
41 | }
42 |
43 | } // namespace network
44 | } // namespace ola
45 |
--------------------------------------------------------------------------------