11"""Small example OSC server anbd client combined
2- This program listens to serveral addresses and print if there is an input.
2+ This program listens to serveral addresses and print if there is an input.
33It also transmits on a different port at the same time random values to different addresses.
44This can be used to demonstrate concurrent send and recieve over OSC
55"""
66
77import argparse
88import random
99import time
10- import math
1110import threading
1211
1312from pythonosc import udp_client
@@ -22,6 +21,7 @@ def print_fader_handler(unused_addr, args, value):
2221def print_xy_fader_handler (unused_addr , args , value1 , value2 ):
2322 print ("[{0}] ~ {1:0.2f} ~ {2:0.2f}" .format (args [0 ], value2 , value1 ))
2423
24+
2525if __name__ == "__main__" :
2626 parser = argparse .ArgumentParser ()
2727 parser .add_argument ("--serverip" , default = "127.0.0.1" , help = "The ip to listen on" )
@@ -30,24 +30,24 @@ def print_xy_fader_handler(unused_addr, args, value1, value2):
3030 parser .add_argument ("--clientport" , type = int , default = 5006 , help = "The port the OSC Client is listening on" )
3131 args = parser .parse_args ()
3232
33-
34- # listen to addresses and print changes in values
33+ # listen to addresses and print changes in values
3534 dispatcher = Dispatcher ()
3635 dispatcher .map ("/1/push2" , print )
3736 dispatcher .map ("/1/fader1" , print_fader_handler , "Focus" )
3837 dispatcher .map ("/1/fader2" , print_fader_handler , "Zoom" )
3938 dispatcher .map ("/1/xy1" , print_xy_fader_handler , "Pan-Tilt" )
4039 dispatcher .map ("/ping" , print )
4140
42- def start_server (ip , port ):
4341
42+ def start_server (ip , port ):
4443 print ("Starting Server" )
4544 server = osc_server .ThreadingOSCUDPServer (
4645 (ip , port ), dispatcher )
4746 print ("Serving on {}" .format (server .server_address ))
4847 thread = threading .Thread (target = server .serve_forever )
4948 thread .start ()
5049
50+
5151def start_client (ip , port ):
5252 print ("Starting Client" )
5353 client = udp_client .SimpleUDPClient (ip , port )
@@ -57,16 +57,13 @@ def start_client(ip, port):
5757
5858
5959# send random values between 0-1 to the three addresses
60- def random_values (client ):
60+ def random_values (client ):
6161 while True :
6262 for x in range (10 ):
6363 client .send_message ("/1/fader2" , random .random ())
6464 client .send_message ("/1/fader1" , random .random ())
6565 client .send_message ("/1/xy1" , [random .random (), random .random ()])
6666 time .sleep (.5 )
6767
68-
6968start_server (args .serverip , args .serverport )
7069start_client (args .clientip , args .clientport )
71-
72-
0 commit comments