diff options
Diffstat (limited to 'classes')
-rw-r--r-- | classes/BowelyzerOSCHub.sc | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/classes/BowelyzerOSCHub.sc b/classes/BowelyzerOSCHub.sc deleted file mode 100644 index 9144333..0000000 --- a/classes/BowelyzerOSCHub.sc +++ /dev/null @@ -1,90 +0,0 @@ -BowelyzerOSCHub{ - var <hub, <forward, <synthServer, <local; - - *new{ - arg config; - ^super.new.init(config); - } - - // setup a NetAddr object and return it - *getNetAddr{ - arg server, port; - ^NetAddr.new(server, port); - } - - init{ - arg config; - this.setupNetAddressesFromConfig(config); - this.setupSynthListenersFromConfig(config); - } - - // setup the NetAddresses from configuration - setupNetAddressesFromConfig{ - arg config; - forward = BowelyzerOSCHub.getNetAddr(config.at(\forwardAddress), config.at(\forwardPort)); - hub = BowelyzerOSCHub.getNetAddr(config.at(\hubAddress), config.at(\hubPort)); - synthServer = BowelyzerOSCHub.getNetAddr(config.at(\synthServerAddress), config.at(\synthServerPort)); - local = NetAddr.new("127.0.0.1", NetAddr.langPort); - } - - // setup OSCdef for SynthServerAddress:SynthServerPort - setupSynthListenersFromConfig{ - arg config; - // listen for individual SendReply messages - config.at(\inputs).keysValuesDo({|name, input| - postln("Listening for messages called '/"++name++"' coming from scsynth at "++synthServer.ip++":"++synthServer.port++"."); - this.addSynthListener(name); - }); - } - - // add a listener for a specific Synth (by name) - addSynthListener{ - arg name; - OSCdef.newMatching( - key: name.asSymbol, - func: {|msg, time, addr, recvPort| - this.forwardToNetAddress(msg, time); - }, - path: "/"++name.asString, - srcID: synthServer, - recvPort: hub.port - ); - } - - startSynthListener{ - arg name; - OSCdef(name).enable; - } - - stopSynthListener{ - arg name; - OSCdef(name.asSymbol).disable; - } - - freeSynthListener{ - arg name; - OSCdef(name.asSymbol).free; - } - - //forward a received OSC message to the globally specified forward address - forwardToNetAddress{ - arg msg, time; - var name = msg[0], - amplitude = msg[3], - pitch = msg[4], - hasPitch = msg[5], - onsetDetect = msg[6]; - if(amplitude != 0,{ - local.sendMsg("/indicate", msg[0].asString.replace("/","").asSymbol); - if(forward.isLocal && (forward.port == NetAddr.langPort), { - postln(msg[0]++": amplitude: "++amplitude++"; pitch: "++pitch++"; hasPitch: "++hasPitch++"; onSet: "++onsetDetect); - },{ - forward.sendMsg(name, amplitude, pitch, hasPitch, onsetDetect); - }); - }); - } - - //TODO: add functions to modify OSC listener behavior (what data to send from which channel) - -} - |