昨日書いたスラーをどうするかという問題は、ひとつの解決策が見つかった。
スラー命令が出現したら、直前のノートオフ命令の直前までステップカウントを戻して、ノートオフを無効にするよう操作する。そしてステップカウンタを現在の地点まで巻き戻す。
これを可能にするには、ノートオフを無効にするレジスタを参照する仕組み、あるいはマクロを優先度に応じて複数回展開する仕組みが必要になるが、特に後者であればそれほど難易度も高くないだろう。
そもそも、ポリフォニックでノートごとにオン/オフがカッチリと決められているMIDIチャネルで、文法レベルでスラーを心配する必要はほぼゼロだった。とはいえ、本来であれば、レガートコントロールをいちいち操作しなくても、&をさらっと書くだけでレガートを自動的にいじれるようになることが望ましい。この辺は後で考え直す必要があるかもしれない。
Leave a comment