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 argparse
|
||||
from pythonosc import udp_client
|
||||
from pythonosc.dispatcher import Dispatcher
|
||||
from pythonosc import osc_server
|
||||
|
||||
def coordinate_handler(unused_addr, args, x, y):
|
||||
turtle.goto(x, y)
|
||||
|
||||
def change_pressure(unused_aadr, args, pressure):
|
||||
turtle.pen(pensize=pressure*20)
|
||||
t = turtle.Turtle()
|
||||
screen = turtle.Screen()
|
||||
screen.title("Painting robot sim")
|
||||
|
||||
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__":
|
||||
parser = argparse.ArgumentParser()
|
||||
@ -19,10 +25,10 @@ if __name__ == "__main__":
|
||||
args = parser.parse_args()
|
||||
|
||||
dispatcher = Dispatcher()
|
||||
dispatcher.map("/filter", print)
|
||||
dispatcher.map("/volume", print_volume_handler, "Volume")
|
||||
dispatcher.map("/logvolume", print_compute_handler, "Log volume", math.log)
|
||||
dispatcher.map("/tcp_coordinates", coordinate_handler)
|
||||
|
||||
server = osc_server.ThreadingOSCUDPServer((args.ip, args.port), dispatcher)
|
||||
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