kivy / oscpy

An efficient OSC implementation compatible with python2.7 and 3.5+
MIT License
109 stars 27 forks source link

An example to send and receive a bundle #62

Open sergeLabo opened 3 years ago

sergeLabo commented 3 years ago

It would be useful to have an example about sending/sharing a bundle with a client. I am currently working on how to use a bundle so I can send a list of list, latest being coordinate.

Here is my current progress :

Client:

points = [[1, 2, 3], [4, 5, 6]]

bundle = []

for i, msg in `enumerate(points):
    tag = ('/' + str(i)).encode('utf-8')
    bundle.append([tag, msg])

client.send_bundle(bundle)

Server:

def on_tag(*args):
    print(args)

for i in range(10):
    tag = ('/' + str(i)).encode('utf-8')
    server.bind(tag, on_tag, get_adress=True)

Is it good so far ? Thanks you for your feedback.

tshirtman commented 2 years ago

Really sorry for not answering before. A bundle is a succession of messages, it's up to you to decide if you want to call the same endpoint multiple times with a different list (and maybe a list index to indicate which list it is), or a different end point for each list in the list of list. Here your example would send to a different endpoint, which looks ok to me, but it's just one ways to use bundles.