Bugzilla – Bug 3741
Request for Scanning process to Include POPM ratings field in mp3 files
Last modified: 2011-11-06 23:25:19 UTC
I've been doing a little bit of research and discovered that my preffered player Mediamonkey on the PC, uses the POPm field for ratings as does WMP, it is the ID3v2 standard. I've included the details about this tag. at the end of this report. It is extracted from ID3v2 org As this is a standard, i would like to see a plugin or setting which chooses to scan tracks, for there rating through the POPM field. Option 1. Use POPM mp3 ratings> 1. Yes, 2. No (This turns on or off the plugin in slimserver. Slimserver when scanning will scan the songs and add popm ratings to the Db for each song. Looking for all the ratings, within a file. Note, some will have multiple, however these are made unique by an email address. The scan should write them all) Option 2. Is the display options> 1. Display Ratings by Ratee. 2. Do not sort by Ratee, use order of ratees (option 3) or first address if option 3 is blank. ( This allows users to view by one all encompassing rating, or to separate their ratings by user. Option 2.1 displays as. Browse by rating -> Browse By Person (lists all email addresses of the unique rating according to Option 3.) ->Browse By greater than; Browse by less than, Browse by Rating, Not Rated, 1 star, 2 star, etc -> songs by rating. Option 2.2 displays as. Browse by rating -> Not Rated, 1 star, 2 star, etc -> songs by rating) Option 3. List Email addresses> Boxes which list the order of priority to read the ratings, Option 4. Add Ratings To the Random Mix> 1. Yes, 2. No (This option allows you to select a greater than, less than exaxt rating option whilst creating random mixes.) (therefore e.g read Bens rating first, then Sally's. This allows the user to specify which rating to use first If only one rating is to be used. And if they have chosen to display by ratee to limit it to only the addresses nominated in this option. Leave this field blank to use the first rating if option 2 is set as not to sort by ratee, or to grab all addresses if they have chosen to display by ratee, above.) *****************Info relating to POPM field****************** Extract from http://www.id3.org/id3v2.3.0.html#sec4.18 4.18.Popularimeter The purpose of this frame is to specify how good an audio file is. Many interesting applications could be found to this frame such as a playlist that features better audiofiles more often than others or it could be used to profile a person's taste and find other 'good' files by comparing people's profiles. The frame is very simple. It contains the email address to the user, one rating byte and a four byte play counter, intended to be increased with one for every time the file is played. The email is a terminated string. The rating is 1-255 where 1 is worst and 255 is best. 0 is unknown. If no personal counter is wanted it may be omitted. When the counter reaches all one's, one byte is inserted in front of the counter thus making the counter eight bits bigger in the same away as the play counter ("PCNT"). There may be more than one "POPM" frame in each tag, but only one with the same email address. <Header for 'Popularimeter', ID: "POPM"> Email to user <text string> $00 Rating $xx Counter $xx xx xx xx (xx ...) Syntax: Email|Rating|Playcounter Example: Mp3tag|255|5 Extra Information As this rating is 1-255 where 0 is no rating most applications use a 5 star system. Where 0 stars is 0 Where 1 star is 1 Where 2 Stars is 64 Where 3 stars is 128 Where 4 stars is 196 Where 5 stars is 255
In addition To the above, i really think the development should be in modules. As not everyone uses the same media library player. The core module should handle ratings within slimserver, viewing, writing to a table with a timestamp, entering rating through remote. etc. I believe it needs to write to a table either the main slimserver table or another. Other modules to be developed are scanning. popmscan module, Scan popm fields from tags in file to the slimserver table. Covers WMP, media monkey and others itunesscan module, scan itunes db to write to slimserver table. Covers Itunes. Any other they would be the main ones. Then ultimately a write back modules. Syncitunesrating Module, writes updated ratings to itunes db The POPM module for syncing the data is hard, as slimserver does not write to files. So maybe this can be left for plugin writers. Me personally i use Media monkey which uses microsoft access db as it's tables. I'm sure a plugin could be created by the community or myself to update the data to this db. in regards to WMP i'm not to sure, i'm sure that someone could write something to update the WMP table, though i have a vague recollection that this is difficult. or to counter the both, an update directly to the file can be written by the community. Though in essence The development of the core ratings module within Slimserver is the key. Then the scanning of ratings, then the output to files, itunes db. This method allows for a large range of Media players. libraries.
Dean doesn't work here any more :)
Unassigned bugs cannot have a priority.