-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
New Feature: Rating from id3 popm frame translates into star ratings. #924
Conversation
@@ -838,6 +838,29 @@ void readTrackMetadataFromID3v2Tag(TrackMetadata* pTrackMetadata, | |||
parseTrackPeak(pTrackMetadata, | |||
toQString(pTrackPeakFrame->fieldList()[1])); | |||
} | |||
TagLib::ID3v2::FrameList ratingFrame = tag.frameListMap()["POPM"]; |
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.
// POPM = Popularimeter
Thank you very much for working on this feature. It is a good step towards a universal solution. We have the issue, that Rating from different sourced can mean different things. Mainly we can distinguish at least a DJ-Rating from an Personal rating. Thats why I think we have to support at least two rating columns, but that is an other issue. Related bugs: Maybe we can setup the rating user as preference option. It looks like your use case will be work perfectly if you set the rating user to "traktor@native-instruments.de" |
@@ -194,6 +202,7 @@ class TrackMetadata { | |||
int m_channels; | |||
int m_duration; // seconds | |||
int m_sampleRate; // Hz | |||
int m_iRating; |
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.
TrackMetadata stores tags from various file formats in a portable way, both for reading and writing. I don't recommend to implement it in a way that just works for some special cases and loses information when writing tags back to files as Daniel already mentioned.
The int-rating in Mixxx is just the number of stars displayed on the UI. A portable solution needs to provide a bidirectional mapping between the tags from various file formats and the internal representation.
@WaylonR: |
My original cause of doing this is my wife sorting and rating my music (using her personal taste and music charts, with #1's being rated 5 stars), using AudioShell, which uses the Windows Media method of rating. Works well. She uses Windows, I use Mixxx under linux, its my only library organizing software. |
OK, so it looks like we need a mass import of the Windows Media Player ratings to Mixxx ratings. |
id suggest making a preference to set 'Import ratings to mixxx star On 14/04/16 03:46, Daniel Schürmann wrote:
|
This would work for me as a first shot. This check-box can placed along with "[Library]","WriteAudioTags" And can be evaluated here: mixxx/src/widget/wtracktableview.cpp Line 1319 in 9a424c9
Do you need some more hints to make it real? |
Merging changes from master to id3ratings_to_stars
I'm guessing this PR has kind of died? This is of major interest to me because I am trying to move from Windows to Linux and there is no replacement for MediaMonkey, which stores all ratings as POPM. I plan on forking Mixxx to really make it do what I need to generally, but this is a feature I could definitely do for main branch. I actually already did it mostly for a music player I started designing but scrapped. I'm kind of low on free time right now, but it is a big deal for me so I will find some time. Should I jump ahead on this? |
@LindyBalboa It would be great, if you will jump in here helping us to move this into a mere-gable state. A great benefit of Mixxx is that it is already highly flexible and customizable. However, we have not managed to a add all features required to be a full media player replacement yet (I personally use Clementine as personal media-player for that reason). I am happy to accept pull requests for upstream, adding these missing features. So there should be no reason to actually fork Mixxx. We have to keep in mind that Mixxx's first purpose is live DJ-ing though. Some time ago we have discussed to add two modes to Mixxx: Live mode and Prepare mode. This could also be a good approach if you plan to move away from the Live DJ use case. |
@WaylonR How are your planes here? What is missing to merge this to master? How can @LindyBalboa support you? In order to merge this to master we need your permission. Please sign: https://docs.google.com/a/mixxx.org/spreadsheet/viewform?formkey=dEpYN2NkVEFnWWQzbkFfM0ZYYUZ5X2c6MQ and comment here when done. Thank you |
@daschuer There were a few features that I personally would find useful but wasn't sure if they would fit in with the goals of Mixxx. My main use for a music player aside from personal use is to DJ for Swing dancing. This has different needs than club DJs. Two items I would want to implement are:
There were many more ideas I had, but it is Sunday evening and I am feeling to lazy to hunt down the list. My main concern was if #1 fit in or not. If that is something the main devs would be okay with, I would be happy to try and add that for Mixxx. |
Swing DJs should belong to Mixxx's first class citizen! IMHO 1) is already implemented in #991 and will be merged soon.
Please file a bug for every item on your list at: https://bugs.launchpad.net/mixxx/+filebug |
Super. That is pretty much what my first stab at implementing that was going to be. Will take a look at the pause stuff. The other big thing I feel is missing is a more advanced search option. I really like how mediamonkey does their search. Is something like that in the works? If not I got pretty far with a clone of it in my last project. |
Do you know this: https://www.mixxx.org/manual/latest/chapters/library.html#finding-tracks-search |
It isn't ready yet, i haven't successfully hooked the UI options in, but On 14/11/16 04:39, Daniel Schürmann wrote:
|
It looks like this is only implemented for ID3, but not Xiph, APE, or MP4/M4A. I would say those are rather critical pieces to the puzzle especially Xiph and MP4 because of audiophiles and itunes users. |
This is what I already mentioned when I reviewed this comment sometime ago: The implementation is still incomplete and currently only fits one special You may also should consider rebasing this branch on master before working On 16.11.2016 11:39, Conner Phillips wrote:
|
Actually is this PR duplicate of more advanced #1089? |
Its the prototype, the conceptulation of #1089. I never got back to it,
been so busy with other things, that instead of continuing #924, they
created a new PR. Okay, strange way of doing things but okay. If i ever
develop it any further, id build on #1089, instead of my own working code.
…On 26/04/17 18:09, Tuukka Pasanen wrote:
Actually is this PR duplicate of more advanced #1089
<#1089>?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#924 (comment)>, or
mute the thread
<https://github.com/notifications/unsubscribe-auth/AQ5ee3GLEs2MGhWOjz6kfOSMUwDWy_reks5rzt-hgaJpZM4IFaj3>.
|
@WaylonR Is it ok for you that we close this PR since there already is a successor and now many merge conflicts? I'm trying to do some housekeeping to get a better overview about what PRs are actually active and need to be reviewed. |
Yes, thank you. |
This pull request will pull in the id3 popm or Populimeter frame, and translate its rating numbers into stars, and apply them to the database. For existing files, they will have to be 'Reload from file metadata'ed.