-
-
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
Search related tracks in collection #3181
Conversation
The CI test failures on Windows are unrelated. @Holzhaus Maybe caused by recent float fixes? These failures seem to become more frequent. |
I must have created a Launchpad issue a long time ago: https://bugs.launchpad.net/mixxx/+bug/1455901 |
Update and extended. BPM and year can be added by someone else who needs it. |
So this could be extended to 'fuzzy BPM search' like +- 5 BPM? |
Sure. Just a few lines of code. But I am not keen on discussions about the actual range and configuration options, therefore left out in this PR. The year is also tricky, because this is a string field. Parsing the string to a date is part of the aoide PR, I already had to do that. Too lazy to backport it. |
Sure.
Could you please share link to the code that does it? |
The tests are both the starting point and crucial!! |
Lastfm has a query similar api that returns artists with similar style. If we could form a or query, that might be interesting. Or we implement this as some fancy filter for the search query. lastfm_similar("Bakermat") would be replaced with some large artist in ['...', '..', '...', ] query. It seems you can't combine like with in. |
Extending the query capabilities is out of scope of this PR. |
If this PR is not reviewed in-time I will delete it and keep it as a commit in my private fork on top of all my other pending changes. The changes introduced here cause a lot of merge conflicts for me and I am not willing to resolve them for an extended period of time. |
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.
Code looks good. I'll give this a try tomorrow.
I think there's room for a more innovative design that doesn't rely on navigating menus and right clicking (which isn't available on touch screens), but that can be added later as another interface for the same features. For now, adding this to WTrackMenu is an easy and obvious design for a big usability improvement, especially now that WTrackMenu is available in the decks. |
I need to force push to fix a preceding PR that contains unintended changes caused by conflict resolution while cherry-picking. |
I have also reordered and separated the menu items:
|
I think it's just a quoting issue. |
I'd use BPM and Artist the most, and I think searching for Title is used rarely.
|
Thanks for the hint! I have recently removed the quotes because I thought they were not needed 🙈 Will re-add them. |
Fixed. |
Done. |
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!
// Title and grouping actions | ||
addSeparatorBeforeNextAction = !isEmpty(); | ||
{ | ||
const auto title = track.getTitle(); |
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.
How about searching for trailing text in parentheses and adding another menu entry without that? I think that would work for the remix/original searches in most cases. For example, if the title is "Foo (Bar Remix)", add items to search both title:"Foo (Bar Remix)"
and title:"Foo"
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.
There are too many variations. I leave this (and the following discussion) to a subsequent PR after we collected some feedback.
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.
okay
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.
Feel free to start working on a class TitleParser
that will be needed for this purpose ;)
Thanks for working on this! |
👍 in conjunction with Remove from Disk #3212 this is a killer tool for cleaning up my library! only the location string shown in the |
That's exactly the reason why we need an MVP of every new feature for collecting early feedback instead of getting lost in detailed discussions about potential edge cases ;) Work continues in #3215 |
for everyone who like me has to lookup MVP: minimum viable product |
A simple yet effective extension of the track context menu for exploring and managing the library:
Searching for tracks with a similar tempo would be another option.
I have created this feature for personal usage and will not extend it myself, i.e. only provided as a starting point.