0

我正在开发一个简单的程序,其中 Max-msp 通过 OSC 将一些整数发送到 python。我正在为 python 使用 pyOSC 库。现在我可以轻松地打印数字,但我无法对其进行解码并将其用作 python 中的整数(我是菜鸟)。

想法?

import OSC
import time, threading

receive_address = '127.0.0.1', 9000

def printing_handler(addr, tags, stuff, source):
    print "---"
    print "received new osc msg from %s" % OSC.getUrlStr(source)
    print "with addr : %s" % addr
    print "typetags %s" % tags
    print "data %s" % stuff
    print "---"

s = OSC.OSCServer(receive_address) 
s.addMsgHandler("/numero", printing_handler) 

st = threading.Thread( target = s.serve_forever )
st.start()

非常感谢 !

4

2 回答 2

0

目前尚不清楚所有类型/长度stuff是什么,但是,例如,如果type(stuff[0])is already <type 'int'>,那么您可以简单地按原样使用该值。

于 2017-09-24T21:54:38.200 回答
0

stuff是 OSC 消息的参数。您应该能够直接检索它们。假设您要从 Max 发送 3 个整数,您应该能够执行以下操作:

def printing_handler(addr, tags, stuff, source):
    print "---"
    arg1 = stuff[0]
    arg2 = stuff[1]
    arg3 = stuff[2]
    print "received",arg1,arg2,arg3
    print "---"

如果有帮助,您可以尝试使用 pyOSC 示例代码:

于 2017-09-25T09:27:08.947 回答