Kontakt Stereo Bus Compressor CODE

Sampler and Sampling discussion (techniques, tips and tricks, etc.)
Post Reply New Topic
RELATED
PRODUCTS

Post

I have written code to control Kontakt's stereo bus compressor. Everything works, but I don't know how to get the knobs to show the correct text of the setting.

How do I get the text to display:

threshold
compressor ratio
attack time
release time

Any help would be greatly appreciated!

This is the code I have written:

{COMPRESSOR}
declare ui_slider $sli_thresh(0, 1000000)
move_control_px($sli_thresh,38,100)
set_control_par_str(get_ui_id($sli_thresh),$CONTROL_PAR_PICTURE,"knob")
make_persistent($sli_thresh)
set_control_par(get_ui_id($sli_thresh),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)

declare ui_slider $sli_ratio(0, 1000000)
move_control_px($sli_ratio,119,100)
set_control_par_str(get_ui_id($sli_ratio),$CONTROL_PAR_PICTURE,"knob")
make_persistent($sli_ratio)
set_control_par(get_ui_id($sli_ratio),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)

declare ui_slider $sli_compattack (0,1000000)
move_control_px($sli_compattack,38,168)
set_control_par_str(get_ui_id($sli_compattack),$CONTROL_PAR_PICTURE,"knob")
make_persistent($sli_compattack)
set_control_par(get_ui_id($sli_compattack),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)

declare ui_label $lbl_compattack(1, 1)
move_control_px($lbl_compattack, 77, 183)
set_text($lbl_compattack, $sli_compattack & " ms")
set_control_par(get_ui_id($lbl_compattack), $CONTROL_PAR_WIDTH, 60)
hide_part($lbl_compattack, $HIDE_PART_BG) {hides label background}
set_control_par(get_ui_id($lbl_compattack), $CONTROL_PAR_FONT_TYPE, 22)

declare ui_slider $sli_comprelease(0, 1000000)
move_control_px($sli_comprelease,119,168)
set_control_par_str(get_ui_id($sli_comprelease),$CONTROL_PAR_PICTURE,"knob")
make_persistent($sli_comprelease)
set_control_par(get_ui_id($sli_comprelease),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)

declare ui_label $lbl_comprelease(1, 1)
move_control_px($lbl_comprelease, 155, 183)
set_text($lbl_comprelease, $sli_comprelease & " ms")
set_control_par(get_ui_id($lbl_comprelease), $CONTROL_PAR_WIDTH, 60)
hide_part($lbl_comprelease, $HIDE_PART_BG) {hides label background}
set_control_par(get_ui_id($lbl_comprelease), $CONTROL_PAR_FONT_TYPE, 22)

on ui_control($sli_thresh)
set_engine_par($ENGINE_PAR_SCOMP_THRESHOLD,$sli_thresh,-1,3,1)
end on

on ui_control($sli_ratio)
set_engine_par($ENGINE_PAR_SCOMP_RATIO,$sli_ratio,-1,3,1)
end on

on ui_control($sli_compattack)
set_engine_par($ENGINE_PAR_SCOMP_ATTACK,$sli_compattack,-1,3,1)
set_text($lbl_compattack, $sli_compattack & " ms")
end on

on ui_control($sli_comprelease)
set_engine_par($ENGINE_PAR_SCOMP_RELEASE,$sli_comprelease,-1,3,1)
set_text($lbl_comprelease, $sli_comprelease & " ms")
end on

Post

Use get_engine_par_disp().

Post

Thanks EvilDragon...do I just swap out that for what I have in there?

Post

You need to use it in your set_text() commands.

Post

Thanks EvilDragon...

Can you tell me why my text "ms" disappears as soon as I turn a knob in the compression area? For example, when I adjust the ATTACK knob, "ms" vanishes.

on init
make_perfview
set_ui_height_px(284-68)
set_control_par_str($INST_WALLPAPER_ID,$CONTROL_PAR_PICTURE,"skin")
set_control_par($INST_ICON_ID,$CONTROL_PAR_HIDE,$HIDE_WHOLE_CONTROL) {ICON HIDER}
make_perfview
set_ui_height_px(2)
declare $cc_value
declare ui_switch $muteclose
declare ui_switch $mutestage
{declare $count := 0}
declare ui_slider $Close(0, 631000)
move_control_px($Close,505,60)
declare ui_slider $Stage(0, 631000)
move_control_px($Stage,555,60)
declare $i
$Close := get_engine_par($ENGINE_PAR_VOLUME,0,-1,-1)
$Stage := get_engine_par($ENGINE_PAR_VOLUME,1,-1,-1)

{*********************
GUI
*********************}

{STEREO SPREAD KNOB}
declare ui_slider $sli_spread(0, 1000000)
move_control_px($sli_spread,246,168)
set_control_par_str(get_ui_id($sli_spread),$CONTROL_PAR_PICTURE,"knob")
set_control_par(get_ui_id($sli_spread),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
make_persistent($sli_spread)
read_persistent_var($sli_spread)

declare ui_label $lbl_spread(1, 1)
move_control_px($lbl_spread, 283, 183)
set_text($lbl_spread, $sli_spread/10000 & " %") {divided by 10000 to make shorter!}
set_control_par(get_ui_id($lbl_spread), $CONTROL_PAR_WIDTH, 60)
hide_part($lbl_spread, $HIDE_PART_BG) {hides label background}
set_control_par(get_ui_id($lbl_spread), $CONTROL_PAR_FONT_TYPE, 22) {CHANGE FONT}


{SKREAMER KNOB}
declare ui_slider $sli_skreamer(0, 1000000)
move_control_px($sli_skreamer,323,168)
set_control_par_str(get_ui_id($sli_skreamer),$CONTROL_PAR_PICTURE,"knob")
make_persistent($sli_skreamer)
set_control_par(get_ui_id($sli_skreamer),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)

declare ui_label $lbl_skreamer(1, 1)
move_control_px($lbl_skreamer, 362, 183)
set_text($lbl_skreamer, $sli_skreamer/10000 & " %") {divided by 10000 to make shorter!}
set_control_par(get_ui_id($lbl_skreamer), $CONTROL_PAR_WIDTH, 60)
hide_part($lbl_skreamer, $HIDE_PART_BG) {hides label background}
set_control_par(get_ui_id($lbl_skreamer), $CONTROL_PAR_FONT_TYPE, 22) {CHANGE FONT}


{COMPRESSOR}
declare ui_slider $sli_thresh(0, 1000000)
move_control_px($sli_thresh,38,100)
set_control_par_str(get_ui_id($sli_thresh),$CONTROL_PAR_PICTURE,"knob")
make_persistent($sli_thresh)
set_control_par(get_ui_id($sli_thresh),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)

declare ui_label $lbl_thresh(1, 1)
move_control_px($lbl_thresh, 78, 118)
set_text($lbl_thresh, $sli_thresh & " ms")
set_control_par(get_ui_id($lbl_thresh), $CONTROL_PAR_WIDTH, 60)
hide_part($lbl_thresh, $HIDE_PART_BG)
make_persistent($lbl_thresh)
set_control_par(get_ui_id($lbl_thresh), $CONTROL_PAR_FONT_TYPE, 22)

declare ui_slider $sli_ratio(0, 1000000)
move_control_px($sli_ratio,119,100)
set_control_par_str(get_ui_id($sli_ratio),$CONTROL_PAR_PICTURE,"knob")
make_persistent($sli_ratio)
set_control_par(get_ui_id($sli_ratio),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)

declare ui_label $lbl_ratio(1, 1)
move_control_px($lbl_ratio, 161, 118)
set_text($lbl_ratio, $sli_ratio & " ms")
set_control_par(get_ui_id($lbl_ratio), $CONTROL_PAR_WIDTH, 60)
hide_part($lbl_ratio, $HIDE_PART_BG)
set_control_par(get_ui_id($lbl_ratio), $CONTROL_PAR_FONT_TYPE, 22)

declare ui_slider $sli_compattack (0,1000000)
move_control_px($sli_compattack,38,168)
set_control_par_str(get_ui_id($sli_compattack),$CONTROL_PAR_PICTURE,"knob")
make_persistent($sli_compattack)
set_control_par(get_ui_id($sli_compattack),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)

declare ui_label $lbl_compattack(1, 1)
move_control_px($lbl_compattack, 77, 183)
set_text($lbl_compattack, $sli_compattack & " ms")
set_control_par(get_ui_id($lbl_compattack), $CONTROL_PAR_WIDTH, 60)
hide_part($lbl_compattack, $HIDE_PART_BG)
set_control_par(get_ui_id($lbl_compattack), $CONTROL_PAR_FONT_TYPE, 22)

declare ui_slider $sli_comprelease(0, 1000000)
move_control_px($sli_comprelease,119,168)
set_control_par_str(get_ui_id($sli_comprelease),$CONTROL_PAR_PICTURE,"knob")
make_persistent($sli_comprelease)
set_control_par(get_ui_id($sli_comprelease),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)

declare ui_label $lbl_comprelease(1, 1)
move_control_px($lbl_comprelease, 161, 183)
set_text($lbl_comprelease, $sli_comprelease & " ms")
set_control_par(get_ui_id($lbl_comprelease), $CONTROL_PAR_WIDTH, 60)
hide_part($lbl_comprelease, $HIDE_PART_BG)
set_control_par(get_ui_id($lbl_comprelease), $CONTROL_PAR_FONT_TYPE, 22)




{CLOSE AND STAGE}
set_control_par_str(get_ui_id($Close),$CONTROL_PAR_PICTURE,"slider" )
set_control_par_str(get_ui_id($Stage),$CONTROL_PAR_PICTURE,"slider" )
set_control_par_str(get_ui_id($muteclose),$CONTROL_PAR_PICTURE,"switch" )
set_control_par_str(get_ui_id($mutestage),$CONTROL_PAR_PICTURE,"switch" )

set_control_par(get_ui_id($muteclose),$CONTROL_PAR_WIDTH,15)
set_control_par_str(get_ui_id($muteclose),$CONTROL_PAR_TEXT,"")
set_control_par(get_ui_id($muteclose),$CONTROL_PAR_HEIGHT,45/2)
make_persistent($muteclose)
move_control_px($muteclose,507,179)

set_control_par(get_ui_id($mutestage),$CONTROL_PAR_WIDTH,15)
set_control_par_str(get_ui_id($mutestage),$CONTROL_PAR_TEXT,"")
set_control_par(get_ui_id($mutestage),$CONTROL_PAR_HEIGHT,45/2)
make_persistent($mutestage)
move_control_px($mutestage,558,179)

set_control_par(get_ui_id($Close),$CONTROL_PAR_DEFAULT_VALUE,500000)
set_control_par(get_ui_id($Close),$CONTROL_PAR_MOUSE_BEHAVIOUR,-2500)
make_persistent($Close)
set_control_par_str(get_ui_id($Close),$CONTROL_PAR_LABEL,get_engine_par_disp($ENGINE_PAR_VOLUME,0,-1,-1) & " dB")

{declare ui_label $lbl_Close(1, 1)
move_control_px($lbl_Close, 155, 83)
set_text($lbl_Close, $Close/-500000 & " db")
set_control_par(get_ui_id($lbl_Close), $CONTROL_PAR_WIDTH, 60)
hide_part($lbl_Close, $HIDE_PART_BG) hides label background
set_control_par(get_ui_id($lbl_Close), $CONTROL_PAR_FONT_TYPE, 22)}

set_control_par(get_ui_id($Stage),$CONTROL_PAR_DEFAULT_VALUE,500000)
set_control_par(get_ui_id($Stage),$CONTROL_PAR_MOUSE_BEHAVIOUR,-2500)
make_persistent($Stage)
set_control_par_str(get_ui_id($Stage),$CONTROL_PAR_LABEL,get_engine_par_disp($ENGINE_PAR_VOLUME,1,-1,-1) & " dB")
message("")

{EQ}
declare ui_slider $knobEqGain1(0, 1000000)
hide_part($knobEqGain1,$HIDE_PART_BG .or. $HIDE_PART_MOD_LIGHT .or. $HIDE_PART_TITLE .or. $HIDE_PART_VALUE)
set_control_par_str(get_ui_id($knobEqGain1),$CONTROL_PAR_PICTURE,"knob")
move_control_px($knobEqGain1,400,21)
set_control_par(get_ui_id($knobEqGain1),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
$knobEqGain1 := get_engine_par($ENGINE_PAR_VOLUME,0,-2,-1)
make_persistent($knobEqGain1)

declare ui_slider $knobEqGain2(0, 1000000)
hide_part($knobEqGain2,$HIDE_PART_BG .or. $HIDE_PART_MOD_LIGHT .or. $HIDE_PART_TITLE .or. $HIDE_PART_VALUE)
set_control_par_str(get_ui_id($knobEqGain2),$CONTROL_PAR_PICTURE,"knob")
move_control_px($knobEqGain2,400,65)
set_control_par(get_ui_id($knobEqGain2),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
$knobEqGain2 := get_engine_par($ENGINE_PAR_VOLUME,0,-2,-1)
make_persistent($knobEqGain2)

declare ui_slider $knobEqGain3(0, 1000000)
hide_part($knobEqGain3,$HIDE_PART_BG .or. $HIDE_PART_MOD_LIGHT .or. $HIDE_PART_TITLE .or. $HIDE_PART_VALUE)
set_control_par_str(get_ui_id($knobEqGain3),$CONTROL_PAR_PICTURE,"knob")
move_control_px($knobEqGain3,400,107)
set_control_par(get_ui_id($knobEqGain3),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
$knobEqGain3 := get_engine_par($ENGINE_PAR_VOLUME,0,-2,-1)
make_persistent($knobEqGain3)

declare ui_slider $knobEqBW1(0, 1000000)
hide_part($knobEqBW1,$HIDE_PART_BG .or. $HIDE_PART_MOD_LIGHT .or. $HIDE_PART_TITLE .or. $HIDE_PART_VALUE)
set_control_par_str(get_ui_id($knobEqBW1),$CONTROL_PAR_PICTURE,"knob")
move_control_px($knobEqBW1,323,21)
set_control_par(get_ui_id($knobEqBW1),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
$knobEqBW1 := get_engine_par($ENGINE_PAR_VOLUME,0,-2,-1)
make_persistent($knobEqBW1)

declare ui_slider $knobEqBW2(0, 1000000)
hide_part($knobEqBW2,$HIDE_PART_BG .or. $HIDE_PART_MOD_LIGHT .or. $HIDE_PART_TITLE .or. $HIDE_PART_VALUE)
set_control_par_str(get_ui_id($knobEqBW2),$CONTROL_PAR_PICTURE,"knob")
move_control_px($knobEqBW2,323,65)
set_control_par(get_ui_id($knobEqBW2),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
$knobEqBW2 := get_engine_par($ENGINE_PAR_VOLUME,0,-2,-1)
make_persistent($knobEqBW2)

declare ui_slider $knobEqBW3(0, 1000000)
hide_part($knobEqBW3,$HIDE_PART_BG .or. $HIDE_PART_MOD_LIGHT .or. $HIDE_PART_TITLE .or. $HIDE_PART_VALUE)
set_control_par_str(get_ui_id($knobEqBW3),$CONTROL_PAR_PICTURE,"knob")
move_control_px($knobEqBW3,323,107)
set_control_par(get_ui_id($knobEqBW3),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
$knobEqBW3 := get_engine_par($ENGINE_PAR_VOLUME,0,-2,-1)
make_persistent($knobEqBW3)

declare ui_slider $knobEqFREQ1(0, 1000000)
hide_part($knobEqFREQ1,$HIDE_PART_BG .or. $HIDE_PART_MOD_LIGHT .or. $HIDE_PART_TITLE .or. $HIDE_PART_VALUE)
set_control_par_str(get_ui_id($knobEqFREQ1),$CONTROL_PAR_PICTURE,"knob")
move_control_px($knobEqFREQ1,246,21)
set_control_par(get_ui_id($knobEqFREQ1),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
$knobEqFREQ1 := get_engine_par($ENGINE_PAR_VOLUME,0,-2,-1)
make_persistent($knobEqFREQ1)

declare ui_slider $knobEqFREQ2(0, 1000000)
hide_part($knobEqFREQ2,$HIDE_PART_BG .or. $HIDE_PART_MOD_LIGHT .or. $HIDE_PART_TITLE .or. $HIDE_PART_VALUE)
set_control_par_str(get_ui_id($knobEqFREQ2),$CONTROL_PAR_PICTURE,"knob")
move_control_px($knobEqFREQ2,246,65)
set_control_par(get_ui_id($knobEqFREQ2),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
$knobEqFREQ2 := get_engine_par($ENGINE_PAR_VOLUME,0,-2,-1)
make_persistent($knobEqFREQ2)

declare ui_slider $knobEqFREQ3(0, 1000000)
hide_part($knobEqFREQ3,$HIDE_PART_BG .or. $HIDE_PART_MOD_LIGHT .or. $HIDE_PART_TITLE .or. $HIDE_PART_VALUE)
set_control_par_str(get_ui_id($knobEqFREQ3),$CONTROL_PAR_PICTURE,"knob")
move_control_px($knobEqFREQ3,246,107)
set_control_par(get_ui_id($knobEqFREQ3),$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
$knobEqFREQ3 := get_engine_par($ENGINE_PAR_VOLUME,0,-2,-1)
make_persistent($knobEqFREQ3)

end on

{*****************
FUNCTIONS
*****************}

{CLOSE AND STAGE FADERS}

on ui_control($Close)
$i := 0
set_engine_par($ENGINE_PAR_VOLUME,$Close,$i,-1,-1)
set_control_par_str(get_ui_id($Close),$CONTROL_PAR_LABEL,get_engine_par_disp($ENGINE_PAR_VOLUME,0,-1,-1) & " dB")
end on

on ui_control($Stage)
$i := 1
set_engine_par($ENGINE_PAR_VOLUME,$Stage,$i,-1,-1)
set_control_par_str(get_ui_id($Stage),$CONTROL_PAR_LABEL,get_engine_par_disp($ENGINE_PAR_VOLUME,1,-1,-1) & " dB")
end on

{STEREO SPREAD}
on ui_control($sli_spread)
set_engine_par($ENGINE_PAR_STEREO,$sli_spread,-1,0,1)
set_text($lbl_spread, $sli_spread/10000 & " %")
end on

{SKREAMER}
on ui_control($sli_skreamer)
set_engine_par($ENGINE_PAR_SK_DRIVE,$sli_skreamer,-1,1,1)
set_text($lbl_skreamer, $sli_skreamer/10000 & " %")
end on


{COMPRESSOR}
on ui_control($sli_thresh)
set_engine_par($ENGINE_PAR_SCOMP_THRESHOLD,$sli_thresh,-1,3,1)
set_text($lbl_thresh, get_engine_par_disp($ENGINE_PAR_SCOMP_THRESHOLD, -1,3,1))
end on

on ui_control($sli_ratio)
set_engine_par($ENGINE_PAR_SCOMP_RATIO,$sli_ratio,-1,3,1)
set_text($lbl_ratio, get_engine_par_disp($ENGINE_PAR_SCOMP_RATIO, -1,3,1))
end on

on ui_control($sli_compattack)
set_engine_par($ENGINE_PAR_SCOMP_ATTACK,$sli_compattack,-1,3,1)
set_text($lbl_compattack, get_engine_par_disp($ENGINE_PAR_SCOMP_ATTACK, -1,3,1))
end on

on ui_control($sli_comprelease)
set_engine_par($ENGINE_PAR_SCOMP_RELEASE,$sli_comprelease,-1,3,1)
set_text($lbl_comprelease, get_engine_par_disp($ENGINE_PAR_SCOMP_RELEASE, -1,3,1))
end on


{CLOSE AND STAGE MUTES}
on note
if ($muteclose = 1)
disallow_group(0)
end if
if ($mutestage = 1)
disallow_group(1)
end if
end on

{EQ}
on ui_control($knobEqGain1)
set_engine_par($ENGINE_PAR_GAIN1,$knobEqGain1,-1,2,1)
end on

on ui_control($knobEqGain2)
set_engine_par($ENGINE_PAR_GAIN2,$knobEqGain2,-1,2,1)
end on

on ui_control($knobEqGain3)
set_engine_par($ENGINE_PAR_GAIN3,$knobEqGain3,-1,2,1)
end on

on ui_control($knobEqBW1)
set_engine_par($ENGINE_PAR_BW1,$knobEqBW1,-1,2,1)
end on

on ui_control($knobEqBW2)
set_engine_par($ENGINE_PAR_BW2,$knobEqBW2,-1,2,1)
end on

on ui_control($knobEqBW3)
set_engine_par($ENGINE_PAR_BW3,$knobEqBW3,-1,2,1)
end on

on ui_control($knobEqFREQ1)
set_engine_par($ENGINE_PAR_FREQ1,$knobEqFREQ1,-1,2,1)
end on

on ui_control($knobEqFREQ2)
set_engine_par($ENGINE_PAR_FREQ2,$knobEqFREQ2,-1,2,1)
end on

on ui_control($knobEqFREQ3)
set_engine_par($ENGINE_PAR_FREQ3,$knobEqFREQ3,-1,2,1)
end on


{on note
if ($muteclose = 1)
disallow_group(0)
else
allow_group($ALL_GROUPS)
end if
end on

on note
if ($mutestage = 1)
disallow_group(1)
else
allow_group($ALL_GROUPS)
end if
end on}

Post

what you are doing looks right:

on ui_control($sli_compattack)
set_engine_par($ENGINE_PAR_SCOMP_ATTACK,$sli_compattack,-1,3,1)
set_text($lbl_compattack, $sli_compattack & " ms")
end on

are you setting the text of $lbl_compattack anywhere else in your code???

Post

It doesn't look right, because instead of $sli_compattack & " ms", he should be doing get_engine_par_disp() & " ms".

Post

right (of course) $sli_compattack has values between 0 and 1000000 while the actual value is obtianed only by get_engine_par_disp()
sorry I replied too quickly ;-)

Post

I'm getting an error...can you tell me what's wrong?

declare ui_label $lbl_compattack(1, 1)
move_control_px($lbl_compattack, 77, 183)
get_engine_par_disp($ENGINE_PAR_SCOMP_ATTACK,-1,3,1) & " ms")
set_control_par(get_ui_id($lbl_compattack), $CONTROL_PAR_WIDTH, 60)
hide_part($lbl_compattack, $HIDE_PART_BG)
set_control_par(get_ui_id($lbl_compattack), $CONTROL_PAR_FONT_TYPE, 22)

Post

I think you have mismatched parantheses:

get_engine_par_disp($ENGINE_PAR_SCOMP_ATTACK,-1,3,1) & " ms")

should be

get_engine_par_disp($ENGINE_PAR_SCOMP_ATTACK,-1,3,1) & " ms"

Post

This doesn't give me an error, but the "ms" still disappears from my Kontakt instrument when I turn a knob...

declare ui_label $lbl_compattack(1, 1)
move_control_px($lbl_compattack, 77, 183)
set_text($lbl_compattack, get_engine_par_disp($ENGINE_PAR_SCOMP_ATTACK,-1,3,1) & " ms")
set_control_par(get_ui_id($lbl_compattack), $CONTROL_PAR_WIDTH, 60)
hide_part($lbl_compattack, $HIDE_PART_BG)
set_control_par(get_ui_id($lbl_compattack), $CONTROL_PAR_FONT_TYPE, 22)

Post

You need to do the same line in the ui_control callback, of course.

Post

EvilDragon, you're the best! Thank you so much. I really appreciate you donating your time.

Jason

Post Reply

Return to “Samplers, Sampling & Sample Libraries”