TODO items for Aqualung 1.0 =========================== This is discussed on the mailing list in the thread: http://sourceforge.net/mailarchive/forum.php?thread_name=dba431430707191234o5c4db710na78c53ae3eca8e89%40mail.gmail.com&forum_name=aqualung-friends This document will be updated from time to time to reflect major advancements in development. 1) Mac OS X support: this is 'almost' complete. Since the release of beta8 I am working on a patch that makes Aqualung compile and run on Darwin. I don't own a Mac, but one of our enthusiastic users does, and he tests my patches. There are a few quirks now, but I don't expect any real blockers. If somebody also wants to play with the patched Aqualung on Mac, and is willing to help with testing and porting, please see below for the patch. Immediate possibility of contribution for Mac owners! The patch applies against 0.9beta8 release. Get it from http://aqualung.factorial.hu/aqualung-0.9beta8_darwin.patch Comments and amendments are welcome. UPDATE: Seablade contributed a new .app bundle against R-1065 that was made official as http://aqualung.factorial.hu/macosx on 2009-05-27. STATUS: complete as of R-1065/2009-05-27. 2) Podcast support: introducing a new Store type just like the CDDA store for Audio CDs, this should enable users to add feeds to the thusly implemented Podcasts section of the Music store. The feeds should be checked periodically, with new content downloaded to local disk and inserted into the Store. STATUS: completed as of R-804. 3) Metadata: get rid of the much hated TagLib and replace it with something usable (read: write our own). We should therefore be able to support metadata editing as well as batch-updating (mass-tagging) audio files for all formats that support some kind of metadata, with 100% stability and reliability. As we already use the native libraries for most audio formats, it is evident that we will use them to access the metadata of the files also. This should be fast, reliable and efficient. STATUS: completed as of R-889. 4) Varispeed support: by means of the SoundTouch library, make it possible to alter the playback transport speed (just like you could alter the motor speed of a reel-to-reel), either with or even without the accompanying pitch shift. Transposing (changing pitch without altering speed) should also be possible. This would be especially useful for people playing on an instrument, trying to learn quick solo phrases. Combine with the adjustable looping bounds feature of track repeat mode for best results. STATUS: planning 5) Album cover download (tentative): this could possibly be a small side-project for someone with too much free time. The basic idea is that most albums have a page on Wikipedia, and on that page there is a picture of the album cover. Even albums that don't have a Wikipedia page probably have many picture search results in Google. The task is to write code to robustly retrieve an album cover picture from the web, given the album's title and author. Completing this task involves not only the usual engineering, but also a great need for research. It can be developed almost completely independently from the rest of Aqualung (the HTTPC module has to be used, however). STATUS: not yet started 6) last.fm support (tentative) we should probably support last.fm; I have not yet looked at the API, the possible impacts, etc. but I think a lot of people would use this, and it seems cool. STATUS: not yet started 7) Export files from playlist or music store: It should be possible for the user to export the contents of a playlist or part of a music store in a single chosen format (transcoded from the actual format, if needed). File renaming should be possible for a number of scenarios. Possible uses: assemble playlist of FLAC (and other) files, and export them to a directory as MP3. Provided that the directory is the mountpoint of your MP3 player... you get the idea. Other uses may include creating a compilation CD from various sources. Just gather the tracks in a playlist, and export them as WAV. All you need is fire up your CD burner app and you're done. The backend framework for this is all in place (file encoder already implemented as part of CD ripper), only GUI and a small amount of glue is needed. STATUS: completed as of R-759.