Thank you Julius, this definitely puts me in the right direction. I have a hard time wrapping my head around how flexible Faust is when it comes to breaking the programming down into chunks. I could not figure out how to encapsulate the sliders into groups, while still incrementing everything with par().

I really want to figure out how to get the controls for each delay tap to be in its own group, so I only see the echoDuration and feedback for one delay tap at any given time. I can definitely use what you gave me to figure out how to improve my faust programming with the gui groups.

Thanks!

On 10/29/20 3:22 PM, Julius Smith wrote:
Hi Brandon,

Are you looking for something like this?

echoGroup(i,x) = vgroup("eg %3i",x);
echoDuration(i) = echoGroup(i,hslider("[0] Delay (sec) %3i",0,0,5,0.01));
feedback(i) = echoGroup(i,hslider("[1] feedback (0-1) %3i",0,0,0.9,0.01));
echo(i) = +~((de.sdelay(262144,1024,echoDuration(i)*ma.SR)*feedback(i)));

Cheers,
Julius


On Thu, Oct 29, 2020 at 8:54 AM Brandon Hale <bthaleproducti...@gmail.com <mailto:bthaleproducti...@gmail.com>> wrote:

    Hello all again,

    I am still working on my plugin for a big multichannel delay line
    system. I have two sliders that relate to the delay line: delay
    (in time, variable echoDuration), and feedback (in amplitude, for
    the moment, variable feedback). I use par to duplicate the delay
    line. I really want to group the delay and feedback sliders that I
    have so that they show up in together. Here is my programming so far:

    import("stdfaust.lib");
    echoDuration(i) = hslider("Delay (sec) %03i",0,0,5,0.01);
    feedback(i) = hslider("feedback (0-1) %03i",0,0,0.9,0.01);
    echo(i) =
    +~((de.sdelay(262144,1024,echoDuration(i)*ma.SR)*feedback(i)));
    // Change this line here to make as many versions of the delay
    that you may want

    process = _,_ <: tgroup("Delay Line %03", par(i,128,echo(i)));

    So, for the moment, this code does group sliders, but, the sliders
    are just single sliders and doesn't group the echoDuration and
    feedback as I intend. I am trying to wrap my head around how you
    would do this, when most everything has been wrapped into
    variables. Like, if I wrap variables echoDuration and feedback
    into a tgroup, how do I then put that into echo as an argument? I
    also would like to know more about how faust generates the gui.
    Like, how does faust determine which gui element to generate first?


    Thank you all for your help!


    _______________________________________________
    Faudiostream-users mailing list
    Faudiostream-users@lists.sourceforge.net
    <mailto:Faudiostream-users@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/faudiostream-users



--
"Anybody who knows all about nothing knows everything" -- Leonard Susskind
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to