I have set up an instrument with 4 layers.
This script is to control the volume of each layer.
Everything works fine but the problem is that every volume layer control all layers.
Turning for example volume 2 , change the volume of all the all layers , not only of layer 2 as it should be and the same with all other layers.
Thanks in advance for any help!
-----
on init
set_ui_height_px(520)
make_perfview
message("")
declare $wait_time := 800
declare $a
declare $count
$count :=0
declare const $FONT_ID := 3
declare const $MAKE_AUTO_IDS := 1
declare ui_slider $mix_level1(0,1000000)
declare ui_slider $mix_level2(0,1000000)
declare ui_slider $mix_level3(0,1000000)
declare ui_slider $mix_level4(0,1000000)
declare ui_label $lb_mix_level1 (1,1)
declare ui_label $lb_mix_level2 (1,1)
declare ui_label $lb_mix_level3 (1,1)
declare ui_label $lb_mix_level4 (1,1)
set_text($lb_mix_level1,"LAYER1")
set_text($lb_mix_level2,"LAYER2")
set_text($lb_mix_level3,"LAYER3")
set_text($lb_mix_level4,"LAYER4")
declare $last_time_mix_level1
declare $last_time_mix_level2
declare $last_time_mix_level3
declare $last_time_mix_level4
$mix_level1 := _get_engine_par($ENGINE_PAR_VOLUME,0,-1,-1)
$mix_level2 := _get_engine_par($ENGINE_PAR_VOLUME,1,-1,-1)
$mix_level3 := _get_engine_par($ENGINE_PAR_VOLUME,2,-1,-1)
$mix_level4 := _get_engine_par($ENGINE_PAR_VOLUME,3,-1,-1)
set_control_par_str(get_ui_id($mix_level1),$CONTROL_PAR_LABEL,_get_engine_par_disp($ENGINE_PAR_VOLUME,0,-1,-1) & " dB")
set_control_par_str(get_ui_id($mix_level2),$CONTROL_PAR_LABEL,_get_engine_par_disp($ENGINE_PAR_VOLUME,1,-1,-1) & " dB")
set_control_par_str(get_ui_id($mix_level3),$CONTROL_PAR_LABEL,_get_engine_par_disp($ENGINE_PAR_VOLUME,2,-1,-1) & " dB")
set_control_par_str(get_ui_id($mix_level4),$CONTROL_PAR_LABEL,_get_engine_par_disp($ENGINE_PAR_VOLUME,3,-1,-1) & " dB")
$a := 1
while($a < $NUM_GROUPS)
_set_engine_par($ENGINE_PAR_VOLUME,$mix_level1,$a,-1,-1)
_set_engine_par($ENGINE_PAR_VOLUME,$mix_level2,$a,-1,-1)
_set_engine_par($ENGINE_PAR_VOLUME,$mix_level3,$a,-1,-1)
_set_engine_par($ENGINE_PAR_VOLUME,$mix_level4,$a,-1,-1)
inc($a)
declare %layers_id[8]
%layers_id[0] := get_ui_id($mix_level1)
%layers_id[1] := get_ui_id($mix_level2)
%layers_id[2] := get_ui_id($mix_level3)
%layers_id[3] := get_ui_id($mix_level4)
%layers_id[4] := get_ui_id($lb_mix_level1)
%layers_id[5] := get_ui_id($lb_mix_level2)
%layers_id[6] := get_ui_id($lb_mix_level3)
%layers_id[7] := get_ui_id($lb_mix_level4)
$count := 0
while($count < 4)
set_control_par_str(%layers_id[$count],$CONTROL_PAR_PICTURE,"knob1")
set_control_par(%layers_id[$count],$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
set_control_par(%layers_id[$count],$CONTROL_PAR_POS_X,($count*76)+236)
set_control_par(%layers_id[$count],$CONTROL_PAR_POS_Y,329)
inc($count)
end while
$count := 4
while($count <
set_control_par(%layers_id[$count],$CONTROL_PAR_HIDE,$HIDE_PART_BG)
set_control_par(%layers_id[$count],$CONTROL_PAR_FONT_TYPE,$FONT_ID)
set_control_par(%layers_id[$count],$CONTROL_PAR_TEXT_ALIGNMENT, 1)
set_control_par(%layers_id[$count],$CONTROL_PAR_POS_X, ...
get_control_par(%layers_id[$count-4],$CONTROL_PAR_POS_X)-19)
set_control_par(%layers_id[$count],$CONTROL_PAR_POS_Y, ...
get_control_par(%layers_id[$count-4],$CONTROL_PAR_POS_Y)+43)
inc($count)
end while
end while
end on
on ui_control ($mix_level1)
$a := 0
while($a < $NUM_GROUPS)
_set_engine_par($ENGINE_PAR_VOLUME,$mix_level1,$a,0,-1)
inc($a)
end while
set_text ($lb_mix_level1,_get_engine_par_disp($ENGINE_PAR_VOLUME,0,-1,-1) & " DB")
set_control_par_str(get_ui_id($mix_level1),$CONTROL_PAR_LABEL,_get_engine_par_disp($ENGINE_PAR_VOLUME,0,-1,-1) & " DB")
$last_time_mix_level1 := $ENGINE_UPTIME
wait($wait_time * 1000)
if($ENGINE_UPTIME - $last_time_mix_level1 > $wait_time -5)
set_text ($lb_mix_level1, "LAYER1")
end if
end on
on ui_control ($mix_level2)
$a := 0
while($a < $NUM_GROUPS)
_set_engine_par($ENGINE_PAR_VOLUME,$mix_level2,$a,0,-1)
inc($a)
end while
set_text ($lb_mix_level2,_get_engine_par_disp($ENGINE_PAR_VOLUME,1,-1,-1) & " DB")
set_control_par_str(get_ui_id($mix_level2),$CONTROL_PAR_LABEL,_get_engine_par_disp($ENGINE_PAR_VOLUME,1,-1,-1) & " DB")
$last_time_mix_level2 := $ENGINE_UPTIME
wait($wait_time * 1000)
if($ENGINE_UPTIME - $last_time_mix_level2 > $wait_time -5)
set_text ($lb_mix_level2, "LAYER2")
end if
end on
on ui_control ($mix_level3)
$a := 0
while($a < $NUM_GROUPS)
_set_engine_par($ENGINE_PAR_VOLUME,$mix_level3,$a,0,-1)
inc($a)
end while
set_text ($lb_mix_level3,_get_engine_par_disp($ENGINE_PAR_VOLUME,2,-1,-1) & " DB")
set_control_par_str(get_ui_id($mix_level3),$CONTROL_PAR_LABEL,_get_engine_par_disp($ENGINE_PAR_VOLUME,2,-1,-1) & " DB")
$last_time_mix_level3 := $ENGINE_UPTIME
wait($wait_time * 1000)
if($ENGINE_UPTIME - $last_time_mix_level3 > $wait_time -5)
set_text ($lb_mix_level3,"LAYER3")
end if
end on
on ui_control ($mix_level4)
$a := 0
while($a < $NUM_GROUPS)
_set_engine_par($ENGINE_PAR_VOLUME,$mix_level4,$a,0,-1)
inc($a)
end while
set_text ($lb_mix_level4,_get_engine_par_disp($ENGINE_PAR_VOLUME,3,-1,-1) & " DB")
set_control_par_str(get_ui_id($mix_level3),$CONTROL_PAR_LABEL,_get_engine_par_disp($ENGINE_PAR_VOLUME,3,-1,-1) & " DB")
$last_time_mix_level4 := $ENGINE_UPTIME
wait($wait_time * 1000)
if($ENGINE_UPTIME - $last_time_mix_level4 > $wait_time -5)
set_text ($lb_mix_level4,"LAYER4")
end if
end on
