2017-05-21 15 views
0

私はMaxについて全く新しく、配列とJavascriptパラメータの使い方を理解するのに苦労しています。配列を含むjsオブジェクトに2つのパラメータを渡すにはどうすればよいですか?

私は配列を出力1つの作業のjsオブジェクトがあります。

var inlets = 1; 
var outlets = 1; 

function getRandomChordProgression() 
{  
    outlet(0, [1,4,5]); 
    return [1,4,5]; 
} 

をし、後で、私は配列と整数を受け取り、別のjsオブジェクトでその配列を使用したい:

var inlets = 2; 
var outlets = 1; 

function getCurrentChord(chords, barNumber) 
{ 
    var chord = chords[barNumber % 3]; 
    outlet(0, chord); 
    return chord; 
} 

私は以下を試しましたが、jsは未定義の入力を受け取ります。

enter image description here

答えて

0

注意すべき最初の事はマックスMSPでは、単一のシンボルにリストを割り当てるために、あなたは「tosymbol」オブジェクトを使用する必要があるということです。たとえリストが効果的にMax Mspの単次元配列とみなされても、JavaScriptによって理解されるためには、最初に変換する必要があります。リストがシンボルに変換されると、数値ボックスから来る整数と結合し、getCurrentChordメッセージでパックし、getCurrentChord.jsオブジェクトに送り込むことができます。

Screenshot of Max-Msp patch using "tosymbol" object

あなたは、スペースを、配列内のシンボルにすべての文字をリストに変換するなどのことで、アレイの一部として見られていることがわかります。あなたの例を使用すると、3つの整数で構成される配列は、0から4までの5つの位置を占有します。この作業を行うには、2番目の.jsスクリプトの中で、モジュロ演算子を最大にするために5に設定する必要があります残りの4です。つまり、数値ボックスを1または3に設定すると、空の出力が得られます。したがって、必要な値だけを取得するために、入力または出力を解析する方法と、解析するかどうかを決定する必要があります。

var inlets = 2; 
 
var outlets = 1; 
 

 
function getCurrentChord(chords, barNumber) 
 
{ \t 
 
\t var chord = chords[barNumber % 5]; 
 
\t outlet(0, chord); 
 
}

役に立てば幸い!

関連する問題