我发现主题OSC message handlers with wildcards几乎与我的主题相同。我希望有一个通用的处理程序,而不是8个地址的8个处理程序。 代码片段显示调度程序1 ... 8以及一般和一个处理程序的调用。
# dispatcher.map("/presets/1", preset_handler_1, preset01)
# dispatcher.map("/presets/2", preset_handler_2, preset02)
# dispatcher.map("/presets/3", preset_handler_3, preset03)
# dispatcher.map("/presets/4", preset_handler_4, preset04)
# dispatcher.map("/presets/5", preset_handler_5, preset05)
# dispatcher.map("/presets/6", preset_handler_6, preset06)
# dispatcher.map("/presets/7", preset_handler_7, preset07)
# dispatcher.map("/presets/8", preset_handler_8, preset08)
dispatcher.map("/presets/*", preset_handler, activePreset)
def preset_handler_8(unused_addr, args, val):
if (val==1):
print (args[0],"active")
activePreset=8
def preset_handler(addr, args, val):
print("phNDLER active")
if (val==1):
PRINT("HANDLER ACTIVE")
preset_num=str(addr[-1])
print (preset_num)
activePreset=preset_num
似乎我只能在我的OSC消息中实现通配符来触发多个处理程序,但反之亦然。 还是有机会在处理程序调用中使用通配符吗? 干杯斯蒂芬
答案 0 :(得分:0)
我想要同样的事情,所以刚刚创建了一个python-osc的拉取请求。试试我的叉子,让我知道它是否适合你: https://github.com/jsheedy/python-osc