Csound Csound-dev Csound-tekno Search About

Re: Negative p3 vs polyphonicity

Date1999-08-17 18:23
FromRichard Dobson
SubjectRe: Negative p3 vs polyphonicity
As you were: contrary evidence: it doesn't work for fof, and may well
not work for other ugs too. The reason is that some initialization
~does~ need to be done, even for tied notes. In the case of fof, linked
lists need to be reset.


I have tried a minimalist change to fof which ~seems~ to work:

the iphs flag is currently confined to the range 0 to 1 , so is a
convenient one to appropriate for a skip-init copmmand.

Inside the fof() function itself, it looks as if all that needs to be
done is wrap the alloc inside the skip test, thus:

	if(*p->iphs >= 0){
		auxalloc((long)olaps * sizeof(OVRLAP), &p->auxch);
	}

there may be other things that need to be wrapped thusly too, but it is
clear that the init cannot be skipped completely. I still suspect that
it may not be easy to run a tie across the middle of a fof grain - some
sort of wraparound might be needed. In the worst case,  considerable
redesign might have to be done to support legato. Maybe the newer
fof/fog opcodes are more suitable for this?



Richard Dobson 

> 
> Yes, indeed you can (subject to any evidence to the contrary), and it's
> also a good way of identifying those opcodes that need the init flag.
[etc]

> 
> Peter Neubacker wrote:
> >
> > Richard Dobson wrote:
> >
> > > So I have this ongoing request to all developers of opcodes - if there
> > > is internal state (i.e phase, table lookup, filter state, etc), ~please~
> > > add a switch to skip initialization, otherwise the opcode will most
> > > likely not work for legato performance.
> >
> > I think you can bypass initilisation of
> > any opcode by this construction:
> >
> > instr 1
> >
> > tigoto skipinit
> > asig oscil p4,p5,1
> >      out   asig
> > skipinit:
> >
> > endin


-- 
Test your DAW with my Soundcard Attrition Page!
http://wkweb5.cableinet.co.uk/rwd (LU: 6th July 1999)