スキップ制御対応
Playbackメニューに項目を追加。-> Skip Back, Skip Forward
ピッチベンドやCC#11エクスプレッションなどは、再生中に連続変化させることが多く、大量に送信されるMIDIイベントである。 前方スキップの場合、曲先頭から目標時刻までMIDIデータを一括送信すると、ピッチベンドやエクスプレッションのMIDIイベントを 大量に送信することになり、スキップ中の処理待ち時間が長くなってしまう。
そこで一括送信処理中は、次のMIDIイベントについてチャンネルごとにフィルタリングを行い、 一括送信処理終了後に最後のMIDIイベントのみを送信するように制御する。 例えば、チャンネル1でエクスプレッションが10,11,12,...,99,100と連続送信される場合は、最後の100だけ送信する。
ピアノロール移動アニメーション実現のため、スキップ終了時刻まで時刻通知を連続受信することになる。 この間にノートON/OFFの判定と描画を行わないようにするため、シーンオブジェクトにスキップ状態ON/OFFを登録する。
ユーザの操作によって、再生中にユーザの後方/前方へのスキップができるようにする。