![]() |
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...... |
Actually, ID3v2 does support multiple genres. Which makes it all the more curious that no current mp3 player supports it.
|
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: That way your SPL would gather all soundtrack files, with main and secondary genres. Only my 2 cents... |
Quote:
|
Quote:
|
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. |
Quote:
|
Re: Request Unique Features
Quote:
|
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....
|
Quote:
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 :( |
Quote:
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? |
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.:) |
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.... |
I read it....Looks good to me. :)
|
| All times are GMT. The time now is 23:15. |
Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.