simple working example
This commit is contained in:
parent
4de088fe98
commit
b02edd109b
16
example-client.pd
Normal file
16
example-client.pd
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#N canvas 155 110 562 769 12;
|
||||||
|
#X obj 95 418 netsend -u -b;
|
||||||
|
#X obj 87 252 oscformat tcp_coordinates;
|
||||||
|
#X msg 233 363 disconnect;
|
||||||
|
#X obj 90 313 list trim;
|
||||||
|
#X obj 89 287 list prepend send;
|
||||||
|
#X msg 307 289 connect localhost 5005;
|
||||||
|
#X obj 325 262 loadbang;
|
||||||
|
#X msg 82 214 242 29 2 0 0 0;
|
||||||
|
#X connect 1 0 4 0;
|
||||||
|
#X connect 2 0 0 0;
|
||||||
|
#X connect 3 0 0 0;
|
||||||
|
#X connect 4 0 3 0;
|
||||||
|
#X connect 5 0 0 0;
|
||||||
|
#X connect 6 0 5 0;
|
||||||
|
#X connect 7 0 1 0;
|
26
main.py
26
main.py
@ -1,16 +1,22 @@
|
|||||||
|
import threading
|
||||||
import turtle
|
import turtle
|
||||||
|
import argparse
|
||||||
from pythonosc import udp_client
|
from pythonosc import udp_client
|
||||||
from pythonosc.dispatcher import Dispatcher
|
from pythonosc.dispatcher import Dispatcher
|
||||||
from pythonosc import osc_server
|
from pythonosc import osc_server
|
||||||
|
|
||||||
def coordinate_handler(unused_addr, args, x, y):
|
t = turtle.Turtle()
|
||||||
turtle.goto(x, y)
|
screen = turtle.Screen()
|
||||||
|
screen.title("Painting robot sim")
|
||||||
def change_pressure(unused_aadr, args, pressure):
|
|
||||||
turtle.pen(pensize=pressure*20)
|
|
||||||
|
|
||||||
|
def coordinate_handler(unused_addr, x, y, z, roll, pitch, yaw):
|
||||||
|
t.pen(pensize=z)
|
||||||
|
if z <= 0:
|
||||||
|
t.penup()
|
||||||
|
else:
|
||||||
|
t.pendown()
|
||||||
|
|
||||||
|
t.goto(x, y)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
@ -19,10 +25,10 @@ if __name__ == "__main__":
|
|||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
dispatcher = Dispatcher()
|
dispatcher = Dispatcher()
|
||||||
dispatcher.map("/filter", print)
|
dispatcher.map("/tcp_coordinates", coordinate_handler)
|
||||||
dispatcher.map("/volume", print_volume_handler, "Volume")
|
|
||||||
dispatcher.map("/logvolume", print_compute_handler, "Log volume", math.log)
|
|
||||||
|
|
||||||
server = osc_server.ThreadingOSCUDPServer((args.ip, args.port), dispatcher)
|
server = osc_server.ThreadingOSCUDPServer((args.ip, args.port), dispatcher)
|
||||||
print(f"Serving on {server.server_address}")
|
print(f"Serving on {server.server_address}")
|
||||||
server.serve_forever()
|
osc_thread = threading.Thread(target = server.serve_forever, daemon=True)
|
||||||
|
osc_thread.start()
|
||||||
|
turtle.done()
|
||||||
|
Loading…
Reference in New Issue
Block a user