作っていくうちに、実はそんなにCubaseなんかのピアノロールと変わらなくなっていっている。 キーボードでノートデータをゼロから打ち込めるという部分に関しては、いくらか試験的に使用してみて、ドラムトラックエディタとピアノロールエディタを統一的に扱えるという利点がある。
GUIソフトウェアの設計は決して難しいものでは無いのだが、やはり膨大な作業量と、直感的ではないコーディングが理由で、時間は多くかかってしまう。
----------------------------------------------------
開発は休むこと無く続けています。次は製品に近い形のβ版になると思います。現段階で、midiomの提案すべき「数値入力エディタ」の、存在価値は確かめられたので、製品版をじっくり作っていきたいと思います。
以下、質問頂いたことに関して言及します。
----------------------------------------------------
・「Cherry(ふみぃ氏)のVCC(バーチャルコントロールチェンジ)は搭載されていないのか?」
midiomでは「プロシージャ」という機能が該当します。VCCと同様に、一連の設定記述(CC、Exclusive)を取りまとめ、ワンコマンドで設定可能で、また、他CCと同様に、コントロールカーブによる連続記述も可能です。
プロシージャは、今後仕様拡張を考えていますが、現在の仕様で恐らくほとんどのことを行えます。
プロシージャを使用する利点として、
「ポイントプレイ(途中再生)」時に、音源状態が正常に再生されます。
単にExclusiveの生データを記述した場合は、midiomの再生エンジンは、各Exclusiveが、どのような設定記述なのかを知るすべがありません。この場合に、音源状態を再現するために曲の頭からすべてのエクスクルーシブメッセージを音源に送信することは、現実的な解決方法ではありません。エクスクルーシブメッセージの送信には適当な間隔を置かなければならないため、ポイントプレイの度に何秒も再生開始を待たなければいけないといった状況が起こる可能性があります。
しかし、この設定記述をプロシージャとして登録することで、midiomは同一のプロシージャが連続記述された場合、再生開始位置の直前のプロシージャ記述のみ、音源に送信すれば良いだけとなるため、すべてのデータを送信する必要は無く、負荷が低くなります。
しかし、GMリセットのような、音源状態をすべて変更してしまいかねない、再生開始時に一度だけ送信すれば良いようなデータは、問題を起こします。
解決方法として、このようなデータは、必ず先頭トラックの最初に配置する必要があります。セットアップトラックという概念は、あくまでもmidiomの上に乗っかった概念になってしまうため、問題が起こるデータも作成できてしまうでしょう。
他のシーケンサでは、再生オプションで設定できるものもあります。
midiomにおいては、すべてのデータが目に見える形で存在するということが重要であるため、このような設定は行いません。
とはいえ、もう少しスマートな解決方法を考えてみたいと思います。
(追記) スマートな問題解決方法が、思いつきました。データ入力者が注意を払う必要はなくなります。
----------------------------------------------------
・自動小節線入力に関して
設計段階から、自由な小節線の入力は考慮していません。私の判断では、その自由度による恩恵よりも、自由に入力できることで生じるリスクのほうが大きいと感じました。
ループに関しても同様の理由です。
その代わりとして、小節繰り返し(セイムミーズ)機能と、フレーズ機能を使っていただきたいところなのですが、この部分に関しても現在仕様変更を考えています。
小節繰り返し機能は使いどころは多いのですが、開始位置が各小節の先頭しか設定できないという部分は使い勝手の悪いものになっています。
そこで、手動小節線の変わりに、ある一連のデータの開始位置を示すマーカーイベントを挿入できるようにし、セイムミーズコマンドにてマーカーを呼び出し対象に設定できるようにします。