Zinf status update/review
Kristian Kvilekval <[email protected]>
| Newsgroups | gmane.comp.audio.zinf.devel |
|---|---|
| Message-ID | <1063666345.4208.33.camel@krispc> |
Alot of work has been completed in the last few months
and it seems like a good point to review.
Overall, it has been a relatively good period of Zinf development:
1. Andreas Rottmann gave zinf a new build system making development
faster and while making it easier to add new components.
2. Robert Hart has ported zinf to Gtk2 giving us an updated look and
better performance. As I look through archives, people have been
asking for this quite a while.
3. David Hough has contributed a GtkMM C++ browser that is easily
extended and has several interesting new features, including
on-demand loading for much faster processing of large music lists
as well as extra and configurable views (classic, new, imusic).
4. Recently, I have added the zinf--mdb branch which has a music
collection service that permits finer and control over metadata
sources and cataloguing.
This component permits:
a: Arbitrary tags for those sources that permit it.
For example, ID3v1 has limited, while vorbis is open
ended. Local databases can be configured to store all, or
some tags.
b: Layered metadata for accessing increasingly costly/reliable
sources: memory, local database, file tags, musicbrainz.
c: Configurable metadata sources: filepath, tags, musicbrainz.
d: Extended metadata query ability through url like interface:
Example: zinf://artist is the list of all know artists
e: Filesystem as database concept (browsing,metadata).
f: Multiple local database choices: gdbm sacrifices startup
time for faster processing with more memory, useful for small
music collections while metakit provides a memory-mapped
database with good query abilities and fast startup times
allowing really *big* music collections.
Current Work:
I am finishing the new music collection system integration. This
is a relatively easy but slow process. So far I have integrated
it with the GtkMM browser, and the main player. It still needs
work on the tag editor and of course the preference system.
The Playlist and PlaylistItem are being replaced in favor
of a much lighter weight Playerlist class coupled with the music
collection classes. This is purely a cleaning job to reduce
dependencies among components. Player, catalog, and browser
only talk about URLs/song index to each other. The old interfaces
will remain until the win32 port catches up or we succeed in
compiling the new code with mingw32.
As soon as these tasks are done I will commit the new system
to CVS. Unfortunately, I am swamped for the next month
so I am not sure how quickly this will get done.
Work To Be Done:
o GtkMM Browser completion cd, menus, views, dnd, dir browsing.
o Musicbrainz tagging.
o Permit non-X builds again by determing true dependent libraries.
o Other uncommited patches (stream slicing, etc).
o i18n cleanups and at least one translation.
o Release wrap-up : 2.3.0-pre1
These are all up for grabs .. any takers?
Possible Future Work:
? mingw32 compile (GtkMM, boost, metakit, vorbislib, id3lib support).
? Cruft cleanup. (download manager, id3v1, id3v2, etc).
? software equalizer
? pipeline/player internals update for increased input/output plugins.
? Music organizer (organize your local files based on tags).
That's it.. A big thanks to all the developers that
contributed their time and effort.
Comments and contributions are always welcome.
--
Kristian G. Kvilekval
email:[email protected] office:(805)893-4276 http://www.cs.ucsb.edu/~kris
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf