FMPS Update

4 views
Skip to first unread message

Jeff Mitchell

unread,
Mar 15, 2010, 2:50:39 PM3/15/10
to fm...@googlegroups.com, x...@lists.freedesktop.org
Hello,

I finally have time to really dig down into this and work on it some
more...I have a few things on my plate that were requested by various
people, such as the RFC-style language, the addition of some common play
stats, and so on, but I've hit a roadblock.

Cristoph Reiter contacted me mentioning that although VorbisComments
allows UTF-8 in the text of the comment, it only allows a certain subset
of ASCII in the field name (not including an equal sign) -- which means
that anything variable that might have appeared in a field name is now
restricted.

I thought about this a bit and believe I have a solution. Pretty much
all languages that do string handling (and most do) have a split
function. So instead of something like:

FMPS_Rating_User_Jeff=Mitchell=0.82
FMPS_Rating_Critic_Ralph=Gleason=0.8
FMPS_Rating_Critic_Metacritic=0.72
FMPS_Rating_Critic_Rolling_Stone=0.9

you'd get a single field, but with multiple values contained therein:

FMPS_Rating_Critic=User;Jeff Mitchell;0.82::Person;Ralph
Gleason;0.8::Publication;Rolling Stone;0.9::Publication;Metacritic;0.72

There are a few things to discuss above:
1) As you can see, this concatenates the values using a separator, with
those values themselves separated. This stems from the way that ID3v2
allows multiple values, although separated by a null byte, which sucks
for easy, high-level string processing or manual editing by advanced
users. Does this seem like a reasonable thing to do?

The rest of the questions are predicated on the answer to the above
being "yes" :-)

2) What should the separators be? Could there be a publication like
"tl;dr" or "Coder::Music"? Something readable yet not likely to be found
naturally is nice.

3) What about the categories? I figure that User (non-critic), Person
(professional critic) and Publication (including web sites, since those
are publications) should suffice. But perhaps there should be a Website
category; or perhaps for Publications there should be a way not only to
have the publication name but the actual critic that did the review for
that publication (but ideally while keeping the number of fields the
same). Thoughts?

Once I get some feedback and get this problem sorted out, I should have
a new draft for your perusal in pretty short order.

Thanks,
Jeff

signature.asc

Jeff Mitchell

unread,
Mar 16, 2010, 11:40:30 AM3/16/10
to Krzysztof Kosiński, fm...@googlegroups.com, x...@lists.freedesktop.org
On 3/15/2010 8:55 PM, Krzysztof Kosiński wrote:
> 2010/3/15 Jeff Mitchell <mitc...@kde.org>:

>> 2) What should the separators be? Could there be a publication like
>> "tl;dr" or "Coder::Music"? Something readable yet not likely to be found
>> naturally is nice.
>
> There are only two good choices:
> a) any separators, but with the possibility to escape them with \
> b) unprintable characters (from the 0x01-0x1F ASCII range), for
> example 0x1E (Record Separator), 0x1D (Group Separator) or 0x1F (Unit
> Separator)

b) is what parts of ID3v2 already use (sort of; they use null chars,
which presents its own problems). It's not a great solution because not
only is it tougher to deal with with most string handling
libraries/easier to mess up, but it also makes it almost impossible for
an advanced user to edit directly.

I think a) is the way to go.

--Jeff

signature.asc

Karl Vollmer

unread,
Mar 16, 2010, 11:54:08 AM3/16/10
to fm...@googlegroups.com, Krzysztof Kosiński, x...@lists.freedesktop.org
>
> I think a) is the way to go.

"Me too" - The annoying part of this is we have more then one tag
format to contend with. Avoiding non-printable characters which may be
prohibited by the tag spec seems like the best idea, if not one we
would want in our perfect world.

-Karl

Reply all
Reply to author
Forward
0 new messages