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

Re: [sc-dev] Ringz+Dust issue



This is the same as ClearUnitOutputs... To avoid the problem with an initial Impulse sample, some things need to be run that are done in the next function...

Like I said, I can look at this later. Right now, it is brief email checks in between playing with the kids in the snow!

Josh

On Dec 14, 2008, at 2:07 PM, Batuhan Bozkurt wrote:

Oh and btw, other ugens using mFilterLoops employ ZOUT0(0) = 0.f; at Ctor instead of *_next(unit, 1); so that might be the requirement.

BB.

Batuhan Bozkurt wrote:
Dan Stowell wrote:
2008/12/14, Josh Parmenter <josh@xxxxxxxxxxxxxxxxx>:

On Dec 14, 2008, at 1:26 PM, Batuhan Bozkurt wrote:

Somehow Ringz.ar remembers its past state...


Like I said, this would indicate to me that some memory isn't being init'd
correctly.

I'll look it it later.


Josh, I had the same feeling as you, but as JH points out Ringz
doesn't use RTAlloc. It correctly initialises all its variables, as
far as I can tell.

I think I have found the problem. When the Ringz ugen is created, it
calls Ringz_next() but with a blocksize of 1 (this is standard ugen
init procedure). However, the iterations which look like

LOOP(unit->mRate->mFilterLoops,
  ...
);
LOOP(unit->mRate->mFilterRemain,
  ...
);

assume that the blocksize is what it normally is (i.e. 64, for most
people). This causes the looping to write outside the memory that it
should do (and probably therefore leaves garbage around to "remember"
inappropriately).

I'm not sure how best to fix this. One way is that the constructor
could call ClearUnitOutputs() rather than trying to run Ringz_next(),
which from my testing does prevent the nasties. Not sure if this
change would have bad side-effects...? What do you think?

Dan

_
Hello Dan,

I think Josh had actually tried this and pointed out the little side effect in the topic discussed earlier:
http://www.nabble.com/Re%3A-Very-strange-feedback(-)-problem.-I-need-assistance.-p16592253.html

I'm not very much into the internals of SC code but what you said makes sense, I just wanted to add that in this case Resonz should also be vulnerable. I think they are structurally the same, Ringz uses decay time, Resonz uses rq.

BB.

_______________________________________________
sc-dev mailing list

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



_______________________________________________
sc-dev mailing list

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

******************************************
/* Joshua D. Parmenter
http://www.realizedsound.net/josh/

“Every composer – at all times and in all cases – gives his own interpretation of how modern society is structured: whether actively or passively, consciously or unconsciously, he makes choices in this regard. He may be conservative or he may subject himself to continual renewal; or he may strive for a revolutionary, historical or social palingenesis." - Luigi Nono
*/


_______________________________________________
sc-dev mailing list

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