前略
ただいまMixxxというオープンソースのDJソフトウェアでNumarkのNVというコントローラーを動かすためにJavaScriptを書いております。
予めWikiで仕様などを網羅して書いたつもりなのですが、そもそもJavaScriptの仕様を網羅していないため、今回質問させていただきます。
該当のソースコードはGithubにてGPLv2で公開しておりますが、個人的に納得がいっていないのが、
javascript
1NumarkNV = {} 2// ↓ 3function NumarkNV () {} 4NumarkNV()
と一番最初に書いてるのに、Firefoxのスクラッチパッドで実行すると、生成される(確認できる)オブジェクトは一番最後に書かれている
javascript
1 NumarkNV.shiftButton = function (channel, control, value, status, group) { 2 // This function mapping to Shift button 3 if (value === 127) { 4 engine.connectControl(group, key, true) // disconnect callback unshift layer 5 NumarkNV.activeButtons = NumarkNV.shftedButtons 6 engine.connectControl(group, key) // connect callback 7 } else { 8 engin.connectControl(group, key, true) 9 NumarkNV.activeButton = NumarkNV.unShiftedButtons 10 engine.connectControl(group, key) 11 } 12}
だけのようです。
このため、実際にMixxx内でスクリプトを走らせてみても、再生ボタンの機能を実装した以下コードも全く動作しないと言った状態です。
javascript
1NumarkNV.unShiftedButtons.play = function (channel, control, value, status, group) { 2 group = NumarkNV.deck[group] 3 if (value) { 4 engine.setValue('[Channel' + channel + ']', 'play_indicator', !(engine.getValue(group, 'play_indicator'))) 5 } 6}
多分というより、絶対に僕がプロトタイプベースオブジェクト指向を理解していないから、他の関数オブジェクト、もとい__NumarkNV__オブジェクト も生成されていないのだろうなと思っているのですが。
該当のソースコードの全貌は非常に読みづらいかと思いますが、ご教授していただければ幸いです。
P.S.
XMLへの割当は行って実行しました。結果、動かない。という状態です。
回答2件
あなたの回答
tips
プレビュー