2015-10-12 38 views
1

我正在研究一个python脚本来发送OSC消息给MOTU的Cuemix软件。经过多次的讨论后,我终于可以用两种不同的脚本设置高价值和低价值。通过pyOSC查询一个值

这些脚本SND_UP和SND_DOWN:https://github.com/derjur/KnobOSC

这是伟大的,所有的,但这个项目的一点是得到一个旋钮来上下翻了可配置的粒度。但是我需要知道Cuemix旋钮的当前值,以便通过脚本中的相对量来更改它。

TL;博士 - 我需要通过OSC来查询设备的状态,以得到它的当前值...

此外,当我在服务器模式下运行pyosc,我收到此错误种种OSC的地址......(发布与我想修改的控件相关的几千行的一行)。

OSCServer: NoCallbackError on request from NYNAEVE:50106: No callback registered to handle OSC-address '/dev/0/0/mon'

+0

您在Cuemix上的OSC配置上配置了哪些设置? – salgarcia

+0

我能够使用iPad TouchOSC应用程序来控制Cuemix,所以配置没有怀疑。 – derjur

回答

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是学习这些东西的好方法。

+0

非常感谢!我最终购买了一个带有大音量旋钮的外置调音台,但我一定会尽快尝试这个! – derjur