Compare commits

...

6 Commits

Author SHA1 Message Date
hennieliminator d07ea1729e ctdo config to git 2013-01-11 15:29:55 +01:00
hennieliminator 7041e718ed ctdo config 2013-01-11 15:29:38 +01:00
hennieliminator 6dcea928c1 update OSC Devices on every oscmessage with all states
save states to file, to recover on restart
2013-01-10 15:06:30 +01:00
hennieliminator 0dacc9ee59 only devices in oscMap trigger dmxsend 2013-01-10 02:25:30 +01:00
hennieliminator 4f68bacbda round dmx value 2013-01-10 02:21:46 +01:00
hennieliminator 4cffaaf303 prototype standalone 2013-01-10 02:18:25 +01:00
13 changed files with 539 additions and 140 deletions

View File

@ -15,11 +15,7 @@
<entry name="?*.tld" />
<entry name="?*.ftl" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
<annotationProcessing enabled="false" useClasspath="true" />
</component>
</project>

View File

@ -1,5 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="IdProvider" IDEtalkID="C6B333EE82B1D0849786F1C7113F0428" />
<component name="ProjectResources">
<default-html-doctype>http://www.w3.org/1999/xhtml</default-html-doctype>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true">
<output url="file://$PROJECT_DIR$/out" />
</component>
@ -11,6 +15,7 @@
<PyConsoleSettings />
</option>
</component>
<component name="WebServicesPlugin" addRequiredLibraries="true" />
<component name="masterDetails">
<states>
<state key="ProjectJDKs.UI">

View File

@ -2,17 +2,20 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="72d93b4a-de8e-43f1-9d4b-34713e827c14" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/index.html" afterPath="$PROJECT_DIR$/index.html" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/bootstrap/css/style.css" afterPath="$PROJECT_DIR$/bootstrap/css/style.css" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/configs/hackcenter/index.html" />
<change type="DELETED" beforePath="$PROJECT_DIR$/oscMap.json" afterPath="" />
<change type="MOVED" beforePath="$PROJECT_DIR$/index.html" afterPath="$PROJECT_DIR$/configs/ctdo/index.html" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app.js" afterPath="$PROJECT_DIR$/app.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/states.json" afterPath="$PROJECT_DIR$/states.json" />
</list>
<ignored path="nodeartnet.iws" />
<ignored path=".idea/workspace.xml" />
<file path="$PROJECT_DIR$/../hackcentercontrol/app.js" changelist="72d93b4a-de8e-43f1-9d4b-34713e827c14" time="1356729852724" ignored="false" />
<file path="/app.js" changelist="72d93b4a-de8e-43f1-9d4b-34713e827c14" time="1356736182346" ignored="false" />
<file path="/index.html" changelist="72d93b4a-de8e-43f1-9d4b-34713e827c14" time="1356747261765" ignored="false" />
<file path="/Dummy.txt" changelist="72d93b4a-de8e-43f1-9d4b-34713e827c14" time="1356737465166" ignored="false" />
<file path="/style.css" changelist="72d93b4a-de8e-43f1-9d4b-34713e827c14" time="1356747281902" ignored="false" />
<file path="/Dummy.txt" changelist="72d93b4a-de8e-43f1-9d4b-34713e827c14" time="1356737465166" ignored="false" />
<file path="/index.html" changelist="72d93b4a-de8e-43f1-9d4b-34713e827c14" time="1356747261765" ignored="false" />
<file path="/app.js" changelist="72d93b4a-de8e-43f1-9d4b-34713e827c14" time="1356736182346" ignored="false" />
<file path="$PROJECT_DIR$/../hackcentercontrol/app.js" changelist="72d93b4a-de8e-43f1-9d4b-34713e827c14" time="1356729852724" ignored="false" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -27,7 +30,7 @@
<disable_hints />
</component>
<component name="DebuggerManager">
<breakpoint_any default_suspend_policy="SuspendAll" default_condition_enabled="true">
<breakpoint_any default_suspend_policy="SuspendAll">
<breakpoint>
<option name="NOTIFY_CAUGHT" value="true" />
<option name="NOTIFY_UNCAUGHT" value="true" />
@ -35,7 +38,6 @@
<option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" />
<option name="SUSPEND_POLICY" value="SuspendAll" />
<option name="SUSPEND" value="true" />
<option name="COUNT_FILTER_ENABLED" value="false" />
<option name="COUNT_FILTER" value="0" />
<option name="CONDITION_ENABLED" value="true" />
@ -51,7 +53,6 @@
<option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" />
<option name="SUSPEND_POLICY" value="SuspendAll" />
<option name="SUSPEND" value="true" />
<option name="COUNT_FILTER_ENABLED" value="false" />
<option name="COUNT_FILTER" value="0" />
<option name="CONDITION_ENABLED" value="true" />
@ -61,8 +62,8 @@
<option name="LOG_MESSAGE" value="" />
</breakpoint>
</breakpoint_any>
<breakpoint_rules default_suspend_policy="SuspendAll" default_condition_enabled="true" />
<ui_properties default_suspend_policy="SuspendAll" default_condition_enabled="true" />
<ui_properties default_suspend_policy="SuspendAll" />
<breakpoint_rules default_suspend_policy="SuspendAll" />
<breakpoint_rules />
<ui_properties />
</component>
@ -72,30 +73,37 @@
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="app.js" pinned="false" current="false" current-in-tab="false">
<file leaf-file-name="app.js" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/app.js">
<provider selected="true" editor-type-id="text-editor">
<state line="46" column="20" selection-start="1338" selection-end="1338" vertical-scroll-proportion="0.0">
<state line="87" column="34" selection-start="2608" selection-end="2608" vertical-scroll-proportion="0.74358976">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="index.html" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/index.html">
<entry file="file://$PROJECT_DIR$/configs/ctdo/index.html">
<provider selected="true" editor-type-id="text-editor">
<state line="186" column="21" selection-start="8852" selection-end="8852" vertical-scroll-proportion="-17.5">
<folding>
<element signature="n#style#0;n#br#0;n#body#0;n#html#0;n#!!top" expanded="true" />
</folding>
<state line="68" column="76" selection-start="3227" selection-end="3227" vertical-scroll-proportion="-14.375">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="style.css" pinned="false" current="true" current-in-tab="true">
<file leaf-file-name="oscMap.json" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/configs/ctdo/oscMap.json">
<provider selected="true" editor-type-id="text-editor">
<state line="9" column="25" selection-start="157" selection-end="157" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="style.css" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/bootstrap/css/style.css">
<provider selected="true" editor-type-id="text-editor">
<state line="67" column="22" selection-start="1008" selection-end="1008" vertical-scroll-proportion="1.3847874">
<state line="67" column="22" selection-start="1008" selection-end="1008" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@ -111,26 +119,24 @@
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
</component>
<component name="GitLogSettings">
<option name="myDateState">
<MyDateState />
</option>
</component>
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/bootstrap/css/screen.css" />
<option value="$PROJECT_DIR$/app.js" />
<option value="$PROJECT_DIR$/index.html" />
<option value="$PROJECT_DIR$/bootstrap/css/style.css" />
<option value="$PROJECT_DIR$/index.html" />
<option value="$PROJECT_DIR$/oscMap.json" />
<option value="$PROJECT_DIR$/configs/ctdo/oscMap.json" />
<option value="$PROJECT_DIR$/configs/ctdo/index.html" />
<option value="$PROJECT_DIR$/app.js" />
</list>
</option>
</component>
<component name="ProjectFrameBounds">
<option name="x" value="-4" />
<option name="y" value="25" />
<option name="width" value="1608" />
<option name="height" value="853" />
<option name="x" value="2" />
<option name="y" value="18" />
<option name="width" value="1362" />
<option name="height" value="729" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
<OptionsSetting value="true" id="Add" />
@ -139,6 +145,8 @@
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<OptionsSetting value="true" id="Undo Check Out" />
<OptionsSetting value="true" id="Get Latest Version" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
@ -158,8 +166,16 @@
<sortByType />
</navigator>
<panes>
<pane id="Scope" />
<pane id="PackagesPane" />
<pane id="Scope">
<subPane subId="Project Files">
<PATH>
<PATH_ELEMENT USER_OBJECT="Root">
<option name="myItemId" value="" />
<option name="myItemType" value="" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="ProjectPane">
<subPane>
<PATH>
@ -188,7 +204,11 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="bootstrap" />
<option name="myItemId" value="configs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="hackcenter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
@ -202,16 +222,17 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="bootstrap" />
<option name="myItemId" value="configs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="css" />
<option name="myItemId" value="ctdo" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="PackagesPane" />
</panes>
</component>
<component name="PropertiesComponent">
@ -225,7 +246,11 @@
<property name="MemberChooser.copyJavadoc" value="false" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/configs/ctdo" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/configs/hackcenter" />
<recent name="$PROJECT_DIR$/bootstrap/js" />
</key>
</component>
@ -234,7 +259,13 @@
<module name="" />
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m" />
<option name="PROGRAM_PARAMETERS" />
<method />
<method>
<option name="AntTarget" enabled="false" />
<option name="BuildArtifacts" enabled="false" />
<option name="Make" enabled="true" />
<option name="Maven.BeforeRunTask" enabled="false" />
<option name="RakeTask" enabled="false" />
</method>
</configuration>
<configuration default="true" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
@ -242,7 +273,31 @@
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
<method />
<method>
<option name="AntTarget" enabled="false" />
<option name="BuildArtifacts" enabled="false" />
<option name="Maven.BeforeRunTask" enabled="false" />
<option name="RakeTask" enabled="false" />
</method>
</configuration>
<configuration default="true" type="Applet" factoryName="Applet">
<module name="" />
<option name="MAIN_CLASS_NAME" />
<option name="HTML_FILE_NAME" />
<option name="HTML_USED" value="false" />
<option name="WIDTH" value="400" />
<option name="HEIGHT" value="300" />
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<option name="VM_PARAMETERS" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<method>
<option name="AntTarget" enabled="false" />
<option name="BuildArtifacts" enabled="false" />
<option name="Make" enabled="true" />
<option name="Maven.BeforeRunTask" enabled="false" />
<option name="RakeTask" enabled="false" />
</method>
</configuration>
<configuration default="true" type="TestNG" factoryName="TestNG">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
@ -270,20 +325,13 @@
<envs />
<properties />
<listeners />
<method />
</configuration>
<configuration default="true" type="Applet" factoryName="Applet">
<module name="" />
<option name="MAIN_CLASS_NAME" />
<option name="HTML_FILE_NAME" />
<option name="HTML_USED" value="false" />
<option name="WIDTH" value="400" />
<option name="HEIGHT" value="300" />
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<option name="VM_PARAMETERS" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<method />
<method>
<option name="AntTarget" enabled="false" />
<option name="BuildArtifacts" enabled="false" />
<option name="Make" enabled="true" />
<option name="Maven.BeforeRunTask" enabled="false" />
<option name="RakeTask" enabled="false" />
</method>
</configuration>
<configuration default="true" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
@ -298,7 +346,13 @@
<option name="PASS_PARENT_ENVS" value="true" />
<module name="" />
<envs />
<method />
<method>
<option name="AntTarget" enabled="false" />
<option name="BuildArtifacts" enabled="false" />
<option name="Make" enabled="true" />
<option name="Maven.BeforeRunTask" enabled="false" />
<option name="RakeTask" enabled="false" />
</method>
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
@ -319,7 +373,13 @@
</option>
<envs />
<patterns />
<method />
<method>
<option name="AntTarget" enabled="false" />
<option name="BuildArtifacts" enabled="false" />
<option name="Make" enabled="true" />
<option name="Maven.BeforeRunTask" enabled="false" />
<option name="RakeTask" enabled="false" />
</method>
</configuration>
<list size="0" />
<configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
@ -368,32 +428,48 @@
<created>1356737467286</created>
<updated>1356737467286</updated>
</task>
<option name="localTasksCounter" value="5" />
<task id="LOCAL-00005" summary="round dmx value">
<created>1357780906470</created>
<updated>1357780906470</updated>
</task>
<task id="LOCAL-00006" summary="only devices in oscMap trigger dmxsend">
<created>1357781130763</created>
<updated>1357781130763</updated>
</task>
<task id="LOCAL-00007" summary="update OSC Devices on every oscmessage with all states&#10;save states to file, to recover on restart">
<created>1357826790758</created>
<updated>1357826790758</updated>
</task>
<option name="localTasksCounter" value="8" />
<servers />
</component>
<component name="ToolWindowManager">
<frame x="-4" y="25" width="1608" height="853" extended-state="6" />
<editor active="false" />
<frame x="2" y="18" width="1362" height="729" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="Changes" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.3286119" sideWeight="0.497426" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Data Sources" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.18616144" sideWeight="0.497426" order="7" side_tool="false" content_ui="tabs" />
<window_info id="JetGradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3286119" sideWeight="0.4980695" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24961948" sideWeight="0.21746293" order="2" side_tool="true" content_ui="tabs" />
<window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24967825" sideWeight="0.6713881" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24961948" sideWeight="0.81383854" order="0" side_tool="false" content_ui="combo" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout>
@ -420,6 +496,7 @@
<option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
<option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
<option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
<option name="ENABLE_BACKGROUND_PROCESSES" value="false" />
<option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
<option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
@ -429,14 +506,12 @@
<option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
<option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
<option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
<option name="CREATE_PATCH_EXPAND_DETAILS_DEFAULT" value="true" />
<option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
<option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" />
<option name="SHOW_DIRTY_RECURSIVELY" value="false" />
<option name="LIMIT_HISTORY" value="true" />
<option name="MAXIMUM_HISTORY_ROWS" value="1000" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
<option name="LAST_COMMIT_MESSAGE" value="bugfix" />
<option name="LAST_COMMIT_MESSAGE" value="update OSC Devices on every oscmessage with all states&#10;save states to file, to recover on restart" />
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
@ -453,6 +528,9 @@
<MESSAGE value="added some logging" />
<MESSAGE value="blub" />
<MESSAGE value="bugfix" />
<MESSAGE value="round dmx value" />
<MESSAGE value="only devices in oscMap trigger dmxsend" />
<MESSAGE value="update OSC Devices on every oscmessage with all states&#10;save states to file, to recover on restart" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
@ -465,34 +543,86 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.html">
<entry file="file://$PROJECT_DIR$/configs/hackcenter/index.html">
<provider selected="true" editor-type-id="text-editor">
<state line="24" column="96" selection-start="672" selection-end="672" vertical-scroll-proportion="0.0">
<folding>
<element signature="n#style#0;n#br#0;n#body#0;n#html#0;n#!!top" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app.js">
<provider selected="true" editor-type-id="text-editor">
<state line="46" column="20" selection-start="1338" selection-end="1338" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.html">
<entry file="file://$PROJECT_DIR$/node_modules/artnet/lib/artnet_client.js">
<provider selected="true" editor-type-id="text-editor">
<state line="186" column="21" selection-start="8852" selection-end="8852" vertical-scroll-proportion="-17.5">
<folding>
<element signature="n#style#0;n#br#0;n#body#0;n#html#0;n#!!top" expanded="true" />
</folding>
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.18681319">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/artnet/index.js">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/artnet/package.json">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/node-osc/lib/osc.js">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-1.0576923">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/node-osc/lesser.txt">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/node-osc/index.js">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/bootstrap/css/style.css">
<provider selected="true" editor-type-id="text-editor">
<state line="67" column="22" selection-start="1008" selection-end="1008" vertical-scroll-proportion="1.3847874">
<state line="67" column="22" selection-start="1008" selection-end="1008" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/configs/hackcenter/index.html">
<provider selected="true" editor-type-id="text-editor">
<state line="80" column="74" selection-start="3859" selection-end="3859" vertical-scroll-proportion="2.388325">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/configs/ctdo/oscMap.json">
<provider selected="true" editor-type-id="text-editor">
<state line="9" column="25" selection-start="157" selection-end="157" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/configs/ctdo/index.html">
<provider selected="true" editor-type-id="text-editor">
<state line="68" column="76" selection-start="3227" selection-end="3227" vertical-scroll-proportion="-14.375">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app.js">
<provider selected="true" editor-type-id="text-editor">
<state line="87" column="34" selection-start="2608" selection-end="2608" vertical-scroll-proportion="0.74358976">
<folding />
</state>
</provider>

View File

@ -1,50 +1,90 @@
var config = "ctdo"
var express = require('express');
var app = express();
var server = require('http').createServer(app), io = require('socket.io').listen(server);
var osc = require('node-osc');
var oscMap = require("./configs/" + config + "/oscMap.json");
var states = require("./configs/" + config + "/states.json");
var fs = require('fs');
var host = process.argv.length > 2 ? process.argv[2] : 'distinto.lp-server.net';
var port = process.argv.length > 3 ? process.argv[3] : '5001';
var host = process.argv.length > 2 ? process.argv[2] : '195.160.169.33'
var port = process.argv.length > 3 ? process.argv[3] : '9000';
var oscSender = new osc.Client(host, port);
var oscReceiver = new osc.Server(3333, '0.0.0.0');
var artnetclient = require('./node_modules/artnet/lib/artnet_client');
var dmxClient = artnetclient.createClient("195.160.169.15", 6454);
var states = [];
server.listen(8080);
var dmxData = new Array(512);
for(var i=0; i<512;i++) {
dmxData[i] = 0;
}
server.listen(8081);
app.use(express.static('bootstrap'));
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
res.sendfile(__dirname + '/configs/' + config + '/index.html');
});
io.sockets.on('connection', function (socket) {
//socket.emit('news', { hello: 'world' });
var address = socket.handshake.address;
console.log("New connection from " + address.address + ":" + address.port);
socket.on('oscmessage', function (data) {
socket.on('oscmessage', function (data) {
var chan = data.chan;
var value = data.val;
if(chan == null) return;
if(value == null) {
if(states[chan] == null) {
states[chan] = 1
} else if(states[chan] == 1) {
states[chan] = 0;
} else if(states[chan] == 0) {
states[chan] = 1;
}
value = states[chan];
}
// hier noch nicht einkommentieren, das sendet das sofort ins hackcenter
//oscSender.send(chan, value);
console.log(address, chan, value);
handleMessage(new Array(chan, value))
//console.log(address, chan, value);
});
});
oscReceiver.on("message", function (msg, rinfo) {
handleMessage(msg)
});
function handleMessage(msg) {
console.log("Message:");
console.log(msg);
var chan = msg[0],
value = msg[1];
if(chan == null) return;
// sync states array with value
if(value == null) {
if(states[chan] == null) {
states[chan] = 1
} else if(states[chan] == 1) {
states[chan] = 0;
} else if(states[chan] == 0) {
states[chan] = 1;
}
value = states[chan];
} else {
states[chan] = value;
}
// get mapped dmx channel
if(oscMap[chan] != null) {
dmxData[oscMap[chan]-1] = Math.round(value*255);
console.log(Math.round(value*255));
dmxClient.send(dmxData);
}
// update osc devices to show the current state
// to be done in extra function (with whole states array?)
updateDevices();
fs.writeFile("./configs/" + config + "/states.json", JSON.stringify(states, null, 4));
}
function updateDevices() {
for(var chan in states) {
oscSender.send(chan, states[chan]);
console.log(chan);
}
}

View File

@ -0,0 +1,145 @@
<!DOCTYPE html>
<html>
<head>
<title>ctdo light control</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="css/style.css" rel="stylesheet" media="screen">
<script src="js/jquery-1.8.3.min.js"></script>
</head>
<body>
<div class="container left">
<h3>ctdo light control</h3>
<div class="row">
<div class="span3">
<div class="btn-group wabe-1-1-red" data-channel="/1/rgb1/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-1-1-green" data-channel="/1/rgb1/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-1-1-blue" data-channel="/1/rgb1/3">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
<div class="span3">
<div class="btn-group wabe-3-1-red" data-channel="/1/rgb2/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-3-1-green" data-channel="/1/rgb2/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-3-1-blue" data-channel="/1/rgb2/3">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
<div class="span3">
<div class="btn-group wabe-4-1-red" data-channel="/1/rgb3/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-4-1-green" data-channel="/1/rgb3/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-4-1-blue" data-channel="/1/rgb3/3">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
</div>
<div class="row">
<div class="span3">
<div class="btn-group wabe-5-1-red" data-channel="/1/rgb4/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-5-1-green" data-channel="/1/rgb4/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-5-1-blue" data-channel="/1/rgb4/3">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
</div>
</div>
<!--
<div class="container right">
<div class="span2">
LED
</div>
</div>
<div class="container right">
<div class="span2">
<input type="range" name="right-slider" id="right-slider" min="0" max="100" value="0" />
</div>
</div>
-->
<br style="clear: both" />
<!--
<div class="container bottom">
<input type="range" name="bottom-slider" id="bottom-slider" min="0" max="100" value="0" />
</div> -->
<div class="footer">
from top to bottom: red/green/blue
</div>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://' + window.location.hostname + ":" + window.location.port);
socket.on('news', function (data) {
console.log(data);
//
//handleDMXData(data);
});
$(document).ready(function(evnt) {
$(document).delegate('.btn-success', 'click', function(event) {
var channel = $(this).parent().data('channel');
if(channel != null) {
socket.emit('oscmessage', { chan: channel, val: 1 });
}
});
$(document).delegate('.btn-danger', 'click', function(event) {
var channel = $(this).parent().data('channel');
if(channel != null) {
socket.emit('oscmessage', { chan: channel, val: 0 });
}
});
/*
$(document).delegate('#bottom-slider', 'change', function(event) {
socket.emit('oscmessage', { chan: '/1/fader1', val: })
}); */
});
</script>
<script src="js/bootstrap.min.js"></script>
<script src="js/html5slider.js"></script>
</body>
</html>

View File

@ -0,0 +1,14 @@
{
"/1/rgb1/1":2,
"/1/rgb1/2":3,
"/1/rgb1/3":4,
"/1/rgb2/1":7,
"/1/rgb2/2":8,
"/1/rgb2/3":9,
"/1/rgb3/1":12,
"/1/rgb3/2":13,
"/1/rgb3/3":14,
"/1/rgb4/1":17,
"/1/rgb4/2":18,
"/1/rgb4/3":19
}

View File

@ -0,0 +1,15 @@
{
"/1/encoder1": 1,
"/1/rgb1/1": 1,
"/1/rgb1/2": 0,
"/1/rgb1/3": 0.26404494047164917,
"/1/rgb4/1": 1,
"/1/rgb2/2": 0,
"/1/rgb2/3": 0.317415714263916,
"/1/rgb2/1": 1,
"/1/rgb3/1": 1,
"/1/rgb3/2": 0,
"/1/rgb3/3": 0.31179773807525635,
"/1/rgb4/2": 0,
"/1/rgb4/3": 0.32865166664123535
}

View File

@ -14,49 +14,49 @@
<div class="row">
<div class="span3">
<div class="btn-group wabe-1-1-red" data-channel="/2/multitoggle/1/1">
<div class="btn-group wabe-1-1-red" data-channel="/1/wabe1/1/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-1-1-green" data-channel="/2/multitoggle/2/1">
<div class="btn-group wabe-1-1-green" data-channel="/1/wabe1/2/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-1-1-blue" data-channel="/2/multitoggle/1/2">
<div class="btn-group wabe-1-1-blue" data-channel="/1/wabe1/1/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
<div class="span3 spansmall">
<div class="btn-group wabe-2-1-red" data-channel="/2/multitoggle/1/16">
<div class="btn-group wabe-2-1-red" data-channel="/1/lamp1/white">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
<div class="span3">
<div class="btn-group wabe-3-1-red" data-channel="/2/multitoggle/3/1">
<div class="btn-group wabe-3-1-red" data-channel="/1/wabe2/1/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-3-1-green" data-channel="/2/multitoggle/4/1">
<div class="btn-group wabe-3-1-green" data-channel="/1/wabe2/2/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-3-1-blue" data-channel="/2/multitoggle/3/2">
<div class="btn-group wabe-3-1-blue" data-channel="/1/wabe2/1/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
<div class="span3">
<div class="btn-group wabe-4-1-red" data-channel="/2/multitoggle/5/1">
<div class="btn-group wabe-4-1-red" data-channel="/1/wabe3/1/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-4-1-green" data-channel="/2/multitoggle/6/1">
<div class="btn-group wabe-4-1-green" data-channel="/1/wabe3/2/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-4-1-blue" data-channel="/2/multitoggle/5/2">
<div class="btn-group wabe-4-1-blue" data-channel="/1/wabe3/1/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
@ -64,49 +64,49 @@
</div>
<div class="row">
<div class="span3">
<div class="btn-group wabe-5-1-red" data-channel="/2/multitoggle/1/3">
<div class="btn-group wabe-5-1-red" data-channel="/1/wabe4/1/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-5-1-green" data-channel="/2/multitoggle/2/3">
<div class="btn-group wabe-5-1-green" data-channel="/1/wabe4/2/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-5-1-blue" data-channel="/2/multitoggle/1/4">
<div class="btn-group wabe-5-1-blue" data-channel="/1/wabe4/1/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
<div class="span3 spansmall">
<div class="btn-group wabe-6-1-red" data-channel="/2/multitoggle/2/16">
<div class="btn-group wabe-6-1-red" data-channel="/1/lamp2/white">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
<div class="span3">
<div class="btn-group wabe-7-1-red" data-channel="/2/multitoggle/3/3">
<div class="btn-group wabe-7-1-red" data-channel="/1/wabe5/1/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-7-1-green" data-channel="/2/multitoggle/4/3">
<div class="btn-group wabe-7-1-green" data-channel="/1/wabe5/2/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-7-1-blue" data-channel="/2/multitoggle/3/4">
<div class="btn-group wabe-7-1-blue" data-channel="/1/wabe5/1/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
<div class="span3">
<div class="btn-group wabe-8-1-red" data-channel="/2/multitoggle/5/3">
<div class="btn-group wabe-8-1-red" data-channel="/1/wabe6/1/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-8-1-green" data-channel="/2/multitoggle/6/3">
<div class="btn-group wabe-8-1-green" data-channel="/1/wabe6/2/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-8-1-blue" data-channel="/2/multitoggle/5/4">
<div class="btn-group wabe-8-1-blue" data-channel="/1/wabe6/1/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
@ -114,49 +114,49 @@
</div>
<div class="row">
<div class="span3">
<div class="btn-group wabe-9-1-red" data-channel="/2/multitoggle/1/5">
<div class="btn-group wabe-9-1-red" data-channel="/1/wabe7/1/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-9-1-green" data-channel="/2/multitoggle/2/5">
<div class="btn-group wabe-9-1-green" data-channel="/1/wabe7/2/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-9-1-blue" data-channel="/2/multitoggle/1/6">
<div class="btn-group wabe-9-1-blue" data-channel="/1/wabe7/1/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
<div class="span3 spansmall">
<div class="btn-group wabe-10-1-red" data-channel="/2/multitoggle/3/16">
<div class="btn-group wabe-10-1-red" data-channel="/1/lamp3/white">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
<div class="span3">
<div class="btn-group wabe-11-1-red" data-channel="/2/multitoggle/3/5">
<div class="btn-group wabe-11-1-red" data-channel="/1/wabe8/1/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-11-1-green" data-channel="/2/multitoggle/4/5">
<div class="btn-group wabe-11-1-green" data-channel="/1/wabe8/2/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-11-1-blue" data-channel="/2/multitoggle/3/6">
<div class="btn-group wabe-11-1-blue" data-channel="/1/wabe8/1/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
</div>
<div class="span3">
<div class="btn-group wabe-12-1-red" data-channel="/2/multitoggle/5/5">
<div class="btn-group wabe-12-1-red" data-channel="/1/wabe9/1/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-12-1-green" data-channel="/2/multitoggle/6/5">
<div class="btn-group wabe-12-1-green" data-channel="/1/wabe9/2/1">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>
<div class="btn-group wabe-12-1-blue" data-channel="/2/multitoggle/5/6">
<div class="btn-group wabe-12-1-blue" data-channel="/1/wabe9/1/2">
<button class="btn btn-success">on</button>
<button class="btn btn-danger">off</button>
</div>

View File

@ -0,0 +1,36 @@
{
"/1/wabe1/1/1":1,
"/1/wabe1/2/1":2,
"/1/wabe1/1/2":3,
"/1/wabe2/1/1":4,
"/1/wabe2/2/1":5,
"/1/wabe2/1/2":6,
"/1/wabe3/1/1":7,
"/1/wabe3/2/1":8,
"/1/wabe3/1/2":9,
"/1/wabe4/1/1":10,
"/1/wabe4/2/1":11,
"/1/wabe4/1/2":12,
"/1/wabe5/1/1":13,
"/1/wabe5/2/1":14,
"/1/wabe5/1/2":15,
"/1/wabe6/1/1":16,
"/1/wabe6/2/1":17,
"/1/wabe6/1/2":18,
"/1/wabe7/1/1":19,
"/1/wabe7/2/1":20,
"/1/wabe7/1/2":21,
"/1/wabe8/1/1":22,
"/1/wabe8/2/1":23,
"/1/wabe8/1/2":24,
"/1/wabe9/1/1":25,
"/1/wabe9/2/1":26,
"/1/wabe9/1/2":27,
"/1/lamp1":28,
"/1/lamp2":29,
"/1/lamp3":30,
"/1/halogen1":31,
"/1/halogen2":32,
"/1/voucher1":33,
"/1/voucher2":34
}

View File

@ -0,0 +1,2 @@
{
}

BIN
nodeartnet/ctdo.touchosc Normal file

Binary file not shown.

Binary file not shown.

16
nodeartnet/states.json Normal file
View File

@ -0,0 +1,16 @@
{
"/1/rgb1/1": 0,
"/1/rgb2/2": 0,
"/1/rgb3/3": 0,
"/1/wabe4/1/1": 1,
"/1/wabe2/1/1": 1,
"/1/rgb1/2": 0,
"/1/rgb1/3": 0,
"/1/rgb2/1": 0,
"/1/rgb2/3": 0,
"/1/rgb3/1": 0,
"/1/rgb3/2": 0,
"/1/rgb4/1": 0,
"/1/rgb4/2": 0,
"/1/rgb4/3": 0
}