This is the ernestine Reference Manual, version 0.4, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 18:00:49 2024 GMT+0.
ernestine/ernestine.asd
ernestine/lib/covers.lisp
ernestine/src/backend/package.lisp
ernestine/src/backend/specials.lisp
ernestine/src/backend/errors.lisp
ernestine/src/backend/obj.lisp
ernestine/src/backend/api.lisp
ernestine/src/backend/prevalence.lisp
ernestine/src/backend/common.lisp
ernestine/src/tools/package.lisp
ernestine/src/tools/specials.lisp
ernestine/src/tools/music.lisp
ernestine/src/tools/io.lisp
ernestine/src/tools/misc.lisp
The main system appears first, followed by any subsystem dependency.
ernestine
Music Organizer
Nicolas Lamirault <nicolas.lamirault@gmail.com>
Nicolas Lamirault <nicolas.lamirault@gmail.com>
Lisp Lesser GNU General Public License
Ernestine is a music organizer. It consists
of a database backend which organizes music by artists, and albums.
Therefore, you can launch differents frontend : web, curses, ...
0.4
split-sequence
(system).
cl-prevalence
(system).
cl-ppcre
(system).
drakma
(system).
Modules are listed depth-first from the system components tree.
ernestine/src
ernestine/src/backend
src
(module).
package.lisp
(file).
specials.lisp
(file).
errors.lisp
(file).
obj.lisp
(file).
api.lisp
(file).
prevalence.lisp
(file).
common.lisp
(file).
ernestine/src/tools
backend
(module).
src
(module).
package.lisp
(file).
specials.lisp
(file).
music.lisp
(file).
io.lisp
(file).
misc.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
ernestine/ernestine.asd
ernestine/lib/covers.lisp
ernestine/src/backend/package.lisp
ernestine/src/backend/specials.lisp
ernestine/src/backend/errors.lisp
ernestine/src/backend/obj.lisp
ernestine/src/backend/api.lisp
ernestine/src/backend/prevalence.lisp
ernestine/src/backend/common.lisp
ernestine/src/tools/package.lisp
ernestine/src/tools/specials.lisp
ernestine/src/tools/music.lisp
ernestine/src/tools/io.lisp
ernestine/src/tools/misc.lisp
ernestine/lib/covers.lisp
lib
(module).
search-album-covers
(function).
+cover-search+
(constant).
+ws-amazon+
(constant).
ernestine/src/backend/specials.lisp
package.lisp
(file).
backend
(module).
*print-ernestine-database*
(special variable).
ernestine/src/backend/errors.lisp
package.lisp
(file).
backend
(module).
album-name
(reader method).
album-name
(reader method).
artist-name
(reader method).
artist-name
(reader method).
existing-album-error
(condition).
existing-artist-error
(condition).
existing-song-error
(condition).
unknown-album-error
(condition).
unknown-artist-error
(condition).
unknown-backend-error
(condition).
unknown-song-error
(condition).
album-error
(condition).
artist-error
(condition).
backend-type
(reader method).
ernestine-error
(condition).
song-error
(condition).
song-name
(reader method).
ernestine/src/backend/obj.lisp
specials.lisp
(file).
backend
(module).
album
(class).
album-artist
(reader method).
(setf album-artist)
(writer method).
album-cover
(reader method).
(setf album-cover)
(writer method).
album-date
(reader method).
(setf album-date)
(writer method).
album-name
(reader method).
(setf album-name)
(writer method).
album-style
(reader method).
(setf album-style)
(writer method).
artist
(class).
artist-name
(reader method).
(setf artist-name)
(writer method).
print-object
(method).
print-object
(method).
print-object
(method).
song
(class).
song-album
(reader method).
(setf song-album)
(writer method).
song-artist
(reader method).
(setf song-artist)
(writer method).
song-filename
(reader method).
(setf song-filename)
(writer method).
song-rank
(reader method).
(setf song-rank)
(writer method).
song-time
(reader method).
(setf song-time)
(writer method).
song-title
(reader method).
(setf song-title)
(writer method).
album-songs
(reader method).
(setf album-songs)
(writer method).
artist-albums
(reader method).
(setf artist-albums)
(writer method).
ernestine/src/backend/api.lisp
specials.lisp
(file).
backend
(module).
backend
(class).
delete-album
(generic function).
delete-artist
(generic function).
delete-song
(generic function).
do-albums
(macro).
do-artists
(macro).
do-songs
(macro).
get-album-song
(generic function).
get-album-song-by-rank
(generic function).
get-album-songs
(generic function).
get-artist
(generic function).
get-artist-album
(generic function).
get-artist-albums
(generic function).
get-artists
(generic function).
get-genre
(generic function).
get-music-by-genre
(generic function).
make-album
(generic function).
make-artist
(generic function).
make-song
(generic function).
print-database
(generic function).
ernestine/src/backend/prevalence.lisp
api.lisp
(file).
obj.lisp
(file).
errors.lisp
(file).
backend
(module).
delete-album
(method).
delete-artist
(method).
delete-song
(method).
get-album-song
(method).
get-album-song-by-rank
(method).
get-album-songs
(method).
get-artist
(method).
get-artist-album
(method).
get-artist-albums
(method).
get-artists
(method).
make-album
(method).
make-artist
(method).
make-prevalence-backend
(function).
make-song
(method).
prevalence
(class).
(setf prevalence-system)
(writer method).
prevalence-system
(reader method).
database
(class).
database-artists
(reader method).
(setf database-artists)
(writer method).
get-database
(function).
init-music-system
(function).
prevalence-directory
(reader method).
(setf prevalence-directory)
(writer method).
tx-create-album
(function).
tx-create-artist
(function).
tx-create-music
(function).
tx-create-song
(function).
tx-delete-album
(function).
tx-delete-artist
(function).
tx-delete-song
(function).
with-album
(macro).
with-artist
(macro).
with-song
(macro).
ernestine/src/backend/common.lisp
prevalence.lisp
(file).
backend
(module).
get-backend
(function).
with-backend
(macro).
ernestine/src/tools/specials.lisp
package.lisp
(file).
tools
(module).
*player-command*
(special variable).
*volume-command*
(special variable).
+player-args+
(constant).
+volume-args+
(constant).
*file-info*
(special variable).
*id3-v1-genres*
(special variable).
*mp3-info*
(special variable).
*mp3-info-args*
(special variable).
*no-id3-v1*
(special variable).
*ogg-info*
(special variable).
ernestine/src/tools/music.lisp
specials.lisp
(file).
tools
(module).
copy-tag-infos
(function).
extract-info
(function).
extract-mp3-tag
(function).
extract-ogg-tag
(function).
make-tag-infos
(function).
property-key-value
(function).
read-property
(function).
run-shell-command
(function).
tag-infos
(structure).
tag-infos-album
(reader).
(setf tag-infos-album)
(writer).
tag-infos-artist
(reader).
(setf tag-infos-artist)
(writer).
tag-infos-date
(reader).
(setf tag-infos-date)
(writer).
tag-infos-genre
(reader).
(setf tag-infos-genre)
(writer).
tag-infos-p
(function).
tag-infos-title
(reader).
(setf tag-infos-title)
(writer).
tag-infos-track
(reader).
(setf tag-infos-track)
(writer).
with-program-result
(macro).
ernestine/src/tools/io.lisp
music.lisp
(file).
tools
(module).
scan-directory
(function).
*image-types*
(special variable).
*music-types*
(special variable).
directory-p
(function).
extract-data
(function).
extract-files
(function).
get-file-extension
(function).
list-directory
(function).
ernestine/src/tools/misc.lisp
specials.lisp
(file).
tools
(module).
check-installation
(function).
get-ernestine-directory
(function).
Packages are listed by definition order.
cl-covers
common-lisp
.
search-album-covers
(function).
+cover-search+
(constant).
+ws-amazon+
(constant).
ernestine-database
Prevalence backend of ernestine
cl-prevalence
.
common-lisp
.
*print-ernestine-database*
(special variable).
album
(class).
album
(slot).
album-artist
(generic reader).
(setf album-artist)
(generic writer).
album-cover
(generic reader).
(setf album-cover)
(generic writer).
album-date
(generic reader).
(setf album-date)
(generic writer).
album-name
(generic reader).
(setf album-name)
(generic writer).
album-style
(generic reader).
(setf album-style)
(generic writer).
artist
(class).
artist
(slot).
artist-name
(generic reader).
(setf artist-name)
(generic writer).
backend
(class).
delete-album
(generic function).
delete-artist
(generic function).
delete-song
(generic function).
do-albums
(macro).
do-artists
(macro).
do-songs
(macro).
existing-album-error
(condition).
existing-artist-error
(condition).
existing-song-error
(condition).
get-album-song
(generic function).
get-album-song-by-rank
(generic function).
get-album-songs
(generic function).
get-artist
(generic function).
get-artist-album
(generic function).
get-artist-albums
(generic function).
get-artists
(generic function).
get-backend
(function).
get-genre
(generic function).
get-music-by-genre
(generic function).
make-album
(generic function).
make-artist
(generic function).
make-prevalence-backend
(function).
make-song
(generic function).
prevalence
(class).
print-database
(generic function).
song
(class).
song-album
(generic reader).
(setf song-album)
(generic writer).
song-artist
(generic reader).
(setf song-artist)
(generic writer).
song-filename
(generic reader).
(setf song-filename)
(generic writer).
song-rank
(generic reader).
(setf song-rank)
(generic writer).
song-time
(generic reader).
(setf song-time)
(generic writer).
song-title
(generic reader).
(setf song-title)
(generic writer).
unknown-album-error
(condition).
unknown-artist-error
(condition).
unknown-backend-error
(condition).
unknown-song-error
(condition).
with-backend
(macro).
album-error
(condition).
album-songs
(generic reader).
(setf album-songs)
(generic writer).
artist-albums
(generic reader).
(setf artist-albums)
(generic writer).
artist-error
(condition).
backend-type
(generic reader).
database
(class).
database-artists
(generic reader).
(setf database-artists)
(generic writer).
ernestine-error
(condition).
get-database
(function).
init-music-system
(function).
prevalence-directory
(generic reader).
(setf prevalence-directory)
(generic writer).
song-error
(condition).
song-name
(generic reader).
tx-create-album
(function).
tx-create-artist
(function).
tx-create-music
(function).
tx-create-song
(function).
tx-delete-album
(function).
tx-delete-artist
(function).
tx-delete-song
(function).
with-album
(macro).
with-artist
(macro).
with-song
(macro).
ernestine-tools
Some tools using by Ernestine.
common-lisp
.
ernestine-database
.
*player-command*
(special variable).
*volume-command*
(special variable).
+player-args+
(constant).
+volume-args+
(constant).
check-installation
(function).
get-ernestine-directory
(function).
scan-directory
(function).
*file-info*
(special variable).
*id3-v1-genres*
(special variable).
*image-types*
(special variable).
*mp3-info*
(special variable).
*mp3-info-args*
(special variable).
*music-types*
(special variable).
*no-id3-v1*
(special variable).
*ogg-info*
(special variable).
copy-tag-infos
(function).
directory-p
(function).
extract-data
(function).
extract-files
(function).
extract-info
(function).
extract-mp3-tag
(function).
extract-ogg-tag
(function).
get-file-extension
(function).
list-directory
(function).
make-tag-infos
(function).
property-key-value
(function).
read-property
(function).
run-shell-command
(function).
tag-infos
(structure).
tag-infos-album
(reader).
(setf tag-infos-album)
(writer).
tag-infos-artist
(reader).
(setf tag-infos-artist)
(writer).
tag-infos-date
(reader).
(setf tag-infos-date)
(writer).
tag-infos-genre
(reader).
(setf tag-infos-genre)
(writer).
tag-infos-p
(function).
tag-infos-title
(reader).
(setf tag-infos-title)
(writer).
tag-infos-track
(reader).
(setf tag-infos-track)
(writer).
with-program-result
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
The Swiss army knife of sound processing program.
If T, modify the printed representation of Ernestine database objects.
The mixer control program.
Retrieve artist named ARTIST-NAME and iterates over his albums extract from the BACKEND’s database.
Iterates over the artists of the BACKEND’s database.
Retrieve artist’s album named ARTIST-NAME and ALBUM-NAME, and iterates over the album’s songs extract from BACKEND’s database.
Macro which defined a new BACKEND and executes BODY.
Check installation for Ernestine.
Get a backend from TYPE.
Throws an UNKNOWN-BACKEND-ERROR is backend type TYPE is unknown
Get the home directory of Ernestine.
Create the prevalence system backend, and initialize the prevalence system. DIRECTORY will contain the log transaction’s file of cl-prevalence. Throws a sb-int:simple-file-error if DIRECTORY is unknown.
Create music database. DIRECTORY contains music file. We use *mp3-info* and *ogg-info* to extract informations of music files.
album
)) ¶album
)) ¶Album name
song-error
)) ¶album-error
)) ¶artist
)) ¶artist
)) ¶Music artist
album-error
)) ¶artist-error
)) ¶Delete the album identified by ALBUM-NAME.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.
Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown.
prevalence
) artist-name album-name) ¶Delete the artist identified by ARTIST-NAME.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.
prevalence
) artist-name) ¶Delete the song identified by SONG-TITLE in the
album ALBUM-NAME of artist ARTIST-NAME.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.
Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown.
Throws an UNKNOWN-SONG-ERROR if SONG-TITLE is unknown.
prevalence
) artist-name album-name song-title) ¶Retrieve the song named SONG-TITLE in album ALBUM-NAME
of artist ARTIST-NAME.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.
Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown.
Throws an UNKNOWN-SONG-ERROR if SONG-TITLE is unknown.
prevalence
) artist-name album-name song-title) ¶Retrieve the song in position RANK in album ALBUM-NAME
of artist ARTIST-NAME.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.
Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown.
Throws an UNKNOWN-SONG-ERROR if SONG-TITLE is already.
prevalence
) artist-name album-name rank) ¶Retrieve the songs of album named ALBUM-NAME owned by
artist ARTIST-NAME.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.
Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown.
prevalence
) artist-name album-name) ¶Retrieve the artist identified by ARTIST-NAME.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.
prevalence
) artist-name) ¶Retrieve the album named ALBUM-NAME, owned by artist
ARTIST-NAME.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.
Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown.
prevalence
) artist-name album-name) ¶Retrieve the albums of artist named ARTIST-NAME. Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown. Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown.
prevalence
) artist-name) ¶Retrieve an hashtable which contains artists. artists’s names are the keys of the hashtable.
prevalence
)) ¶Retrieve a list of music genres from all albums.
Retrieve all songs with a music genre. GENRES is a list a different music genre.
Create a music album named ALBUM-NAME for the artiste
identified by ARTIST-NAME. STYLE represents in which category the album is
classified, DATE is the vendor date and SONGS an hashtable of album’s songs.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.
Throws an EXISTING-ALBUM-ERROR if ALBUM-NAME is already.
prevalence
) artist-name album-name style date cover songs) ¶Create a music artist named ARTIST-NAME. ALBUMS is
an hashtable which contains albums of the artist.
Throws an EXISTING-ARTIST-ERROR if NAME is already in database.
prevalence
) artist-name albums) ¶Create a song named SONG-TITLE in the album identified by
ALBUM-NAME.
RANK is the song’s position in the album, and TIME the elapsed time.
FILENAME is the pathname of the song.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.
Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown.
Throws an EXISTING-SONG-ERROR if SONG-TITLE is already.
prevalence
) artist-name album-name song-title rank time filename) ¶Print to the stream the database. If ARTISTP, print the artists’ names. If ALBUMP, print the albums’ names. If SONGP, print the songs’ names.
prevalence
)) ¶System prevalence
cl-prevalence
.
prevalence
)) ¶System prevalence
cl-prevalence
.
An existing album error
An existing artist error
An existing song error
An unknown album error
An unknown artist error
Unknown backend error
:backend-type
This slot is read-only.
An unknown song error
Music album
Album name
cl-prevalence
.
""
:name
Name of the artist to which this album belongs
""
:artist
Album music style
""
:style
Vendor date
""
:date
An URI to retrieve cover art.
""
:cover
Hashtable of songs of this album
(make-hash-table :test (function equal))
:songs
Music artist
All backend herites this class
Database backend which use the cl-prevalence tool
Song of an album
Song name
""
:title
Album name to which this song belongs
""
:album
Name of the artist.
""
:artist
Rank of this song in the album
""
:rank
Elapsed time of this song
common-lisp
.
""
:time
Filename of the song.
(error "song must have a pathname")
:filename
Determine file type
Available format of images
Command to extract id3tag informations from MP3 files
Available format of music
Command to extract informations from Ogg Vorbis files
Macro which find ALBUM by his name ALBUM-NAME and executes BODY. Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown from database. Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown from database.
Macro which find ARTIST by his name ARTIST-NAME and executes BODY. Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown from database.
Macros which executes COMMAND with ARGS, and set the ouput in string RESULT.
Macro which find SONG by his name SONG-NAME and executes BODY. Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown from database. Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown from database. Throws an UNKNOWN-SONG-ERROR if SONG-NAME is unknown from database.
Returns TRUE if TOKEN is a directory.
Extract directories name from directory
Extract entries from a DIRECTORY
Executes the file command on FILENAME to extract MP3 tags. Return a list which contains song caracteristics : ’(rank title artist album genre year)
Extract tag informations from result of *mp3-info* command, and creates a TAG-INFOS structure.
Executes the *ogg-info* command on FILENAME to extract OGG VORBIS tags. Creates a TAG-INFOS structure.
Retreive music database from system
Returns the extension of FILE
Initialization of the database system
List content of DIR
Extract value of KEY in PROPERTY.
Read STRING which is sequence of key=value. Creates a cons like (key . value).
date
.
Transaction for creating an album for this artist identified by ARTIST-NAME.
Updates the database system and return the album object.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown from database.
Throws an EXISTING-ALBUM-ERROR if ALBUM-NAME is already in database.
Transaction for creating a music artist named ARTIST-NAME, which have ALBUMS.
Updates the database system and return the artist object.
Throws an EXISTING-ARTIST-ERROR if NAME is already in database.
Create the music database
Transaction for creating a song for this album identified by ALBUM-NAME.
Updates the database system and return the song object.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown from database.
Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown from database
Throws an EXISTING-SONG-ERROR if SONG-TITLE is already in database.
Transaction for deleting the album identified by ALBUM-NAME from the database. Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown from database. Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown from database.
Transaction for deleting the artist identified by ARTIST-NAME from the database. Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown from database.
Transaction for deleting the song identified by SONG-TITLE from the database. Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown from database. Throws an UNKNOWN-ALBUM-ERROR if ALBUM-NAME is unknown from database. Throws an UNKNOWN-SONG-ERROR if SONG-TITLE is unknown from database.
unknown-backend-error
)) ¶prevalence
)) ¶prevalence
)) ¶Directory name of the log transaction’s file of cl-prevalence
song-error
)) ¶:artist-name
This slot is read-only.
Main music error
simple-error
.
:album-name
This slot is read-only.
Jump to: | (
A B C D E F G I L M P R S T W |
---|
Jump to: | (
A B C D E F G I L M P R S T W |
---|
Jump to: | *
+
A B C D F G N R S T |
---|
Jump to: | *
+
A B C D F G N R S T |
---|
Jump to: | A B C D E F I L M O P S T U |
---|
Jump to: | A B C D E F I L M O P S T U |
---|