User Tools

Site Tools


color_cues

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
color_cues [2020/01/24 10:13]
daschuer created
color_cues [2020/01/25 20:08] (current)
daschuer [Table]
Line 1: Line 1:
 **color cues** **color cues**
  
-In Mixxx 2.3 alpha the user can explicite ​select "no color" for hot cues. This state adds some complexity to the cue color feature and is unnatural for the user and unhandy for skins and mappings.+In Mixxx 2.3 alpha the user can explicit ​select "no color" for hot cues. This state adds some complexity to the cue color feature and is unnatural for the user and unhandy for skins and mappings.
  
 That's why we have decided to drop the "no color" state in the revamped implementation. That's why we have decided to drop the "no color" state in the revamped implementation.
  
-However, the "no color" state is already there, if we migrate hot cues from Mixxx 2.2, RecordBox ​and VirtualDJ. So we need to decide how to do this migration.+However, the "no color" state is already there, if we migrate hot cues from Mixxx 2.2, Recordbox ​and VirtualDJ. So we need to decide how to do this migration ​from this "no color" state to a model that does not have it 
  
 Each possible solution has implications to the usability and possible use cases. So let's have look on them  Each possible solution has implications to the usability and possible use cases. So let's have look on them 
Line 14: Line 14:
  
 This is the mayor use case of the color feature. Users may give a color a meaning and color the cues accordingly. This is the mayor use case of the color feature. Users may give a color a meaning and color the cues accordingly.
-The user will probably start with one typeLike "​Bridge End" ​= yellow ​and use it for some tracks. All other Cues and Cues set in Mixxx will left default. This will change step by step for every track which is prepared and every new meaning which is defined. Especially with large libraries this will likely never be finished.+The user will probably start with one meaning and a color that indicates itThe user may for instance use Yellow fro "​Bridge End" and use it for some tracks. All other existing cues and and new cues set in Mixxx will left default. This will change step by step for every track which is prepared and every new meaning which is defined. Especially with large libraries this will likely never be finished. 
 +All default cue are displayed with a color that has the fixed meaning "​meaning undecided"​.  
 + 
 +The user may decide which color is used for the "​meaning undecided"​ or "​default"​ state, because a color picked by the developers may have already a different meaning for the user, using other tools side by side with Mixxx.  ​
  
 **2 Colored controllers** **2 Colored controllers**
  
 The user does not have a concept like in use case 1) he just want make use of the color feature to distinguish cue buttons from other buttons on his controller. The user does not have a concept like in use case 1) he just want make use of the color feature to distinguish cue buttons from other buttons on his controller.
-The user may select a color for all it's cues together and check how it looks. + 
-If he is not confident with it he might want to change this color to another to check it out.+He might not be confident with the color picked by the developers during migration, because the color might be already in use for other features in the mapping. So the user may wish to select the color he is used to from Mixxx 2.2 or other tools.  
 + 
 +Traktor uses Green for Hotcues and older CDJs are using Orange 
  
 **3 Number = Cue Type** **3 Number = Cue Type**
Line 33: Line 38:
 It can also be a design aspect. It can also be a design aspect.
 This can be used for example for a drum pad like use case from different tracks. This can be used for example for a drum pad like use case from different tracks.
 +
 +VirtualDJ has this feature. ​
  
 **5 No use (Skin default)** **5 No use (Skin default)**
  
 For users migrating from Mixxx 2.2, new cue button color might be distracting since the selected default color may look foreign. Here it would be nice, if we allow to keep the original Mixxx 2.2 colors and not bother the user until he is ready to use cue colors. For users migrating from Mixxx 2.2, new cue button color might be distracting since the selected default color may look foreign. Here it would be nice, if we allow to keep the original Mixxx 2.2 colors and not bother the user until he is ready to use cue colors.
 +
 +This is the default for hot cues in current Mixxx master. ​
 +
 +This feature works well only if the controller has no colored hot cue pads, because the skin default may look ugly on controllers. Once a controller with colored cue buttons is present the user may swith to use case 2)
  
 **6 Use Recordbox cues** **6 Use Recordbox cues**
  
 Recordbox users want to use an USB stick with Mixxx and Recordbox and their CDJ. It can be expected that all the features working, without loosing the memory cue / hot cue separation and the "no color" state of the cues during using the stick on different systems. Recordbox users want to use an USB stick with Mixxx and Recordbox and their CDJ. It can be expected that all the features working, without loosing the memory cue / hot cue separation and the "no color" state of the cues during using the stick on different systems.
 +
 +Moving memory cues are to hotcue buttons or wise versa, after editing the memory stick with Mixxx is not probably also not acceptable. ​
  
 **7 R/W cues to file Metadata** **7 R/W cues to file Metadata**
  
 Serato saves cue info into file metadata. ​ Serato saves cue info into file metadata. ​
-Users may want to read an write this data to exchange cue Info with Serato or other softwares ​able to read this data. +Users may want to read an write this data to exchange cue info with Serato or other software ​able to read this data. 
  
 In case of third party tracks a color mapping is essentially. In case of third party tracks a color mapping is essentially.
Line 60: Line 73:
 The user may wish to adopt colors from the existing cues to the new palette. The user may wish to adopt colors from the existing cues to the new palette.
 This is required to keep the colors distinguishable. Mixxx'​s default palette is optimized for being distinguishable. This is required to keep the colors distinguishable. Mixxx'​s default palette is optimized for being distinguishable.
-If tracks with off palette colors are imported the colors may become ambiguous, which night be not desired.+If tracks with off palette colors are imported the colors may become ambiguous, which might be undesired.
  
 **Migration Strategy** **Migration Strategy**
Line 68: Line 81:
 In the meantime we need to decide for an intermediate solution that does not prevent using one of the desired use cases. We may also consider to allow changing the use case after a longer period if using. In the meantime we need to decide for an intermediate solution that does not prevent using one of the desired use cases. We may also consider to allow changing the use case after a longer period if using.
  
-The intermediate solution should not be disacting, in a way that's the user cannot continue Mixxx as usually after update to 2.3.+The intermediate solution should not be disacting, in a way that's the user cannot continue Mixxx as usually after update to 2.3. For instance, a migration dialog is undesired
  
 **One possible solution** **One possible solution**
  
-One possible solution is implemented in  +One possible solution is implemented in https://​github.com/​mixxxdj/​mixxx/​pull/​2398 ​ 
-https://​github.com/​mixxxdj/​mixxx/​pull/​2398  + 
-It uses black (0) in the database color as indicator that the user has not selected a color. ​ This color is replaced on the fly with the selected default, which can be off palette color to keep the intermediate state or platte ​color which replaces the 0 color in the database color as well.+It uses black (0) in the database color as indicator that the user has not selected a color. This color is replaced on the fly with the selected default, which can be off palette color to keep the intermediate state or palette ​color which replaces the 0 color in the database color as well. 
 +The 0 replacement is an implementation detail of the DAO class. For the rest of Mixxx and from the user perspective cues have always a color.  
 + 
 +The user has the option to select a palette color for default (1;2) if he likes to get immediately rid of the default state this is the "​individual stored default state"​. ​  
 +He may alternative select the skin color (default), a off palette default color or cue color by number, if he wants to postpone the decision of a suitable default color. The actual color is set on the fly.  
 + 
 +  
 +**Compasion** 
 + 
 +^ Feature ​                                       | Mixxx alpha  | On the fly default ​ ^ individual stored default ​ ^ 
 +| Unabigious color for skin and mapping ​         | ✕            | ✔                   | ✔                          | 
 +| No "No color" in UI                            | ✕            | ✔                   | ✔                          | 
 +| Default color by skin                          | ✔            | ✔                   | ✕                          | 
 +| Default by mapping ​                            | ✔            | possible ​           | ✕                          | 
 +| Default by deck                                | possible ​    | possible ​           | ✕                          | 
 +| Don't touch tracks with no cue colors ​         | ✔            | ✔                   | ✕                          | 
 +| Lossless Roundtrip RecordBox ​                  | ✕            | possible ​           | ✕                          | 
 +| Lossless Roundtrip Serato ​                     | ✕            | ✕                   | ✔                          | 
 +| Keep exact external color code                 | ✕            | ✔                   | ✔                          | 
 +| Instant change of default color                | ✔            | ✔                   | ✕                          | 
 +| Switch to one default from cue by number mode  | ✕            | ✔                   | ✕                          | 
  
 **Other solution** **Other solution**
  
 Other solutions are possible. Here some ideas: Other solutions are possible. Here some ideas:
-We may use a useful color e.g.: orange during "no color" cues migration. This can be treated also as "no color" for the Recordbox roundtrip. ​+ 
 +We may use a useful color e.g.: orange ​or white during "no color" cues migration. ​Since Mixxx is able to distinguish the selected default color form other colors different use cases are still possible.  
 +This can be also used to treated also as "no color" for the Recordbox roundtrip. ​
  
 If a user likes cue by color or skin color 3)/4)/5) we can simply ignore the color saved in the database. If a user likes cue by color or skin color 3)/4)/5) we can simply ignore the color saved in the database.
  
-A mass replace solution will also allow most if the cases above. Hover we should keep in mind that we migrate to alternative colors first before swapping colors. This might take some time especially in case of aoide where cues areca track property+A mass replace solution will also allow most if the cases above. Hover we should keep in mind that we migrate to alternative colors first before swapping colors. This might take some time especially in case of aoide where cues are track properties or if the cue colors are saved in file tags 
 + 
 +In case of file tags we may save an additional cue at an invisible position that indicates the default color.  ​
  
 **Conclusion** **Conclusion**
  
 For every proposed solution, we may consider the impact on the use cases above. Finally we will have a good solution. For every proposed solution, we may consider the impact on the use cases above. Finally we will have a good solution.
 +
 +
 +
 +
 +
 +
 +
 +
  
color_cues.1579878836.txt.gz · Last modified: 2020/01/24 10:13 by daschuer