-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WTrackMenu: Add ability to select loaded track in library -- fixup/tweak #4740
Conversation
Thank you for picking this up. |
I don't want to hijack that PR, therefore I wrote
and if Nino is able & motivated to continue his work he can simply pick my commits. (marked this as draft) |
Hi guys! First, I would like to thank you for helping me. Secondly, I am currently struggling to find time for Mixxx. Personally, I would like us to work together to finish this. Having said that, what is left to do here? |
as written in the PR description
I only briefly checked the |
I have rechecked my original findings:
Works
Not working
Now the menu entry is grayed out. OK
I have played with this a bit and I guess the uses case is quite similar to the "Search for similar" instead of search for compatible tracks: For instance, instead of searching for compatible key Instead the compatibility search feature has the purpose of a search query composer (only). It would be a game changer if it would be a recursive menu. |
So you expect the searchbox to be cleared to enforce showing the track?
In case the track was loaded from the AutoDJ queue it is removed from the queue (unless re-queue is enabled) so this would obviously only find the duplicate. |
No, I did not expect it. I original expected that the track is shown in the current track table and only if it is already part of it. However I don't mind to turn this feature in any direction if we have a good reason for it. |
The switch/gray out idea in the AutoDj use case question, is special. What would be the best responds that serves the user intend the best ... |
I don't understand. which tracks table do you refer to? The queue or "Tracks" feature? |
In this case I mean the Tracks feature. |
There are two aspects:
|
Argh, the controls row for AutoDJ, Recording and Analyze is gone after 9aac4c6 😬 I'll look into it, seems I didn't understand all the track view mechanics, yet. |
What is the main use case for this new feature? Since you can already see/and edit the track properties via "Properties", there is only the "Find similar tracks" use case left. It this correct, or do I overlook something? So it is worth to consider to join the feature with "Search related Tracks". What do you think? |
I don't have a real need for this feature currently. Though, after I browsed the list and scrolled too far to have the track in sight I'd use it to scroll back to the track in the current view. |
@ninomp What is your use case? |
So this is the wrong approach in the first place Maybe I come up with an alternative solution. |
What is your reason for doing this? |
Usually I work in Tracks only. I filter for some genre or custom tag and sort by rating or play count. Mostly I work from the top down (rating--) but I scroll down to unrated (or unplayed) tracks where I might spot a known, yet unrated track to play. |
Ah great, so we can summarize your use case as well as "finding similar tracks" with the same genre and a similar play-count/rating. That matches my one as well. |
I doubt we are on the same page. Searching and similiar tracks has nothing to do with my use case. It could also be that I'm in the chronological view (sorted descending by 'date added'). Like checking out new tracks, and throw in an old favourite (filtered view), then get back to the previous position (clear search, 'Select track') Again: IMO the 'Select track' functionality may be used by 'Find similiar tracks', but 'Select track' should be independent and work for each view (no switch to Tracks), exactly as @ninomp described the feature in #4688 (comment) |
Since everything you write matches my use case, I think I was not able to express my idea good enough. Let my try again:
Conclusion:
My idea is to revise both features with this knowledge. I have no fixed idea, only some loose questions we may verify before writing more code:
Maybe we find a better menu that serves all these ideas? If finally consider the implementation of this PR the best UI for the feature, it is also fine for me, but we are sure we have not missed something better. |
Okay, thank you for the clarification! I'll try to explain how my use cases differ.
Yes, but I don't want to filter the library, I want all tracks in the list. Actually, I find 'Select track' useful to pull the selected track back into the view --without touching the searchbox. |
4890db8
to
d7bffb6
Compare
I removed the wrong commits and refined the one that checks if the track is in the current view 648a779 Works fine in all views. |
Thank you, It is working good now. However I think the usability can be improved.
Of cause. Do we agree that the underlying use case however is the same? "Watching the track among other similar tracks?" This gives us the chance to streamline the GUI and find the correct solution for corner cases. Following questions will come up:
How about making the Menu like this (first draft for discussion)
All will select the current track if available |
Instead of graying out we may show either |
Thanks, those are good questions. Depending on the current view we could show different action(s):
Apart from that I don't want to touch the "Search related tracks" feature here. Maybe your proposed "Append query" actions could even be I propose to merge this basic feature first¹ and iterate in follow-ups. IMO the current functions ¹depending on how @ninomp is available he could pick my commits, or (my preference) I rebase his and my commits on main since the actual feature discussion has moved here. |
Yes sure. We just need to make sure we are heading in the right direction. So please give a hint when this is merge-able. I think we can also make use of a feature to switch to a track in the Tracks view from any crate/play-list. |
Well, that could be Lines 654 to 661 in 30cc5f1
|
@ronso0 I rebased my commits on top of latest main: https://github.com/ninomp/mixxx/commits/select-in-library_rebased |
d7bffb6
to
54deccf
Compare
Thank you, done. @daschuer This is ready for review. |
Ci failure was due to the Validate AppStream metadata check not finding the screenshots from mixxx.org |
Thank you. This works good enough for a merge. However, do you mind to move the feature to the top, or on the second to position. (because it looks odd to have a grayed out feature on the top) |
89f761d
to
7d5aa8b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, Thank you!
❤️ 🎉 |
First of all thanks @ninomp for starting #4688
This PR is built on top of that. I opened this PR against the Mixxx repo instead of @ninomp's to get more feedback.
I looked into the issue we discovered: the requested track is not selected in AutoDJ, Recording and Analyze. Though, the select request goes to the previously selected tracks view (library cover art is updated) and thus clears track selection there. The same happens when the action is triggered while a feature root with no tracks table is selected.
Reason was that AutoDJ, Recording and Analyze do not emit
showTrackModel
when being activated. I fixed that.(note that the requested track will still not be selected in Recording and Browse since BrowseTableModel does currently not support
getTrackRows()
)However, the issue remained with feature root views that don't have a tracks table (Playlist, Crates, Browse). This 'user error' situation may be rare, but I prefer to avoid it.
Also, UX would be improved if 'Select track in library' would be selectable only if the track actually can be selected.
Both aspects are covered by disabling the menu action checking if a) the current view is not a tracks table or b) it doesn't contain the track (not at all, or due to filtering).
Looked into it and it seemed doable -- so I just tried it,. and it was way easier than I expected : )
I think there's still a chance to reproduce the issue: open the track menu, then change the sidebar selection with
[Playlist], Select..
from a controller, then click the 'Select track..' action.I did not yet touch the external library features -- I don't use them and I don't know how they work internally. I'd appreciate if someone else takes care testing.