[英]Calling a function after another function is called
我正在使用基於Python的API編程用於Ableton Live 8的控制器。 在我的代碼中,我使用API中提供的方法來監視屬性值的更改,並在值更改時調用函數。 我的目標是在注意到值變化時更改剪輯的顏色。
我的代碼已經完成,並且可以正確編譯。 從Ableton的日志中:
742234 ms. RemoteScriptError: RuntimeError
742234 ms. RemoteScriptError: :
742234 ms. RemoteScriptError: Changes cannot be triggered by notifications
742234 ms. RemoteScriptError:
看來這是在通知期間使用內置通知系統對實時設置進行更改的結果。 在收聽功能完成執行之后觸發實際更改。 使用Python可以嗎?
編輯以澄清:
目前我們有
我們需要
我在M4L上做了很多工作,內心都知道這個錯誤:)恐怕您對此無能為力-在我的菜鳥看來,它看起來像是內置的安全機制,所以您無法循環播放(發生了什么變化?改變它!有什么改變了...)。
在M4L中,我使用Javascript任務來分隔步驟(任務幾乎忘記了所有內容),例如
觀察員->某些更改
創建一個反應的任務
task.execute()或task.schedule(time)
也許python線程模塊可以實現類似的功能? 順便說一句,如果您碰巧了解有關_Framework-Tasks的任何信息,請告訴我。
我在嘗試從剪輯停止偵聽器中刪除曲目時遇到了同樣的問題,然后我找到了該線程並遵循了@ user2323980的建議。
在每個Framework類上似乎都有一個“ _tasks”對象(我在ClipSlotComponent和ControlSurface中通過log_message找到它)處理任務之間的並發。 而且使用起來非常簡單:
self._tasks.add(Task.run(func,args))
我在Push和MK2腳本中發現了它的一些用法,這些都是很好的參考。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.