Rating and PopMeter as column in Mp3tag listview

Column Definition for RATING [#16] width=50 numeric= name=Rating value=$if2(%RATING WINAMP%,$if2(%RATING WMP%,%RATING MM%)) sort=$left($replace($if2(%RATING WINAMP%,$if2(%RATING WMP%,%RATING MM%)),'.',)'0',2) field= enabled=1 Column Definition for RATING and POPULARIMETER [#17] width=50 numeric= name=Rating value=$if2(%RATING WINAMP%,$if2(%RATING WMP%,$if2(%RATING MM%,$if2($ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),196,5,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),128,4,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),64,3,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,2})\\\\|\\\\d+','$1'),1,2,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d)\\\\|\\\\d+','$1'),0,1,))))),)))) sort=$left($replace($if2(%RATING WINAMP%,$if2(%RATING WMP%,$if2(%RATING MM%,$if2($ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),196,5,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),128,4,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),64,3,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,2})\\\\|\\\\d+','$1'),1,2,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d)\\\\|\\\\d+','$1'),0,1,))))),0)))),'.',)'0',2) field= enabled=1 Column Definition for PopMeter [#18] width=60 numeric= name=PopMeter value=$if(%RATING WINAMP%,$repeat('#',%RATING WINAMP%),$if(%RATING WMP%,$repeat('*',%RATING WMP%),$if(%RATING MM%,$repeat('+',%RATING MM%),$repeat('\u003d',$if2($ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),196,5,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),128,4,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),64,3,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,2})\\\\|\\\\d+','$1'),1,2,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d)\\\\|\\\\d+','$1'),0,1,))))),0))))) sort=$left($replace($if2(%RATING WINAMP%,$if2(%RATING WMP%,$if2(%RATING MM%,$if2($ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),196,5,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),128,4,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,3})\\\\|\\\\d+','$1'),64,3,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d{1,2})\\\\|\\\\d+','$1'),1,2,$ifgreater($regexp(%POPULARIMETER%,'^.+\\\\|(\\\\d)\\\\|\\\\d+','$1'),0,1,))))),0)))),'.',)'0',2) field= enabled=1 Applied mapping for value %POPULARIMETER%: >0 ==> 1 >1 ==> 2 >64 ==> 3 >128 ==> 4 >196 ==> 5



See also ...
/t/11806/1

DD.20140831.1313.CEST



Wow!
This seems very interesting!
The idea of using the asteriscs is great. :slight_smile:

Unfortunately I don't use a 1-5 scale, nor WMA files, so I think I cannot benefit from this. :frowning:
I use the scale 1-10 in MusicBee, with MP3 files, or 0-100, in grades of 10, with FLAC files (the official Rating method for Vorbis Comment, which is what FLAC files use).
I already have two conversion and one Synch (both ways) Actions to do the hard work for me. :slight_smile:
So I never have to worry about changing them manually.

Just one notice:
Please pay attention that the Rating Tag, has a different scale for FLAC/OGG files, from 0-100, so this format of Rating is missleading, for those file types.

But thanks for bringing this up. I'll have to find a way of using this idea. :slight_smile:

MediaMonkey changed their rating system last year so now pretty much all players use the same values for MP3. MediaMonkey and MusicBee are the only ones that use half-stars, but those values will be properly displayed by other players (rounded to full-stars).

Rating   WMP 12         Win 8.1 Explor   Winamp v5.666   foobar2000 1.3.2   Clementine 1.2.3   MediaMonkey 4.1.2   MusicBee 2.3.5188
stars    writes         writes           writes          writes             writes             writes              writes
-------  ---------------------------------------------------------------------------------------------------------------------------
unrated  0 or no POPM   0 or no POPM     0 or no POPM    0 or no POPM       0 or no POPM       no POPM             no POPM

0        ---            ---              ---             ---                ---                  0                   0
0.5      ---            ---              ---             ---                ---                 13                  13
1          1              1                1               1                  1                  1                   1
1.5      ---            ---              ---             ---                ---                 54                  54
2         64             64               64              64                 64                 64                  64
2.5      ---            ---              ---             ---                ---                118                 118
3        128            128              128             128                128                128                 128
3.5      ---            ---              ---             ---                ---                186                 186
4        196            196              196             196                192                196                 196
5        255            255              255             255                255                255                 255
4.5      ---            ---              ---             ---                ---                242                 242

So I would suggest we get rid of RATING MM, RATING WMP, and RATING WINAMP quasi-fields entirely and replace them with a single quasi-field RATING STARS that will display and allow input of 1–5 stars in half-star increments and write them to POPM (for mp3) as 0–255 values and to RATING (for flac) as 1–100 values, and also to whatever other formats use.

DetlevD I find this very useful - well done! :music:

As suggested by "aax" above, could you please add mapping for the "Half points" to the POPULARIMETER:

13 ==> 0.5
54 ==> 1.5
118 ==> 2.5
186 ==> 3.5
242 ==> 4.5

Regexp is not one of my stengths :unsure:

Hi Everybody!

I also would be extremely grateful if Mp3Tag woud offer this feature!
My whole collection is ripped in Flac. But my new DJ Software (TRAKTOR) only offers direct playlist implementation with iTunes which has no Flac support... grr
I transcoded my whole collection with dbPoweramp to Apple losless but all old trak ratings that I made with Music Bee are not recognized by iTunes. The ratings of the new .m4a files are also messed up in Music bee.. I am really disappointed... why cant't there be a standard rating syntax...


Very true in respect to non-standard rating.
Yet, i do not see what mp3tag could change in the behaviour of various players.
What you do get: you can write actions that adapt an existing rating to that of the target player. And that feature is there already.

"...you can write actions that adapt an existing rating to that of the target player..."
--> How? :unsure:
Could you post another thread, where it is explained?
I found nothing on this subject.
An explaination for people without programming skills would be amazing :rolleyes:

See the help for the various formats for the atom POPM:
http://help.mp3tag.de/main_tags.html#POPM
Some like stars, others want single digits, others byte values.
So: check your files, which value format you find in your old files. (It could even be that the ratings are not stored in your files but only in the player database).

Then check a file first in MP3tag for the rating, then open it in the next player, enter a rating, then re-open it in MP3tag and check which format the rating takes.
Now modify the other files according to the new format.
BTW: I think that iTunes does not take advice from tags in respect to rating ... I think the rating is always only stored in the iTunes database.
So I think that the only way around it would be to open the files in MP3tag, sort them by rating, select all files of the same rating, drag&drop them into a manual playlist in iTunes, open the playlist, select all files in iTunes and set the rating there...