日別アーカイブ: 2016年5月20日

Deckadance2のMIDIスクリプトファイルを書く(4)

各コールバック関数の役割

Deckadance2のスクリプトにはコールバック関数という関数が4種類用意されており、どの関数の中に記述をするかでスクリプトが機能する条件が変わります。

コールバック関数とは何かと言われると不勉強で正確に説明はできないのですが、【イベントの発生と処理を分離するために使う関数】なのだそうです。Deckadance2のスクリプトは様々な状況に応じて処理を行うので、スクリプトを記述する際に便利になっています。

すべての処理に共通して言えることですが、コールバック関数の中に処理をそのままポンと書いてしまうと無条件で実行されるので、if文などの条件を評価する部分を追加して記述します。

void OnMidiMessageReceived (const string &in name, int status, int data, int value)

この中に処理を書くと何らかのMIDIメッセージを受信した時に実行されます。スクリプトの中でも主力のコールバック関数です。

void OnTimerCallback()

この中に処理を書くと50ミリ秒ごとに自動的に実行されます。コントローラの状況に応じてボタンを光らせる処理などを書くのに使います。

void OnStart()

この中に処理を書くとスクリプト開始時に実行されます。起動時にボタンを光らせる時なんかに使うといいかもしれません。

void OnStop()

この中に処理を書くとスクリプト終了時に実行されます。終了時にボタンを消灯する時なんかに使うといいかもしれません。