Kデスクトップ環境

4.4. 詳しい中身

Artsはすでにコードを配布されています。これにより、次のものが利用できます。

  1. arts のどのモジュールがどのモジュールと相互接続するかを設計するための GUI

  2. (別のプロセスで動作する)シンセサイザ。 相互に接続したシンセサイズモジュールのストラクチャを思いのままに作成して実行することができます。

プロセス1と2はいつも対話しています。実際、プロセス1はプロセス2がないと存在できません。 プロセス2はプロセス1がなくても存在できますが。

GUIでないプログラムartsshellもあります。 これはGUIを使うことなく他のものと同時にシンセサイザでシンセサイズを始めることができます。 よって、KDEがない時でもシンセサイズモジュールを実行することができます。 ただし、もちろんそれを編集できないので楽しみは減ります。

aRts で行われていることは

そして、midisend が基本的にやることは、 midi データを(CORBA によって)シンセサイザに送る別のプロセス(プロセス3)を追加することです。

そういうわけで、私の理想の形は(形式としては)次の通りです。

物理的には(実行する方法としては)、おそらく次のようになると思います。

四角の箱はそれぞれ別のプロセスで、新しいプロセスは好きなようにプラグインすることができます。 例えば、クリックするとmidiイベントが送られる画面上に仮想キーボードを入れたり、など。

次は見ておきたいidlです。

arts.idl: (あまりおもしろくありませんがfor that discussion now). midibus.idl:

   1 interface MidiChannel {
   2     oneway void noteOn(in octet channel, in octet note, in octet volume);
   3     oneway void noteOff(in octet channel, in octet note);
   4 };
   5 
   6 // もちろんまだ完成してません;)。エコーの深さなどのパラメータ、
   7 // midiマッピング、楽器の変更などはどこにあるのか...
   8 // 
   9 //
  10 // いつか完成することを願って。