Hi. Just wanted to warn, I am ready to start attempting to replace the mixer knobs with these horizontal sliders. In a few days likely.
Thanks go to Budislav for suggesting this type of control in his mixer proposal several months ago. I am fairly pleased with the results so far. I hope it works out. No time for pictures right now, I'll try later so you can judge it. But, being a totally self-contained horizontal control with an entire control-sized slider PLUS overlaid label text AND value readout, you can probably imagine it. Being designed for tight spaces It has a plethora of options to squeeze a desired look and feel out of it. For example, the 'thumb' can be auto-hide. It can disappear when the mouse is not over it (but not while operating it), so that small potentially confusing graphics are not cluttering up the area, leaving only the coloured slider bar's edge for easier viewing. Also for example the text overlays have a few options. Since the background is a split two-colour thing depending on slider position, the text must be readable over top of both colours, even at the split. Just like a progress bar. You can split the text colours (like most progress bars), or you can shadow the text, or you can leave the text always highlighted or not highlighted - if you are certain your desired background colour scheme does not need these contrast features. All colours used in the control are taken from the control's widget palette, except for the thumb colour which could not be really sourced from the palette so it is programmed separately (default yellow, so it stands out). So to change colours just alter the palette (and separate thumb colour). Note that similar to our meters, for speed the control is completely custom drawn with no system background and no auto fill. Unlike certain styles, it ALWAYS draws a focus rectangle. I want to say that supporting styles is fun and I always do it, but in these cases of custom animated controls, styles are a pain in the ASS. It is impossible to support them here and they can be a speed hit when attempting to support them because of their required background fills, unusual shapes and so on. For these reasons, only the palette usage is 'style aware' but the rest of the control is custom drawn. When operating the slider thumb, actual pixel-to-value matching is 1-to-1. That is, even though the control may be really short horizontally, the mouse operates the thumb through the ENTIRE step range. We can fit a 128 step midi slider into our current midi mixer strip width of around 60 pixels, and still be able to adjust through the entire range. Note that it is this way 1-to-1 by default at the moment because I just wanted to see if 1-to-1 pixel-to-value mapping would work. But I am planning to go back to the normal method by default (where the value range attempts to FIT into the width, missing some values), and that will be a COARSE adjustment, while pressing the SHIFT key will activate this other FINE 1-to-1 adjuster. For precise value input, there is an overlaid standard spinbox which you can popup by double-clicking the thumb. The thumb can be very skinny or even ZERO pixels wide (not shown at all) so there is a SEPARATE 'thumb hit area' property which can be wider than the thumb itself, even when the thumb is zero width. The control supports "special value text" (inf at zero etc.) and an "off" state which we need for our midi sliders (class MidiController has a special value called "UNKNOWN" meaning "off" a.k.a. "never been set yet", which we must support in GUI midi controls). Tim. ------------------------------------------------------------------------------ Go from Idea to Many App Stores Faster with Intel(R) XDK Give your users amazing mobile app experiences with Intel(R) XDK. Use one codebase in this all-in-one HTML5 development environment. Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 _______________________________________________ Lmuse-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/lmuse-developer
