Случайный адрес OSC pyOSC

Я получаю сигналы OSC от kinect и запускаю сервер, использующий pyOSC для прослушивания сообщений, содержащих совместные координаты.

Адрес отправляемого сигнала включает целое число фиксированной длины, которое является случайным идентификатором отслеживания тела; изменения для каждого отслеживаемого тела.

Как я могу разместить это в адресе OSC, формат адреса:

/тело/{телоID}/...

Сервер отвечает с ошибками, потому что он не может распознать адрес сообщения OSC, потому что я не знаю bodyID заранее

Любая помощь?


person Alexander    schedule 03.02.2017    source источник
comment
Какое программное обеспечение Kinect вы используете? Это KinectV2-OSC?   -  person Charles Martin    schedule 26.02.2017


Ответы (1)


Вы можете определить обработчик сообщений по умолчанию:

def handle_message(self, address, tags, contents, source):
    # do some stuff with the "address" parameter.

server = OSC.OSCServer(('localhost',8000))
server.addMsgHandler('default', handle_message)

Функция handle_message должна запускаться каждый раз, когда OSCServer получает сообщение, и тогда вы можете разобрать адрес там.

Эта функциональность немного скрыта в OSC.py, но я думаю, что она работает!

person Charles Martin    schedule 26.02.2017