Welcome to Decent Sampler Q&A, where you can ask questions and receive answers from other members of the community.
+1 vote
Hello, I'm a newbie here so bear with me if my question is trivial. I'm trying to create my first simple DS instrument, I've followed step-by-step the video introduction by David H. but I'm getting a strange behaviour.

I have a bunch of samples and I created four labeled knobs to control a reverb and a chorus (reverb has index 0, chorus 1).

Following the instructions and example on Dave's video, I don't get any changes in the parameters, and if I type the </labeled-knob> tags for each control, when I reload the project the samples "disappear", even if DS loads the project correctly.

Any suggestions are welcome! Thanks

Ale
in Using the Sampler by Alessandro Panella (130 points)

2 Answers

0 votes

Hello Ale!

Would you mind posting the code you're using in your instrument, or at least the UI elements, so maybe I can spot where the problem is.

Hope I can help! wink

by mauriloureiro (830 points)
Hello! sure here's the code:

<?xml version="1.0" encoding="UTF-8" ?>
<DecentSampler>
    <ui bgImage="Samples/background.png" width="812" height="375">
        <tab>
            <labeled-knob x="300" y="50" label="REVERB" style="linear_bar_vertical" trackForegroundColor="B5FFFFFF" trackBackgroundColor="FF000000" type="float" minValue="0" maxValue="1" value="0.2" textColor="FFFFFFFF" textSize="16" width="80" />
            <binding type="effect" level="instrument" position="0" parameter="FX_REVERB_WET_LEVEL" />
           
            <labeled-knob x="460" y="50" label="LEVEL" style="linear_bar_vertical" trackForegroundColor="B5FFFFFF" trackBackgroundColor="FF000000" type="float" minValue="0" maxValue="1" value="0.5" textColor="FFFFFFFF" textSize="16" width="80" />
            <binding type="effect" level="instrument" position="1" parameter="FX_MIX" />
           
            <labeled-knob x="540" y="50" label="RATE" style="linear_bar_vertical" trackForegroundColor="B5FFFFFF" trackBackgroundColor="FF000000" type="float" minValue="0" maxValue="10" value="0.2" textColor="FFFFFFFF" textSize="16" width="80" />
            <binding type="effect" level="instrument" position="1" parameter="FX_MOD_DEPTH" />
           
            <labeled-knob x="620" y="50" label="DEPTH" style="linear_bar_vertical" trackForegroundColor="B5FFFFFF" trackBackgroundColor="FF000000" type="float" minValue="0" maxValue="1" value="0.2" textColor="FFFFFFFF" textSize="16" width="80" />
            <binding type="effect" level="instrument" position="1" parameter="FX_MOD_RATE" />
           
            <label x="526" y="-30" text="CHORUS" textColor="FFFFFFFF" textSize="16" />
        </tab>
    </ui>

    <groups seqMode="round_robin">
        <group ampVelTrack="1">"
            <sample path="Samples/Soyuz_Eb2_51_1.wav" rootNote="51" loNote="51" hiNote="51" seqPosition="1"  />
            <sample path="Samples/Soyuz_Eb2_51_2.wav" rootNote="51" loNote="51" hiNote="51" seqPosition="2"  />
            <sample path="Samples/Soyuz_Eb2_51_3.wav" rootNote="51" loNote="51" hiNote="51" seqPosition="3"  />
            <sample path="Samples/Soyuz_F#2_54_1.wav" rootNote="52" loNote="54" hiNote="54" seqPosition="1"  />
            <sample path="Samples/Soyuz_F#2_54_2.wav" rootNote="52" loNote="54" hiNote="54" seqPosition="2"  />
            <sample path="Samples/Soyuz_F#2_54_3.wav" rootNote="52" loNote="54" hiNote="54" seqPosition="3"  />
            <sample path="Samples/Soyuz_G2_55_1.wav" rootNote="55" loNote="55" hiNote="55" seqPosition="1" />
            <sample path="Samples/Soyuz_G2_55_2.wav" rootNote="55" loNote="55" hiNote="55" seqPosition="2" />
            <sample path="Samples/Soyuz_G2_55_3.wav" rootNote="55" loNote="55" hiNote="55" seqPosition="3" />
            <sample path="Samples/Soyuz_Ab2_56_1.wav" rootNote="56" loNote="56" hiNote="56" seqPosition="1"  />
            <sample path="Samples/Soyuz_Ab2_56_2.wav" rootNote="56" loNote="56" hiNote="56" seqPosition="2"  />
            <sample path="Samples/Soyuz_Ab2_56_3.wav" rootNote="56" loNote="56" hiNote="56" seqPosition="3"  />
            <sample path="Samples/Soyuz_Bb2_58_1.wav" rootNote="58" loNote="57" hiNote="58" seqPosition="1"  />
            <sample path="Samples/Soyuz_Bb2_58_2.wav" rootNote="58" loNote="57" hiNote="58" seqPosition="2"  />
            <sample path="Samples/Soyuz_Bb2_58_3.wav" rootNote="58" loNote="57" hiNote="58" seqPosition="3"  />
            <sample path="Samples/Soyuz_C3_60_1.wav" rootNote="60" loNote="59" hiNote="60" seqPosition="1" />
            <sample path="Samples/Soyuz_C3_60_2.wav" rootNote="60" loNote="59" hiNote="60" seqPosition="2" />
            <sample path="Samples/Soyuz_C3_60_3.wav" rootNote="60" loNote="59" hiNote="60" seqPosition="3" />
            <sample path="Samples/Soyuz_Db3_61_1.wav" rootNote="61" loNote="61" hiNote="61" seqPosition="1"  />
            <sample path="Samples/Soyuz_Db3_61_2.wav" rootNote="61" loNote="61" hiNote="61" seqPosition="2"  />
            <sample path="Samples/Soyuz_Db3_61_3.wav" rootNote="61" loNote="61" hiNote="61" seqPosition="3"  />
            <sample path="Samples/Soyuz_Eb3_63_1.wav" rootNote="62" loNote="63" hiNote="64" seqPosition="1"  />
            <sample path="Samples/Soyuz_Eb3_63_2.wav" rootNote="62" loNote="63" hiNote="64" seqPosition="2"  />
            <sample path="Samples/Soyuz_Eb3_63_3.wav" rootNote="62" loNote="63" hiNote="64" seqPosition="3"  />
            <sample path="Samples/Soyuz_F3_65_1.wav" rootNote="65" loNote="65" hiNote="65" seqPosition="1" />
            <sample path="Samples/Soyuz_F3_65_2.wav" rootNote="65" loNote="65" hiNote="65" seqPosition="2" />
            <sample path="Samples/Soyuz_F3_65_3.wav" rootNote="65" loNote="65" hiNote="65" seqPosition="3" />
            <sample path="Samples/Soyuz_F#3_66_1.wav" rootNote="66" loNote="66" hiNote="68" seqPosition="1"  />
            <sample path="Samples/Soyuz_F#3_66_2.wav" rootNote="66" loNote="66" hiNote="68" seqPosition="2"  />
            <sample path="Samples/Soyuz_F#3_66_3.wav" rootNote="66" loNote="66" hiNote="68" seqPosition="3"  />
            <sample path="Samples/Soyuz_A3_69_1.wav" rootNote="69" loNote="69" hiNote="69" seqPosition="1" />
            <sample path="Samples/Soyuz_A3_69_2.wav" rootNote="69" loNote="69" hiNote="69" seqPosition="2" />
            <sample path="Samples/Soyuz_A3_69_3.wav" rootNote="69" loNote="69" hiNote="69" seqPosition="3" />
            <sample path="Samples/Soyuz_B3_71_1.wav" rootNote="70" loNote="71" hiNote="71" seqPosition="1" />
            <sample path="Samples/Soyuz_B3_71_2.wav" rootNote="70" loNote="71" hiNote="71" seqPosition="2" />
            <sample path="Samples/Soyuz_B3_71_3.wav" rootNote="70" loNote="71" hiNote="71" seqPosition="3" />
            <sample path="Samples/Soyuz_C4_72_1.wav" rootNote="72" loNote="72" hiNote="72" seqPosition="1" />
            <sample path="Samples/Soyuz_C4_72_2.wav" rootNote="72" loNote="72" hiNote="72" seqPosition="2" />
            <sample path="Samples/Soyuz_C4_72_3.wav" rootNote="72" loNote="72" hiNote="72" seqPosition="3" />
        </group>
    </groups>

    <effects>
        <effect type="reverb" wetLevel="0.2" />
        <effect type="chorus" modRate="0.2" modDepth="0.2" mix="0.5" />
    </effects>   

</DecentSampler>

With this script, no FX are working. Besides, as you can see, I have not included the closing </labeled-knob> tabs, because if I do it, the samples and the UI completely disappear on reload.
Thanks a lot for your help!
Hi Ale!

Sorry for the late reply! I'll be answering replaying the main question again, due to o better formatting options in the answer ;)
+2 votes

Hi Ale, it's me again!

I found the issue in your code, so let's get to it.

...

<labeled-knob x="300" y="50" label="REVERB" style="linear_bar_vertical" trackForegroundColor="B5FFFFFF" trackBackgroundColor="FF000000" type="float" minValue="0" maxValue="1" value="0.2" textColor="FFFFFFFF" textSize="16" width="80" />
<binding type="effect" level="instrument" position="0" parameter="FX_REVERB_WET_LEVEL" />

...

The labeled-knob and control elements should be closed after the binding, and not within itself. Thats why when you close it with the </labeled-knob> the elements disappear because it results in a code error. Also the binding will not work, because is not "binded" to any element. The expression should look like this: 

...

<labeled-knob x="300" y="50" label="REVERB" style="linear_bar_vertical" trackForegroundColor="B5FFFFFF" trackBackgroundColor="FF000000" type="float" minValue="0" maxValue="1" value="0.2" textColor="FFFFFFFF" textSize="16" width="80">
<binding type="effect" level="instrument" position="0" parameter="FX_REVERB_WET_LEVEL"/>
</labeled-knob>

...

So the binding is referred to that labeled-knob. Every labeled-knob should have the same structure

Also, another detail that is not resulting in any error, but it might depending on your code is the " after <group ampVelTrack="1">

 ...

   <groups seqMode="round_robin">
        <group ampVelTrack="1">"
            <sample path="Samples/Soyuz_Eb2_51_1.wav" rootNote="51" loNote="51" hiNote="51" seqPosition="1"  />
            <sample path="Samples/Soyuz_Eb2_51_2.wav" rootNote="51" loNote="51" hiNote="51" seqPosition="2"  />

...

I'll leave the corrected code in another comment, due to character limitations, so you can copy/paste it and check if it works fine for you!

Hope that helps you!

Stay safe!

by mauriloureiro (830 points)
Here goes the corrected code!

<?xml version="1.0" encoding="UTF-8" ?>
<DecentSampler>
    <ui bgImage="Samples/background.png" width="812" height="375">
        <tab>
            <labeled-knob x="300" y="50" label="REVERB" style="linear_bar_vertical" trackForegroundColor="B5FFFFFF" trackBackgroundColor="FF000000" type="float" minValue="0" maxValue="1" value="0.2" textColor="FFFFFFFF" textSize="16" width="80">
                <binding type="effect" level="instrument" position="0" parameter="FX_REVERB_WET_LEVEL" />
            </labeled-knob>

            <labeled-knob x="460" y="50" label="LEVEL" style="linear_bar_vertical" trackForegroundColor="B5FFFFFF" trackBackgroundColor="FF000000" type="float" minValue="0" maxValue="1" value="0.5" textColor="FFFFFFFF" textSize="16" width="80">
                <binding type="effect" level="instrument" position="1" parameter="FX_MIX" />
            </labeled-knob>

            <labeled-knob x="540" y="50" label="RATE" style="linear_bar_vertical" trackForegroundColor="B5FFFFFF" trackBackgroundColor="FF000000" type="float" minValue="0" maxValue="10" value="0.2" textColor="FFFFFFFF" textSize="16" width="80">
                <binding type="effect" level="instrument" position="1" parameter="FX_MOD_DEPTH" />
            </labeled-knob>

            <labeled-knob x="620" y="50" label="DEPTH" style="linear_bar_vertical" trackForegroundColor="B5FFFFFF" trackBackgroundColor="FF000000" type="float" minValue="0" maxValue="1" value="0.2" textColor="FFFFFFFF" textSize="16" width="80">
                <binding type="effect" level="instrument" position="1" parameter="FX_MOD_RATE" />
            </labeled-knob>

            <label x="526" y="-30" text="CHORUS" textColor="FFFFFFFF" textSize="16"/>
        </tab>
    </ui>

    <groups seqMode="round_robin">
        <group ampVelTrack="1">
            <sample path="Samples/Soyuz_Eb2_51_1.wav" rootNote="51" loNote="51" hiNote="51" seqPosition="1"  />
            <sample path="Samples/Soyuz_Eb2_51_2.wav" rootNote="51" loNote="51" hiNote="51" seqPosition="2"  />
            <sample path="Samples/Soyuz_Eb2_51_3.wav" rootNote="51" loNote="51" hiNote="51" seqPosition="3"  />
            <sample path="Samples/Soyuz_F#2_54_1.wav" rootNote="52" loNote="54" hiNote="54" seqPosition="1"  />
            <sample path="Samples/Soyuz_F#2_54_2.wav" rootNote="52" loNote="54" hiNote="54" seqPosition="2"  />
            <sample path="Samples/Soyuz_F#2_54_3.wav" rootNote="52" loNote="54" hiNote="54" seqPosition="3"  />
            <sample path="Samples/Soyuz_G2_55_1.wav" rootNote="55" loNote="55" hiNote="55" seqPosition="1" />
            <sample path="Samples/Soyuz_G2_55_2.wav" rootNote="55" loNote="55" hiNote="55" seqPosition="2" />
            <sample path="Samples/Soyuz_G2_55_3.wav" rootNote="55" loNote="55" hiNote="55" seqPosition="3" />
            <sample path="Samples/Soyuz_Ab2_56_1.wav" rootNote="56" loNote="56" hiNote="56" seqPosition="1"  />
            <sample path="Samples/Soyuz_Ab2_56_2.wav" rootNote="56" loNote="56" hiNote="56" seqPosition="2"  />
            <sample path="Samples/Soyuz_Ab2_56_3.wav" rootNote="56" loNote="56" hiNote="56" seqPosition="3"  />
            <sample path="Samples/Soyuz_Bb2_58_1.wav" rootNote="58" loNote="57" hiNote="58" seqPosition="1"  />
            <sample path="Samples/Soyuz_Bb2_58_2.wav" rootNote="58" loNote="57" hiNote="58" seqPosition="2"  />
            <sample path="Samples/Soyuz_Bb2_58_3.wav" rootNote="58" loNote="57" hiNote="58" seqPosition="3"  />
            <sample path="Samples/Soyuz_C3_60_1.wav" rootNote="60" loNote="59" hiNote="60" seqPosition="1" />
            <sample path="Samples/Soyuz_C3_60_2.wav" rootNote="60" loNote="59" hiNote="60" seqPosition="2" />
            <sample path="Samples/Soyuz_C3_60_3.wav" rootNote="60" loNote="59" hiNote="60" seqPosition="3" />
            <sample path="Samples/Soyuz_Db3_61_1.wav" rootNote="61" loNote="61" hiNote="61" seqPosition="1"  />
            <sample path="Samples/Soyuz_Db3_61_2.wav" rootNote="61" loNote="61" hiNote="61" seqPosition="2"  />
            <sample path="Samples/Soyuz_Db3_61_3.wav" rootNote="61" loNote="61" hiNote="61" seqPosition="3"  />
            <sample path="Samples/Soyuz_Eb3_63_1.wav" rootNote="62" loNote="63" hiNote="64" seqPosition="1"  />
            <sample path="Samples/Soyuz_Eb3_63_2.wav" rootNote="62" loNote="63" hiNote="64" seqPosition="2"  />
            <sample path="Samples/Soyuz_Eb3_63_3.wav" rootNote="62" loNote="63" hiNote="64" seqPosition="3"  />
            <sample path="Samples/Soyuz_F3_65_1.wav" rootNote="65" loNote="65" hiNote="65" seqPosition="1" />
            <sample path="Samples/Soyuz_F3_65_2.wav" rootNote="65" loNote="65" hiNote="65" seqPosition="2" />
            <sample path="Samples/Soyuz_F3_65_3.wav" rootNote="65" loNote="65" hiNote="65" seqPosition="3" />
            <sample path="Samples/Soyuz_F#3_66_1.wav" rootNote="66" loNote="66" hiNote="68" seqPosition="1"  />
            <sample path="Samples/Soyuz_F#3_66_2.wav" rootNote="66" loNote="66" hiNote="68" seqPosition="2"  />
            <sample path="Samples/Soyuz_F#3_66_3.wav" rootNote="66" loNote="66" hiNote="68" seqPosition="3"  />
            <sample path="Samples/Soyuz_A3_69_1.wav" rootNote="69" loNote="69" hiNote="69" seqPosition="1" />
            <sample path="Samples/Soyuz_A3_69_2.wav" rootNote="69" loNote="69" hiNote="69" seqPosition="2" />
            <sample path="Samples/Soyuz_A3_69_3.wav" rootNote="69" loNote="69" hiNote="69" seqPosition="3" />
            <sample path="Samples/Soyuz_B3_71_1.wav" rootNote="70" loNote="71" hiNote="71" seqPosition="1" />
            <sample path="Samples/Soyuz_B3_71_2.wav" rootNote="70" loNote="71" hiNote="71" seqPosition="2" />
            <sample path="Samples/Soyuz_B3_71_3.wav" rootNote="70" loNote="71" hiNote="71" seqPosition="3" />
            <sample path="Samples/Soyuz_C4_72_1.wav" rootNote="72" loNote="72" hiNote="72" seqPosition="1" />
            <sample path="Samples/Soyuz_C4_72_2.wav" rootNote="72" loNote="72" hiNote="72" seqPosition="2" />
            <sample path="Samples/Soyuz_C4_72_3.wav" rootNote="72" loNote="72" hiNote="72" seqPosition="3" />
        </group>
    </groups>

    <effects>
        <effect type="reverb" wetLevel="0.2" />
        <effect type="chorus" modRate="0.2" modDepth="0.2" mix="0.5" />
    </effects>

</DecentSampler>
Hello! Thanks a lot for the explanations and the code, now I see my mistakes! :)
...