diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9d110e7..00533dc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,6 +27,8 @@ jobs: sudo apt install wget curl -y curl -s https://api.github.com/repos/sojamo/controlp5/releases/latest | jq -r '.assets[0]["browser_download_url"]' | xargs -L 1 wget -q unzip -d /opt/hostedtoolcache/processing/${{matrix.processing-version}}/x64/modes/java/libraries controlP5* + wget -q https://sojamo.de/libraries/oscP5/download/oscP5-0.9.8.zip + unzip -d /opt/hostedtoolcache/processing/${{matrix.processing-version}}/x64/modes/java/libraries oscP5* curl -s https://api.github.com/repos/ddf/Minim/releases/latest | jq -r '.["zipball_url"]' | xargs -L 1 wget -q unzip -d /opt/hostedtoolcache/processing/${{matrix.processing-version}}/x64/modes/java/libraries v* sudo mv /opt/hostedtoolcache/processing/${{matrix.processing-version}}/x64/modes/java/libraries/ddf-Minim-* /opt/hostedtoolcache/processing/${{matrix.processing-version}}/x64/modes/java/libraries/minim @@ -60,6 +62,8 @@ jobs: sudo apt install wget curl -y curl -s https://api.github.com/repos/sojamo/controlp5/releases/latest | jq -r '.assets[0]["browser_download_url"]' | xargs -L 1 wget -q unzip -d /opt/hostedtoolcache/processing/${{matrix.processing-version}}/x64/modes/java/libraries controlP5* + wget -q https://sojamo.de/libraries/oscP5/download/oscP5-0.9.8.zip + unzip -d /opt/hostedtoolcache/processing/${{matrix.processing-version}}/x64/modes/java/libraries oscP5* curl -s https://api.github.com/repos/ddf/Minim/releases/latest | jq -r '.["zipball_url"]' | xargs -L 1 wget -q unzip -d /opt/hostedtoolcache/processing/${{matrix.processing-version}}/x64/modes/java/libraries v* sudo mv /opt/hostedtoolcache/processing/${{matrix.processing-version}}/x64/modes/java/libraries/ddf-Minim-* /opt/hostedtoolcache/processing/${{matrix.processing-version}}/x64/modes/java/libraries/minim diff --git a/MusicBeam/MusicBeam.pde b/MusicBeam/MusicBeam.pde index 5abaeb2..63e35c6 100644 --- a/MusicBeam/MusicBeam.pde +++ b/MusicBeam/MusicBeam.pde @@ -7,6 +7,8 @@ import java.awt.GraphicsDevice; import controlP5.*; +import oscP5.*; + import ddf.minim.*; import ddf.minim.analysis.*; @@ -20,6 +22,9 @@ Strobe_Effect strobo; ControlP5 cp5; +OscP5 oscP5; +int oscServerPort = 14567; + Minim minim; AudioSource in; @@ -72,6 +77,8 @@ void setup() { colorMode(HSB, 360, 100, 100); initControls(); + + initOscSever(); } @@ -363,3 +370,41 @@ private void initAudioInput() bdFreq = new BeatDetect(in.bufferSize(), in.sampleRate()); bdSound = new BeatDetect(); } + +private void initOscSever() +{ + oscP5 = new OscP5(this, oscServerPort); +} + +void oscEvent(OscMessage theOscMessage) +{ + switch(theOscMessage.addrPattern()) { + case "/random/play": + randomToggle.setState(true); + break; + case "/random/stop": + randomToggle.setState(false); + break; + case "/random/next": + nextRandom(); + break; + case "/random/time": + randomTimeSlider.setValue(theOscMessage.get(0).intValue()); + break; + + case "/beat/delay": + beatDelaySlider.setValue(theOscMessage.get(0).intValue()); + break; + case "/beat/minLevel": + minLevelSlider.setValue(theOscMessage.get(0).intValue()); + break; + +/* + default: + print("### received an unknown osc message."); + print(" addrpattern: "+theOscMessage.addrPattern()); + println(" typetag: "+theOscMessage.typetag()); + break; +*/ + } +}