最後までお読みいただきありがとうございます!
この記事が気に入ったらシェアをお願いします。
直ちにコールバックを停止するか、関数を終了する
on note
if (not(in_range($EVENT_NOTE,60,71)))
exit
end if
{from here on, only notes between C3 to B3 will be processed}
end on
コントローラーコールバックでコントローラーイベントを無視する
on controller
if ($CC_NUM = 1)
ignore_controller
set_controller($VCC_MONO_AT,%CC[1])
end if
end on
KONTAKTのステータス行にテキストを表示する
備考
- messageコマンドは、スクリプトのプログラミング中にデバッグやテストに使用するためのものです。 KONTAKTにはステータス行が1つしかないので、ユーザーとのコミュニケーションの一般的な手段として使用すべきではなく、代わりにラベルを使用してください。
- initコールバックの開始時にメッセージ( "")を書くことを習慣にしてください。以前のすべてのメッセージ(スクリプトまたはシステムによる)が削除され、新しいメッセージのみが表示されることを確認できます。
- initコールバックで定義されたメッセージは、APPLYボタンをクリックしてスクリプトを手動で適用した場合にのみ表示されます。これらのメッセージは、計測器がスクリプトを自動的にロードして初期化するときには表示されません。
on note
message("Note " & $EVENT_NOTE & " received at " & ...
$ENGINE_UPTIME & " milliseconds")
end on
特定のノートにノートオフメッセージを送信する
備考
- note_off()はキーを解放するのと同じで、リリース・コールバックとボリューム・エンベロープの解放部分を常に起動します。 note_off()とfade_out()の違いに注意してください。なぜなら、fade_out()は音声レベルで動作するからです
on init
declare polyphonic $new_id
end on
on note
ignore_event($EVENT_ID)
$new_id := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,0)
end on
on release
ignore_event($EVENT_ID)
wait(200000)
note_off($new_id)
end on
play_note(<note-number>,<velocity>,<sample-offset>,<duration>)
MIDIノートを生成する、すなわちノートオンメッセージを生成した後にノートオンメッセージを生成する
備考
・DFDモードでは、サンプルオフセットはそれぞれのゾーンのSample Mod(S.Mod)値に依存します。ゾーンのS.Mod設定より大きいサンプルオフセット値は無視され、サンプルオフセットは適用されません。
・<variable>:= play_note(<note>、<velocity>、<sample-offset>、<duration>)を記述
on note
play_note($EVENT_NOTE+12,$EVENT_VELOCITY,0,-1)
end on
on init
declare $new_id
end on
on controller
if ($CC_NUM = 64)
if (%CC[64] = 127)
$new_id := play_note(60,100,0,0)
else
note_off($new_id)
end if
end if
end on
set_controller(<controller>,<value>)
MIDI CC、ピッチベンドまたはチャンネルの圧力値を送信する
備考
set_controller()は、initコールバック内で使用しないでください。
on note
if ($EVENT_NOTE = 36)
ignore_event($EVENT_ID)
set_controller($VCC_MONO_AT,$EVENT_VELOCITY)
end if
end on
on release
if ($EVENT_NOTE = 36)
ignore_event($EVENT_ID)
set_controller($VCC_MONO_AT,0)
end if
end on
set_rpn(<address>,<value>)
rpnまたはnrpnメッセージを送信する
備考
KONTAKTは外部変調ソースとしてnrpnメッセージのrpnを処理できません。ただし、これらのメッセージを簡単なスクリプト間通信に使用できます。
set_snapshot_type(<type>)
スナップショットが呼び出されたときの5つのスロットすべてのKSPプロセッサの動作を設定します
備考
- このコマンドはグローバルに動作します。つまり、任意のスクリプトスロットに適用できます。
- スナップショットタイプ1では、永続性でないインストゥルメンテーション変数の値が保持されます。
- スナップショットを読み込むと、KONTAKTのオーディオエンジンが常にリセットされます。つまり、オーディオが停止し、すべてのアクティブなイベントが削除されます。
on init
set_snapshot_type(1)
declare ui_knob $knob_1 (0,127,1)
set_text($knob_1,"Knob")
make_persistent($knob_1)
declare ui_button $gui_btn
set_text($gui_btn,"Page 1")
end on
function show_gui
if ($gui_btn = 1) set_control_par(get_ui_id($knob_1),$CONTROL_PAR_HIDE,...
$HIDE_PART_NOTHING)
else
set_control_par(get_ui_id($knob_1),$CONTROL_PAR_HIDE,$HIDE_WHOLE_CONTROL)
end if
end function
on persistence_changed
call show_gui
end on
on ui_control ($gui_btn)
call show_gui
end on
Total:2943 Today:1 Yesterday:0 Now:2