我正在使用python脚本向OSU的Cuemix软件发送OSC消息。经过多次讨论之后,我终于能够设置一个高值,并使用两个不同的脚本设置一个低值。
这些脚本是SND_UP和SND_DOWN:https://github.com/derjur/KnobOSC
这很棒,但是这个项目的目的是让旋钮以可配置的粒度上下转动。但我需要知道Cuemix旋钮的当前值,以便在我的脚本中按相对数量更改它。
tl; dr - 我需要通过OSC查询设备的状态以获取其当前值...
此外,当我在服务器模式下运行pyosc时,我收到各种OSC地址的错误...(发布与我想要修改的控件相关的几千行的一行)。
OSCServer: NoCallbackError on request from NYNAEVE:50106: No callback registered to handle OSC-address '/dev/0/0/mon'
答案 0 :(得分:1)
我知道这已经很久了,但这对某些人来说可能会有好处。
使用pyOSC实现接收器时,您需要创建一个函数来处理接收到的值。错误消息显示您没有指定回调处理程序,但正如您可以看到here on the example,您应该执行以下操作:
def default_handler(addr, tags, stuff, source):
print "SERVER: No handler registered for ", addr
return None
def user_callback(path, tags, args, source):
# which user will be determined by path:
# we just throw away all slashes and join together what's left
user = ''.join(path.split("/"))
# tags will contain 'fff'
# args is a OSCMessage with data
# source is where the message came from (in case you need to reply)
print ("Now do something with", user,args[2],args[0],1-args[1])
server.addMsgHandler("default", default_handler)
server.addMsgHandler( "/user/1", user_callback )
server.addMsgHandler( "/user/2", user_callback )
library example是了解这些内容的好方法。