変数の利用

マクロやショーのコマンドライン入力で、変数を使用することができます。

変数は、再利用可能な文字列コンテナです。

変数は、後でコマンドラインやマクロで再利用するために、テキストの語句を保存しておくためのものです。これは、アトリビュートに対するプリセットと似ています。

 

SetVar

変数は、SetVar キーワード$ (ドル) を用いて定義します。

SetVar $nameofvariable="変数内容"

変数がコマンドラインで参照されるときはいつでも、その内容で置き換えられます。

変数には、名前などの文字列を含めることができます。その場合、引用符で囲んでください。grandMA2 はそれをテキスト文字列として解釈し、また名前に空白を含めることができます。

引用符で囲まない場合、テキストはコマンドとして解釈されます。

例えば、This is Us を含む変数を作成しようとして、以下のように入力したとします。

[Channel]> SetVar $song_name = This is us

すると grandMA2 は、"This" というテキストを含む変数の定義と、InviteStation User というコマンドとして解釈します。

[time] : Executing : SetVar $song_name = This InviteStation User

これは意図していたものではなく、また有効なコマンドでもありません。

引用符を忘れないでください。

変数には、数値を入れることもできます。数値として変数を作成し場合、整数または固定小数点数(小数点以下6桁)として定義されます。数値が固定小数点数になった場合、それを整数に戻すことはできません。少し技術的な計算を行ったとしても、大抵の場合は心配いりません。

以下は、キューリストで変数を使用する例です。マクロで変数を使用する他の例については、マクロの例 を参照してください。

歌曲の照明をプログラムする一般的な方法は、基本部分と各歌詞やコーラスの主要な変化のキューでシーケンスを作成し、そこに CMD 列を用いて別のチェイサーのオン/オフを加えることです。

トリガーしたいチェイサーが一つだけの場合、通常、以下のような簡単な構文で行えます。

変数を用いると、複数のチェイサーのトリガーを簡単に管理できます。

[Channel]> SetVar $chorus_Chasers="Executor 201 + 204 + 205"
[time] : Executing : SetVar $chorus_Chasers="Executor 201 + 204 + 205"
[Channel]> Go $chorus_Chasers
[time] : Executing : Go Executor 201 + 204 + 205
ヒント
卓は、有効なコマンドのみを処理します。エクゼキュータが存在しない場合、コマンドは処理されることはなく、最後の行は表示されません。

SetUserVar

SetVar キーワードと同様に、SetUserVar キーワード もあります。

違いは、SetVar で定義された変数はすべてのユーザに対するグローバルなもので、SetUserVar で定義された変数は現在のユーザのみに適用されるということだけです。

 


ListVar と ListUserVar

ListVar や ListUserVar キーワードによって、現在の変数とそれらの内容を Command Line Feedback ウィンドウ に一覧表示できます。

[Channel]> ListVar
[time] : Global : $CHORUS_CHASERS = Executor 201 + 204 + 205

ListVar は、ユーザ変数とグローバル変数の両方を表示します。ListUserVar は、現在のユーザに対する変数だけを表示します。

変数が大文字で保存されていることに注目してください。grandMA2 では、$thisISgreat と $thisisGREAT という二つの変数は区別されず、$THISISGREAT になります。

定義済み変数

ListVar コマンドを実行すると、すべての変数が一覧表示されます。grandMA2 には、自動的に更新される多くの定義済みの変数があります。

それらのうち最も有用な変数として、以下のものがあります。

$SELECTEDEXEC:
現在選択中のエクゼキュータの番号です。

$SELECTEDEXECCUE:
選択中エクゼキュータで現在アクティブなキューです。

$FADERPAGE:
エクゼキュータ・フェーダのページ番号です。

$BUTTONPAGE:
フェーダなしのエクゼキュータに対するページ番号です。

$SHOWFILE:
ショーの名前です。

$USER:
現在ログイン中のユーザです。

 

これらは、"Global" として一覧表示されていますが、実際には、いくつかはユーザ変数です。同じセッションにいる2人の異なるユーザにとって、これらのいくつかは同じ結果になりません。例えば、$USER は異なり、そのページや選択しているエクゼキュータも異なるでしょう。


変数の加算/拡張

AddVarAddUserVar という二つのコマンドによって、変数に対する加算や拡張を行えます。

数値として計算したり、テキストや数値にテキストを追加したりできます(数値をテキストに変換)。

以下の構文が可能です。

AddVar $variable = 数値

AddVar $variable = "文字列"

AddVar $variable = $variable

AddVar と AddUserVar の違いは、前者がグローバル変数に、後者が現在のユーザ変数に用いられることだけです。

対象となる変数は、AddVar/AddUserVar を用いる前に存在している必要があります。

数値の加算:

SetVar $my_number = 1

AddVar $my_number = 1

変数 $my_number は、数値の 2 になります。

 

文字列の連結:

SetVar $my_executor = "Executor 10"

AddVar $my_executor = " + 11"

変数 $my_executor は、文字列 Executor 10 + 11 になります。

 

変数の連結:

SetVar $date_time = $DATE

AddVar $date_time = "_"

AddVar $date_time = $TIME

これを行った場合、$date_time の結果はテキストになります。12.8.2016_12h31m37.963s というように、分かりやすくするため、日付と時刻の間にアンダースコアを追加しています。

 

数値に文字列を追加:

SetVar $num_text = 23

AddVar $num_text = " bananas"

結果は文字列に変換されて 23 bananas になります。

 

文字列に文字列を追加:

SetVar $text_num = "The answer is "

AddVar $text_num = 42

結果は文字列に変換されて The answer is 42 になります。

 

より実用的な例については マクロの例 を参照してください。