macOS版 一時停止時と停止時にノートオフを送信、再開時にノートオンを送信
シーケンサクラスにて、ポート(0-5)とチャンネル(0-15)ごとに、すべてのノート(0-127)について、 オン/オフの状態(ベロシティ)を保持する。 演奏の一時停止または停止が指示されたときは、オン状態のすべてのノートについて、ノートオフを送信する。 演奏の再開が指示されたときは、ノートオフを送信したすべてのノートについて、ノートオンを送信する。 このとき、元々ノートオンしたときのベロシティを指定する。
スキップ処理においても、スキップ開始時にノートオフを送信、スキップ完了時にノートオンを送信する。
演奏の一時停止または停止が指示されたとき、音を止めるため、次のメッセージをすべてのチャンネルに送信している。
しかし、これらのメッセージに対応していないMIDI音源がありうるため、一時停止または停止が指示されたとき、 ノートオンを送信した後でノートオフをまだ送信していな状態のノートは、個別にノートオフを送信する。
また演奏を再開するとき、ノートオフを送信したノートについて、再びノートオンを送信することで、 一時停止したときの状態をより正確に再現する。
補足