├── README.md ├── debian ├── compat ├── ola-python.dirs ├── ola.docs ├── source │ ├── format │ ├── local-options │ └── lintian-overrides ├── libola-dev.dirs ├── ola-rdm-tests.dirs ├── ola.dirs ├── ola-python.install ├── libola1.install ├── libola-dev.install ├── watch ├── ola-rdm-tests.install ├── ola.install ├── tests │ ├── hw.cc │ └── control ├── ola.templates ├── ola-rdm-tests.templates ├── ola.config ├── ola-rdm-tests.config ├── rules └── Makefile.mk ├── tools ├── rdm │ ├── __init__.py │ ├── static │ │ ├── images │ │ │ ├── logo.png │ │ │ ├── loader.gif │ │ │ ├── discovery.png │ │ │ ├── external.png │ │ │ ├── favicon.ico │ │ │ ├── ui-icons_3383bb_256x240.png │ │ │ ├── ui-icons_454545_256x240.png │ │ │ ├── ui-icons_70b2e1_256x240.png │ │ │ ├── ui-icons_999999_256x240.png │ │ │ ├── ui-icons_fbc856_256x240.png │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ │ ├── ui-bg_flat_0_eeeeee_40x100.png │ │ │ ├── ui-bg_flat_55_c0402a_40x100.png │ │ │ ├── ui-bg_flat_55_eeeeee_40x100.png │ │ │ ├── ui-bg_glass_100_f8f8f8_1x400.png │ │ │ ├── ui-bg_glass_35_dddddd_1x400.png │ │ │ ├── ui-bg_glass_60_eeeeee_1x400.png │ │ │ ├── ui-bg_inset-hard_75_999999_1x100.png │ │ │ └── ui-bg_inset-soft_50_c9c9c9_1x100.png │ │ └── MIT-LICENSE.txt │ ├── skel_config │ │ └── ola-usbserial.conf │ └── LICENCE ├── ola_mon │ ├── Makefile.mk │ ├── LICENCE │ └── index.html ├── rdmpro │ ├── README.md │ ├── Makefile.mk │ └── LICENCE ├── usbpro │ ├── download_firmware.sh │ ├── Makefile.mk │ └── LICENCE ├── ola_trigger │ ├── test_file_rising.conf │ ├── test_file_falling.conf │ ├── contrib │ │ ├── mac_volume.conf │ │ └── mac_itunes.conf │ ├── LICENCE │ ├── example.conf │ └── VariableInterpolator.h ├── e133 │ ├── libolae133common.pc.in │ ├── libolae133controller.pc.in │ └── LICENCE ├── logic │ ├── Makefile.mk │ ├── LICENCE │ └── README.md ├── Makefile.mk └── ja-rule │ └── Makefile.mk ├── python ├── ola │ ├── rpc │ │ └── __init__.py │ ├── LICENCE │ ├── DMXConstants.py │ └── __init__.py ├── Makefile.mk └── examples │ ├── LICENCE │ └── Makefile.mk ├── data ├── rdm │ ├── draft_pids.proto │ ├── download.sh │ └── Makefile.mk └── Makefile.mk ├── .codespellignorewords ├── libs ├── Makefile.mk ├── acn │ └── libolaacn.pc.in └── LICENCE ├── plugins ├── pandoc-html-index.html ├── dmx4linux │ ├── README.md │ └── Makefile.mk ├── artnet │ └── messages │ │ └── libolaartnetconf.pc.in ├── usbpro │ ├── messages │ │ └── libolausbproconf.pc.in │ └── README.md ├── e131 │ ├── messages │ │ ├── libolae131conf.pc.in │ │ └── Makefile.mk │ ├── Makefile.mk │ └── README.md ├── stageprofi │ └── README.md ├── opendmx │ ├── README.md │ └── Makefile.mk ├── ftdidmx │ └── README.md ├── karate │ ├── README.md │ └── Makefile.mk ├── sandnet │ ├── README.md │ ├── SandNetCommon.h │ └── Makefile.mk ├── shownet │ └── README.md ├── LICENCE ├── milinst │ ├── README.md │ └── MilInstPort.cpp ├── gpio │ └── README.md ├── espnet │ ├── README.md │ └── EspNetPluginCommon.h ├── pathport │ ├── README.md │ └── Makefile.mk ├── openpixelcontrol │ └── README.md ├── nanoleaf │ └── README.md ├── Makefile.mk ├── usbdmx │ ├── Flags.cpp │ └── FirmwareLoader.h ├── uartdmx │ ├── README.md │ └── Makefile.mk ├── renard │ ├── README.md │ ├── Makefile.mk │ └── RenardPort.cpp ├── osc │ ├── README.md │ └── OSCAddressTemplate.h └── spidmx │ └── Makefile.mk ├── doxygen ├── OLA.png ├── rpc.png ├── rpc-message.png ├── olad.dox ├── http.dox ├── copy-doc.sh ├── Makefile.mk ├── json.dox └── rdm.dox ├── olad ├── www │ ├── back.png │ ├── logo.png │ ├── tick.gif │ ├── wand.png │ ├── blank.gif │ ├── loader.gif │ ├── button-bg.png │ ├── discovery.png │ ├── expander.png │ ├── forward.png │ ├── logo-mini.png │ ├── refresh.png │ ├── vertical.gif │ ├── warning.png │ ├── light_bulb.png │ ├── loader-mini.gif │ ├── toolbar-bg.png │ ├── editortoolbar.png │ ├── hide_sections.png │ ├── light_bulb_off.png │ ├── new │ │ ├── img │ │ │ ├── logo.png │ │ │ ├── light_bulb.png │ │ │ ├── logo-mini.png │ │ │ ├── logo-mini@2x.png │ │ │ ├── favicons │ │ │ │ ├── favicon.ico │ │ │ │ ├── twitter.png │ │ │ │ ├── mstile-70x70.png │ │ │ │ ├── open-graph.png │ │ │ │ ├── coast-228x228.png │ │ │ │ ├── favicon-16x16.png │ │ │ │ ├── favicon-32x32.png │ │ │ │ ├── favicon-96x96.png │ │ │ │ ├── mstile-144x144.png │ │ │ │ ├── mstile-150x150.png │ │ │ │ ├── mstile-310x150.png │ │ │ │ ├── mstile-310x310.png │ │ │ │ ├── apple-touch-icon.png │ │ │ │ ├── favicon-230x230.png │ │ │ │ ├── firefox_app_60x60.png │ │ │ │ ├── firefox_app_128x128.png │ │ │ │ ├── firefox_app_512x512.png │ │ │ │ ├── android-chrome-144x144.png │ │ │ │ ├── android-chrome-192x192.png │ │ │ │ ├── android-chrome-36x36.png │ │ │ │ ├── android-chrome-48x48.png │ │ │ │ ├── android-chrome-72x72.png │ │ │ │ ├── android-chrome-96x96.png │ │ │ │ ├── apple-touch-icon-57x57.png │ │ │ │ ├── apple-touch-icon-60x60.png │ │ │ │ ├── apple-touch-icon-72x72.png │ │ │ │ ├── apple-touch-icon-76x76.png │ │ │ │ ├── yandex-browser-50x50.png │ │ │ │ ├── apple-touch-icon-114x114.png │ │ │ │ ├── apple-touch-icon-120x120.png │ │ │ │ ├── apple-touch-icon-144x144.png │ │ │ │ ├── apple-touch-icon-152x152.png │ │ │ │ ├── apple-touch-icon-180x180.png │ │ │ │ ├── apple-touch-icon-precomposed.png │ │ │ │ ├── apple-touch-startup-image-320x460.png │ │ │ │ ├── apple-touch-startup-image-640x1096.png │ │ │ │ ├── apple-touch-startup-image-640x920.png │ │ │ │ ├── apple-touch-startup-image-748x1024.png │ │ │ │ ├── apple-touch-startup-image-750x1294.png │ │ │ │ ├── apple-touch-startup-image-768x1004.png │ │ │ │ ├── apple-touch-startup-image-1182x2208.png │ │ │ │ ├── apple-touch-startup-image-1242x2148.png │ │ │ │ ├── apple-touch-startup-image-1496x2048.png │ │ │ │ ├── apple-touch-startup-image-1536x2008.png │ │ │ │ ├── yandex-browser-manifest.json │ │ │ │ ├── manifest.webapp │ │ │ │ ├── browserconfig.xml │ │ │ │ └── manifest.json │ │ │ └── light_bulb_off.png │ │ ├── views │ │ │ ├── universe-patch.html │ │ │ ├── universe-rdm.html │ │ │ ├── plugin-info.html │ │ │ ├── universe-overview.html │ │ │ ├── universes.html │ │ │ └── universe-header.html │ │ └── libs │ │ │ └── bootstrap │ │ │ └── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ ├── show_sections.png │ ├── handle.vertical.png │ ├── toolbar_sprites.png │ └── incremental-discovery.png ├── testdata │ └── test_preferences.conf ├── LICENCE └── plugin_api │ └── DmxSource.cpp ├── javascript ├── new-src │ ├── .jscsrc │ ├── .stylelintrc.json │ ├── src │ │ ├── img │ │ │ └── ola-favicon.png │ │ ├── constants.js │ │ ├── filters │ │ │ └── start_from.js │ │ └── controllers │ │ │ ├── patch_universe.js │ │ │ └── rdm_universe.js │ ├── .jshintrc │ ├── package.json │ ├── LICENCE │ └── bower.json ├── ola │ └── LICENCE └── README ├── include ├── ola │ ├── file │ │ └── Makefile.mk │ ├── stl │ │ └── Makefile.mk │ ├── math │ │ └── Makefile.mk │ ├── rpc │ │ └── Makefile.mk │ ├── testing │ │ └── Makefile.mk │ ├── win │ │ └── Makefile.mk │ ├── http │ │ └── Makefile.mk │ ├── dmx │ │ └── Makefile.mk │ ├── system │ │ └── Makefile.mk │ ├── strings │ │ └── Makefile.mk │ ├── util │ │ └── Makefile.mk │ ├── acn │ │ ├── Makefile.mk │ │ └── LICENCE │ ├── e133 │ │ ├── Makefile.mk │ │ ├── LICENCE │ │ ├── E133URLParser.h │ │ └── E133Helper.h │ ├── messaging │ │ └── Makefile.mk │ ├── base │ │ └── Makefile.mk │ ├── client │ │ └── Makefile.mk │ ├── web │ │ └── Makefile.mk │ ├── thread │ │ └── Makefile.mk │ ├── network │ │ └── Makefile.mk │ ├── LICENCE │ ├── timecode │ │ └── Makefile.mk │ └── io │ │ └── Makefile.mk ├── Makefile.mk └── olad │ ├── Makefile.mk │ └── LICENCE ├── scripts └── Makefile.mk ├── .flake8 ├── common ├── math │ └── Makefile.mk ├── rdm │ ├── testdata │ │ ├── pids │ │ │ ├── manufacturer_names.proto │ │ │ └── overrides.proto │ │ ├── inconsistent_pid.proto │ │ ├── invalid_esta_pid.proto │ │ ├── duplicate_manufacturer.proto │ │ ├── duplicate_pid_value.proto │ │ └── duplicate_pid_name.proto │ ├── OpenLightingEnums.cpp │ └── TestHelper.h ├── system │ └── Makefile.mk ├── web │ └── testdata │ │ ├── misc.test │ │ ├── not.test │ │ ├── allof.test │ │ ├── anyof.test │ │ ├── oneof.test │ │ ├── type.test │ │ └── definitions.test ├── http │ └── Makefile.mk ├── testing │ └── Makefile.mk ├── file │ └── Makefile.mk ├── dmx │ └── Makefile.mk ├── timecode │ └── Makefile.mk ├── export_map │ └── Makefile.mk ├── strings │ └── Makefile.mk ├── LICENCE ├── messaging │ └── Makefile.mk ├── utils │ └── Makefile.mk ├── base │ ├── Makefile.mk │ └── Env.cpp ├── Makefile.mk ├── network │ ├── SocketHelper.h │ └── SocketCloser.cpp └── thread │ └── Makefile.mk ├── examples ├── testdata │ └── partial_frames └── LICENCE ├── java ├── ChangeLog └── src │ └── test │ └── java │ └── ola │ └── OlaClientUtilsTest.java ├── libola.pc.in ├── .github ├── workflows │ └── isort.yml ├── problem-matcher-lint-spellintian.json ├── problem-matcher-build-verify-trees.json ├── problem-matcher-lint-check-licences.json ├── problem-matcher-lint-cpplint.json ├── problem-matcher-lint-generic-nolints.json └── dependabot.yml ├── libolaserver.pc.in ├── man ├── ola_uni_info.1 ├── ola_uni_name.1 ├── ola_dev_info.1 ├── ola_uni_merge.1 ├── usbpro_firmware.1 ├── ola_plugin_info.1 ├── ola_plugin_state.1 ├── ola_set_dmx.1 ├── ola_set_priority.1 ├── ola_patch.1 ├── Makefile.mk ├── ola_uni_stats.1 ├── rdm_model_collector.py.1 ├── ola_timecode.1 ├── ola_dmxmonitor.1 ├── ola_rdm_get.1 ├── ola_rdm_set.1 ├── ola_rdm_discover.1 ├── generate-html.sh ├── ola_e131.1 └── logic_rdm_sniffer.1 ├── TODO ├── LICENCE ├── mac_build.sh ├── ola ├── LICENCE ├── AutoStart.h └── StreamingClient.h ├── CONTRIBUTING ├── protoc └── Makefile.mk ├── config ├── ola_version.m4 └── ax_python_module.m4 └── README.rpm /README.md: -------------------------------------------------------------------------------- 1 | README -------------------------------------------------------------------------------- /debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /tools/rdm/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/ola/rpc/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /debian/ola-python.dirs: -------------------------------------------------------------------------------- 1 | usr/lib 2 | -------------------------------------------------------------------------------- /debian/ola.docs: -------------------------------------------------------------------------------- 1 | NEWS 2 | README 3 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /data/rdm/draft_pids.proto: -------------------------------------------------------------------------------- 1 | version: 1605848134 2 | -------------------------------------------------------------------------------- /debian/libola-dev.dirs: -------------------------------------------------------------------------------- 1 | usr/lib 2 | usr/include 3 | -------------------------------------------------------------------------------- /debian/source/local-options: -------------------------------------------------------------------------------- 1 | single-debian-patch 2 | -------------------------------------------------------------------------------- /debian/ola-rdm-tests.dirs: -------------------------------------------------------------------------------- 1 | usr/bin 2 | usr/lib 3 | usr/share 4 | -------------------------------------------------------------------------------- /.codespellignorewords: -------------------------------------------------------------------------------- 1 | acn 2 | ACN 3 | inflight 4 | thead 5 | wronly 6 | -------------------------------------------------------------------------------- /libs/Makefile.mk: -------------------------------------------------------------------------------- 1 | include libs/acn/Makefile.mk 2 | include libs/usb/Makefile.mk 3 | -------------------------------------------------------------------------------- /plugins/pandoc-html-index.html: -------------------------------------------------------------------------------- 1 | Return to Main Contents 2 | -------------------------------------------------------------------------------- /data/Makefile.mk: -------------------------------------------------------------------------------- 1 | include data/rdm/Makefile.mk 2 | 3 | PYTHON_BUILD_DIRS += data 4 | -------------------------------------------------------------------------------- /debian/ola.dirs: -------------------------------------------------------------------------------- 1 | usr/bin 2 | usr/lib 3 | usr/share/olad/www 4 | usr/share/ola/pids 5 | -------------------------------------------------------------------------------- /doxygen/OLA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/doxygen/OLA.png -------------------------------------------------------------------------------- /doxygen/rpc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/doxygen/rpc.png -------------------------------------------------------------------------------- /olad/www/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/back.png -------------------------------------------------------------------------------- /olad/www/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/logo.png -------------------------------------------------------------------------------- /olad/www/tick.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/tick.gif -------------------------------------------------------------------------------- /olad/www/wand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/wand.png -------------------------------------------------------------------------------- /javascript/new-src/.jscsrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["olp-javascript-style"], 3 | "preset": "OLP" 4 | } -------------------------------------------------------------------------------- /javascript/new-src/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "stylelint-config-recommended" 3 | } 4 | -------------------------------------------------------------------------------- /olad/www/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/blank.gif -------------------------------------------------------------------------------- /olad/www/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/loader.gif -------------------------------------------------------------------------------- /olad/www/button-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/button-bg.png -------------------------------------------------------------------------------- /olad/www/discovery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/discovery.png -------------------------------------------------------------------------------- /olad/www/expander.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/expander.png -------------------------------------------------------------------------------- /olad/www/forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/forward.png -------------------------------------------------------------------------------- /olad/www/logo-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/logo-mini.png -------------------------------------------------------------------------------- /olad/www/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/refresh.png -------------------------------------------------------------------------------- /olad/www/vertical.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/vertical.gif -------------------------------------------------------------------------------- /olad/www/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/warning.png -------------------------------------------------------------------------------- /doxygen/rpc-message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/doxygen/rpc-message.png -------------------------------------------------------------------------------- /olad/www/light_bulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/light_bulb.png -------------------------------------------------------------------------------- /olad/www/loader-mini.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/loader-mini.gif -------------------------------------------------------------------------------- /olad/www/toolbar-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/toolbar-bg.png -------------------------------------------------------------------------------- /debian/ola-python.install: -------------------------------------------------------------------------------- 1 | usr/lib/python*/*-packages/ola/*.py 2 | usr/lib/python*/*-packages/ola/rpc/*.py 3 | -------------------------------------------------------------------------------- /olad/www/editortoolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/editortoolbar.png -------------------------------------------------------------------------------- /olad/www/hide_sections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/hide_sections.png -------------------------------------------------------------------------------- /olad/www/light_bulb_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/light_bulb_off.png -------------------------------------------------------------------------------- /olad/www/new/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/logo.png -------------------------------------------------------------------------------- /olad/www/show_sections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/show_sections.png -------------------------------------------------------------------------------- /tools/ola_mon/Makefile.mk: -------------------------------------------------------------------------------- 1 | CLEANFILES += \ 2 | tools/ola_mon/*.pyc \ 3 | tools/ola_mon/__pycache__/* 4 | -------------------------------------------------------------------------------- /tools/rdmpro/README.md: -------------------------------------------------------------------------------- 1 | This currently only works with the Enttec RDM USB Pro and not the DMX USB Pro Mk2. 2 | -------------------------------------------------------------------------------- /olad/www/handle.vertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/handle.vertical.png -------------------------------------------------------------------------------- /olad/www/new/views/universe-patch.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | -------------------------------------------------------------------------------- /olad/www/new/views/universe-rdm.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | -------------------------------------------------------------------------------- /olad/www/toolbar_sprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/toolbar_sprites.png -------------------------------------------------------------------------------- /tools/usbpro/download_firmware.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | wget http://www.enttec.com/firmware/usb_pro/dmx_144.bin 4 | -------------------------------------------------------------------------------- /olad/www/new/img/light_bulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/light_bulb.png -------------------------------------------------------------------------------- /olad/www/new/img/logo-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/logo-mini.png -------------------------------------------------------------------------------- /tools/rdm/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/logo.png -------------------------------------------------------------------------------- /include/ola/file/Makefile.mk: -------------------------------------------------------------------------------- 1 | olafileincludedir = $(pkgincludedir)/file/ 2 | olafileinclude_HEADERS = include/ola/file/Util.h 3 | -------------------------------------------------------------------------------- /include/ola/stl/Makefile.mk: -------------------------------------------------------------------------------- 1 | olastlincludedir = $(pkgincludedir)/stl/ 2 | olastlinclude_HEADERS = include/ola/stl/STLUtils.h 3 | -------------------------------------------------------------------------------- /olad/www/incremental-discovery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/incremental-discovery.png -------------------------------------------------------------------------------- /olad/www/new/img/logo-mini@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/logo-mini@2x.png -------------------------------------------------------------------------------- /tools/rdm/static/images/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/loader.gif -------------------------------------------------------------------------------- /include/ola/math/Makefile.mk: -------------------------------------------------------------------------------- 1 | olamathincludedir = $(pkgincludedir)/random/ 2 | olamathinclude_HEADERS = include/ola/math/Random.h 3 | -------------------------------------------------------------------------------- /olad/www/new/img/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/favicon.ico -------------------------------------------------------------------------------- /olad/www/new/img/favicons/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/twitter.png -------------------------------------------------------------------------------- /olad/www/new/img/light_bulb_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/light_bulb_off.png -------------------------------------------------------------------------------- /scripts/Makefile.mk: -------------------------------------------------------------------------------- 1 | PYTHON_BUILD_DIRS += scripts 2 | 3 | CLEANFILES += \ 4 | scripts/*.pyc \ 5 | scripts/__pycache__/* 6 | -------------------------------------------------------------------------------- /tools/ola_trigger/test_file_rising.conf: -------------------------------------------------------------------------------- 1 | # This has a rising trigger ending with whitespace 2 | 511 140-255 +`echo World` 3 | -------------------------------------------------------------------------------- /tools/rdm/static/images/discovery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/discovery.png -------------------------------------------------------------------------------- /tools/rdm/static/images/external.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/external.png -------------------------------------------------------------------------------- /tools/rdm/static/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/favicon.ico -------------------------------------------------------------------------------- /include/Makefile.mk: -------------------------------------------------------------------------------- 1 | include include/ola/Makefile.mk 2 | include include/olad/Makefile.mk 3 | 4 | PYTHON_BUILD_DIRS += include 5 | 6 | -------------------------------------------------------------------------------- /tools/ola_trigger/test_file_falling.conf: -------------------------------------------------------------------------------- 1 | # This has a rising trigger ending with tab whitespace 2 | 511 140-255 -`echo World` 3 | -------------------------------------------------------------------------------- /debian/libola1.install: -------------------------------------------------------------------------------- 1 | usr/lib/*/libola*.so.? 2 | usr/lib/*/libola*.so.?.?.* 3 | usr/lib/*/libola*.so.? 4 | usr/lib/*/libola*.so.?.?.* 5 | 6 | -------------------------------------------------------------------------------- /javascript/new-src/src/img/ola-favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/javascript/new-src/src/img/ola-favicon.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/mstile-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/mstile-70x70.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/open-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/open-graph.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/coast-228x228.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/coast-228x228.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/favicon-16x16.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/favicon-32x32.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/favicon-96x96.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/mstile-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/mstile-144x144.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/mstile-150x150.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/mstile-310x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/mstile-310x150.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/mstile-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/mstile-310x310.png -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 80 3 | exclude = .svn,CVS,.bzr,.hg,.git,__pycache__,.tox,*_pb2.py 4 | ignore = E111,E114,E121,E127,E129,W504 5 | -------------------------------------------------------------------------------- /include/ola/rpc/Makefile.mk: -------------------------------------------------------------------------------- 1 | olarpcincludedir = $(pkgincludedir)/rpc/ 2 | 3 | olarpcinclude_HEADERS = \ 4 | include/ola/rpc/RpcSessionHandler.h 5 | -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/favicon-230x230.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/favicon-230x230.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/firefox_app_60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/firefox_app_60x60.png -------------------------------------------------------------------------------- /common/math/Makefile.mk: -------------------------------------------------------------------------------- 1 | # LIBRARIES 2 | ################################################## 3 | common_libolacommon_la_SOURCES += common/math/Random.cpp 4 | -------------------------------------------------------------------------------- /olad/www/new/img/favicons/firefox_app_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/firefox_app_128x128.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/firefox_app_512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/firefox_app_512x512.png -------------------------------------------------------------------------------- /doxygen/olad.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * @defgroup olad OLA Internals 4 | * @brief This group holds code specific to how the internals of OLA work. 5 | * 6 | */ 7 | -------------------------------------------------------------------------------- /olad/www/new/img/favicons/android-chrome-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/android-chrome-144x144.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/android-chrome-192x192.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/android-chrome-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/android-chrome-36x36.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/android-chrome-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/android-chrome-48x48.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/android-chrome-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/android-chrome-72x72.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/android-chrome-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/android-chrome-96x96.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-icon-57x57.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-icon-60x60.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-icon-72x72.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-icon-76x76.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/yandex-browser-50x50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/yandex-browser-50x50.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-icons_3383bb_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-icons_3383bb_256x240.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-icons_70b2e1_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-icons_70b2e1_256x240.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-icons_999999_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-icons_999999_256x240.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-icons_fbc856_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-icons_fbc856_256x240.png -------------------------------------------------------------------------------- /common/rdm/testdata/pids/manufacturer_names.proto: -------------------------------------------------------------------------------- 1 | manufacturer { 2 | manufacturer_id: 31344 3 | manufacturer_name: "Open Lighting Project" 4 | } 5 | version: 1 6 | -------------------------------------------------------------------------------- /debian/libola-dev.install: -------------------------------------------------------------------------------- 1 | usr/include/* 2 | usr/lib/*/pkgconfig/* 3 | usr/lib/*/libola*.so 4 | usr/lib/*/libola*.a 5 | usr/lib/*/libola*.so 6 | usr/lib/*/libola*.a 7 | -------------------------------------------------------------------------------- /olad/testdata/test_preferences.conf: -------------------------------------------------------------------------------- 1 | # this is a comment 2 | foo = bar 3 | baz = bat 4 | # this is another comment 5 | 6 | multi = 1 7 | multi = 2 8 | multi = 3 9 | -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-icon-114x114.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-icon-120x120.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-icon-144x144.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-icon-152x152.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-icon-180x180.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-bg_flat_0_eeeeee_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-bg_flat_0_eeeeee_40x100.png -------------------------------------------------------------------------------- /include/ola/testing/Makefile.mk: -------------------------------------------------------------------------------- 1 | # These aren't installed 2 | noinst_HEADERS += \ 3 | include/ola/testing/MockUDPSocket.h \ 4 | include/ola/testing/TestUtils.h 5 | -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-bg_flat_55_c0402a_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-bg_flat_55_c0402a_40x100.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-bg_flat_55_eeeeee_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-bg_flat_55_eeeeee_40x100.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-bg_glass_100_f8f8f8_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-bg_glass_100_f8f8f8_1x400.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-bg_glass_35_dddddd_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-bg_glass_35_dddddd_1x400.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-bg_glass_60_eeeeee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-bg_glass_60_eeeeee_1x400.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-icon-precomposed.png -------------------------------------------------------------------------------- /include/ola/win/Makefile.mk: -------------------------------------------------------------------------------- 1 | olawinincludedir = $(pkgincludedir)/win/ 2 | olawininclude_HEADERS = \ 3 | include/ola/win/CleanWinSock2.h \ 4 | include/ola/win/CleanWindows.h 5 | -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-bg_inset-hard_75_999999_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-bg_inset-hard_75_999999_1x100.png -------------------------------------------------------------------------------- /tools/rdm/static/images/ui-bg_inset-soft_50_c9c9c9_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/tools/rdm/static/images/ui-bg_inset-soft_50_c9c9c9_1x100.png -------------------------------------------------------------------------------- /include/ola/http/Makefile.mk: -------------------------------------------------------------------------------- 1 | olahttpincludedir = $(pkgincludedir)/http/ 2 | olahttpinclude_HEADERS = \ 3 | include/ola/http/HTTPServer.h \ 4 | include/ola/http/OlaHTTPServer.h 5 | -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-startup-image-320x460.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-startup-image-320x460.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-startup-image-640x1096.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-startup-image-640x1096.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-startup-image-640x920.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-startup-image-640x920.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-startup-image-748x1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-startup-image-748x1024.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-startup-image-750x1294.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-startup-image-750x1294.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-startup-image-768x1004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-startup-image-768x1004.png -------------------------------------------------------------------------------- /include/ola/dmx/Makefile.mk: -------------------------------------------------------------------------------- 1 | oladmxincludedir = $(pkgincludedir)/dmx/ 2 | oladmxinclude_HEADERS = \ 3 | include/ola/dmx/RunLengthEncoder.h \ 4 | include/ola/dmx/SourcePriorities.h 5 | -------------------------------------------------------------------------------- /include/ola/system/Makefile.mk: -------------------------------------------------------------------------------- 1 | olasystemincludedir = $(pkgincludedir)/system/ 2 | olasysteminclude_HEADERS = \ 3 | include/ola/system/Limits.h \ 4 | include/ola/system/SystemUtils.h 5 | -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-startup-image-1182x2208.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-startup-image-1182x2208.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-startup-image-1242x2148.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-startup-image-1242x2148.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-startup-image-1496x2048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-startup-image-1496x2048.png -------------------------------------------------------------------------------- /olad/www/new/img/favicons/apple-touch-startup-image-1536x2008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/img/favicons/apple-touch-startup-image-1536x2008.png -------------------------------------------------------------------------------- /olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /debian/watch: -------------------------------------------------------------------------------- 1 | version=4 2 | opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/ola-$1\.tar\.gz/ \ 3 | https://github.com/openlightingproject/ola/releases .*/?ola-(\d{1,2}\.\d{1,2}.\d{1,2})\.tar\.gz 4 | -------------------------------------------------------------------------------- /olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenLightingProject/ola/HEAD/olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /common/system/Makefile.mk: -------------------------------------------------------------------------------- 1 | # LIBRARIES 2 | ################################################## 3 | common_libolacommon_la_SOURCES += \ 4 | common/system/Limits.cpp \ 5 | common/system/SystemUtils.cpp 6 | -------------------------------------------------------------------------------- /examples/testdata/partial_frames: -------------------------------------------------------------------------------- 1 | OLA Show 2 | 1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 3 | 463 4 | 1 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 5 | 553 6 | 1 208,0,228,0,0,238,0,0,0,0,0,0,0,0,0,0,0,0,0,0 7 | -------------------------------------------------------------------------------- /tools/rdm/skel_config/ola-usbserial.conf: -------------------------------------------------------------------------------- 1 | device_dir = /dev 2 | device_prefix = ttyUSB 3 | device_prefix = cu.usbserial- 4 | dmx_tri_fps_limit = 40 5 | pro_fps_limit = 190 6 | tri_use_raw_rdm = true 7 | ultra_fps_limit = 40 8 | -------------------------------------------------------------------------------- /java/ChangeLog: -------------------------------------------------------------------------------- 1 | 04/22/2017 Erez Makavy 2 | * v0.0.2 3 | - Add OlaClient.getUniverseList() 4 | 5 | 03/11/2012 Simon Newton 6 | * v0.0.1 7 | - Add initial Java API from Favy Vanherbergen -------------------------------------------------------------------------------- /debian/ola-rdm-tests.install: -------------------------------------------------------------------------------- 1 | usr/bin/*.py 2 | usr/lib/python*/*-packages/ola/testing/*.py 3 | usr/lib/python*/*-packages/ola/testing/rdm/*.py 4 | usr/share/man/man1/rdm_* 5 | usr/share/ola/rdm-server/* 6 | usr/share/ola/rdm-server/images/* 7 | -------------------------------------------------------------------------------- /include/ola/strings/Makefile.mk: -------------------------------------------------------------------------------- 1 | olastringsincludedir = $(pkgincludedir)/strings/ 2 | olastringsinclude_HEADERS = \ 3 | include/ola/strings/Format.h \ 4 | include/ola/strings/FormatPrivate.h \ 5 | include/ola/strings/Utils.h 6 | -------------------------------------------------------------------------------- /olad/www/new/img/favicons/yandex-browser-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "api_version": 1, 4 | "layout": { 5 | "logo": "/new/img/favicons/yandex-browser-50x50.png", 6 | "color": "#FFFFFF", 7 | "show_title": true 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/dmx4linux/README.md: -------------------------------------------------------------------------------- 1 | DMX 4 Linux Plugin 2 | ================== 3 | 4 | This plugin exposes DMX 4 Linux devices. 5 | 6 | 7 | ## Config file: `ola-dmx4linux.conf` 8 | 9 | ``` 10 | in_device = /dev/dmxin 11 | out_device = /dev/dmx 12 | ``` -------------------------------------------------------------------------------- /common/web/testdata/misc.test: -------------------------------------------------------------------------------- 1 | === POSITIVE === 2 | // Verify we strip keys we don't recognise / support, even if they are in the 3 | // standard. 4 | { 5 | "pattern": "[cat]", 6 | "type": "string" 7 | } 8 | -------- 9 | { 10 | "type": "string" 11 | } 12 | -------------------------------------------------------------------------------- /doxygen/http.dox: -------------------------------------------------------------------------------- 1 | /** 2 | * @defgroup http HTTP 3 | * @brief HTTP related functionality for the web server 4 | * 5 | * @addtogroup http 6 | * @{ 7 | * 8 | * @defgroup http_server HTTP Server 9 | * @brief The HTTP server. 10 | * 11 | * @} //End http group 12 | */ 13 | -------------------------------------------------------------------------------- /include/ola/util/Makefile.mk: -------------------------------------------------------------------------------- 1 | olautilincludedir = $(pkgincludedir)/util/ 2 | olautilinclude_HEADERS = \ 3 | include/ola/util/Backoff.h \ 4 | include/ola/util/Deleter.h \ 5 | include/ola/util/SequenceNumber.h \ 6 | include/ola/util/Utils.h \ 7 | include/ola/util/Watchdog.h 8 | -------------------------------------------------------------------------------- /libs/acn/libolaacn.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libolaacn 7 | Version: @VERSION@ 8 | Description: Open Lighting Architecture ACN 9 | Requires: 10 | Libs: -L${libdir} -lolaacn 11 | Cflags: -I${includedir} 12 | -------------------------------------------------------------------------------- /plugins/artnet/messages/libolaartnetconf.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libolaartnetconf 7 | Version: @VERSION@ 8 | Description: Open Lighting Architecture - Art-Net Config Messages 9 | Libs: -lprotobuf 10 | -------------------------------------------------------------------------------- /plugins/usbpro/messages/libolausbproconf.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libolausbproconf 7 | Version: @VERSION@ 8 | Description: Open Lighting Architecture - UsbPro Config Messages 9 | Libs: -lprotobuf 10 | -------------------------------------------------------------------------------- /include/ola/acn/Makefile.mk: -------------------------------------------------------------------------------- 1 | olaacnincludedir = $(pkgincludedir)/acn/ 2 | olaacninclude_HEADERS = 3 | 4 | if INSTALL_ACN 5 | olaacninclude_HEADERS += \ 6 | include/ola/acn/ACNFlags.h \ 7 | include/ola/acn/ACNPort.h \ 8 | include/ola/acn/ACNVectors.h \ 9 | include/ola/acn/CID.h 10 | endif 11 | -------------------------------------------------------------------------------- /debian/ola.install: -------------------------------------------------------------------------------- 1 | debian/org.openlighting.ola.ola.metainfo.xml usr/share/metainfo 2 | usr/bin/ola* 3 | usr/bin/rdmpro_sniffer 4 | usr/bin/usbpro_firmware 5 | usr/share/man/man1/ola* 6 | usr/share/man/man1/rdmpro_sniffer* 7 | usr/share/man/man1/usbpro_firmware* 8 | usr/share/olad/* 9 | usr/share/ola/pids/* 10 | -------------------------------------------------------------------------------- /tools/e133/libolae133common.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libolae133common 7 | Version: @VERSION@ 8 | Description: Open Lighting Architecture E1.33 9 | Requires: 10 | Libs: -L${libdir} -lolae133common 11 | Cflags: -I${includedir} 12 | -------------------------------------------------------------------------------- /olad/www/new/views/plugin-info.html: -------------------------------------------------------------------------------- 1 |

{{name}}

2 |
Enabled:
 
3 |
Active:
 
4 |
5 | -------------------------------------------------------------------------------- /libola.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libola 7 | Version: @VERSION@ 8 | Description: Open Lighting Architecture Client 9 | Requires: protobuf 10 | Libs: -L${libdir} -lola -lolacommon @OLA_CLIENT_LIBS@ 11 | Cflags: -I${includedir} 12 | -------------------------------------------------------------------------------- /tools/rdmpro/Makefile.mk: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS += tools/rdmpro/rdmpro_sniffer 2 | 3 | tools_rdmpro_rdmpro_sniffer_SOURCES = tools/rdmpro/rdm-sniffer.cpp 4 | tools_rdmpro_rdmpro_sniffer_LDADD = common/libolacommon.la \ 5 | plugins/usbpro/libolausbprowidget.la 6 | 7 | EXTRA_DIST += tools/rdmpro/README.md 8 | -------------------------------------------------------------------------------- /olad/www/new/views/universe-overview.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
{{$index + 1}}
4 |
{{c}}
5 |
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 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
IdName
{{u.id}}{{u.name}}
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 |

Man pages for the Open Lighting Architecture

26 |
    27 | EOF 28 | 29 | if [ ! -d $output_dir/man1/ ]; then 30 | echo $output_dir/man1/ doesn\'t exist, please create it 31 | exit 1; 32 | fi 33 | for man_file in *.1; do 34 | echo "Generating $man_file"; 35 | output_file=$output_dir/man1/$man_file.html; 36 | man2html -r $man_file -M ../index.html | sed 1,2d > $output_file; 37 | chmod a+r $output_file; 38 | echo "
  • $man_file - `grep "\.SH NAME" $man_file -A 1 | tail -n 1 | sed -e 's/\\\-/-/g'`
  • " >> $index_file 39 | done 40 | 41 | cat << 'EOF' >> $index_file 42 |
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 |
2 |
3 |

{{header.name}}

4 | 5 |
(id: {{header.id}})
6 |
7 | 27 |
-------------------------------------------------------------------------------- /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 | --------------------------------------------------------------------------------