On 8 Dec 2007, at 05:56, Josh Parmenter wrote:
I committed the fix I mentioned last night, and it seems to run well under my tests. If you notice anything strange as an input signal equals 1 or -1 (I couldn't on my end), let me know and I will look into it some more.
great Josh, it seems to work fine for me too apart from the .kr version which still crashes sometimes. but i wonder who is doing k rate waveshaping anyway?
My main concern is that it seems to me that the boundary check that was already in the UGen seems like it should have worked...
bit odd isn't it. kernel
so if you notice anything strange from the fix, I'll explore some more.Josh On Dec 6, 2007, at 6:32 PM, kernel wrote:i was clipping the input to 1.0 - 0.0001. anything larger than that still seems to cause the crash.. quite curious about that. the .kr version seems to be a different beast and clipping the same way didn't seem to work, although i didn't have time to interpret the code properly.On 7 Dec 2007, at 02:00, Josh Parmenter wrote:Will do Josh On Dec 6, 2007, at 5:57 PM, James McCartney wrote:clip, don't wrap.On Dec 6, 2007 5:42 PM, Josh Parmenter <josh@xxxxxxxxxxxxxxxxx> wrote:Hmm... not sure if I would clip the value, or perhaps wrap it? I think a comment in the helpfile makes sense at least. I'll add this in, and if others have ideas about the way it should work, let me know and Iwill commit a fix. best, Josh On Dec 6, 2007, at 5:08 PM, kernel wrote:hi, i've noticed Shaper causes a segmentation fault if the input isequal to or rises above 1.0. eg: ( c = Buffer.alloc(s, 8192, 1, {arg buf; buf.sine1Msg([1])}); {Shaper.ar(c.bufnum,SinOsc.ar(100,0,Line.ar(0,2,5)))}.play; ) admittedly it's common practice to keep the input quite low butmaybe we could note this in the help file. I did manage to make arudimentary fix in the UGen code that clips the input to a valueclose to 1.0 although it only works for the .ar version. i've nothad time to figure out the .kr version. the fix is commented out here: LOOP(inNumSamples, float fin = ZXP(in); // fin = sc_min(fin, 1.0 - 0.0001); // stops seg fault float findex = offset + fin * offset; .. perhaps i'm just fussing anyway. kernel _______________________________________________ Sc-devel mailing list Sc-devel@xxxxxxxxxxxxxxx http://www.create.ucsb.edu/mailman/listinfo/sc-devel****************************************** /* Joshua D. Parmenter http://www.realizedsound.net/josh/ "Every composer – at all times and in all cases – gives his owninterpretation 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 socialpalingenesis." - Luigi Nono */ _______________________________________________ Sc-devel mailing list Sc-devel@xxxxxxxxxxxxxxx http://www.create.ucsb.edu/mailman/listinfo/sc-devel-- --- james mccartney _______________________________________________ Sc-devel mailing list Sc-devel@xxxxxxxxxxxxxxx http://www.create.ucsb.edu/mailman/listinfo/sc-devel****************************************** /* 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-devel mailing list Sc-devel@xxxxxxxxxxxxxxx http://www.create.ucsb.edu/mailman/listinfo/sc-devel_______________________________________________ Sc-devel mailing list Sc-devel@xxxxxxxxxxxxxxx http://www.create.ucsb.edu/mailman/listinfo/sc-devel****************************************** /* 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-devel mailing list Sc-devel@xxxxxxxxxxxxxxx http://www.create.ucsb.edu/mailman/listinfo/sc-devel