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