From: Florian J. <flo...@we...> - 2011-11-22 00:32:12
|
Am 22.11.2011 00:48, schrieb Tim E. Real: > Hey guys must let you know what I'm doing for last few days. > > I fixed annoying problems with dssi synth and plugin guis not > remembering settings, and native their controls not updating > the generic ones. > > Was an audio processing engine problem. > Off tracks, or unconnected tracks or stopped Wave Tracks or tracks with > bypassed plugins would not be processed, so the OSC control input FIFO > was not being read, so the control values were not saved. > Now the controls work all the time and remember, even if the track is > completely off! > > --- > So... while in the audio engine, I diagnosed a long-time annoying issue: > *Aux* Tracks! Yep, flaky as heck, and success depended on their position > in the track list. And depended what they were routed to. > > I'm applying some fundamental audio engine fixes here, now. > Those Aux Tracks sure made it really tricky. > It took me a verrry deep, long session to realize what was wrong, > test, and form solutions. > > To make them work properly, I had to: > > a) Install an anti routing feedback mechanism so that things like > Group1 -> Group2 -> Group1 > do not cause their processing (including controls) to stop or audio feedback. > Planned this long ago. > > b) Think of Aux Send Knobs -> Aux Tracks as just another routing scheme. > Thus, similar to other tracks, when it is time to process an Aux Track, > it must first cause all aux-aware tracks to process so that all the aux send > audio data has been pre-gathered. > > c) Process all Aux Tracks first, before all others. > > d) Install a Track::auxRefCount which keeps track of how many Aux Track routes > ultimately feed the track. During step c), defer processing all tracks > fed (eventually) from an Aux Track. All such tracks cannot process their aux > send corresponding to that Aux Track. It's a circular dependency! > > Well, step d) is under way. Wish me luck. It's been another tough one. > "Specifications may change and probably will." > > --- > Robert there's a conflict with our DoubleChorus and PanDelay IDs 1051 + 1052. > There are already two ladspa plugins with those numbers: Cmt lpf and hpf > > It was said on LAD that one should never depend on those numbers alone. > Meaning it's OK that two plugins with the same ID show up in our list. > > But I noticed trouble. The guis were mixed up - the controls were wrong. > Must check more, can't reproduce now. > > good that someone is finally fixing the audio stuff... what you wrote sounds like black magic, but i don't know anything about how muse does audio ;) tim, while you're at it, please run valgrind on muse, then do the following: * create two wave tracks * create a new wave part on the first * import some file into the second * move the imported part around, both to legal and illegal destinations and release the mouse button * open the wave editor, edit it a bit you'll get PLENTY of valgrind errors. most about invalid reads/writes. one problem is that the arranger seems to call items.clearDelete() while moving. the moved items are stored in the "moving" list. Upon items.clearDelete() however, the entries in "moving" are invalid, as they just got freed (moving is a subset of items). i tried to fix this by repopulating moving with the NEW citems, but it doesn't work :/ i've attached the patch. also, muse seems to continously do invalid writes/reads even when there's no user interaction. if you just create a wave track and let muse alone, then at some point valgrind will complain that more than 100000 errors happening. "go fix your program". i think we really should ;) then there's that "import a wave file, split it, close muse, segfault" bug... also, the global cut, insert and whatnot functions don't work on wave tracks. can you take a look on this as well if you're done with the above ;)? greetings flo > Tim. > > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure > contains a definitive record of customers, application performance, > security threats, fraudulent activity, and more. Splunk takes this > data and makes sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-novd2d > _______________________________________________ > Lmuse-developer mailing list > Lmu...@li... > https://lists.sourceforge.net/lists/listinfo/lmuse-developer > > |