https://github.com/nlamirault/ernestine.git
git clone 'https://github.com/nlamirault/ernestine.git'
(ql:quickload :ernestine)
Ernestine is a music management application. see INSTALL file for more explanations.
2 frontends exists : * a McClim player. * a web radio in Flash.
Install theses packages :
$ sudo apt-get install mp3info aumix mplayer
CL-USER> (asdf:oos 'asdf:load-op :ernestine-gui)
CL-USER> (ernestine-gui:player)
Add you music with the C-i command or Music button. Put in the line the directory which contains you music files. You could use the File Browser (Browse button). Then start the music scanning with the “Search” button.
C-q : quit ernestine
C-Return : start playing selected song
C-Space : stop playing current song
C-n : next song
C-p : previous song
C-a : add to playlist selected song
C-d : delete selected song from playlist
C-z : shuffle
C-i : import music files
C-s : save current playlist
C-o : open a file selector to search a playlist
CL-USER> (asdf:oos 'asdf:load-op :ernestine-web)
You must specify the virtual host, the Ernestine source directory and the port for the web server :
CL-USER> (defparameter *radio*
(ernestine-web:create-web-radio "my.host.info" 9090
:covers-p t))
If covers-p is t, Ernestine will search covers, download and update database of each album.
If all your music is store in directory /opt/music/, you could add this directory, and Ernestine will scan recursively all directories to creates the music database :
CL-USER> (ernestine-web:add-music *radio* "/opt/music/" t)
The add-music method take an optional argument : covers-p. If it is t, Ernestine will download covers albums.
CL-USER> (ernestine-web:start-radio *radio*)
CL-USER> (ernestine-web:stop-radio *radio*)
Benchmarks of the database backend :
CL-USER> (time
(let ((backend (ernestine-database:get-backend :prevalence "/tmp/")))
(ernestine-tools:scan-directory backend "/opt/music/")))
Date ; 2007-08-11
Size : 16G for /opt/music/
Without covers :
Evaluation took:
314.1 seconds of real time
12.96081 seconds of user run time
44.514786 seconds of system run time
[Run times include 0.564 seconds GC run time.]
0 calls to %EVAL
0 page faults and
230,012,408 bytes consed.
With covers :
Evaluation took:
1211.078 seconds of real time
370.02313 seconds of user run time
147.08118 seconds of system run time
[Run times include 188.276 seconds GC run time.]
32040 calls to %EVAL
15 page faults and
93,196,758,304 bytes consed.
Date : 2007-05-08
Size : 14G for /opt/music
Evaluation took:
226.969 seconds of real time
10.200638 seconds of user run time
41.40659 seconds of system run time
[Run times include 0.949 seconds GC run time.]
0 calls to %EVAL
0 page faults and
263,101,968 bytes consed.
A changelog is available here.
Nicolas Lamirault <nicolas.lamirault@gmail.com>