001 ご挨拶。
けいちゃん音工房です。KONTAKT音源を作ってます。この度noteでKONTAKTのスクリプトについてや、お役立ち情報などを書いていこうと思います。
では早速ですが、簡単なスクリプトを。
サンプル3種をキーボード色分け、ラベルに楽器名(サンプル名)を表示できるスクリプトです。
【KSP】
on init
make_perfview
set_ui_height(1)
message("")
declare @1
@1 := "Inst_1" {<-----Enter the Instrumet Name 1}
declare @2
@2 := "Inst_2" {<-----Enter the Instrumet Name 2}
declare @3
@3 := "Inst_3" {<-----Enter the Instrumet Name 3}
declare $range1 := 24 {<----- Enter Inst_1 1st Note Number}
declare $range1_end := 44 {<----- Enter Inst_1 Last Note Number + 1}
declare $range2 := 48 {<----- Enter Inst_2 1sr Note Number}
declare $range2_end := 68 {<----- Enter Inst_2 Last Note Number + 1}
declare $range3 := 72 {<----- Enter Inst 3 Note Number}
declare $range3_end := 92 {<----- Enter Inst_3 Last Note Number + 1}
{Label 1}
declare ui_label $Inst_1(2,1)
set_text($Inst_1,@1)
set_control_par(get_ui_id($Inst_1),$CONTROL_PAR_TEXT_ALIGNMENT,1)
move_control ($Inst_1,1,2)
{Label 2}
declare ui_label $Inst_2(2,1)
set_text($Inst_2,@2)
set_control_par(get_ui_id($Inst_2),$CONTROL_PAR_TEXT_ALIGNMENT,1)
move_control ($Inst_2,3,2)
{Label 3}
declare ui_label $Inst_3(2,1)
set_text($Inst_3,@3)
set_control_par(get_ui_id($Inst_3),$CONTROL_PAR_TEXT_ALIGNMENT,1)
move_control ($Inst_3,5,2)
{Key Color Reset}
declare $count := 0
while ($count < 128)
set_key_color($count,$KEY_COLOR_WHITE)
inc ($count)
end while
{Key Color Set 1}
while ($range1 < $range1_end)
set_key_color($range1,$KEY_COLOR_CYAN)
inc ($range1)
end while
{Key Color Set 2}
while ($range2 < $range2_end)
set_key_color($range2,$KEY_COLOR_ORANGE)
inc ($range2)
end while
{Key Color Set 3}
while ($range3 < $range3_end)
set_key_color($range3,$KEY_COLOR_YELLOW)
inc ($range3)
end while
end on
on note
message($EVENT_NOTE)
end on
【解説】
declare @1
@1 := "Inst_1" {<-----Enter the Instrumet Name 1}
declare @2
@2 := "Inst_2" {<-----Enter the Instrumet Name 2}
declare @3
@3 := "Inst_3" {<-----Enter the Instrumet Name 3}
「" "」内にサンプル名や楽器名を入れてください。
「@」は文字列が入れられる変数です。表示周りで何度も出てくる文字列の場合、これ使うと便利です。
declare $range1 := 24 {<----- Enter Inst_1 1st Note Number}
declare $range1_end := 44 {<----- Enter Inst_1 Last Note Number + 1}
declare $range2 := 48 {<----- Enter Inst_2 1sr Note Number}
declare $range2_end := 68 {<----- Enter Inst_2 Last Note Number + 1}
declare $range3 := 72 {<----- Enter Inst 3 Note Number}
declare $range3_end := 92 {<----- Enter Inst_3 Last Note Number + 1}
現在入っている数字は仮です。マッピングしたサンプルの一番左のノートナンバー、一番右のノートナンバーに1を足したものを入れてください。
ちなみに、
on note
message($EVENT_NOTE)
end on
の文によって、左下に押した鍵盤のノートナンバーが表示されるようになっています。こちらもご活用ください。
最後に
かなり初歩的、シンプルなスクリプトですが、色々なケースで応用できるのでコピペするなどしてご活用ください。
その他のスクリプトの解説はまた今度別の機会に、、、