Ok, I now have an initial implementation of an updated time signature
widget, where the denominator is constrained to powers of 2 (1, 2, 4, 8,
16, 32) - as discussed earlier.

It works perfectly with direct user input, so that if you change it with
mouse/mouse wheel/entering value with double-click, it only allows these
values.

There's a slight problem though... automation still allows setting
values outside of the correct ones. When this happens, the model rounds
it down to the nearest allowed value, but the widget still shows the
incorrect value visually.

So for example, if you automate the denominator and set it in a straight
line from 1 to 32, the widget will show all the values between 1 and 32,
but the rest of the software behaves as if it's going through only the
correct power-of-2 values.

I'm not exactly sure how to solve this problem, or whether it really
even needs solving - I don't think anyone ever really uses automation
for time signatures. And if we in the future move to a model where
patterns all have their own internal time signatures, then this problem
would be moot... but in the meanwhile, it could be confusing to users.

If anyone wants to take a look at the code to maybe figure out what to
do about this, it's in my github repo:
https://github.com/diizy/lmms/tree/denominator

------------------------------------------------------------------------------
"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