Old 30th March 2007, 22:26   #1
Stupifier
Major Dude
 
Join Date: Nov 2005
Posts: 596
Request Unique Features

I know this is a long post...please read it though. It is pretty important to me.

I am curious about some of the capabilities the iPod has that maybe iTunes doesn't support. Can ml_ipod have the potential to do things that iTunes can't do with the iPod? Basically, I'm talking about completely unique features. I know there is currently the last.fm thing and maybe another feature...I'm really interested in seeing unique features like that develop. Ideas and power in the iPod that iTunes doesn't implement possibly because they just haven't thought of it.

Below is just a personal example/request to get the creative juices flowing.

I, among others with a hefty amount of music, have a very difficult time organizing music by genre. For instance, a song from a movie soundtrack that is Rock music. What genre do you label that as? "Soundtrack" "Rock" "Soundtrack-Rock"? If you label it as "Soundtrack" than when you want to play Rock genre music.....the song will not be in the list even though it technically is a Rock song. Same logic applies to labeling it "Rock". Creating an entirely new genre, ie "Soundtrack-Rock," is inadaquete also. That would result in the specified song not being considered a genre=Rock song or a song belonging to a genre=Soundtrack. It would also give a very bloated Genre list. I hope I have clearly stated the problem....I have plenty of other examples to re-state the problem if needed.

To solve this problem, a given song must be capable of attaching itself to two or more independent genres. That way, the song could be found under "Soundtrack" and "Rock". I know iTunes is not currently capable of this. I also know that many other people with large music databases have this problem. Furthermore, I can imagine that companies with large archives of music faced with this problem found a solution that is not very feasible for a consumer. Businesses like mp3.com probably just have two files in their database....one with Genre=Rock and another with Genre=Soundtrack corresponding the the Soundtrack Album. That solution is not very Size-Effecient and also redundant as now you have duplicate songs filling precious space on your ipod.

This brings us back to the solution I pose.....the capability of assigning two or more independent genres to a song. I know current ID3 tags do not support two genres and all that jazz......neither does winamp. It doesn't make any sense why they don't have this. But can't a commonly un-used ID3 tag field be re-directed into a 2nd genre?

These are the kind of unique things I wanna see......
Stupifier is offline   Reply With Quote
Old 31st March 2007, 01:51   #2
fatcerberus1
Major Dude
 
fatcerberus1's Avatar
 
Join Date: Mar 2007
Location: United States
Posts: 806
Actually, ID3v2 does support multiple genres. Which makes it all the more curious that no current mp3 player supports it.

Windows 7 Beta
iPod touch (Second Generation), 8GB
Winamp 5.55 with ml_iPod 3.08
fatcerberus1 is offline   Reply With Quote
Old 31st March 2007, 03:25   #3
abu
mlipod moderator
(Senior Member)
 
abu's Avatar
 
Join Date: Jun 2005
Location: Germany
Posts: 3,457
I just gave it a try and tagged all songs with a second genre in the iPod database. No luck, the iPod firmware does not handle this. It simply ignores the second setting, it is not shown in the genre list.
One way I can think of (it's only a cludgy workaround): Put the "main" genre in the genre field, and secondary genres in the comment, e.g. with a "G:" prefix. They won't show up in the genre list, of course But you can create a smart playlist with a query like this:
code:
genre has soundtrack or comment has G:soundtrack

That way your SPL would gather all soundtrack files, with main and secondary genres. Only my 2 cents...

WinAmp Pro 5.5 with ml_iPod 3.10 + dev.patches (download it)
ml_iPod documentation Wiki - ml_iPod FAQ - search ml_iPod forum - iPhone/iTouch - Found a bug?
Donations to support the ml_iPod project can be done HERE
abu is offline   Reply With Quote
Old 31st March 2007, 03:33   #4
fatcerberus1
Major Dude
 
fatcerberus1's Avatar
 
Join Date: Mar 2007
Location: United States
Posts: 806
Quote:
Originally posted by abu
I just gave it a try and tagged all songs with a second genre in the iPod database. No luck, the iPod firmware does not handle this. It simply ignores the second setting, it is not shown in the genre list.
Yep, that's exactly the point I was trying to make in my last post. Multiple-genre is within ID3v2 specs, but no current mp3 player, hardware or software, supports it (well, maybe some obscure player nobody's ever heard of, but that's neither here nor there).

Windows 7 Beta
iPod touch (Second Generation), 8GB
Winamp 5.55 with ml_iPod 3.08
fatcerberus1 is offline   Reply With Quote
Old 31st March 2007, 07:37   #5
abu
mlipod moderator
(Senior Member)
 
abu's Avatar
 
Join Date: Jun 2005
Location: Germany
Posts: 3,457
Quote:
Originally posted by fatcerberus1
Yep, that's exactly the point I was trying to make in my last post. Multiple-genre is within ID3v2 specs, but no current mp3 player, hardware or software, supports it (well, maybe some obscure player nobody's ever heard of, but that's neither here nor there).
I did not tag it in the ID3v2 tags, I did it directly in the iPod database, but to no avail.

WinAmp Pro 5.5 with ml_iPod 3.10 + dev.patches (download it)
ml_iPod documentation Wiki - ml_iPod FAQ - search ml_iPod forum - iPhone/iTouch - Found a bug?
Donations to support the ml_iPod project can be done HERE
abu is offline   Reply With Quote
Old 31st March 2007, 11:21   #6
Stupifier
Major Dude
 
Join Date: Nov 2005
Posts: 596
Thats such a shame. I have a question about this. Abu, you say that the ipod firmware cannot handle a 2nd genre. I am not a programmer (just wanted to say that). So, when the ipod firmware cannot handle a certain idea/feature, does that mean that it is beyond programming by any means?

To be blunt, in a programmers mind (such as Abu), once you hit the "Firmware" limits, is that the end of the line? The ipod cannot be messed with to support a 2nd genre? The "comment" field cannot be tricked into appearing in the genre section of the ipod?

The SPL idea is an option....but again, would cause a bloated and unstructured Playlist section on the ipod. There would be regular/Smart (Non-Genre'ed) playlists mixed with the 2nd Genre SPL's.
Stupifier is offline   Reply With Quote
Old 31st March 2007, 13:03   #7
fatcerberus1
Major Dude
 
fatcerberus1's Avatar
 
Join Date: Mar 2007
Location: United States
Posts: 806
Quote:
Originally posted by abu
I did not tag it in the ID3v2 tags, I did it directly in the iPod database, but to no avail.
Wait, the iTunesDB has provisions for multiple genres, but the iPod ignores the others? That's a shame, but that means that at least Apple was thinking ahead!

Windows 7 Beta
iPod touch (Second Generation), 8GB
Winamp 5.55 with ml_iPod 3.08
fatcerberus1 is offline   Reply With Quote
Old 31st March 2007, 16:48   #8
muab
Junior Member
 
Join Date: Jan 2002
Posts: 37
Re: Request Unique Features

Quote:
Originally posted by Stupifier
Creating an entirely new genre, ie "Soundtrack-Rock," is inadaquete also. That would result in the specified song not being considered a genre=Rock song or a song belonging to a genre=Soundtrack.
my solution would be: genre has "rock"
muab is offline   Reply With Quote
Old 31st March 2007, 17:43   #9
Stupifier
Major Dude
 
Join Date: Nov 2005
Posts: 596
Sorry, I must be organized in my shit. I miscounted the last time I quoted my Music Library. I actually 8500 songs. I do not organize the majority of these by genre simply because of this problem....
Stupifier is offline   Reply With Quote
Old 31st March 2007, 19:17   #10
abu
mlipod moderator
(Senior Member)
 
abu's Avatar
 
Join Date: Jun 2005
Location: Germany
Posts: 3,457
Quote:
Originally posted by fatcerberus1
Wait, the iTunesDB has provisions for multiple genres, but the iPod ignores the others? That's a shame, but that means that at least Apple was thinking ahead!
Too much credit to them
The structure in the DB is simply that for a given track you can attach any number of string attributes. I simply doubled the attribute for "genre". And that doesn't have the desired affect. So I think Apple did actually NOT think of this problem

WinAmp Pro 5.5 with ml_iPod 3.10 + dev.patches (download it)
ml_iPod documentation Wiki - ml_iPod FAQ - search ml_iPod forum - iPhone/iTouch - Found a bug?
Donations to support the ml_iPod project can be done HERE
abu is offline   Reply With Quote
Old 31st March 2007, 19:50   #11
abu
mlipod moderator
(Senior Member)
 
abu's Avatar
 
Join Date: Jun 2005
Location: Germany
Posts: 3,457
Quote:
Originally posted by Stupifier
To be blunt, in a programmers mind (such as Abu), once you hit the "Firmware" limits, is that the end of the line? The ipod cannot be messed with to support a 2nd genre? The "comment" field cannot be tricked into appearing in the genre section of the ipod?
Hi Stupifier,
I could write hours on this topic

Basically you're right, the firmware is what Apple puts into the iPod, no way to change it. It's one of their top secrets.

Programmers are somewhat narrow minded, I never even thought of your questions being questions to anybody I'll try to make it clearer.

Apple's design is this: You have two pieces of software, one on the iPod and one on the PC. The iPod software is called firmware, because it's not so "soft" - you can't change it easily. The PC software is called iTunes. You need both to keep your iPod going.
While the iPod is connected to the PC, the firmware is (almost) asleep. iTunes manages to transfer songs to the iPod. In the end it writes some very special files, these are called the database. They contain hints for the firmware, where it can find certain songs on the iPod HD, what the name or artist of a track is, how often it was played, the artwork, notes etc. Then you "eject" your iPod and the firmware comes to live. It reads these special database files, and only through this interface it knows what is actually loaded on the iPod.

iTunes never really talks to the firmware, it only writes database files which are later read by the firmware. And the same is true the other way round: The firmware writes into other database files the timestamps for played tracks or the new rating, if you change the rating for a song. After connecting, iTunes reads these files and updates its internal state (playcount etc.) for the songs.

Whenever Apple decides to support a new feature (say, gapless playback), all three parts of this game have to be changed:
* iTunes is updated to support this feature, like calculating gapless playback data
* the database files get a new structure, because new data fields are needed
* the iPod firmware must be updated, to enable it to understand the new database files

This is Apple's view of the world.

Now, there are alternatives. Winamp with ml_ipod is one of them. It replaces the iTunes part only, the other two stay the same. That's the reason why we must update ml_ipod all the time if new iPods with new firmware and new database structure come to market

The important thing is that ml_ipod writes the database in a way that the iPod firmware thinks it was written by iTunes. A lot of reverse engineering is necessary to make this work, and with every new iTunes version the work begins again.

So all ml_ipod is able to do is filling out all the fields in the database correctly. Features not supported by the firmware are beyond the scope of what ml_ipod can do. That's the same with iTunes: If you download a new iTunes version with cool new features, your iPod will not support them unless you install Apple's newest firmware.

Changing the firmware is almost impossible. You need the source code of it to do changes, and of course Apple does not publish this. (Would be great if Apple decided one day to develeop their firmware as open source)

You're with me so far?

Now, there ARE possibilities left. Some hackers spend half of their life to find out which bit in the iPod firmware has to be changed to get a different screen background color, or a different font in the iPod display. That is called "modding". There is a whole iPod modders community active, but I don't know a lot about that. I'm quite satisfied with Apple's design of a user interface. A good starting place could be http://www.ipodmods.com/ I strongly doubt that something as complex as support for a second genre is possible that way.

Then, there is the option to run a completely different firmware on your iPod. You simply take the iPod as a hardware basis, but don't run Apple firmware on it. I know of two active projects: iPodLinux which is dedicated to run a linux system on the iPod, and Rockbox. Both are open source. iPodLinux is a project to port Linux (actually uClinux, a derivative of the standard Linux kernel) and associated userspace utilities to the iPod. Rockbox is a project to create cross-platform music player firmware from scratch, with the goal of being the best music player possible. Rockbox is not based on Linux or any other operating system, it is written completely from scratch. While iPodLinux also includes music player functionality (and Rockbox contains plugin platform functionality), the goals of the two projects are different.

I don't know any of the features of these two alternatives. But basically it is possible to add new features here, because it is open source.
I think iPodLinux uses the same database files as the Apple firmware, so it can be used with iTunes or ml_ipod. Rockbox does not, it is based on a file browser.

Long posting, heh? I hope you see a bit clearer now about the limits.

ml_ipod's goal is to provide an interface to the original Apple firmware, by reading and writing database files that are as compatible as possible with iTunes. So, concerning your original question: Yes, for ml_ipod, the firmware is the absolute limit of what is feasable and what is not. If Apple's firmware doesn't support it, ml_ipod can do nothing.

Maybe we should add this to the Wiki, as reference?

WinAmp Pro 5.5 with ml_iPod 3.10 + dev.patches (download it)
ml_iPod documentation Wiki - ml_iPod FAQ - search ml_iPod forum - iPhone/iTouch - Found a bug?
Donations to support the ml_iPod project can be done HERE

Last edited by abu; 31st March 2007 at 20:20.
abu is offline   Reply With Quote
Old 1st April 2007, 00:23   #12
Stupifier
Major Dude
 
Join Date: Nov 2005
Posts: 596
Abu....That was perfect. Very clear and direct for a non-programmer. Also, yes, this should be in the Wiki as a possible introduction to Feature Requests. It would greatly narrow the scope of requests you receive regarding abstract features for ml_ipod. Modified somewhat, you could also use it as an introduction/explanation of the "Mission" of ml_ipod.

In short, I did not understand the idea of "Firmware" and its relation to the Computer side software. I thought they were one in the same and that is what you worked with. Basically, with iPod firmware under wraps, ml_ipod and similar projects are very limited. Thats sucks.

I appreciate the lengthy reply to explain the mechanics of your work.
Stupifier is offline   Reply With Quote
Old 1st April 2007, 14:04   #13
abu
mlipod moderator
(Senior Member)
 
abu's Avatar
 
Join Date: Jun 2005
Location: Germany
Posts: 3,457
Ok, I added this to the Wiki:
http://www.joerobot.com/mlipodwiki/i...=IPod_firmware
Feel free to add or edit there...

EDIT: I even added a nice image there....

WinAmp Pro 5.5 with ml_iPod 3.10 + dev.patches (download it)
ml_iPod documentation Wiki - ml_iPod FAQ - search ml_iPod forum - iPhone/iTouch - Found a bug?
Donations to support the ml_iPod project can be done HERE

Last edited by abu; 1st April 2007 at 20:37.
abu is offline   Reply With Quote
Old 2nd April 2007, 03:04   #14
Stupifier
Major Dude
 
Join Date: Nov 2005
Posts: 596
I read it....Looks good to me.
Stupifier is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Winamp iPod Plugin Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump