|
From: Vladimir S. <ha...@so...> - 2004-01-18 06:50:04
|
Hi All, I've finally got around looking into enhancing EG to implement ADSDR (like Christian suggested). The intent was, again, to just support features that .gig format supports, for now. I have not implemented the preDecay1 hold yet, but it's almost there. I just need to learn a bit more about LS first to figure out how to learn if sample has been looped or not. Maybe i'll find that out tomorrow. This is the very first try, code has not been cleaned up yet, some debugging might still be left there, some comments may be extra or missing :) very limited testing was done, with just a few samples. This patch also includes the fix for "voices not going away" problem. I've also noticed that Level of preAttack was not computed correctly. I've changed all the Coeff values to be either positive or negative depending on the direction of the level, so that routine that uses Coeff to figure out the level can always add. I've moved most of that work into an inline function. It only looks like it has conditions they should be optimized out . . . Anyway, patch is attached. Please give it a try and let me know how it looks. I'll try to treat feedback on a timely manner so that it could be "ready for submit" sooner rather than later. Regards, Vladimir. |