painting-robot-sim/main.py
2025-09-01 15:01:55 +02:00

29 lines
920 B
Python

import turtle
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)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--ip", default="127.0.0.1", help="The ip to listen on")
parser.add_argument("--port", type=int, default=5005, help="The port to listen on")
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)
server = osc_server.ThreadingOSCUDPServer((args.ip, args.port), dispatcher)
print(f"Serving on {server.server_address}")
server.serve_forever()