[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] Order of busses



Hi -

2009/7/28 Paul Jones <pauljones_mds@xxxxxxxxx>:
>
>   Hello List
>
> Am I correct in thinking that if you create a FX synth after a "sound"
> synth, the latter being routed to the prior, no sound will occour unless you
> add the FX synth to the tail.

Well, it depends - if the FX synth comes *before* the sound synth in
the node-tree, then it can't listen to the sound synth and so its
input will seem to be silent. Adding the FX synth to the tail is one
of various ways to make sure it comes later - see the "Order of
execution" helpfile, esp the section called "Controlling order of
execution".

> If so, does this mean if I create a few of FX
> synths I can only route them in the order I created them.

No, you can move things around after creation. See the helpfile I
mentioned above. It discusses methods such as .moveBefore and
.moveAfter which can do this.


> My problem being I wish to create 4 pitch shifting delays any be able to re
> route the signal all the time
>
> For example
>
> ~steve = 4.collect{|i| Synth(\del,[\pitchShift,0.5 +(i/2)])}
>
> Now say I wish to change the routing ~steve[3] to ~steve[1];
>
> ~steve[1].set(\out,30);
> ~steve[3].set(\in,30,\out,32);
> ~steve[2].set(\in,32,\out,34);
> ~steve[0].set(\in,34,\out,0);
>
> now it falls silent due to said routing issue. Is there a way round this?

Yes, use the .moveBefore and .moveAfter (and suchlike) to get the
synths in the correct order on the server.

Actually, in this specific case you can make it easier for yourself:
don't write to different busses. If each of your FX units
reads-and-writes to the *same* bus then you can control the order of
the chain simply using .moveBefore and .moveAfter and the like:

// We assume that the dry signal is being written to channel 30 and
it's OK to overwrite it.
// Note that you would probably want to use ReplaceOut.ar rather than
Out.ar in your synthdef, if doing this.
~steve = 4.collect{|i| Synth(\del,[\in, 30, \out, 30, \pitchShift,0.5 +(i/2)])}

// Now we can change the order, e.g. by running these lines one by one.
// The s.queryAllNodes calls will show you (in the post window) how
the order changes.
s.queryAllNodes
~steve[1].moveBefore(~steve[3]);
s.queryAllNodes
~steve[1].moveAfter(~steve[3]);
s.queryAllNodes
~steve[0].moveBefore(~steve[2]);
s.queryAllNodes


HTH
Dan

> It
> would be nice to constantly change the order of FX busses. Or does one have
> to re-create synths in the correct order. Or have I missed something? I am
> aware that I could set the pitch shift as opposed to the out. But the
> ability to re route existing fx synths is what interests me.
>
> Here is the synth in question. Thanks Paul
>
> SynthDef(\del,
>              {
>
>              |sen1,sen2,sen3,sen4,sen5,sen6,in = 50,dtime = 0.2,feed=
> 0.8,dry=0.3,wet = 0.5,pitlev = 0.5,out=0,pitchShift=1.666|
>
>              var  lin , del , filt , input, lout , pit,leak;
>
>              input = In.ar(in,2);
>
>              lin = LocalIn.ar(2);
>
>              del = DelayC.ar(input+lin,dtime,dtime);
>
>              pit = PitchShift.ar(del,dtime,pitchShift,0,0.1);
>
>              leak = LeakDC.ar(del+pit);
>
>              lout = LocalOut.ar(leak*feed);
>
>              Out.ar(out,Pan2.ar((input*dry)+(del*wet)+(pit*pitlev),0,0.5))
>
>
>              }).send(s)
> --
> View this message in context: http://n2.nabble.com/Order-of-busses-tp3342828p3342828.html
> Sent from the SuperCollider Users New (Use this!!!!) mailing list archive at Nabble.com.
>
> _______________________________________________
> sc-users mailing list
>
> info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
> archive: https://listarc.bham.ac.uk/marchives/sc-users/
> search: https://listarc.bham.ac.uk/lists/sc-users/search/
>



-- 
http://www.mcld.co.uk

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/