我刚刚尝试重现它。它只是间歇性地工作。我跑了
(event-debug-on)
在 REPL 中,让我看到 Overtone 和 SuperCollider 之间的 OSC 通信。
它以两种不同的方式失败,具体取决于我是使用 overtone.core 并连接到外部服务器,还是使用 overtone.live。
使用 overtone.live,我可以很好地分配缓冲区,但是当我运行演示函数时,我得到:
event: [:overtone :osc-msg-received] (:msg {:path "/done", :type-tag "s", :args ("/d_recv")})
event: "/done" (:path "/done" :args ("/d_recv"))
event: [:overtone :osc-msg-received] (:msg {:path "/synced", :type-tag "i", :args (18)})
event: "/synced" (:path "/synced" :args (18))
zombified - calling shutdown handler
event: [:overtone :osc-msg-received] (:msg {:path "/n_go", :type-tag "iiiii", :args (34 7 -1 -1 0)})
event: "/n_go" (:path "/n_go" :args (34 7 -1 -1 0))
event: [:overtone :node-created 34] ({:node #<synth-node[live]: beatboxchad-l394/audition-synth 34>})
...随后是一堆与 Overtone 相关的事件,清理其默认节点和组,例如关闭的一部分。如果您没有从 overtone.live 中获得相同的输出,我会知道我有一些关于 JACK 设置或其他问题的故障排除。
使用连接到外部服务器的 overtone.core,它会间歇性地工作。
当它起作用时,我会收到以下事件:
event: [:overtone :osc-msg-received] (:msg {:path "/d_removed", :type-tag "s", :args ("beatboxchad-l394/audition-synth"), :src-host "localhost.localdomain", :src-port 57110})
event: "/d_removed" (:path "/d_removed" :args ("beatboxchad-l394/audition-synth"))
event: [:overtone :osc-msg-received] (:msg {:path "/done", :type-tag "s", :args ("/d_recv"), :src-host "localhost.localdomain", :src-port 57110})
event: "/done" (:path "/done" :args ("/d_recv"))
event: [:overtone :osc-msg-received] (:msg {:path "/synced", :type-tag "i", :args (71), :src-host "localhost.localdomain", :src-port 57110})
event: "/synced" (:path "/synced" :args (71))
event: [:overtone :osc-msg-received] (:msg {:path "/n_go", :type-tag "iiiii", :args (114 7 -1 -1 0), :src-host "localhost.localdomain", :src-port 57110})
event: "/n_go" (:path "/n_go" :args (114 7 -1 -1 0))
event: [:overtone :node-created 114] ({:node #<synth-node[live]: beatboxchad-l394/audition-synth 114>})
event: [:overtone :osc-msg-received] (:msg {:path "/n_end", :type-tag "iiiii", :args (114 7 -1 -1 0), :src-host "localhost.localdomain", :src-port 57110})
event: "/n_end" (:path "/n_end" :args (114 7 -1 -1 0))
event: [:overtone :node-destroyed 114] ({:node #<synth-node[destroyed]: beatboxchad-l394/audition-synth 114>})
当它失败时,我得到这些:
event: [:overtone :osc-msg-received] (:msg {:path "/d_removed", :type-tag "s", :args ("beatboxchad-l394/audition-synth"), :src-host "localhost.localdomain", :src-port 57110})
event: "/d_removed" (:path "/d_removed" :args ("beatboxchad-l394/audition-synth"))
event: [:overtone :osc-msg-received] (:msg {:path "/done", :type-tag "s", :args ("/d_recv"), :src-host "localhost.localdomain", :src-port 57110})
event: "/done" (:path "/done" :args ("/d_recv"))
event: [:overtone :osc-msg-received] (:msg {:path "/synced", :type-tag "i", :args (72), :src-host "localhost.localdomain", :src-port 57110})
event: "/synced" (:path "/synced" :args (72))
event: [:overtone :osc-msg-received] (:msg {:path "/fail", :type-tag "ss", :args ("/s_new" "duplicate node ID"), :src-host "localhost.localdomain", :src-port 57110})
event: "/fail" (:path "/fail" :args ("/s_new" "duplicate node ID"))
这看起来像是 OSC 与服务器通信的故障——节点 ID 未正确递增的地方。
当你尝试时,你会从事件方面得到什么?