Gen の共通オペレータ

Gen の共通オペレータ

次のGenオペレータは、MaxのGen ファミリーオブジェクト全てに共通するものです。これらは、gen~、jit.gen、jit.pix、jit.gl.pix オブジェクトでオペレータとして使用できます。

比較演算子

  • <, lt : in1 が (正の方向を基準として)in2 より小さい場合には1を、そうでない場合には 0 を返します。
  • >, gt : in1 が (正の方向を基準として)in2 より大きい場合には1を、そうでない場合には 0 を返します。
  • <=, gte : in1 が in2 と等しいか、(正の方向を基準として)in2より大きい場合には1を、そうでない場合には 0 を返します。
  • >p, gtp : in1 が(正の方向を基準として) p より大きい場合に1を、そうでない場合には0を返します。(訳注:原文は p の部分が in2 となっています。)
  • ==, eq : in1 が in2 と等しい場合には1を、そうでない場合には0を返します。
  • ==p, eqp : in1が p と等しい場合には1を、そうでない場合には0を返します。
  • >=p, gtep : in1 が p と等しいか、(正の方向を基準として) p より大きい場合には1を、そうでない場合には 0 を返します。(訳注:原文は 'p' の部分が 'in2' となっています。)
  • <=, lte : in1 が in2 と等しいか、(正の方向を基準として) in2より小さい場合には1を、そうでない場合には 0 を返します。
  • <=p, ltep : in1 が p と等しいか、(正の方向を基準として) p より小さい場合には1を、そうでない場合には 0 を返します。(訳注:原文は 'p' の部分が 'in2' となっています。)
  • <p, ltp : in1 が (正の方向を基準として) p より小さい場合には1を、そうでない場合には 0 を返します。(訳注:原文は 'p' の部分が 'in2' となっています。)
  • max, maximum : 入力された値の中の最大値。
  • min, minimum : 入力された値の中の最小値。
  • !=, neq : in1 が in2 に等しくない場合には 1 を、そうでない場合には 0 を返します。
  • !=p, neqp : in1 が p に等しくない場合には 1 を、そうでない場合には 0 を返します。(訳注:原文は 'p' の部分が 'in2' となっています。)
  • step : GLSLの step 演算子と同様の演算子。in1 < in2 であれば 0を、そうでない場合は 0 を返します。

定数

  • constant : 定数
  • degtorad, DEGTORAD : 定数 π / 180
  • e, E : 定数 e (ネイピア数)
  • f, float : 浮動小数点数の定数、または入力された値を浮動小数点数に変換。
  • halfpi, HALFPI : 定数 π /2
  • i, int : 整数値の定数、または入力された値を整数に変換。
  • invpi, INVPI : 定数 1 / π
  • ln10, LN10 :定数 ln10
  • ln2, LN2 : 定数 ln2
  • log10e, LOG10e : 定数 log10 e
  • log2e, LOG2e : 定数 log2 e
  • pi, PI : 定数 π
  • radtodeg, RADTODEG : 定数 180 / π
  • sqrt1_2, SQRT1_2 : 定数 1 / sqrt(2)
  • sqrt2, SQRT2 :定数 sqrt(2)
  • twopi, TWOPI :定数 2 * π

宣言

  • param, Param : 名前付きのパラメータは gen パッチのホストオブジェクトから変更することができます。最初のアーギュメントでパラメータ名を、2番目のアーギュメントで初期値を指定します。

  • expr : 入力値(in1 in2 in3 等で指定される)の数式を評価します。out1 = ; out2= という形で複数のアウトレットを指定することができます。標準的な数学演算子(+, -, *, / 等)と gen パッチのオペレータが使用できます。

入力・出力

  • in : gen パッチで受け取る入力。
  • out : gen パッチから送信する出力。

論理演算子

  • !, not : 0 を入力すると 1 を、それ以外の値では 0 を返します。
  • &&, and : in1 と in2 の値が共に非0の場合に1 を返します。
  • bool : 非 0 の値では 1を出力し、0はそのまま出力されます。
  • or, || : in1 か in2 のどちらかが 非0 の場合に 1 を返します。
  • ^^, xor : in1 から in2 のどちらか一方だけが 非0 の場合(両方とも 非0 の場合は含まない)に 1 を返します。(訳注:排他的論理和)

数学演算子

  • %, mod : 入力値のモジュロ("第1の入力/第2の入力"を計算したときの剰余)
  • +, add :入力値の加算。
  • -, sub : 入力値の減算。
  • /, div : 入力値の除算。
  • absdiff : 2つの入力の差の絶対値を計算。
  • cartopol : デカルト座標を極座標に変換。角度はラジアンで表されます。
  • *, mul : 入力の乗算。Multiply inputs
  • neg : 入力の符号の反転。
  • poltocar : 極座標の値をデカルト座標に変換。角度はラジアンとして解釈されます。
  • !/, rdiv : 逆の除算(第2の入力を第1の入力で割った値)
  • !%, rmod : 逆のモジュロ (第2の入力を第1の入力で割ったときの剰余)
  • !-, rsub : 逆の減算(第2の入力から第1の入力を引いた値)

数値

  • abs : 負の値を対応する正の値に変換します。(訳注:絶対値)
  • ceil : 入力値をより大きな直近の整数値に切り上げます。(訳注:小数部の切り上げによる整数への変換)
  • floor, trunc : 入力値をより小さな直近の整数値に切り捨てます。(訳注:小数部の切り捨てによる整数への変換)
  • fract : (入力値の)小数部分のみを返します。
  • sign : 入力値が正の場合には 1、 負の場合には -1 を返します。0 の場合には 0 をそのまま返します。

指数・対数

  • exp : 値を指数として ネイピア数 e を累乗します。(x -> eのx乗)
  • exp2 : 値を指数として 2 を累乗します。
  • ln, log : 入力値の自然対数。(訳注:e を底とした入力値の対数)
  • log10 : 10を底とした入力値の対数。(訳注:常用対数)
  • log2 : 2を底とした入力値の対数。
  • pow : in1 を in2 乗します。
  • sqrt : 入力値の平方根。

範囲

  • clamp, clip : 入力値を、指定された min と max の範囲に制限(クランプ)します。範囲の上限と下限の値も含まれます(min と max に指定した値も出力されます)。2つのアーギュメントが与えられた場合、それぞれ min 、max に設定されます。アーギュメントが1つしか与えられない場合、その値は 最大値(max) と見なされますが、最小値は第2インレットから指定します。アーギュメントが全く与えられない場合、min と max はそれぞれ第2インレットと第3インレットで指定します。(デフォルトの値は、それぞれ 0 と 1 です)。
  • fold : 下限値と上限値はアーギュメント、或はインレットから指定することができます。デフォルトの範囲は 0. 〜 1. です。
  • scale : Max オブジェクトの scale や MSP オブジェクトの scale~ と同様なものです。入力は 1) スケールする値、2) 入力の下限値、3) 入力の上限値、4) 出力の下限値、5) 出力の上限値、6) 対数カーブ、になります。デフォルトの下限値と上限値はそれぞれ 0 と 1 で、対数カーブは 1(リニア)になっています。境界値でのクランプは行われません。上限値と下限値を入れ替えると、マッピングは逆になります。
  • wrap : 下限値と上限値はアーギュメント、或はインレットから指定することができます。デフォルトの範囲は 0. 〜 1. です。

ルーティング

  • ?, switch : 第1の入力の論理値によって、第2および第3の入力のどちらかを選択します。in1が非ゼロの場合、in2 を返し、そうでない場合にはin3を返します。アーギュメントが1つ与えられた場合、これが「真」の値になります(そして、右インレットは「偽」の値になります)。アーギュメントが2つ与えられた場合、それぞれ、真と偽の値になります。
  • mix : 入力 a と 入力 b の値を、第3の入力 t に基づいてミックス(線形補間)します。係数 t は 0 (値は a になります)と 1(値は b になります)の範囲で変化させる必要があります。アーギュメントが1つ与えられた場合、これによりミックス(補間)のための係数が指定されます。
  • smoothstep : Smoothstep はコンピュータグラフィクスで一般的に用いられるスカラ補間関数です。この関数は2つの入力値の間を、第3の値(2つの入力値の間の値)に基づいて滑らかに補間します。 Smoothstep 関数の傾き(すなわち、微分)は0で始まり、0で終わります。

三角関数

  • acos : 入力値のアークコサイン(ラジアン単位)
  • acosh : 入力値のアークハイパーボリックコサイン(逆双曲線余弦)
  • asin : 入力値のアークサイン(ラジアン単位)
  • asinh : 入力値のアークハイパーボリックサイン(逆双曲線正弦)
  • atan : 入力値のアークタンジェント(ラジアン単位)
  • atan2 : 座標(in2, in1)への角をラジアンを単位として返します。
  • atanh : 入力値のアークハイパーボリックタンジェント(逆双曲線正接)
  • >cos : 入力値のコサイン(ラジアン単位)
  • cosh : 入力値のハイパーボリックコサイン(双曲線余弦)
  • degrees : ラジアンを"度"に変換
  • hypot : 座標 (in1, in2) へのベクトルの長さを返します。
  • radians : "度"をラジアンに変換
  • sin : 入力値のサイン(ラジアン単位)
  • sinh : 入力値のハイパーボリックサイン(双曲線正弦)
  • tan : 入力値のタンジェント
  • tanh : 入力値のハイパーボリックタンジェント(双曲線正接)

波形

  • noise : 乱数ジェネレータ