[SlimDevices: Beta] Re: more than one ARTIST tag in ID3 tags
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
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
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
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
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
* 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
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
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
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
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
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
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
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
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
* 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