SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Genre numbers replacing text in TCON

Paul, I don’t know if you saw this or not, but I’ve been playing with this to the point where I think it’s an issue:
http://www.jthink.net/jaikozforum/posts/list/6641.page

Is this how genres are supposed to be saved?

Sorry, I did glance at it I dont think I quite understand the issue though, can you restate it again for me please

No matter what I change in Prefs, I still get some form of number replacement with “standard” genres.

When the Jaikoz field says this:
Pop/Rock;Death Metal;Heavy Metal;Black Metal;

TCON and players display this:
Pop/Rock(22)(137)(138)

Even though it should be writing plain text, there is still some conversion happening.

Do you know what is actually stored in the file, i.e using a hex editor

Yes, TCON has the numbers, looking at both hex and in notepad. If I reopen that same file in Jaikoz, it still shows the text value(s) (Death Metal).

As greengeek suggested, I turned iTunes compatibility on, and it reduced the quantity of the number conversions, but it still happens. If you look at the link in my first post, you can see my results. The code boxes are pasted straight from notepad.

I should clarify something…

I don’t put this whole string into the genre field:

I use the genre dialog and add them individually. The code box above shows what an XLS export shows.

Is this with ID3v23, try with it ID3v24

It was 23, and yes 24 seems to be working. Thanks a million Paul. I’ll do some batches and see how it turns out.

I’ve delved into my code, from the ID3 specification

So I have implemented additional genres as refinements for ID3v23, and if the genre is a standard genre (i.e < 125 and hence known by iTunes) then I use the number rather than the text because otherwise the spec is unclear how to separate multiple refinements.

i.e
Pop/Rock;Death Metal;Heavy Metal;Black Metal;

in ID3v23 with number refinements should be

Pop/Rock(22)(137)(138)

but without using numbers what would it be

Pop/Rock Death Metal Heavy Metal Black Metal ?

It’s not clear

Whereas with ID3v24 multiple genres are separated with the null separator AND iTunes doesn’t seem to understand numbers at all for ID3v24 so I always write text if have the Write iTunes Friendly Genres option enabled.

As I said the specification is unclear so if you think there is a bug here, or you need more options Im open to suggestions

Well… I had a long winded response here and then realized that I turned iTunes Friendly off with 24… not that this one’s any less windy :slight_smile:

With Friendly on and 24, things seem to be saving properly now. I’m still playing with it and I’ll let you know if it’s still not working right.

To expand on your previous post; I realize that genres will probably never be sorted between devices/players, so I abandon the (n)=(genre) concept. All I’m after is the straight text to be written with no number replacement.

It looks like I can now batch-open and force save to replace the numbers with text.

Does this mean you’re leaning towards more incorporation of the numbers? Do you know something about the numbers that I don’t, cos to me they seem pretty useless. I don’t think I have one player that supports them correctly.

I can’t find it now, but somewhere I saw the list of null separators and how to use them. One of them was semicolon-delimited, which is what Jaikoz uses. How I have it set now (24 and Friendly), Winamp is seeing only the first one - which is good cos it means that it’s separating them out. Before, if there was a number, it looks like it treated TCON as one long string. I’ll play with Apple and XBMC tonight and see what it looks like.

Thx. 8)

[quote=dkoh]Does this mean you’re leaning towards more incorporation of the numbers? Do you know something about the numbers that I don’t, cos to me they seem pretty useless. I don’t think I have one player that supports them correctly.
[/quote]
Players understand the numbers, it just seems your player doesn’t understand refinements, after all the first value is displayed as number but not the others. I’ve no inclination to use numbers I just couldn’t see how to do it for ID3v23 without using numbers, this was done some time ago so I can revisit.

I think maybe you are right about problems with more than one genre, so would you prefer it for ID3v23 if it was written so most players just saw the first genre, or saw a string containing multiple genres.

No in V24 Jaikoz actually null separates values, this is the correct thing to do, but then it exports to spreadsheet it separates by ; instead as null seperator would be confusing (and only applies to Mp3s anyway not flac ecetera)

It just ignores everything after the first null character.

Paul

[quote=paultaylor]
I think maybe you are right about problems with more than one genre, so would you prefer it for ID3v23 if it was written so most players just saw the first genre, or saw a string containing multiple genres.[/quote]
In my case, I don’t really care what is displayed by the player (the first genre is fine). I’m after the functionality of searches. My main focus is XBMC. When you scan in a bunch of music, it builds a database with the ID3 info. This needs the genres to be separated to that I can pick them out individually.

So when ID3 contains this:

the way it was being displayed in XBMC with v23 was as one big string:

which is useless to me cos it only returns releases with that same exact string.

Now, playing with v24, it looks like it’s splitting them up properly:

Pop/Rock
Heavy Metal
Grindcore
Speed Metal
Hardcore Punk

Now I can select just one genre and it will return all relevant releases. It’s similar to visiting a movie rental site, where you can pick “Comedy” and it brings back everything containing Comedy, even though it may also contain Romance, Drama, whatever.

IIRC, this was behaving properly in v23 as long as the number wasn’t introduced. The spec isn’t clear on how combine a text entry with number entries, but I’m assuming the absence of a null in “Pop/Rock(137)” is causing it to be treated as one object. Maybe it’s acting like it’s a refinement, even though it’s really the next entry.

[quote]
No in V24 Jaikoz actually null separates values, this is the correct thing to do, but then it exports to spreadsheet it separates by ; instead as null seperator would be confusing (and only applies to Mp3s anyway not flac ecetera)[/quote]
Right. I saw this afterward in the hex.

When they are split as in v24 can you search on the 2nd or third genre, or just the first.

Thinking that maybe I should change V23 genres to work like v24 genres even though not standard for V23 as it would make more sense, and I forgot that if you want access to all the genres you can still get them via the grouping fields whicj just stores all genres as a single semi-colon separated string.

[quote=paultaylor]
When they are split as in v24 can you search on the 2nd or third genre, or just the first.[/quote]
Yes, all of them are searchable. This works on the iPhone also; not using iTunes, just dumping MP3s over.

[quote=paultaylor]
Thinking that maybe I should change V23 genres to work like v24 genres even though not standard for V23 as it would make more sense, and I forgot that if you want access to all the genres you can still get them via the grouping fields whicj just stores all genres as a single semi-colon separated string.[/quote]
Yeah, I played with that at the beginning of this whole genre expedition. I also tried a single semicolon-delimited string in the genre field, but neither worked how I wanted.

This is reason for the allmusic.com lists and wishlists that have come up from me, greengeek, and tincanfury. We want the search functionality with a predictable and consistent database. Does it make more sense now that you know whet we’re doing?

[quote=dkoh][quote=paultaylor]
When they are split as in v24 can you search on the 2nd or third genre, or just the first.[/quote]
Yes, all of them are searchable. This works on the iPhone also; not using iTunes, just dumping MP3s over.[/quote]

Correction. v24 isn’t working on the iPhone. It’s only showing the first genre. XBMC seems to be scanning them in fine, but now I’m having some script crashes.

Okay thanks for letting me know, I guess you understand that is a problem with iPhone not Jaikoz.

I assume the script crashes are unconnected with Jaikoz as well

[quote=paultaylor]Okay thanks for letting me know, I guess you understand that is a problem with iPhone not Jaikoz.

I assume the script crashes are unconnected with Jaikoz as well[/quote]

Yeah, I understand on both, just a heads-up. I believe the XBMC crashes are caused by unknown characters/tags - it’s come up before and it was working fine with v23. They set up the scanning for n00bs without Jaikoz :D. I’ve also noticed blank properties in Win7.

So… is there a 4.5.8 in the works, or should I convert everything back to 23 for usability for the time being? No rush, just wanna plan my workflow.

Thx again. 8)

Hmm, I though v24 was better if it v24 doesn’t work for you is there much point me changing v23 to work in the same way as v24 does ?

You’re right. Unfortunately, no multiples are coming up now on anything, with 23 or 24 using various settings. Maybe I shouldn’t have done a Force Save with 24 and then revert back to 23. :oops:

I’ve been playing around and have some thoughts (not necessarily issue related, just throwing things at the wall). BTW, this is similar to what I’m looking at:

  1. 24 is not compatible enough for me, I hope to stick with 23. Device support is spotty and even W7 won’t display the tags. Everything below is playing with 23.

  2. I’ve somewhat given up on sorting out the iPhone. Besides, it works well enough to get around without genre tags. It’s also the wife’s, she’ll have to live with it. :smiley:

  3. It looks like “;” is the most commonly used delimiter. I’ve been playing with files and putting one long string in as one genre value works. “Test1;Test2;Test3” will be split up into 3 separate genres. Changing the delimiter isn’t possible in Jaikoz, but can be accomplished using an Excel formula and copy/paste.

  4. Adding Test1, Test2, and Test3 as separate entries will only return the first - both in display and in searches.

  5. I can change the delimiter in XBMC, except null characters and XML files don’t really work. Other posts state that \0 and 0x00 will not work, still reading.

  6. If I can get a null separator to work in XBMC, I still have the issue of the (nnn) genres interfering, as there’s no separator in the string “Rock(23)Metal” and will be returned as one value. Even if Jaikoz used semicolon delimiters this would still be an issue.

So that’s where I’m at and I don’t really know where to go from here. As things are now, the Excel formula is the answer. Removing the numbers altogether and using a null in XBMC would be an ideal solution.

I know I’m pushing the issue, but… any thoughts?

Apparently the separators are being worked on in XBMC right now. :smiley:

http://forum.xbmc.org/showthread.php?tid=100983