質問

私は(実際には、ライブまたは最大)マックスのオーディオおよびMIDIアプリケーションを検討していますが、私はJavaで完全に快適だ、そう<のhref =「http://jvaptools.sourceforge.net/scripteffect.html」のrel =「nofollowをnoreferrer」>このようなものも魅力しているようです。誰もがマックスでの経験を持っていますか?それは実際にコードしない人に合わせた、またはされているJavaの、たとえば、まっすぐコードを書くよりもUIはるかに効率的な探して優しい/間抜けな?また、誰もがJavaでVSTプラグインを書いていて、そこに任意の経験を共有することができますか?

役に立ちましたか?

解決

マックスはデータフロー言語です。私は同じ著者によってであるPD、より精通しています。

あなたは文字通り、視覚的サブルーチンの間の接続に従うことができ、それらは通常、それらの間の画面上に線として表示されます -

プログラミングスタイルとしてデータフローの利点は、ほとんどのデータの依存関係が明示されているということです。困難は、レイアウトの二次元ではなく、テキストコードとして一次元であろうあるので操作の順序は、以下の明示的であることである。

私は、今日のSuperColliderの私のオーディオのものの大半を行うが、迅速なオーディオアイデアのスケッチ、作業ラフモデルを構築するため、PDは素晴らしい作品ます。

ビジュアルデータフロー言語でのプログラミングの主な問題は、動作の順序を理解します。それは一つの出口からの複数の接続を作成することが可能であるが、それは、明示的な[トリガー]を作成する最初の実行それらの接続を制御することを目的とすることができ不可欠な時代(出口からのラインは、概念的にサブルーチンコールと同じです)。また、匿名のパラメータに慣れると、経験豊富なプログラマーの難しさがある - 。パッチ適用行は何の名前を持っていないが、彼らはちょうど彼らがから来ているコンセントと彼らはそれらを識別するために接続された入口を持っている。

もう一つのヒントは、カプセル化を使用することです - テキスト形式の言語で、あなたが名前で、外部パッチファイルを読み込むことができライブラリーまたはクラス・ファイル、マックスやPDを持っているでしょう - あなたは、いくつかの店舗と入口を小さなパッチを作成し、そのあなたの他の複数の場所でのパッチではなく、コピー&ペーストから(あなたではなく、コードのブロックをコピーして貼り付けるよりも、関数を呼び出すのと同じように)を使用します。

[送信]および[受信]グローバルデータを取得/設定するためのものであり、グローバルに付属しているすべて同じ問題を抱えて - それらが必要なときに、共通の回避策を現在のサブパッチに固有の一意の識別子、$ 0先頭に追加することですトークンは、オブジェクト名/パラメータの現在のサブパッチのユニークなIDに評価され、そしてこの目的のために使用されています。これは、スコープ変数をシミュレートします。

彼らの周囲のパッチからアイテムのセットを切り離し、独立してそれらを実行することは非常に簡単で、流れの一部のトレースをオンにすると、コンセントに数ボックスを装着するのと同じくらい簡単であるため、データフロー内の

デバッグに優れ、ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top