Csound Csound-dev Csound-tekno Search About

[CSOUND-DEV:5241] Skipping initialisation

Date2004-08-22 13:44
Fromjpff@codemist.co.uk
Subject[CSOUND-DEV:5241] Skipping initialisation
I have added code to CS5 to vco, bqrez, planet, pareq, lorenz, and
tbvc to allow skipping initialisation.  Documented but not tested.
==John ffitch

Date2004-08-22 14:42
Fromiain duncan
Subject[CSOUND-DEV:5246] Re: Skipping initialisation and opcode ideas
The big ones for me that drove me into reinit land are the envelope 
opcodes. Far as I can tell, none of them allow one to skip 
reinitialization, and the open ended ones ( like linseg, expseg ) I 
guess would need a different opcode entirely because of the way their 
argument list works. My reinit stuff allows a legato note to work just 
like a modular, where the pitch changes ( the osc unit ) but the 
envelope does not get retriggered. By putting reinit stuff in I avoid 
having envelopes passed as global variables and keep the globals to a 
managable level, but at the expense of very long hard to read instrument 
code. If I could get rid of the reinit and do it all with a -i to an 
event call that would cut out a heck of a lot of code.

One of the opcode ideas I had was something like a triggered version of 
the envelope opcodes. ( kinda like tlineto, a very handy opcode ). Say 
something like

linsegt ktrig, kval1, ktime1, kval2, ktime1

Where the line gets reinitied on trig going positive, which also at the 
same time freezes the current state of the kvals to be used for 
enveloping arguments. Another option would be something similar with two 
triggers, one to reinit, and one to freeze the values, or a perhaps a 
mode arg in there to determine how kval1, etc are handled. Perhaps 
something like

linsegt	imode, ktrig, kval1, ktime1, kval2, ktime2, etc.

Where one option for the imode arg makes the lines just change their 
direction as it progresses if kval/ktime is changed dynamically while 
another works as I described above, with a value freeze.

I would also like to say that I think trigger opcodes should have the t 
at the END of the opcode name, so that things like linseg and linsegt or 
lineto and (t)lineto(t) would be beside each other in the manual!

Iain



jpff@codemist.co.uk wrote:
> I have added code to CS5 to vco, bqrez, planet, pareq, lorenz, and
> tbvc to allow skipping initialisation.  Documented but not tested.
> ==John ffitch
> 
>