forked from beetbox/beets
-
Notifications
You must be signed in to change notification settings - Fork 0
PriorArt
sampsyo edited this page Apr 15, 2012
·
2 revisions
This page contains disorganized notes regarding what we can learn from other projects that have gone before.
Well-respected OSS media players and how they've accomplished library management.
Written in C#. Browse
source. Checkout: svn co http://svn.gnome.org/svn/banshee/trunk/ng-banshee
-
Banshee.Services/Banshee.Database/BansheeDbConnection.cs: pragma synchronous=off for speed -
Banshee.Services/Banshee.Database/BansheeDbFormatMigrator.cstakes care of database initialization (not just migration as name would suggest); schema in InitializeFreshDatabase- has TrackID, ArtistID, and AlbumID with correspinding CoreTracks, CoreAlbums, and CoreArtists tables for efficient access to artists/albums; CoreTracks has indexes on ArtistID and AlbumID; CoreArtists and CoreAlbums have indexes on their names
Written in Python. Browse
source. Checkout:
bzr branch lp:exaile
- Schema in
sql/db.sql.- tracks table primary key is path (which is an integer?! -- what's going on?)
- like Banshee, also has artist, album tables
Written in C++. Browse
source.
Checkout: svn co svn://anonsvn.kde.org/home/kde/trunk/extragear/multimedia/amarok/
- half-written architecture document
- Really convoluted. Will take some time to glean things from.
- Alexandria
- autotagmp3
- pymp3tagger (sketchy)
- music-tag-filler
- Ikulo
- "Music"
- Hystrix Audio
- zicbee
- musikCube
- moosic (command-line)
Quod Libet has a Gstreamer player module that seems highly refined. It's a very tempting playbook page to steal. They even have gapless working. Check it out.
librmpd includes a "fake" MPD server for testing. Interesting! The file.
Related autotaggers, mostly in Python: