Hi Vesa & all,

Foreword: the current properties of AutomatableModel like min, max,
step size etc. date back to when we did the model/view split. Step
size hasn't been seen as a view-specific property as it was directly
related to altering data (values) and thus got moved to the model.


2014-05-15 16:31 GMT+02:00 Vesa <dii....@nbl.fi>:
> With volume controls, we don't even benefit from sample-exactness,
> because the volume will still be moving in those 0.1% or 1.0% steps,
> which causes very noticeable quantization artifacts and noise in the
> resulting signal. So even if we make the volume control sample-exact, it
> will still have quantization caused by the step size of the model.

Good catch!

> 2. Make the step size only affect the knobs, and possibly the automation
> grid, but allow the actual values of the model to also go between steps.
> Maybe make this behaviour configurable per-model, add a flag or
> something that determines how step size is used. A boolean member could
> be named "strictStepSize" or something, and it determines whether the
> step size applies only on the knob or will it be "strictly" applied to
> the values of the model.

That sounds reasonable especially in conjunction with the
yet-to-be-implemented fitter class. ATM I can't think of situations
where continuous values on the model/algorithm side could harm or
break existing functionality (maybe some specific floating point
issues?) - correct me if I'm wrong.

The fitter class then even could be implemented on the view-side
instead (AutomatableModelViewFitterBase,
AutomatableModelViewStepFitter etc.) -> widgets don't retrieve values
via model()->value() but fitter()->value() (the same for setting
values of course which is important for things like the
power-of-2-spinboxes). The fitter class would be responsible for
providing the best user experience while internally the models always
would be completely accurate.

Toby

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
LMMS-devel mailing list
LMMS-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lmms-devel

Reply via email to