How to make visible the name of the pasted tune scale in preset menu?
![victor6336](https://s.gravatar.com/avatar/71c65a306de4bc088e9b988118c0f783?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fkh.png)
victor6336
Member Posts: 1 Member
Hi,
I modified the script, so it is possible to store Key position in Preset and show the name of the chosen tuning scale. But the name of tune scale doesn't show after copy-paste procedure. I tried different ways, my attempts were in vain.
How to make visible the name of the pasted tune scale in preset menu?
{*********************************************** Kontakt 4 Factory Library - Microtuning Author : Native Instruments Written by: Josef Natterer, Nicki Marinic Modified: September 11, 2009 *************************************************} on init set_script_title("Microtuning") message("") declare const $ECO_MODE := 0 declare const $TUNE_RANGE := 50 declare $a declare $b declare %preset_store[288*288] make_persistent(%preset_store) declare %preset_store_key_knob[288*288] make_persistent(%preset_store_key_knob) declare %preset_store_menu[24*24] make_persistent(%preset_store_menu) declare %tune_factory[12*12]:= (... 0,-29, 4, 16,-14, -2,-31, 2, 14,-16, 18,-12, {Pure } ... 0, 5, 4, -2,-14,-29,-49, 2, 41, 6,-31,-12, {Overtone 16-32}... 0, 14, 4, -5, 8, -2, 12, 2, 16, 6, 4, 10, {Pythagorean }... 0,-10, 4, -6, 8, -2, 0, 2, -8, 6, -4, 10, {Pythagorean Middle}... 0, 14, 4, 18, 8, 22, 12, 2, 16, 6, 20, 10, {Pythagorean Up}... 0,-24, -7, 10, -14, 3,-21, -3,-27,-10, 7,-17, {Mean Tone 1/4}... 0, 8, 3, 5, -7, 2,-10, -2, 7, -5, 3, -8, {Silbermann }... 0,-10, -8, -6,-10, -2,-12, -4, -8,-12, -4, -8, {Werckmeister III}... 0,-10, -7, -6,-14, -2,-12, -3, -8,-10, -4,-12, {Kirnberger III}... 0, -6, -4, -4, -8, -2, -8, -2, -4, -6, -4, -8, {Neidhardt I}... 0, -6, -4, -2, -8, 2, -8, -2, -4, -6, 0,-10, {Valotti } ... 0,-10, -4, -6, -8, -2,-12, -2, -8, -6, -4, -8) {Young 1 / 6 pC } declare %helper_tune[12] make_persistent(%helper_tune) {--------UI Elements--------} declare ui_knob $key_knob(0,11,1) make_persistent($key_knob) set_control_help ($key_knob,"Key: Sets the first scale degree.") _read_persistent_var($key_knob) declare ui_label $label (4,1) {set_text ($label, " C Db D Eb E F Gb G Ab A Bb B")} declare !key_label[12] !key_label[0] := " C " !key_label[1] := " Db " !key_label[2] := " D " !key_label[3] := " Eb " !key_label[4] := " E " !key_label[5] := " F " !key_label[6] := " Gb " !key_label[7] := " G " !key_label[8] := " Ab " !key_label[9] := " A " !key_label[10] := " Bb " !key_label[11] := " B " set_text ($label,!key_label[(0+$key_knob) mod 12]&""&... !key_label[(1+$key_knob) mod 12]&""&... !key_label[(2+$key_knob) mod 12]&""&... !key_label[(3+$key_knob) mod 12]&""&... !key_label[(4+$key_knob) mod 12]&""&... !key_label[(5+$key_knob) mod 12]&""&... !key_label[(6+$key_knob) mod 12]&""&... !key_label[(7+$key_knob) mod 12]&""&... !key_label[(8+$key_knob) mod 12]&""&... !key_label[(9+$key_knob) mod 12]&""&... !key_label[(10+$key_knob) mod 12]&""&... !key_label[(11+$key_knob) mod 12]) set_knob_label($key_knob,!key_label[(0+$key_knob) mod 12]) set_text($key_knob,"Key") _read_persistent_var(!key_label) declare ui_table %tune_ui[12](4,5,-$TUNE_RANGE) make_persistent (%tune_ui) set_control_help (%tune_ui,"Tuning Table: Adjust the detuning for each of the twelve notes.") declare ui_knob $Preset (1,12,1) make_persistent ($Preset) set_control_help ($Preset,"Preset: Selects a tuning preset. Every change made to the tuning table is immediately written into the current preset location.") declare ui_menu $preset_menu add_menu_item($preset_menu,"Edit ...",100) add_menu_item($preset_menu,"--------",99) add_menu_item($preset_menu,"Copy Tuning",0) add_menu_item($preset_menu,"Paste Tuning",1) add_menu_item($preset_menu,"Clear Tuning",2) add_menu_item($preset_menu,"----",99) add_menu_item($preset_menu,"Copy curr. Tuning to all Presets",3) add_menu_item($preset_menu,"-------------",99) add_menu_item($preset_menu,"Pure",4) add_menu_item($preset_menu,"Overtone 16-32",5) add_menu_item($preset_menu,"Pythagorean",6) add_menu_item($preset_menu,"Pythagorean Middle",7) add_menu_item($preset_menu,"Pythagorean Up",8) add_menu_item($preset_menu,"Mean Tone 1/4",9) add_menu_item($preset_menu,"Silbermann",10) add_menu_item($preset_menu,"Werkmeister III",11) add_menu_item($preset_menu,"Kirnberger III",12) add_menu_item($preset_menu,"Neidhardt I",13) add_menu_item($preset_menu,"Valotti",14) add_menu_item($preset_menu,"Young 1/6 pC",15) set_control_help ($preset_menu,"Edit Menu: Choose edit commands and/or factory preset tunings.") declare ui_knob $Amount (0,100,1) $Amount := 100 set_knob_unit($Amount,$KNOB_UNIT_PERCENT) make_persistent($Amount) declare $helper_tune set_control_help ($Amount,"Amount: Adjusts the amount of the tuning. When set to 100%, each note is tuned to the cent value specified with the table. When set to 0%, no tuning is applied.") {---------Layout---------} move_control ($Key_knob, 6,2) move_control ($label, 2,1) move_control (%tune_ui, 2,2) move_control ($Preset, 1,3) move_control ($Preset_menu, 1,5) move_control ($Amount, 6,4) end on on note if ($ECO_MODE = 1) $helper_tune := (%tune_ui[($EVENT_NOTE + 12 - $key_knob) mod 12]*1000*$Amount)/100 change_tune($EVENT_ID,$helper_tune,0) else while($NOTE_HELD= 1) $helper_tune := (%tune_ui[($EVENT_NOTE + 12 - $key_knob) mod 12]*1000*$Amount)/100 change_tune($EVENT_ID,$helper_tune,0) wait(15000) end while end if end on on ui_control(%tune_ui) $a := 0 while($a < 12) %preset_store[($Preset-1)*12+$a] := %tune_ui[$a] {righ code} %preset_store_key_knob[(($Preset-1)*12+$a)+%tune_ui[$a]]:= $key_knob set_text ($label,!key_label[(0+$key_knob) mod 12]&""&... !key_label[(1+$key_knob) mod 12]&""&... !key_label[(2+$key_knob) mod 12]&""&... !key_label[(3+$key_knob) mod 12]&""&... !key_label[(4+$key_knob) mod 12]&""&... !key_label[(5+$key_knob) mod 12]&""&... !key_label[(6+$key_knob) mod 12]&""&... !key_label[(7+$key_knob) mod 12]&""&... !key_label[(8+$key_knob) mod 12]&""&... !key_label[(9+$key_knob) mod 12]&""&... !key_label[(10+$key_knob) mod 12]&""&... !key_label[(11+$key_knob) mod 12]) set_knob_label($key_knob,!key_label[(0+$key_knob) mod 12]) message( "%tune_ui" & %preset_store_key_knob[($Preset-1)*12+$a]) inc($a) end while end on on ui_control ($preset_menu) if ($preset_menu < 99) select($preset_menu) {copy} case 0 $a := 0 while($a < 12) %helper_tune[$a] := %tune_ui[$a] inc($a) end while {paste} case 1 $a := 0 while($a < 12) %tune_ui[$a] := %helper_tune[$a] %preset_store[($Preset-1)*12+$a] := %tune_ui[$a] inc($a) end while case 2 {clear tuning} $a := 0 while($a < 12) %tune_ui[$a] := 0 $key_knob :=0 %preset_store[($Preset-1)*12+$a] := 0 %preset_store_key_knob[($Preset-1)*12+$a] := 0 set_text ($label,!key_label[(0+$key_knob) mod 12]&""&... !key_label[(1+$key_knob) mod 12]&""&... !key_label[(2+$key_knob) mod 12]&""&... !key_label[(3+$key_knob) mod 12]&""&... !key_label[(4+$key_knob) mod 12]&""&... !key_label[(5+$key_knob) mod 12]&""&... !key_label[(6+$key_knob) mod 12]&""&... !key_label[(7+$key_knob) mod 12]&""&... !key_label[(8+$key_knob) mod 12]&""&... !key_label[(9+$key_knob) mod 12]&""&... !key_label[(10+$key_knob) mod 12]&""&... !key_label[(11+$key_knob) mod 12]) set_knob_label($key_knob,!key_label[(0+$key_knob) mod 12]) inc($a) end while case 3 {Copy curr tuning to all presets} $b := 0 while($b < 12) $a := 0 while($a < 12) %preset_store[$b*12+$a] := %tune_ui[$a] %preset_store_key_knob[($b*12+$a)+(%tune_ui[$a])] := $key_knob inc($a) end while inc($b) end while case 4 to 15 {Tuning systems} $a := 0 while($a < 12) %preset_store[($Preset)*12+$a] := %tune_ui[$a] %preset_store_key_knob[($Preset)*12+$a] := $key_knob %tune_ui[$a] := %tune_factory[(($preset_menu-4)*12 + $a)] set_text ($label,!key_label[(0+$key_knob) mod 12]&""&... !key_label[(1+$key_knob) mod 12]&""&... !key_label[(2+$key_knob) mod 12]&""&... !key_label[(3+$key_knob) mod 12]&""&... !key_label[(4+$key_knob) mod 12]&""&... !key_label[(5+$key_knob) mod 12]&""&... !key_label[(6+$key_knob) mod 12]&""&... !key_label[(7+$key_knob) mod 12]&""&... !key_label[(8+$key_knob) mod 12]&""&... !key_label[(9+$key_knob) mod 12]&""&... !key_label[(10+$key_knob) mod 12]&""&... !key_label[(11+$key_knob) mod 12]) set_knob_label($key_knob,!key_label[(0+$key_knob) mod 12]) inc($a) end while end select end if $preset_menu := 100 end on on ui_control ($Preset) $a := 0 while($a < 12) %tune_ui[$a] := %preset_store[($Preset-1)*12+$a] %tune_factory[(($preset_menu-4)*12 + $a)] := %tune_ui[$a] $key_knob:= %preset_store_key_knob[(($Preset-1)*12+$a)+%tune_ui[$a]] message( "$Preset" & $Preset & %tune_ui[$a] & !key_label [$key_knob] & $key_knob) set_text ($label,!key_label[(0+$key_knob) mod 12]&""&... !key_label[(1+$key_knob) mod 12]&""&... !key_label[(2+$key_knob) mod 12]&""&... !key_label[(3+$key_knob) mod 12]&""&... !key_label[(4+$key_knob) mod 12]&""&... !key_label[(5+$key_knob) mod 12]&""&... !key_label[(6+$key_knob) mod 12]&""&... !key_label[(7+$key_knob) mod 12]&""&... !key_label[(8+$key_knob) mod 12]&""&... !key_label[(9+$key_knob) mod 12]&""&... !key_label[(10+$key_knob) mod 12]&""&... !key_label[(11+$key_knob) mod 12]) set_knob_label($key_knob,!key_label[(0+$key_knob) mod 12]) inc($a) end while end on on ui_control ($key_knob) $a := 0 while($a < 12) %preset_store[($Preset-1)*12+$a] := %tune_ui[$a] %preset_store_key_knob[(($Preset-1)*12+$a)+%tune_ui[$a]] := $key_knob set_text ($label,!key_label[(0+$key_knob) mod 12]&""&... !key_label[(1+$key_knob) mod 12]&""&... !key_label[(2+$key_knob) mod 12]&""&... !key_label[(3+$key_knob) mod 12]&""&... !key_label[(4+$key_knob) mod 12]&""&... !key_label[(5+$key_knob) mod 12]&""&... !key_label[(6+$key_knob) mod 12]&""&... !key_label[(7+$key_knob) mod 12]&""&... !key_label[(8+$key_knob) mod 12]&""&... !key_label[(9+$key_knob) mod 12]&""&... !key_label[(10+$key_knob) mod 12]&""&... !key_label[(11+$key_knob) mod 12]) set_knob_label($key_knob,!key_label[(0+$key_knob) mod 12]) message("$key_knob" & $key_knob) inc($a) end while end on
Tagged:
0
This discussion has been closed.
Back To Top
Categories
- All Categories
- 19 Welcome
- 1.4K Hangout
- 60 NI News
- 763 Tech Talks
- 4K Native Access
- 16.3K Komplete
- 2K Komplete General
- 4.3K Komplete Kontrol
- 5.6K Kontakt
- 1.6K Reaktor
- 374 Battery 4
- 833 Guitar Rig & FX
- 424 Massive X & Synths
- 1.2K Other Software & Hardware
- 5.7K Maschine
- 7.2K Traktor
- 7.2K Traktor Software & Hardware
- Check out everything you can do
- Create an account
- See member benefits
- Answer questions
- Ask the community
- See product news
- Connect with creators