BrandonSpendlove

Kontakt - Convo Script

Mar 28th, 2014
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.82 KB | None | 0 0
  1. on init
  2.  
  3. make_perfview
  4. set_ui_height (4)
  5.  
  6.  
  7. {here the code for the knobs begins - that control volume on groups eg. mic placements}
  8.  
  9. {groups are indexed, so group one is 0, group two is 1 - and so on. 500000 equals -6dB}
  10.  
  11. message("") { this clears the status line so no error messages will be hidden }
  12. declare const $DefVol := 500000 { default initial volume, you can choose this to be whatever you want }
  13. set_ui_height (4)
  14. declare ui_knob $Volume0(0, 1000000, 1)
  15. make_persistent($Volume0)
  16. set_text($Volume0,"Surround")
  17. $Volume0 := $DefVol
  18. set_knob_defval($Volume0,$DefVol)
  19. move_control_px($volume0,66,2) { you can position this knob wherever you like }
  20. read_persistent_var($Volume0)
  21. set_engine_par($ENGINE_PAR_VOLUME,$Volume0,0,-1,-1)
  22. set_knob_label($Volume0,get_engine_par_disp($ENGINE_PAR_VOLUME,0,-1,-1))
  23. declare ui_knob $Volume1(0, 1000000, 1)
  24. make_persistent($Volume1)
  25. set_text($Volume1,"Out")
  26. $Volume1 := $DefVol
  27. set_knob_defval($Volume1,$DefVol)
  28. move_control_px($Volume1,158,2) { you can position this knob wherever you like }
  29. read_persistent_var($Volume1)
  30. set_engine_par($ENGINE_PAR_VOLUME,$Volume1,1,-1,-1)
  31. set_knob_label($Volume1,get_engine_par_disp($ENGINE_PAR_VOLUME,1,-1,-1))
  32. declare ui_knob $Volume2(0, 1000000, 1)
  33. make_persistent($Volume2)
  34. set_text($Volume2,"Decca")
  35. $Volume2 := $DefVol
  36. set_knob_defval($Volume2,$DefVol)
  37. move_control_px($Volume2,250,2) { you can position this knob wherever you like }
  38. read_persistent_var($Volume2)
  39. set_engine_par($ENGINE_PAR_VOLUME,$Volume2,2,-1,-1)
  40. set_knob_label($Volume2,get_engine_par_disp($ENGINE_PAR_VOLUME,2,-1,-1))
  41. declare ui_knob $Volume3(0, 1000000, 1)
  42. make_persistent($Volume3)
  43. set_text($Volume3,"Close")
  44. $Volume3 := $DefVol
  45. set_knob_defval($Volume3,$DefVol)
  46. move_control_px($Volume3,342,2) { you can position this knob wherever you like }
  47. read_persistent_var($Volume3)
  48. set_engine_par($ENGINE_PAR_VOLUME,$Volume3,3,-1,-1)
  49. set_knob_label($Volume3,get_engine_par_disp($ENGINE_PAR_VOLUME,3,-1,-1))
  50. declare ui_knob $Volume4(0, 1000000, 1)
  51. make_persistent($Volume4)
  52. set_text($Volume4,"Mix S.")
  53. $Volume4 := $DefVol
  54. set_knob_defval($Volume4,$DefVol)
  55. move_control_px($Volume4,433,2) { you can position this knob wherever you like }
  56. read_persistent_var($Volume4)
  57. set_engine_par($ENGINE_PAR_VOLUME,$Volume4,4,-1,-1)
  58. set_knob_label($Volume4,get_engine_par_disp($ENGINE_PAR_VOLUME,4,-1,-1))
  59.  
  60. {Mix buttons}
  61.  
  62. declare ui_button $surroundpower
  63. declare ui_button $outpower
  64. declare ui_button $deccapower
  65. declare ui_button $closepower
  66. declare ui_button $mixpower
  67.  
  68. move_control($surroundpower, 1,3)
  69. move_control($outpower, 2,3)
  70. move_control($deccapower,3,3)
  71. move_control($closepower,4,3)
  72. move_control($mixpower,5,3)
  73.  
  74. set_text($surroundpower, "Surround Off")
  75. set_text($outpower, "Out. Off")
  76. set_text($deccapower, "Decca. Off")
  77. set_text($closepower, "Close. Off")
  78. set_text($mixpower, "Mix. Off")
  79.  
  80. $surroundpower := 0
  81. $outpower := 0
  82. $deccapower := 0
  83. $closepower := 0
  84. $mixpower := 0
  85.  
  86. {AHDSR}
  87.  
  88. declare $count
  89.  
  90. declare ui_knob $Attack (0,1000000,1)
  91. declare ui_knob $Hold (0,1000000,1)
  92. declare ui_knob $Decay (0,1000000,1)
  93. declare ui_knob $Sustain (0,1000000,1)
  94. declare ui_knob $Release (0,1000000,1)
  95.  
  96. set_knob_unit($Attack, $KNOB_UNIT_MS)
  97. set_knob_unit($Hold, $KNOB_UNIT_MS)
  98. set_knob_unit($Decay, $KNOB_UNIT_MS)
  99. set_knob_unit($Sustain, $KNOB_UNIT_DB)
  100. set_knob_unit($Release, $KNOB_UNIT_MS)
  101.  
  102. {AHDSR, Simple and effective Method}
  103.  
  104. declare $ahdsr
  105.  
  106. $ahdsr := 1
  107.  
  108.  
  109. while($ahdsr < $NUM_GROUPS)
  110.  
  111. set_engine_par($ENGINE_PAR_ATTACK,$attack,$ahdsr,0,-1)
  112. set_engine_par($ENGINE_PAR_HOLD,$hold,$ahdsr,0,-1)
  113. set_engine_par($ENGINE_PAR_DECAY,$decay,$ahdsr,0,-1)
  114. set_engine_par($ENGINE_PAR_SUSTAIN,$sustain,$ahdsr,0,-1)
  115. set_engine_par($ENGINE_PAR_RELEASE,$release,$ahdsr,0,-1)
  116.  
  117. inc($ahdsr)
  118.  
  119. end while
  120.  
  121. move_control($Attack, 1,5)
  122. move_control($Hold,2,5)
  123. move_control($Decay,3,5)
  124. move_control($Sustain,4,5)
  125. move_control($Release,5,5)
  126.  
  127. make_persistent($Attack)
  128. make_persistent($Hold)
  129. make_persistent($Decay)
  130. make_persistent($Sustain)
  131. make_persistent($Release)
  132.  
  133. read_persistent_var($Attack)
  134. read_persistent_var($Hold)
  135. read_persistent_var($Decay)
  136. read_persistent_var($Sustain)
  137. read_persistent_var($Release)
  138.  
  139. set_knob_label($Attack, get_engine_par_disp($ENGINE_PAR_ATTACK, 0, find_mod(0,"ENV_AHDSR"), -1))
  140. set_knob_label($Hold, get_engine_par_disp($ENGINE_PAR_HOLD, 0, find_mod(0,"ENV_AHDSR"), -1))
  141. set_knob_label($Decay, get_engine_par_disp($ENGINE_PAR_DECAY, 0, find_mod(0,"ENV_AHDSR"), -1))
  142. set_knob_label($Sustain, get_engine_par_disp($ENGINE_PAR_SUSTAIN, 0, find_mod(0,"ENV_AHDSR"), -1))
  143. set_knob_label($Release, get_engine_par_disp($ENGINE_PAR_RELEASE, 0, find_mod(0,"ENV_AHDSR"), -1))
  144.  
  145. {CONVO REVERB}
  146.  
  147. declare ui_button $reverb
  148. set_text($reverb,"Convo. Off")
  149.  
  150. move_control($reverb,6,7)
  151.  
  152. declare ui_slider $convowet (0,1000000)
  153. declare ui_slider $convodry (0,1000000)
  154. declare ui_slider $convodelay (0,1000000)
  155. declare ui_slider $convoearlyir (0,1000000)
  156. declare ui_slider $convolateir (0,1000000)
  157.  
  158. move_control($convowet, 6,2)
  159. move_control($convodry, 6,3)
  160. move_control($convodelay,6,4)
  161. move_control($convoearlyir,6,5)
  162. move_control($convolateir,6,6)
  163.  
  164. {You can delete these labels if you want!}
  165.  
  166. declare ui_label $ConvInfo (1,1)
  167. set_text($ConvInfo," Conv Settings")
  168.  
  169. move_control($ConvInfo, 6,1)
  170.  
  171. declare ui_label $ahdsrinfo (5,1)
  172. set_text($ahdsrinfo, "------------------------------------------AHDSR-----------------------------------------")
  173.  
  174. move_control($ahdsrinfo, 1,4)
  175.  
  176. end on
  177.  
  178. on ui_control($Volume0)
  179. set_engine_par($ENGINE_PAR_VOLUME,$Volume0,0,-1,-1)
  180. set_knob_label($Volume0,get_engine_par_disp($ENGINE_PAR_VOLUME,0,-1,-1))
  181. end on
  182.  
  183. on ui_control($Volume1)
  184. set_engine_par($ENGINE_PAR_VOLUME,$Volume1,1,-1,-1)
  185. set_knob_label($Volume1,get_engine_par_disp($ENGINE_PAR_VOLUME,1,-1,-1))
  186. end on
  187.  
  188. on ui_control($Volume2)
  189. set_engine_par($ENGINE_PAR_VOLUME,$Volume2,2,-1,-1)
  190. set_knob_label($Volume2,get_engine_par_disp($ENGINE_PAR_VOLUME,2,-1,-1))
  191. end on
  192.  
  193. on ui_control($Volume3)
  194. set_engine_par($ENGINE_PAR_VOLUME,$Volume3,3,-1,-1)
  195. set_knob_label($Volume3,get_engine_par_disp($ENGINE_PAR_VOLUME,3,-1,-1))
  196. end on
  197.  
  198. on ui_control($Volume4)
  199. set_engine_par($ENGINE_PAR_VOLUME,$Volume4,4,-1,-1)
  200. set_knob_label($Volume4,get_engine_par_disp($ENGINE_PAR_VOLUME,4,-1,-1))
  201. end on
  202.  
  203. {MIX Buttons, Purging etc..}
  204.  
  205. on ui_control ($surroundpower)
  206.  
  207. if ($surroundpower = 0)
  208.  
  209. set_text($surroundpower,"Surround Off") {When the button is off, it will say it's off}
  210.  
  211. purge_group(0,0) {Group Index, Mode - Surround Power being the first group, and unloaded if the button is off}
  212.  
  213. else
  214.  
  215. set_text($surroundpower,"Surround On") {When the button is on, it will say it's on!}
  216.  
  217. purge_group(0,1) {Else (if it is on!) then load the samples in group 1}
  218.  
  219. end if
  220.  
  221. end on
  222.  
  223. on ui_control ($outpower)
  224.  
  225. if ($outpower = 0)
  226.  
  227. set_text($outpower, "Out. Off")
  228.  
  229. purge_group(1,0)
  230.  
  231. else
  232.  
  233. set_text($outpower, "Out. On")
  234.  
  235. purge_group(1,1)
  236.  
  237. end if
  238.  
  239. end on
  240.  
  241. on ui_control ($deccapower)
  242.  
  243. if ($deccapower = 0)
  244.  
  245. set_text($deccapower,"Decca. Off")
  246.  
  247. purge_group(2,0)
  248.  
  249. else
  250.  
  251. set_text($deccapower,"Decca. On")
  252.  
  253. purge_group(2,1)
  254.  
  255. end if
  256.  
  257. end on
  258.  
  259. on ui_control ($closepower)
  260.  
  261. if ($closepower = 0)
  262.  
  263. set_text($closepower, "Out. Off")
  264.  
  265. purge_group(3,0)
  266.  
  267. else
  268.  
  269. set_text($closepower, "Close On")
  270.  
  271. purge_group(3,1)
  272.  
  273. end if
  274.  
  275. end on
  276.  
  277. on ui_control ($mixpower)
  278.  
  279. if ($mixpower = 0)
  280.  
  281. set_text($mixpower, "Mix. Off")
  282.  
  283. purge_group(4,0)
  284.  
  285. else
  286.  
  287. set_text($mixpower, "Mix. On")
  288.  
  289. purge_group(4,1)
  290.  
  291. end if
  292.  
  293. end on
  294.  
  295. {AHDSR Workings}
  296.  
  297.  
  298. on ui_control ($Attack)
  299.  
  300. $ahdsr := 0
  301.  
  302. while($ahdsr < $NUM_GROUPS)
  303.  
  304. _set_engine_par($ENGINE_PAR_ATTACK,$Attack,$ahdsr,0,-1)
  305.  
  306. inc($ahdsr)
  307.  
  308. end while
  309.  
  310. set_knob_label($Attack, get_engine_par_disp($ENGINE_PAR_ATTACK, 0, 0, -1))
  311.  
  312. wait(10)
  313.  
  314. set_knob_label($Attack, get_engine_par_disp($ENGINE_PAR_ATTACK, 0, 0, -1))
  315.  
  316. end on
  317.  
  318.  
  319. on ui_control ($Hold)
  320.  
  321. $ahdsr := 0
  322.  
  323. while($ahdsr < $NUM_GROUPS)
  324.  
  325. _set_engine_par($ENGINE_PAR_HOLD,$Hold,$ahdsr,0,-1)
  326.  
  327. inc($ahdsr)
  328.  
  329. end while
  330.  
  331. set_knob_label($Hold, get_engine_par_disp($ENGINE_PAR_HOLD, 0, 0, -1))
  332.  
  333. wait(10)
  334.  
  335. set_knob_label($Hold, get_engine_par_disp($ENGINE_PAR_HOLD, 0, 0, -1))
  336.  
  337. end on
  338.  
  339. on ui_control ($Decay)
  340.  
  341. $ahdsr := 0
  342.  
  343. while($ahdsr < $NUM_GROUPS)
  344.  
  345. _set_engine_par($ENGINE_PAR_DECAY,$Decay,$ahdsr,0,-1)
  346.  
  347. inc($ahdsr)
  348.  
  349. end while
  350.  
  351. set_knob_label($Decay, get_engine_par_disp($ENGINE_PAR_DECAY, 0, 0, -1))
  352.  
  353. wait(10)
  354.  
  355. set_knob_label($Decay, get_engine_par_disp($ENGINE_PAR_DECAY, 0, 0, -1))
  356.  
  357. end on
  358.  
  359. on ui_control ($Sustain)
  360.  
  361. $ahdsr := 0
  362.  
  363. while($ahdsr < $NUM_GROUPS)
  364.  
  365. _set_engine_par($ENGINE_PAR_SUSTAIN,$Sustain,$ahdsr,0,-1)
  366.  
  367. inc($ahdsr)
  368.  
  369. end while
  370.  
  371. set_knob_label($Sustain, get_engine_par_disp($ENGINE_PAR_SUSTAIN, 0, 0, -1))
  372.  
  373. wait(10)
  374.  
  375. set_knob_label($Sustain, get_engine_par_disp($ENGINE_PAR_SUSTAIN, 0, 0, -1))
  376.  
  377. end on
  378.  
  379. on ui_control ($Release)
  380.  
  381. $ahdsr := 0
  382.  
  383. while($ahdsr < $NUM_GROUPS)
  384.  
  385. _set_engine_par($ENGINE_PAR_RELEASE,$Release,$ahdsr,0,-1)
  386.  
  387. inc($ahdsr)
  388.  
  389. end while
  390.  
  391. set_knob_label($Release, get_engine_par_disp($ENGINE_PAR_RELEASE, 0, 0, -1))
  392.  
  393. wait(10)
  394.  
  395. set_knob_label($Release, get_engine_par_disp($ENGINE_PAR_RELEASE, 0, 0, -1))
  396.  
  397. end on
  398.  
  399. {CONVOLUTION REVERB}
  400.  
  401. on ui_control ($reverb)
  402.  
  403. if ($reverb = 0)
  404.  
  405. set_text($reverb, "Convo. Off")
  406.  
  407. set_engine_par($ENGINE_PAR_SEND_EFFECT_BYPASS,1,-1,6,1)
  408.  
  409. else
  410.  
  411. set_text($reverb, "Convo. On")
  412.  
  413. set_engine_par($ENGINE_PAR_SEND_EFFECT_BYPASS,0,-1,6,1)
  414.  
  415. end if
  416.  
  417. end on
  418.  
  419. on ui_control ($convowet)
  420.  
  421. set_engine_par($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN,$convowet,-1,6,1)
  422.  
  423. set_text($ConvInfo," Wet Slider")
  424.  
  425. end on
  426.  
  427. on ui_control ($convodry)
  428.  
  429. set_engine_par($ENGINE_PAR_SEND_EFFECT_DRY_LEVEL,$convodry,-1,6,1)
  430.  
  431. set_text($ConvInfo," Dry Slider")
  432.  
  433. end on
  434.  
  435. on ui_control ($convodelay)
  436.  
  437. set_engine_par($ENGINE_PAR_IRC_PREDELAY,$convodelay,-1,6,1)
  438.  
  439. set_text($ConvInfo," Delay Slider")
  440.  
  441. end on
  442.  
  443. on ui_control ($convoearlyir)
  444.  
  445. set_engine_par($ENGINE_PAR_IRC_LENGTH_RATIO_ER,$convoearlyir,-1,6,1)
  446.  
  447. set_text($ConvInfo," Early Ir")
  448.  
  449. end on
  450.  
  451. on ui_control ($convolateir)
  452.  
  453. set_engine_par($ENGINE_PAR_IRC_LENGTH_RATIO_LR,$convolateir,-1,6,1)
  454.  
  455. set_text($ConvInfo," Late Ir")
  456.  
  457. end on
  458.  
  459. {here begins code for the text, that Kontakt displays when certain notes are pressed down}
  460.  
  461. on note
  462.  
  463. select ($EVENT_NOTE)
  464.  
  465. case 63 {this is just the midi number for the key}
  466.  
  467. message ("Dur3 Eb - G (ori.)")
  468.  
  469. case 62
  470.  
  471. message ("Mol3 D - F (ori.)")
  472.  
  473. case 60
  474.  
  475. message ("Mol3 C - Eb (ori.)")
  476.  
  477. case 58
  478.  
  479. message ("Dur3 Bb - D (Ori.)")
  480.  
  481. case 57
  482.  
  483. message ("Mol3 A - C (Ori.)")
  484.  
  485. case 55
  486.  
  487. message ("Mol3 G - Bb (Ori.)")
  488.  
  489. case 53
  490.  
  491. message ("Dur3 F - A (Ori.)")
  492.  
  493. case 51
  494.  
  495. message ("Dur3 Eb - G (Ori.)")
  496.  
  497. case 50
  498.  
  499. message ("Mol3 D - F (Ori.)")
  500.  
  501. case 64
  502.  
  503. message ("Dur3 E - G#")
  504.  
  505. case 65
  506.  
  507. message ("Dur3 F - A")
  508.  
  509. case 59
  510.  
  511. message ("Mol3 B - D")
  512.  
  513. case 61
  514.  
  515. message ("Mol3 Db - E")
  516.  
  517. case 56
  518.  
  519. message ("Mol3 Ab - B")
  520.  
  521. case 54
  522.  
  523. message ("Mol3 Gb - A")
  524.  
  525. case 52
  526.  
  527. message ("Dur3 E - G#")
  528.  
  529. case 49
  530.  
  531. message ("Mol3 Db - E")
  532.  
  533. case 48
  534.  
  535. message ("Mol3 C - Eb")
  536.  
  537. end select
  538.  
  539. end on
  540.  
  541.  
  542. {here begins code for the text, that Kontakt displays when notes are released}
  543.  
  544. on release
  545.  
  546. message ("Play a note")
  547.  
  548. end on
Advertisement
Add Comment
Please, Sign In to add comment