add hotcue text labels, position, and right click menu to overview waveform#2238
add hotcue text labels, position, and right click menu to overview waveform#2238daschuer merged 103 commits intomixxxdj:masterfrom
Conversation
This prevents labels from overlapping without enforcing an arbitrary limit on the width of the label. The user can hover the mouse cursor over an elided label to show its full text. In this case, subsequent labels are temporarily hidden until the mouse cursor is moved away.
daschuer
left a comment
There was a problem hiding this comment.
Thank you for this useful addition. I have left some comments.
to simplify drawMarks a bit
daschuer
left a comment
There was a problem hiding this comment.
Here some more test results:
I have an refresh issue when editing the label with the track properties dialog. Some are instantly shown and some not.
I think the elide can be improved. The cue number should be always shown. How about this
1: 11111111111111111 2
1: 1111111111… 2
1: 1… 2
1 2
12
The hover area of a hovered label overlaps the hover area of the following marks. This way I cannot hover them any more. How about to not grow the hover area, or just define a sensitive area around the cue bar.
A cue near the end should be painted right aligned to not be cut bay the end of the waveforms.
I do not understand why these were separate classes in the first place.
This is much easier to use and discover than finding the track in the library, right clicking it, opening the track Properties window, and going to the Cuepoints tab.
instead of the point under the cursor
|
For the mini decks, I think it would be better to make the overview waveforms slightly taller than add more complexity. For the preview decks, I am torn. We could make the text size small or we could add this boolean option to skins to not show the cue times on mouse hover. Now that I look at it, the text size feels awkwardly large for how tiny the preview deck waveforms are. I also notice that the intro & outro are not shown on the preview decks. |
|
I tested decreasing the font size for the preview decks and I don't think that's a great solution. In LateNight I had to decrease the font size to 7, which is not easy to see. I'll add the option to not show the times on cue hover. I don't think that information is very helpful in the context of the preview deck. |
|
When I mentioned the mini decks I only thought of the text labels. The cue times and duration of certain ranges might be too much. |
|
I increased the height of the overview waveforms in mini decks in Deere and LateNight so there is room for all the labels. In Tango it already worked. I attempted to fix Shade, but I got lost moving the bottom border of the mini deck. I will not put any more effort into maintaining that hacky old skin. |
|
Increasing the height of the Shade mini deck is not necessary. We can just remove the hoovering. Can you also take care of the samplers? |
|
I would prefer to not have different functionality in different skins. I will turn off the times on cue hover for the samplers. |
|
I think we can leave Shade mini decks as they are: the cue numbers are so tiny that the mouse pointer covers it up anyway, so no big deal if it's hidden by other means on hover.. |
|
Letting the labels disappear on mouse hover is IMO a bug and not acceptable for release. |
|
I'm building this branch right now. |
Hotcue conflicts in LateNight, fix for Shade mini decks
|
@daschuer ready for merge? |
|
Yes. Thank you very much for this good feature enabling full Cue power. |
|
As described in https://bugs.launchpad.net/mixxx/+bug/1850644, this change removes the left click-and-drag behavior of the overview, which is used quickly scan around the track (especially to rewind to the beginning). Looking at the code I see no reason we can't restore that functionality, although it's not as simple as reverting the removed m_bDrag references. |
|
@Be-ing Maybe this was discussed here earlier and I simply don't find it, or it's an obvious feature request that would make the new hotcue features complete and even more awesome: |




Text labels are rendered so they do not overlap with other labels. If the text would be too wide, it is elided. However, the can hover the mouse cursor over a label to show the whole label, temporarily hiding any following labels that would be drawn over it. Implementing this turned out to be somewhat complicated.
Without hovering:

With hovering, notice the labels to the right are temporarily hidden:

