falkTX / los

Libre Octave Studio
GNU General Public License v2.0
20 stars 5 forks source link

Input needed: Ideas for re-working how part colors are chosen #19

Open ViktorNova opened 8 years ago

ViktorNova commented 8 years ago

The way part colors are chosen is not at all intuitive, and is badly in need of a makeover. For me it is really one of only a few frustrating aspects of working in this sequencer (which is not the worst problem to have!) Nevertheless, I propose that we re-do it, but I wanted to discuss some different approaches and see what you think:

Option 1 - Rearrange the current structure to be more logical Keep all the existing business code, just change the categories and color schemes to be something like this:

This might be the least disruptive, and retains all the legacy color schemes. Because the colors are numbered from the bottom up, it would change the colors of any existing LOS projects, but wouldn't break anything or need any compatibility code written. The downside is that the way it is now isn't very flexible.. but that might not matter too much as long as we leave some empty slots in each category for new colors (and hide them from view), or if we had enough color schemes in there to make everyone happy

Option 2 - Borrow from Qtractor Qtractor does color for tracks in a pretty cool way, and we could likely retrofit the code easily. There's a foreground and a background color specified separately in html hex, along with a list of preset colors for each, and a QT color picker if you don't want to type your color in or use a preset, and the QT picker does remember favorites. qtractor colors In LOS the right-click color menu could pop up a submenu for each foreground and background, which would list of the presets and favorites, and have a "Custom" option which would pop up the QT color chooser

The save file would have to be modified to save and restore colors from a hex values pair instead of the current indexed numbering scheme. For compatibility we could either keep the back-end code for parsing the old-style colors so that people's songs don't break, or assign random foreground/background colors if an older LOS project is loaded. Ideally, the favorites/custom colors would also be saved to the global config and loaded when LOS launches

Option 3 - Some weird combination of 1 & 2


So yeah, this has been on my mind =) What are your thoughts on this?