Re: Media library (summer of code)

Colin Guthrie <[email protected]>
Newsgroups gmane.comp.gnome.apps.muine.general,gmane.comp.kde.amarok.devel,gmane.comp.gnome.apps.rhythmbox.devel,gmane.comp.gnome.mono.banshee,gmane.comp.gnome.multimedia
Message-ID <[email protected]>
tobutaz wrote:
> Hi,
> This is a (late) attempt to discuss a library / desktop service I have
> proposed at google's summer of code.
> I just noticed murrayc had commented on it, which means I may upgrade
> the proposal depending on your reactions.
> The gist of the proposal (more below) is a media library that is able
> to handle file moves, edits (think retaggings), new files and hotplug
> events transparently. The metadata sniffing problem is not addressed,
> however the application can use the library to store its metadata, or
> just an external reference to it. The proposal also includes a tool
> for the user to setup its desktop-wide music database, and adapting at
> least one application to use the service.
> 
> I'd like to know if that is something you would want to integrate in
> your application; this is particularly aimed at music players and
> jukeboxes, but there may be other uses (sync tools come to mind).

Wow, This sounds really interesting. Some time ago (about a year I wrote 
a proposal for what I wanted to do, but never got round to doing: 
MetaLibrarian: http://colin.guthr.ie/development/projects/metalibrarian.html

This sounds very similar. And I'd be very interested in following this 
development.

One thing I'd be very keen to see is the ability for the system to be 
network-wide as well as desktop-wide. e.g. In my network I have an NFS 
server which stores my main music collect. I would like to run your 
daemon on that server and on my laptop run another copy of the daemon 
that knows about the one on my server (Bonjour?) and can query the data 
both locally and on the sever, and if permissions allow, edit the data 
on the server. So anything I have on my local laptop (or when I plug in 
my iRiver), is detected by the daemon running on my laptop, but I can 
still access all the music on the server too.

I also use multiple MythMusic frontends and although it's interface is 
lacking in terms of music selection etc. it serves well the purpose I 
need it for. These machines are network booting and do not have HDD in 
them. I would not like to run your daemon on these machines, just access 
the information directly over the network.

I believe that the future of home entertainment will be networked 
devices and central file shares and it would be a shame if all your 
effort in developing this excellent idea missed out on the network 
transparency aspect.

I know that MythMusic is also hopefully going to be subject to a SoC 
project, so perhaps this work could be coordinated? Tho this may be more 
trouble than it's worth - probably better taking a stable app as your base.

One thing which I also mention on my webpage above is the ability to 
configure (through simple rules) a set of heirarchies. Most music 
applications use heirarchies to navigate music. However they are often 
rather rigid in terms of the levels they use. If you could define an 
n-depth view and assign a rule at each depth as to what text to display.
e.g. For Arist/Album/Track "View" for use with Mix Albums you could do:
Levels: 3
Level 1 Name: Artist
Level 1 Text: 
if(!empty(album_artist),album_artist,if(!empty(artist),artist,'Unknown 
Artist'))
Level 2 Name: Album
Level 2 Text: if(!empty(album),album,'Unknown Album')
Level 3 Name: Track
Level 3 Text: if(!empty(tracknum),tracknum,'??') - 
if(!empty(trackname),trackname,'Unknown 
Track')if(and(!empty(album_artist),!empty(artist),album_artist!=artist),' 
(Track by 'artist')','')

This would display e.g.
Nightmares On Wax
   Late Night Tales
     01 - Midnight Marauders (Track by DJ Fietchie feat. Joe Dukie)

Rae & Christian
   Another Late Night
     11 - Roll Call (Track by Pablo)
     15 - Flashlight

(NB although Another Late Night is a mix album, track 15 is by the album 
artist, hense why the additional info is not displayed.


If such heirarchies were created a killer addon would be a virtual file 
system that you can browse with regular tools, like Nautilus, just pick 
a view and browse away :)


Another good feature to add in the future would be playlist management. 
I may want to use several different applications (or switch applications 
to try out a new one, but if I've spent time setting up my playlists 
(and smart playlists - auto-generated rules based playlists) and I'd 
probably 99 times in 100 want to take them with me. Again a virtual file 
system coudl view your playlists (and even be used to edit them (albeit 
ordering would perhaps be difficult there).

I guess some of the features I am suggesting here are perhaps better 
left to the application, but if it is well written and flexible enough, 
I can't think of any reason for media application developers not to 
adopt it.

Hope this feedback helps.

Col.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.