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.