KSPリファレンスマニュアル 6 - ユーザー定義関数(User-defined Functions)

KSPリファレンスマニュアル 6 - ユーザー定義関数(User-defined Functions)

function <function-name>()

<statements>

end function

関数を宣言します。

call <function-name>

あらかじめ宣言しておいた関数を呼び出します。


補足

  • 関数は、呼び出すよりも前に宣言しておく必要があります。

  • 関数を宣言するときと呼び出すときには、空の丸括弧を任意で付けることができます。

  • 関数の引数と戻り値はサポートされていません。ただし、関数を呼び出す前に変数へ代入しておけば、それを関数の引数の代わりとして使うことができます。また、関数の中で使った変数は、当然ながらその後で戻り値のように扱うことができます。この場合は、その意図が分かるようにコードへコメントを追加しておくことをおすすめします。


on init
    declare $root_note := 60

    declare ui_button $button_1
    declare ui_button $button_2
    declare ui_button $button_3
    
    set_text($button_1, "Play C Major")
    set_text($button_2, "Play F# Major")
    set_text($button_3, "Play C7 (b9, #11)")
end on

function func_play_triad()
    play_note($root_note, 100, 0, 300000)
    play_note($root_note + 4, 100, 0, 300000)
    play_note($root_note + 7, 100, 0, 300000)
end function

on ui_control ($button_1)
    $root_note := 60
    call func_play_triad()

    $button_1 := 0
end on

on ui_control ($button_2)
    $root_note := 66
    call func_play_triad()

    $button_2 := 0
end on

on ui_control ($button_3)
    $root_note := 60
    call func_play_triad()

    $root_note := 66
    call func_play_triad()

    $button_3 := 0
end on

ジャズハーモニー101。


参照元情報:User-defined Functions
https://docs.native-instruments.com/online-guides/ksp-manual/en/user-defined-functions