Profile

unixronin: Galen the technomage, from Babylon 5: Crusade (Default)
Unixronin

December 2012

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Most Popular Tags

Expand Cut Tags

No cut tags
Tuesday, January 5th, 2010 08:10 am

As recently mentioned, I've been working on my own music player as a feature replacement for Mike Oliphant's DigitalDJ, since DigitalDJ is abandoned, unmaintained, and de facto dead.  My new player is now officially named PerlJammer (thanks to [livejournal.com profile] perspicuity for the excellent name suggestion), and it's complete except for some of the supporting tools to allow it to be used by people without an existing DDJ-compatible SQL music database.  As an amusing side note, some of the extra features I've added into PerlJammer to replace things I'd had to implement via complex hacks around DDJ have meant that I've been able to massively simplify a variety of my own tools.  About fifteen minutes ago, I realized that I could eliminate my LogJam music-detection helper altogether; all the work the LogJam helper used to do is now done by a single invocation of pjam-remote babylon5 status.

I started my playlist on babylon5 this morning by sending a remote command from whitestar ... just because I could.  MUAHAHAHAHAHAHA!

Tags:
Saturday, January 9th, 2010 04:05 pm (UTC)
How many software tools do we have because someone was thinking, Because I can!? You can get some really elegant work from that motivation.
Tuesday, January 5th, 2010 01:22 pm (UTC)
Well done!
Tuesday, January 5th, 2010 02:49 pm (UTC)
for god's sake man, spend some money ;)

this comment brought to you by someone that knows better

#
Tuesday, January 5th, 2010 02:59 pm (UTC)
Cool. I've been looking at a way to redo my music collection and this may well be used.

I actually did implement the "delayed stop" function in http://di2.nu/software/muzack.htm a few years back but I called it "clear playlist".

In theory VLC player will do almost everything you want but I've found it occasionally flaky and I hate its playlist capability (or rather the lack there of).
Tuesday, January 5th, 2010 03:58 pm (UTC)
I actually did implement the "delayed stop" function in http://di2.nu/software/muzack.htm a few years back but I called it "clear playlist".
Looking at it, actually, that's something slightly different. 'Clear playlist' on Muzack empties the queue without stopping the current playback. PerlJammer's 'delayed stop' lets the current playback finish, then stops playback and advances the selection to the next track, leaving the queue intact and everything ready for you to resume play at the next track with just a 'play' command.

One of the accompanying tools that I haven't yet written will be one that will create a DDJ-compatible music database if one does not already exist, then scan a music library and load everything it finds into the database based on MP3 tag information. It will also be able to be used to just scan a music library with an existing database, and insert anything it finds that isn't already in the database. The biggest problem to overcome there is that so many MP3s are incompletely or inaccurately tagged, so what I may have it do is build a list of all the files it finds and their tags to allow the user to verify or edit (where necessary) the tags before committing them to the database (and write any tag corrections back into the MP3s).
Tuesday, January 5th, 2010 04:17 pm (UTC)
Looking at it, actually, that's something slightly different. 'Clear playlist' on Muzack empties the queue without stopping the current playback. PerlJammer's 'delayed stop' lets the current playback finish, then stops playback and advances the selection to the next track, leaving the queue intact and everything ready for you to resume play at the next track with just a 'play' command.

True. I have a feeling that I implemented your feature in a subsequent non published version which is now lost because I didn't stick with realplayer or my script much longer after I wrote it. It was all a question of layers of control.
One of the accompanying tools that I haven't yet written will be one that will create a DDJ-compatible music database if one does not already exist, then scan a music library and load everything it finds into the database based on MP3 tag information.

What you probably ought to do is setup a per directory (directory tree) choice about whether to trust the tag or to use the filename metadata (and if the latter the regex to split artist/album/track ) - and an option to add the file system derived data to the MP3 so that its fixed for the future.

Depending on what you release I may well push additional modules to do some/all of the things I want it to do and your's doesn't do. I will certainly steal your code as a core and add a http interface on top and I'll be happy to contribute that back