| より大きい。 |
| より小さい。 |
| より大きいか等しい。 |
| より小さいか等しい。 |
| 等しい。 |
| 等しくない。 |
|
|
|
|
|
|
|
|
|
|
|
|---|
continue文です。条件が満たされた場合、現在の繰り返しの残りをスキップします。 |
continue文はwhileループの中でのみ使えます。
on init
declare $i
declare $skipped
$i := 0
while ($i < 5)
inc($i)
if ($i <= 3)
continue
end if
inc($skipped)
end while
message($i & ", " & $skipped)
end on
whileループの最初の3回の繰り返しをスキップします。メッセージは 5, 2 と表示されます。
|
|---|
条件分岐のif文です。 |
on controller
if (in_range($CC_NUM, 0, 127))
message("CC Number: " & $CC_NUM & " - Value: " & %CC[$CC_NUM])
else
if ($CC_NUM = $VCC_PITCH_BEND)
message("Pitch Bend - Value: " & %CC[$CC_NUM])
end if
if ($CC_NUM = $VCC_MONO_AT)
message("Channel Pressure - Value: " & %CC[$CC_NUM])
end if
end if
end on
さまざまなMIDIコントローラーメッセージに応じて異なるテキストを表示します。
|
|---|
select-case文です。 |
この文はif文に似ていますが、分岐の数を任意に増やせる点が異なります。selectキーワードの後の式が評価され、個々のcase分岐と照合されます。最初に一致したcase分岐が実行されます。
case分岐は、単一の定数値か、「x to y」という書き方で表した数値の範囲のいずれかで構成できます。
KSPにはelseやdefaultにあたるcase分岐はありませんが、case 08000000H to 07FFFFFFFHを使えば同じことができます。これは32ビット符号付き整数値の全範囲をカバーし、明示的に分岐が指定されていないすべてのケースを実質的に受け止めます。
on controller
if ($CC_NUM = $VCC_PITCH_BEND)
select (%CC[$VCC_PITCH_BEND])
case -8191 to -1
message("Pitch Bend down")
case 0
message("Pitch Bend center")
case 1 to 8191
message("Pitch Bend up")
case 080000000H to 07FFFFFFH
message("We're not sure how you got this Pitch Bend value!")
end select
end if
end on
ピッチベンドホイールの状態を調べます。
|
|---|
whileループです。 |
whileループにカウンターもwait()/wait_ticks()コマンドも含まれていない場合、10,000,000回の繰り返しの後で停止して終了します。
on note
ignore_event($EVENT_ID)
while ($NOTE_HELD = 1)
play_note($EVENT_NOTE, $EVENT_VELOCITY, 0, $DURATION_QUARTER / 2)
wait($DURATION_QUARTER)
end while
end on
押さえたノートを4分音符の間隔で繰り返します。
イベントとMIDI:$NOTE_HELD
参照元情報:Control Statements
https://docs.native-instruments.com/online-guides/ksp-manual/en/control-statements