Value of ID3v2 POPM field and MM's Rating

To get bugs in the current release fixed, please report them here.

Moderator: Gurus

MrSinatra
Posts: 41
Joined: Fri Dec 14, 2012 9:21 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by MrSinatra » Tue Jan 29, 2013 9:05 am

hi Jiri et al,

i hope i didn't put everyone off with my two long previous posts.

i would like to know what you think Jiri, specifically of the "new chart" i am recommending MM use to R/W POPM values.

also, here are a couple of images showing how Win Explorer7 and WMP12 view the same set of files. the filename/track # represent the raw POPM value.
--
Image
and
Image

jiri
Posts: 5368
Joined: Tue Aug 14, 2001 7:00 pm
Location: Czech Republic
Contact:

Re: Value of ID3v2 POPM field and MM's Rating

Post by jiri » Tue Jan 29, 2013 10:59 am

Hi MrSinatra,

you've made a great work comparing the apps! I'm on a vacation now, so I'm a little slower on responses...

As for your suggestion
- Full stars - 2, 3, 4 - they are clear, no problem there
- Full stars - 1 - I'm not too keen on the suggested non-linearity, though I understand the reason. Is there any app that doesn't current properly read MM 1 star rating (written as POPM 23)?
- Full stars - 5 - yes, I agree with writing POPM 255 here, I don't see any potential issue with this approach
- The rest of POPM ranges - I'd rather stick with the current ranges used by MM, at least for the compatibility reasons with older MM versions. Another thing is that some scripts/users use the full 0-100 range supported by MM and so not storing the range fully in POPM wouldn't be wanted.

Jiri

MrSinatra
Posts: 41
Joined: Fri Dec 14, 2012 9:21 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by MrSinatra » Wed Jan 30, 2013 2:34 am

jiri wrote:Hi MrSinatra,
you've made a great work comparing the apps! I'm on a vacation now, so I'm a little slower on responses...
thx! and np, i hope you enjoy it. let us know when you're back.
jiri wrote:As for your suggestion
- Full stars - 2, 3, 4 - they are clear, no problem there
- Full stars - 5 - yes, I agree with writing POPM 255 here, I don't see any potential issue with this approach
great! thats a step in the right direction, that should promote harmony and interoperability between all apps.
jiri wrote: - Full stars - 1 - I'm not too keen on the suggested non-linearity, though I understand the reason. Is there any app that doesn't current properly read MM 1 star rating (written as POPM 23)?
how deep is the ocean? ;) the point of following microsofts lead, which is what most apps end up doing, is that if all apps follow MS lead, they will all play nice with each other.

i have not tested much beyond winamp, wmp, win exp, and mp3tag. (and MM somewhat in the sense that i am using MM POPM values reported in this thread)

but even with just this small sample size, there are quite a few problems. the current release of winamp does NOT work with the values MM is using, like 23 for instance. it shows NO stars when MM uses 23 for one star. now, in fairness, winamps current POPM implementation is buggy, and due to my efforts in their forum, it should be fixed for their next release. but that isn't really the point. if MM used 1 for one star, as WMP and Win Exp both do, then winamp WOULD work with a MM rated file, even now with its admittedly current buggy popm implementation.

SO, the point is MM is arbitrarily doing something, (writing a value other than 1 for one star), that no one else is doing, (that i know of), and that can lead to problems that are not easy to foresee. it is basically contradicting the de facto standard setters, who are Microsoft.

for instance, as i mentioned earlier, mp3tag can [does] have big problems with what you are doing. mp3tag has a column it has based on your id string, and that string once written, should NOT be over-written even when the file is re-rated. winamp eg. behaves properly in this regard.

so say your app writes 23, (or 252 or 255 for that matter) and then later winamp changes the value to 1, (which it already uses when writing 1 star). the POPM will have the same id string, but the value will be unexpected to mp3tag, and therefore the entry will not appear in the RATING MM column in mp3tag at all! thats the kind of thing we should be avoiding by following the de facto standard.

and don't get too bothered by the non-linearity. most users won't know the difference, but you'll be compliant with MS. that should trump what we both agree is otherwise not intuitive. it has to be done though, b/c of poor choices MS made. really though, it will only affect POPM values of 2-31. after that, things are more or less linear and sensical, albeit inelegant.
jiri wrote: - The rest of POPM ranges - I'd rather stick with the current ranges used by MM, at least for the compatibility reasons with older MM versions.
but you could build in a script to the install routine that would update the old values to proper new ones. this would take no effort on the part of the user. it would be a one time thing. you would just need to properly map old values to new ones.

as to what specifically MM should use to write half stars, my only concern would be that it not contradict windows explorer, and not display 0 stars when the raw POPM value is other than 0, b/c i believe that to be demonstrably false. only 0 can be 0.
jiri wrote:Another thing is that some scripts/users use the full 0-100 range supported by MM and so not storing the range fully in POPM wouldn't be wanted.

Jiri
i have to admit, you've totally lost me here. did you mean to say the full 0-255 range of POPM?

i have always advocated using 0-255 for POPM, since that is established by the spec.

but beyond that, i don't understand the point you are making here?

rovingcowboy
Posts: 14153
Joined: Sat Oct 25, 2003 7:57 am
Location: (Texas)
Contact:

Post by rovingcowboy » Wed Jan 30, 2013 3:07 am

The point is the song ratings were screwed up by ms's mistake, mediamonkey used full range of 0 to 5 stars including the bomb and half stars,
Others wished to get rid of the bomb while some wanted it, but we all wanted half stars, mediamonkey made good by us then others wanted to use 2 stars as lowest setting for normal first time rating, so jiri and rusty and the others figured how to keep all the stars that we all wanted.
Now more members want to use mediamonkey as a side script for their other players but dont like mm's ratings and wish them to be made same as ms's screwed up ratings.

I do care other members are not happy with how mm does them, but i couldnt be anymore to the point by saying this any other way so,, i dont care about different players i use mediamonkey other players help forums and support and user created addons departments left me in the cold dark cyber space, mediamonkey was only one that used my skins for their program and does all what i need the program to do, so there is no other app for me, i will if need to go back to winamp classic and use it, but wont go online anymore for its forum.
And i know there are other members with simular reasons for being here at mm.

I know the ratings are only 5 stars most other places but 10 here counting the half stars, which is how i like it would also like the bomb to show again, but can do with out it.

Now you know what has been going on here and how i feel and what is the feeling of others (i think).

Then if you can find a way to keep all 10 ratings and make it work with other players i'm for it but dont take my half stars away,.

8)
roving cowboy / keith hall. My skins http://www.mediamonkey.com/forum/viewto ... =9&t=16724 for some help check on Monkey's helpful messages at http://www.mediamonkey.com/forum/viewto ... 4008#44008 MY SYSTEMS.1.Jukebox WinXp pro sp 3 version 3.5 gigabyte mb. 281 GHz amd athlon x2 240 built by me.) 2.WinXP pro sp3, vers 2.5.5 and vers 3.5 backup storage, shuttle 32a mb,734 MHz amd athlon put together by me.) 3.Dell demension, winxp pro sp3, mm3.5 spare jukebox.) 4.WinXp pro sp3, vers 3.5, dad's computer bought from computer store. )5. Samsung Galaxy 5 Android 5) 6. Proscan tablet Android 4.3 ) 7. amd a8-5600 apu 3.60ghz mm version 4 windows 7 pro bought from computer store.

MrSinatra
Posts: 41
Joined: Fri Dec 14, 2012 9:21 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by MrSinatra » Wed Jan 30, 2013 3:23 am

with all due respect, i don't think you read my posts. i realize they were long, but i have to object to your post b/c it is a total, gross mischaracterization of what i am trying to do and accomplish here.

i would never advocate MM giving up its half stars, NEVER. if you look at the chart i suggested to Jiri to use for MM, you will see i gave values for R/W for popm's 0-255 range for full AND half stars.

the point isn't whether or not MS did a lousy job implementing ratings. we all agree they did, but like it or not, everyone has to comply with it if there is going to be interoperability. so that being the case, the point is how can MM best do ratings, to accomplish its own worthy goals, without losing interoperability?

the idea is to thread the needle to the best of our ability to do so. nothing to that end, suggested by me, would result in the loss of half stars for MM users.

rovingcowboy
Posts: 14153
Joined: Sat Oct 25, 2003 7:57 am
Location: (Texas)
Contact:

Re: Value of ID3v2 POPM field and MM's Rating

Post by rovingcowboy » Wed Jan 30, 2013 3:31 am

Must have read the posts wrong sorry it looked like a wish for only five ratings, and i just get rubbed wrong when suggested we comply with mistakes i think ms needs to fix thier mistake,.

Otherwise its like we all eat with our elbows on the table, just because of the baby doing it. 8)
roving cowboy / keith hall. My skins http://www.mediamonkey.com/forum/viewto ... =9&t=16724 for some help check on Monkey's helpful messages at http://www.mediamonkey.com/forum/viewto ... 4008#44008 MY SYSTEMS.1.Jukebox WinXp pro sp 3 version 3.5 gigabyte mb. 281 GHz amd athlon x2 240 built by me.) 2.WinXP pro sp3, vers 2.5.5 and vers 3.5 backup storage, shuttle 32a mb,734 MHz amd athlon put together by me.) 3.Dell demension, winxp pro sp3, mm3.5 spare jukebox.) 4.WinXp pro sp3, vers 3.5, dad's computer bought from computer store. )5. Samsung Galaxy 5 Android 5) 6. Proscan tablet Android 4.3 ) 7. amd a8-5600 apu 3.60ghz mm version 4 windows 7 pro bought from computer store.

jiri
Posts: 5368
Joined: Tue Aug 14, 2001 7:00 pm
Location: Czech Republic
Contact:

Re: Value of ID3v2 POPM field and MM's Rating

Post by jiri » Mon Feb 04, 2013 3:59 am

Ok, so based what's written above, it probably makes sense to:

- Full stars - 1 - Really write POPM value 1 here (instead of 23).
- Full stars - 5 - As already stated, write POPM 255 here
- The rest of POPM ranges - I'd rather stick with the current ranges used by MM, at least for the compatibility reasons with older MM versions. As for the idea to use a script for update - no, that's definitely not a good way, there are several reasons, e.g. MM never updates tags without a good reason for it (and this wouldn't be a good reason for most users).

- As for the 0-100 internal range in MM - that was used historically before 0-5 stars as a percentage. It isn't used much now, but e.g. some scripts use this internally, so that they can e.g. calculate rating automatically based on playcount, skipcount, etc.

Jiri

MrSinatra
Posts: 41
Joined: Fri Dec 14, 2012 9:21 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by MrSinatra » Tue Feb 05, 2013 12:17 am

i can very well live with that Jiri. :D

thanks for actually listening to and considering my arguments. i also think what you have said is valid.

i do think there is an inherent worth in all the major apps doing a R/W of full stars the same way, namely 1,64,128,196,255 ...however ill conceived that way is, (and i agree it is MS buffoonery!)

i will be interested to test the next ver of MM, to see how it uses other values and works with MS.

i am still confused by your 0-100 comments... i know MS uses a 0-99 range for wma, but 0-100 for vorbis makes total sense to me, as it allows for about as much granularity as anyone could need. but i don't understand the context or point you were trying to make. its probably not worth attempting to explain it though. ;)

i have another request for you, concerning ratings, will you consider:

1. exposing in the options (as winamp will) the ability for the user to delineate what email id string is written to POPM? (default: no@email )
2. supplying a toggle to overwrite or respect existing id txt strings, (default: respect)
3. supplying a second toggle to only display ratings for the email specified in #1, (default: off)
4. support multiple POPM frames, so that multiple users could have their own ratings in the same file.

i'm sure you can see how multiple users could config their MM's to allow them to access the same files, but put their own ratings into them, and display their ratings back to themselves, but not overwrite someone elses rating, but rather add a second, third, fourth, etc POPM frame.

thanks!

Lowlander
Posts: 44974
Joined: Sat Sep 06, 2003 5:53 pm
Location: MediaMonkey 5

Re: Value of ID3v2 POPM field and MM's Rating

Post by Lowlander » Tue Feb 05, 2013 12:37 am

MrSinatra wrote:i am still confused by your 0-100 comments
He's saying MediaMonkey used to use a % for rating, not the current stars. That's why the 0-100 value range exist in MediaMonkey. It was kept as some Addons use the for a more fine tuned rating.
Lowlander (MediaMonkey user since 2003)

rovingcowboy
Posts: 14153
Joined: Sat Oct 25, 2003 7:57 am
Location: (Texas)
Contact:

Re: Value of ID3v2 POPM field and MM's Rating

Post by rovingcowboy » Tue Feb 05, 2013 3:41 am

Yes i think you would understand the 0 - 100 system if you got big berny's auto ratings script and viewed it in notepad i think his is the only rating script still working in mm.
roving cowboy / keith hall. My skins http://www.mediamonkey.com/forum/viewto ... =9&t=16724 for some help check on Monkey's helpful messages at http://www.mediamonkey.com/forum/viewto ... 4008#44008 MY SYSTEMS.1.Jukebox WinXp pro sp 3 version 3.5 gigabyte mb. 281 GHz amd athlon x2 240 built by me.) 2.WinXP pro sp3, vers 2.5.5 and vers 3.5 backup storage, shuttle 32a mb,734 MHz amd athlon put together by me.) 3.Dell demension, winxp pro sp3, mm3.5 spare jukebox.) 4.WinXp pro sp3, vers 3.5, dad's computer bought from computer store. )5. Samsung Galaxy 5 Android 5) 6. Proscan tablet Android 4.3 ) 7. amd a8-5600 apu 3.60ghz mm version 4 windows 7 pro bought from computer store.

MrSinatra
Posts: 41
Joined: Fri Dec 14, 2012 9:21 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by MrSinatra » Fri Mar 22, 2013 1:10 pm

MrSinatra wrote:i have another request for you, concerning ratings, will you consider:

1. exposing in the options (as winamp will) the ability for the user to delineate what email id string is written to POPM? (default: no@email )
2. supplying a toggle to overwrite or respect existing id txt strings, (default: respect)
3. supplying a second toggle to only display ratings for the email specified in #1, (default: off)
4. support multiple POPM frames, so that multiple users could have their own ratings in the same file.

i'm sure you can see how multiple users could config their MM's to allow them to access the same files, but put their own ratings into them, and display their ratings back to themselves, but not overwrite someone elses rating, but rather add a second, third, fourth, etc POPM frame.

thanks!
I should clarify that #3 would show any rating present by default, but would show what's in #1 as the preferred one for display. when "on" it would show only that one exclusively.

however, I just wanted to post here that as of the new beta in winamp's forum, the %rate% atom is now supported for mp4/m4a, so mp3tag, twonky, and now winamp all support it, using a 0-100 vorbis like scale, (20,40,60,80,100). I am adding this to suggest that MM should also support the %rate% atom, if it doesn't already.

aax
Posts: 2
Joined: Mon Jun 23, 2014 12:53 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by aax » Mon Jun 23, 2014 5:50 pm

 
Don't worry, this isn't about the values that are being written; they work as they should.

However, the representation of non-standard values (values that aren't 0, 13, 1, 54, 64, 118, 128, 186, 196, 242, 255) is seriously messed up. I noticed this accidentally, and then did a test to see what's up and here are the results:
https://dl.dropboxusercontent.com/u/113 ... 2.1706.png

Instead of the linear increase in the number of stars as the rating values go up, the stars displayed are all mixed up:
bomb, 1★, bomb, 0.5★, 1★, 1.5★, 0.5★, 1★, 1.5★, 2★, 1.5★, 2★, 2.5★, 3★, 2.5★, 3★, 3.5★, 4★, 4.5★, 5★

So I checked some other players to see how they map the display of stars (they mostly all match, but don't use half-stars):
WMP 12
Win Explorer (8.1)
Winamp v5.666
foobar2000 v1.3.2

Here's what I'd like to propose, put in context:

Code: Select all

Rating   WMP 12           Win 8.1 Explor   Winamp v5.666    foobar2000 1.3.2   MediaMonkey 4.1.2.1706         Proposed reading
stars    writes (reads)   writes (reads)   writes (reads)   writes (reads)     writes (reads)                 for MediaMonkey
-------  ------------------------------------------------------------------------------------------------     ----------------

0        ---              ---              ---              ---                  0 (          0,     2-8)  |  0             0
0.5      ---              ---              ---              ---                 13 (       9-18,   30-39)  |  0.5        2-22
1          1    (1-31)      1    (1-31)      1    (1-31)      1    (1-32)        1 ( 1,   19-28,   40-49)  |  1      1, 23-31
1.5      ---              ---              ---              ---                 54 (29,   50-59,   70-90)  |  1.5       32-63
2         64   (32-95)     64   (32-95)     64   (32-95)     64   (33-96)       64 (      60-69,  91-113)  |  2         64-95
2.5      ---              ---              ---              ---                118 (    114-123, 134-141)  |  2.5      96-127
3        128  (96-159)    128  (96-159)    128  (96-159)    128  (97-159)      128 (    124-133, 142-167)  |  3       128-159
3.5      ---              ---              ---              ---                186 (             168-191)  |  3.5     160-195
4        196 (160-221)    196 (160-223)    196 (160-223)    196 (160-223)      196 (             192-218)  |  4       196-223
4.5      ---              ---              ---              ---                242 (             219-247)  |  4.5     224-254
5        255 (222-255)    255 (224-255)    255 (224-255)    255 (224-255)      255 (             248-255)  |  5           255
The logic behind choosing those value-ranges for display of those stars is pretty simple: if you were to use any non-standard value from a certain range you would still see the expected number of stars throughout all those players (half-stars rounded up, since it's more logical than down).


EDIT: Oh, and here's an archive with the files I used for testing, and the results, if anyone wants to try for themselves.

MiPi
Posts: 447
Joined: Tue Aug 18, 2009 2:56 pm
Location: Czech Republic
Contact:

Re: Value of ID3v2 POPM field and MM's Rating

Post by MiPi » Tue Jun 24, 2014 6:53 am

aax: thanks for the analyze! I like your idea, but I would adjust the intervals to get better mappings to 0-100 scale (i.e. have enough integer values in each interval) and to be compatible with previous 5stars value written by MM (252). What about this:

Code: Select all

stars      POPM interval
------     -------------
0                      0
0.5                 2-16
1               1, 17-31
1.5                32-63
2                  64-95
2.5               96-127
3                128-159
3.5              160-195
4                196-223
4.5              224-242
5                243-255

MrSinatra
Posts: 41
Joined: Fri Dec 14, 2012 9:21 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by MrSinatra » Tue Jun 24, 2014 2:01 pm

Mipi,

I disagree. only 255 should be 5 stars. ANYTHING below 255 should NOT be 5 stars.

just FYI I requested the devs here and at winamp change their apps to be more in line with windows explorer, we used that as the benchmark, and I am grateful they did so. but the MM problem is that explorer and all the other big apps only use full stars, not half stars or bombs.

I tried to get MM to change its scale behavior for half stars, if only for logics sake, but their POV at the time was that they wanted to maintain backwards compatibility, which was reasonable imo. however, for the sake of discussion, here is how I would WRITE values, assuming that maintaining de facto standards was important (it is to me):

0 = Bomb
16 = 0.5 Star
1 = 1 Star
32 = 1.5 Stars
64 = 2 Stars
96 = 2.5 Stars
128 = 3 Stars
162 = 3.5 Stars
196 = 4 Stars
226 = 4.5 Stars
255 = 5 Stars

obviously, there isn't much to be done about the non-linear way the raw values write for 0 to 1 star. we can thank MS for that.

I would have MM READ values this way:

Bomb = 0
1.0 Star = 1
0.5 Star = 2-31
1.5 Star = 32-63
2.0 Star = 64
2.5 Star = 65-127
3.0 Star = 128
3.5 Star = 129-195
4.0 Star = 196
4.5 Star = 197-254
5.0 Star = 255

again, not much you can do about the MS mangling of the low end of the scale.

Lowlander
Posts: 44974
Joined: Sat Sep 06, 2003 5:53 pm
Location: MediaMonkey 5

Re: Value of ID3v2 POPM field and MM's Rating

Post by Lowlander » Tue Jun 24, 2014 3:18 pm

That would break rounding (and thus some Addons) as everything is rounded to half stars instead of as it should to the nearest star (as mipi suggests).
Lowlander (MediaMonkey user since 2003)

Post Reply