|
|---|
指定したグループを許可します。つまり、そのグループを再生可能な状態にします。 |
このコマンドはon noteコールバックとon releaseコールバックでのみ使用できます。
グループインデックスの番号は0から始まります。つまり、Instrumentの最初のグループのインデックスは0です。
グループの許可状態を変更できるのは、そのボイスが動作していないときだけです。
on note
disallow_group($ALL_GROUPS)
allow_group(0)
end on
最初のグループだけが再生されます。
イベントとMIDI: $ALL_GROUPS, $EVENT_PAR_ALLOW_GROUP
|
|---|
指定したグループを不許可にします。つまり、そのグループを再生できない状態にします。 |
このコマンドはon noteコールバックとon releaseコールバックでのみ使用できます。
グループインデックスの番号は0から始まります。つまり、Instrumentの最初のグループのインデックスは0です。
グループの不許可状態を変更できるのは、そのボイスが動作していないときだけです。
on init
declare $count
declare ui_menu $groups_menu
add_menu_item($groups_menu, "Play All", -1)
while ($count < $NUM_GROUPS)
add_menu_item($groups_menu, "Mute: " & group_name($count), $count)
inc($count)
end while
end on
on note
if ($groups_menu # -1)
disallow_group($groups_menu)
end if
end on
Instrumentの特定のグループを1つミュートします。
イベントとMIDI: $ALL_GROUPS, $EVENT_PAR_ALLOW_GROUP
|
|---|
指定したグループ名に対応するグループインデックスを返します。 |
指定した名前のグループが見つからない場合、このコマンドは$NI_NOT_FOUNDを返します。
on init
declare $group_idx
end on
on note
$group_idx := get_group_idx("Accordion")
if ($group_idx # $NI_NOT_FOUND)
disallow_group($group_idx)
end if
end on
シンプルですが役に立つスクリプトです。
| |
|---|---|
指定したグループのパージ状態を返します。 0: そのグループはパージされています。 1: そのグループはパージされていません。つまり、サンプルは読み込まれています。 | |
| 状態を確認したいグループのインデックス番号です。 |
on init
declare ui_button $purge
declare ui_button $checkpurge
set_text($purge, "Purge first group")
set_text($checkpurge, "Check purge status")
end on
on ui_control ($purge)
{ 1 - $purge inverts the behaviour of the button, here }
purge_group(0, 1 - $purge)
end on
on ui_control ($checkpurge)
if (get_purge_state(0) = 0)
message(“Group is purged.”)
else
message(“Group is not purged.”)
end if
end on
シンプルなパージ状態の確認です。
|
|---|
指定したグループのグループ名を返します。 |
グループインデックスの番号は0から始まります。つまり、Instrumentの最初のグループのインデックスは0です。
on init
declare $count
declare ui_menu $groups_menu
$count := 0
while ($count < $NUM_GROUPS)
add_menu_item ($groups_menu, group_name($count), $count)
inc($count)
end while
end on
利用可能なすべてのグループを含むメニューを手早く作成します。
on init
declare $count
declare ui_label $label (2, 6)
set_text($label, "")
end on
on note
$count := 0
while ($count < num_elements(%GROUPS_AFFECTED))
add_text_line($label, group_name(%GROUPS_AFFECTED[$count]))
inc($count)
end while
end on
on release
set_text($label, "")
end on
最初の1001個のZone IDの状態を照会します。
イベントとMIDI: $ALL_GROUPS, $NUM_GROUPS
| |
|---|---|
指定したグループのサンプルをパージします(つまり、RAMからアンロードします)。 | |
| パージ対象のサンプルを含むグループのインデックス番号です。 |
| 0に設定した場合、指定したグループのサンプルがアンロードされます。 1に設定した場合、サンプルが再度読み込まれます。 |
purge_group()をwhileループの中で使用するときは、そのループ内でwait()コマンドを使用しないでください。
purge_group()を使用できるのは、on ui_control、on ui_controls、on persistence_changedの各コールバックだけです。
オートメーション可能なコントロールのUIコールバックでは、purge_group()コマンドを使用しないことを推奨します。
purge_group()関数には非同期IDを渡すことができ、on async_completeコールバックで結果を受け取ることができます。
on init
declare $async_id := -1
declare ui_button $purge
set_text($purge,"Purge first group")
end on
on ui_control ($purge)
$async_id := purge_group(0, abs($purge - 1))
end on
on async_complete
if ($NI_ASYNC_ID = $async_id)
if (get_purge_state(0) = 0)
message("Group is purged")
else
message("Group is not purged")
end if
end if
end on
最初のグループのサンプルをすべてアンロードします。
参照元情報:Group Commands
https://docs.native-instruments.com/online-guides/ksp-manual/en/group-commands