From ef67a15967cb121eae8d2cce7185c4068a41837c Mon Sep 17 00:00:00 2001 From: Ben Savage Date: Thu, 22 Jul 2021 22:35:09 +1000 Subject: [PATCH] intital commit --- osc_jem_client.py | 42 ++++++++++++++++++++++++++++++++++++++++++ osc_jem_server.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100755 osc_jem_client.py create mode 100755 osc_jem_server.py diff --git a/osc_jem_client.py b/osc_jem_client.py new file mode 100755 index 0000000..42b869c --- /dev/null +++ b/osc_jem_client.py @@ -0,0 +1,42 @@ +#!/usr/bin/python3 +# Import needed modules from osc4py3 +from osc4py3.as_eventloop import * +from osc4py3 import oscbuildparse +import logging +import argparse + +logging.basicConfig(format='%(asctime)s - %(threadName)s ø %(name)s - ' + '%(levelname)s - %(message)s') +logger = logging.getLogger("osc") +logger.setLevel(logging.DEBUG) +clientname="ledclient" + + +def osc_msg_send(path,struct,data): + msg=oscbuildparse.OSCMessage(path,","+struct,[data]) + osc_send(msg,clientname) + osc_process() + +def play(): + osc_msg_send("/play","i",1) + +def stop(): + osc_msg_send("/stop","i",1) + +def restart(): + stop() + osc_msg_send("/gotomarker","i",1) + play() + +parser = argparse.ArgumentParser(description='OSC controller for LEDs') +parser.add_argument('--server',action='store',default='127.0.0.1:8000') +args=parser.parse_args() + +# Start the system. +osc_startup(logger=logger) + +# Make client channels to send packets. +server_address=args.server.split(':')[0] +server_port=args.server.split(':')[1] +osc_udp_client(server_address,server_port, clientname) + diff --git a/osc_jem_server.py b/osc_jem_server.py new file mode 100755 index 0000000..79c0482 --- /dev/null +++ b/osc_jem_server.py @@ -0,0 +1,45 @@ +#!/usr/bin/python3 +# Import needed modules from osc4py3 +from osc4py3.as_eventloop import * +from osc4py3 import oscbuildparse +from osc4py3.oscmethod import * +import logging +from pprint import pprint + +logging.basicConfig(format='%(asctime)s - %(threadName)s ø %(name)s - ' + '%(levelname)s - %(message)s') +logger = logging.getLogger("osc") +logger.setLevel(logging.ERROR) +clientname="ledserver" + + + +def led_colour(value): + print("Setting colour to {}".format(value)) + +def led_brightness(value): + print("Setting brightness to {}".format(value)) + +def led_state(addr,value): + led=addr.split("/")[6] + pprint(value) + state=['off','on'] + print("Setting LED {} {}".format(led,state[int(value)])) + +# Start the system. +osc_startup(logger=logger) +server_address='127.0.0.1' +server_port='9000' + +osc_udp_server(server_address,server_port, clientname) + +osc_method("/track/2/fx/1/fxparam/1/value",led_colour) +osc_method("/track/2/fx/1/fxparam/2/value",led_brightness) +osc_method("/track/2/fx/1/fxparam/[!12]/value",led_state,argscheme=OSCARG_ADDRESS+OSCARG_DATAUNPACK) + + +finished=False +while not finished: + osc_process() + +