[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-23 Thread gerph

windowshade Wrote: 
> I'm currently testing the patch--thanks to some extra help from gerph.
> It's working well! I've scanned my collection and have not uncovered
> any problems so far. A re-scan using MusicMagic worked well also.
> 
> I will post if I find any new problems.

I've now rescanned my collection here which does NOT contain any of the
multi-value fields and I don't see any change in behaviour - ie no
regression effects here. However, I have only limited use of ID3v2 in
my collection so this may not be exercising the change all that much.


-- 
gerph

gerph's Profile: http://forums.slimdevices.com/member.php?userid=1819
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-21 Thread windowshade

I'm currently testing the patch--thanks to some extra help from gerph.
It's working well! I've scanned my collection and have not uncovered
any problems so far. A re-scan using MusicMagic worked well also.

I will post if I find any new problems.


-- 
windowshade

windowshade's Profile: http://forums.slimdevices.com/member.php?userid=5046
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-19 Thread windowshade

For the purposes of tracking, I've submitted 'enhancement request 3972'
(http://bugs.slimdevices.com/show_bug.cgi?id=3972), along with the plea
below.
> While the use of null separators in this context may seem obscure (only
> foobar2000 and mp3tag support it AFAIK), it offers the following
> advantages over text separators (such as '/' or ';'):
> 
> 1. Graceful degradation to ID3v1. Only the first string in the
> null-separated list is written to the ID3v1 tag, reducing clutter (and
> its repercussions: split-up albums, i.e.) in legacy devices.
> 2. Smooth integration integration with foobar2000, a popular audio
> player for Windows.
> 3. Improved integration with MusicMagic/MusicIP. MIP does not support
> text separators but ignores strings following the first null.
> (Currently, values in a text-delimited list appear 'mixable' from
> SlimServer but are not recognized by the MIP API, resulting in an empty
> mix. Trailing artists--for instance--in a null separated list will not
> appear mixable to begin with. That's how it works with Vorbis
> comments.)
> 
> I recognize that implementing this could be complex; thanks for
> considering it.


-- 
windowshade

windowshade's Profile: http://forums.slimdevices.com/member.php?userid=5046
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-19 Thread grommet

gerph Wrote: 
> despise the need to place the tag at the head of the file that .3 (and
> every single tagger in existance that writes .4) uses. Both of these
> issues are addressed in .4 and thus it is likeable.Remember, it was 
> intentionally added to the front for brain-dead
streaming style use.  I can be useful.  I personally have no problem
with tags placed in the front and I don't find either version any more
dangerous; I do find implementations of  ID3 dangerous, though.  ;) 
Such is life with a pseudo-standard.


-- 
grommet

grommet's Profile: http://forums.slimdevices.com/member.php?userid=5959
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-19 Thread gerph

Dan Sully Wrote: 
> * gerph shaped the electrons to say...
> 
> >I am concerned, however, that there is a possibility that this will
> now
> >introduce multiple ARTIST values as an array. That is, the ARTIST
> value
> >in the hash changes from being a scalar to being an array reference
> 
> SlimServer already handles this properly. Vorbis comments by their
> nature can
> have multiple values - the same array structure is used.
> 

Hey, excellent; the patch might even work in the live version then :-)

Thanks for confirming that though; it saves me having to worry.


-- 
gerph

gerph's Profile: http://forums.slimdevices.com/member.php?userid=1819
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-19 Thread Dan Sully

* gerph shaped the electrons to say...


I am concerned, however, that there is a possibility that this will now
introduce multiple ARTIST values as an array. That is, the ARTIST value
in the hash changes from being a scalar to being an array reference


SlimServer already handles this properly. Vorbis comments by their nature can
have multiple values - the same array structure is used.

-D
--
"It has become appallingly obvious that our technology has exceeded our 
humanity." - Albert Einstein
___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-19 Thread gerph

windowshade Wrote: 
> Thanks, gerph for your input and for your precise use of language. In
> the sample file, ARTIST appears to be null-delimited just like GENRE.
> There are no duplicate frames.
> 
> TPE1... Yo-Yo Ma\0Bobby McFerrin\0...
> TCON... Classical\0Experimental\0...
> 
> I'll solicit some opinions from the foobar2000 forum regarding
> compliance with the ID3v2.4 informal standard prior to submitting an
> enhancement request.

Ok, I've had a look at this and after a bit of messing around I've got
a patch that I've tested OUTSIDE of slimserver only. I've tested it in
a number of forms with my own tests and your example and it appears to
work correctly for what I have determined is 'correctly'. 

I am concerned, however, that there is a possibility that this will now
introduce multiple ARTIST values as an array. That is, the ARTIST value
in the hash changes from being a scalar to being an array reference
when the file contains multiple artists (either because the ID3v1.1
differs from the ID3v2, or because there are multiple entries in the
ID3v2 field). This may cause problems for some clients. Indeed, I'm not
sure that having the IDv3.1 and the ID3v2 exist concurrently is at all a
good idea (fortunately, this doesn't happen with the current versions of
SlimServer).

The patch applies the change to the behaviour of all the T??? frames in
ID3v2 files. It doesn't actually pay attention to the fact that this is
ID3v2.4 only in the parsing function - partly because that's the way
that the code was before I looked at it and partly because I've seen
people put ID3v2.4 frames into ID3v2.3 files (sigh) and thus we
probably ought to treat them similarly. All such frames can become
arrays if they have multiple fields within them.

The only exceptions to this are TCON, which is handled separately
because of the numeric genres that may be present (unchanged code), and
TXXX which is allowed to occur multiple times and has slightly different
rules.

In the form which slimserver uses the call, getmp3tag(2, undef, 0),
this means that the key 'ARTIST' (or 'ALBUM', or any of the others) may
now be an arrayref or a scalar. Prior to this patch, only 'GENRE' could
be an arrayref or scalar - all the others being only scalars.

I have NOT tested this live on slimserver. Not because I'm lazy, but
because the HD on my server is failing and I'm in the process of
backing up which kinda takes priority. Whilst I've been waiting for the
backups, though, I've been able to test this code in standalone form on
another box. Somebody will need to have a look at it and see if it does
work in a live slimserver system, and whether - if it does not - other
changes are necessary. I'll be able to look at it properly myself in
the middle of next week, I think. Sorry. Hopefully I'll still be around
to fix things if I can see them in a standalone use.


+---+
|Filename: Info-multi-text-field-values.diff|
|Download: http://forums.slimdevices.com/attachment.php?attachmentid=1585|
+---+

-- 
gerph

gerph's Profile: http://forums.slimdevices.com/member.php?userid=1819
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-19 Thread gerph

grommet Wrote: 
> I also keep ID3v1.1 in my MP3 content in parallel with IDv2.3.  In the
> "big OS" world, virtually everything does deal with IDv2.3... I find
> ID3v1.1 only comes in handy for consumer electronic devices.

That's not universal, then. That's just common.

grommet Wrote: 
> As I said, I don't like either... but, like it or not, ID3v2.3 is as
> universal as you get and I don't expect that to change.  ID3v2.4 was
> somewhat still-born, partially because the original id3lib never added
> support for it... so it was universally ignored initially.  I
> personally find the .4 version more "open to interpretation" than .3,
> but that's my opinion... :)

.3 is dangerous. That, apart from anything else, is a good reason not
to use it.

I didn't say I didn't like ID3v2; I do like it. I dislike the
proliferation of the poor and dangerous .3 standard, and particularly
despise the need to place the tag at the head of the file that .3 (and
every single tagger in existance that writes .4) uses. Both of these
issues are addressed in .4 and thus it is likeable.


-- 
gerph

gerph's Profile: http://forums.slimdevices.com/member.php?userid=1819
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-19 Thread grommet

gerph Wrote: 
> Many clients support only ID3v1(.1), and this is why - to stay
> universally compatible - I use that.I also keep ID3v1.1 in my MP3 content in 
> parallel with IDv2.3.  In the
"big OS" world, virtually everything does deal with IDv2.3... I find
ID3v1.1 only comes in handy for consumer electronic devices.

> Without wishing to get into any arguments over this, I personally don't
> understand the continued use of the known-broken ID3v2.3 tags by so
> many otherwise respectable applications. Of the forms of ID3v2 which
> are defined, the .4 specification is far and away the most reliable and
> useful.As I said, I don't like either... but, like it or not, ID3v2.3 is as
universal as you get and I don't expect that to change.  ID3v2.4 was
somewhat still-born, partially because the original id3lib never added
support for it... so it was universally ignored initially.  I
personally find the .4 version more "open to interpretation" than .3,
but that's my opinion... :)


-- 
grommet

grommet's Profile: http://forums.slimdevices.com/member.php?userid=5959
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-19 Thread gerph

grommet Wrote: 
> 
> For the mostly still-born ID3v2.4 informal standard, I didn't think
> I've seen anyone actually implement the null delimiters.  If Foobar2000
> does do this (which is ID3v2.4 only, for reasons I'll never understand),
> they might be the first anywhere.  No idea what other applications will
> do with it.

MP3::Info at present processes the multi-value fields for only the TCON
frames. I'm working on extending the code to support all text frames at
the moment.

grommet Wrote: 
> If I stick with MP3, I try to stay universally compatible... and that,
> like it or not, means I avoid ID3v2.4.

Um... if you want to be universally compatible, you avoid *all* the
ID3v2 versions, surely ? Many clients support only ID3v1(.1), and this
is why - to stay universally compatible - I use that.

grommet Wrote: 
> I guess Slimserver, since it can read ID3v2.4, should parse out the null
> delimited names if they exist.  (Yes, I hate ID3... all versions are
> junk, but we're stuck with it.)

Without wishing to get into any arguments over this, I personally don't
understand the continued use of the known-broken ID3v2.3 tags by so many
otherwise respectable applications. Of the forms of ID3v2 which are
defined, the .4 specification is far and away the most reliable and
useful.


-- 
gerph

gerph's Profile: http://forums.slimdevices.com/member.php?userid=1819
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-18 Thread grommet

Just a FYI...

In the "de facto" standard ID3v2.3 tag format, a slash ("/") is
supposed to be the delimiter for multiple names in artist related
fields.  (This is rarely implmenetated, of course...)  This is rarely
used and most just treat it as a single string.  (Microsoft, amazingly,
does support this standard.)  Regretably, only a few folks have even
bothered implementing multiple names (and "Album Artist" grouping.)

In Slimserver, you can easily define "/" as delimiter in the 'Multiple
Items in Tags' section in 'Behavior' and you'll get technically correct
multiple name support if you use ID3v2.3.

For the mostly still-born ID3v2.4 standard, I don't think I've seen
anyone actually implement the null delimiters.  If Foobar2000 does add
it (which is ID32.4 only, for reasons I'll never understand), they
might be the first.  No idea what other pool application will do with
it...


-- 
grommet

grommet's Profile: http://forums.slimdevices.com/member.php?userid=5959
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-18 Thread windowshade

Thanks, gerph for your input and for your precise use of language. In
the sample file, ARTIST appears to be null-delimited just like GENRE.
There are no duplicate frames.

TPE1... Yo-Yo Ma\0Bobby McFerrin\0...
TCON... Classical\0Experimental\0...

I'll solicit some opinions from the foobar2000 forum regarding
compliance with the ID3v2.4 informal standard prior to submitting an
enhancement request.


-- 
windowshade

windowshade's Profile: http://forums.slimdevices.com/member.php?userid=5046
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-18 Thread gerph

Dan Sully Wrote: 
> * windowshade shaped the electrons to say...
> 
> >SlimServer 6.5b1 only reads the first ARTIST tag from an MP3 file
> >tagged with multiple ARTIST tags. (More than one tag: I'm not talking
> >about splitting multiple artists with a special character. That works
> >just fine.) Please see the attached file: MP3, ID3v2.4, tagged using
> >foobar 2000 v0.9.3.1.
> 
> There is no ID3 standard for putting multiple artists in a file.
> 
> So whatever fb2k is doing is non-standard.
> 

The specification does allow for multiple artists in a ID3v2.4 tag.
Frames document, Section 4.2 states that 'All text information frames
support multiple strings, stored as a null separated list where null is
represented y the termination code for the character encoding'. That
would allow multiple artists to be listed. This is distinct from using
(say '&') to separate multiple artists in a single string. Whether this
should be supported or not is a matter of complexity, I imagine.

I'm not sure if this is what the OP meant, or whether they meant that
there were multiple TPE[1234] frames within a single tag, which is
explicitly disallowed in section 4.2 ('There may only be one text
information frame of its kind in an tag' (sic)), modified later by
allowing multiple TXXX frames only.


-- 
gerph

gerph's Profile: http://forums.slimdevices.com/member.php?userid=1819
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-17 Thread windowshade

Okay, thanks. That makes sense. I'll keep using the splitList.


-- 
windowshade

windowshade's Profile: http://forums.slimdevices.com/member.php?userid=5046
View this thread: http://forums.slimdevices.com/showthread.php?t=26483

___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta


[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags

2006-08-17 Thread Dan Sully

* windowshade shaped the electrons to say...


SlimServer 6.5b1 only reads the first ARTIST tag from an MP3 file
tagged with multiple ARTIST tags. (More than one tag: I'm not talking
about splitting multiple artists with a special character. That works
just fine.) Please see the attached file: MP3, ID3v2.4, tagged using
foobar 2000 v0.9.3.1.


There is no ID3 standard for putting multiple artists in a file.

So whatever fb2k is doing is non-standard.

This is really an enhancement requests.


SlimServer 6.5b1 detects both GENRE entries, but only detects the first
ARTIST: Yo-Yo Ma. 


The ID3 spec _does_ allow for multiple genres, which we do support.

-D
--
It's the wrong trousers Gromit, and they've gone wrong!
___
beta mailing list
beta@lists.slimdevices.com
http://lists.slimdevices.com/lists/listinfo/beta