2015-10-12 75 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