On 03/03/2014 12:16 PM, Vesa wrote: > On 03/03/2014 11:15 AM, Tobias Doerffel wrote: >> This would of course have a severe impact on performance - probably >> one of the reasons we didn't deploy this in many places yet. >> >> Toby > A thought: Could we maybe implement this in such a way that the > instrument/effect/whatever checks if there's a > controller/automation/etc. connected to the control, and only use the > buffer if there is, and otherwise just get the value the regular way? > That should mitigate some of the performance concerns.
Ok, after looking into it, it seems the controlValue() method in AutomatableModel already performs a check for the presence of a controller - so that should already mitigate some of the performance concerns. I'm now thinking about the volume/pan knobs on instrument/sample tracks, and how to best implement sample-exactness for them. Currently, buffers are passed from InstrumentTrack to a method in Mixer. InstrumentTrack takes volume/pan (and note volume/pan if these exist), converts them to left/right volumes, and passes these as arguments to the Mixer method, which then does the amplifying. Now, I see two ways of implementing sample-exactness here: either we move the amplification completely to InstrumentTrack, and pass an already amplified buffer to the Mixer method. Or, we modify the mixer method to additionally accept pointers to the vol/pan models, and the mixer method can then do all of the amplification. I'm not sure which would be a better way to go about this? ------------------------------------------------------------------------------ Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. With Perforce, you get hassle-free workflows. Merge that actually works. Faster operations. Version large binaries. Built-in WAN optimization and the freedom to use Git, Perforce or both. Make the move to Perforce. http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk _______________________________________________ LMMS-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/lmms-devel
