The ernestine Reference Manual

This is the ernestine Reference Manual, version 0.4, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:21:52 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 ernestine

Music Organizer

Maintainer

Nicolas Lamirault <>

Author

Nicolas Lamirault <>

License

Lisp Lesser GNU General Public License

Long Description

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, ...

Version

0.4

Dependencies
  • split-sequence (system).
  • cl-prevalence (system).
  • cl-ppcre (system).
  • drakma (system).
Source

ernestine.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 ernestine/lib

Source

ernestine.asd.

Parent Component

ernestine (system).

Child Component

covers.lisp (file).


3.2 ernestine/src

Dependency

lib (module).

Source

ernestine.asd.

Parent Component

ernestine (system).

Child Components

3.3 ernestine/src/backend

Source

ernestine.asd.

Parent Component

src (module).

Child Components

3.4 ernestine/src/tools

Dependency

backend (module).

Source

ernestine.asd.

Parent Component

src (module).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 ernestine/ernestine.asd

Source

ernestine.asd.

Parent Component

ernestine (system).

ASDF Systems

ernestine.


4.1.2 ernestine/lib/covers.lisp

Source

ernestine.asd.

Parent Component

lib (module).

Packages

cl-covers.

Public Interface

search-album-covers (function).

Internals

4.1.3 ernestine/src/backend/package.lisp

Source

ernestine.asd.

Parent Component

backend (module).

Packages

ernestine-database.


4.1.4 ernestine/src/backend/specials.lisp

Dependency

package.lisp (file).

Source

ernestine.asd.

Parent Component

backend (module).

Public Interface

*print-ernestine-database* (special variable).


4.1.5 ernestine/src/backend/errors.lisp

Dependency

package.lisp (file).

Source

ernestine.asd.

Parent Component

backend (module).

Public Interface
Internals

4.1.6 ernestine/src/backend/obj.lisp

Dependency

specials.lisp (file).

Source

ernestine.asd.

Parent Component

backend (module).

Public Interface
Internals

4.1.7 ernestine/src/backend/api.lisp

Dependency

specials.lisp (file).

Source

ernestine.asd.

Parent Component

backend (module).

Public Interface

4.1.8 ernestine/src/backend/prevalence.lisp

Dependencies
Source

ernestine.asd.

Parent Component

backend (module).

Public Interface
Internals

4.1.9 ernestine/src/backend/common.lisp

Dependency

prevalence.lisp (file).

Source

ernestine.asd.

Parent Component

backend (module).

Public Interface

4.1.10 ernestine/src/tools/package.lisp

Source

ernestine.asd.

Parent Component

tools (module).

Packages

ernestine-tools.


4.1.11 ernestine/src/tools/specials.lisp

Dependency

package.lisp (file).

Source

ernestine.asd.

Parent Component

tools (module).

Public Interface
Internals

4.1.12 ernestine/src/tools/music.lisp

Dependency

specials.lisp (file).

Source

ernestine.asd.

Parent Component

tools (module).

Internals

4.1.13 ernestine/src/tools/io.lisp

Dependency

music.lisp (file).

Source

ernestine.asd.

Parent Component

tools (module).

Public Interface

scan-directory (function).

Internals

4.1.14 ernestine/src/tools/misc.lisp

Dependency

specials.lisp (file).

Source

ernestine.asd.

Parent Component

tools (module).

Public Interface

5 Packages

Packages are listed by definition order.


5.1 cl-covers

Source

covers.lisp.

Use List

common-lisp.

Public Interface

search-album-covers (function).

Internals

5.2 ernestine-database

Prevalence backend of ernestine

Source

package.lisp.

Use List
  • cl-prevalence.
  • common-lisp.
Used By List

ernestine-tools.

Public Interface
Internals

5.3 ernestine-tools

Some tools using by Ernestine.

Source

package.lisp.

Use List
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Constants

Constant: +player-args+
Package

ernestine-tools.

Source

specials.lisp.

Constant: +volume-args+
Package

ernestine-tools.

Source

specials.lisp.


6.1.2 Special variables

Special Variable: *player-command*

The Swiss army knife of sound processing program.

Package

ernestine-tools.

Source

specials.lisp.

Special Variable: *print-ernestine-database*

If T, modify the printed representation of Ernestine database objects.

Package

ernestine-database.

Source

specials.lisp.

Special Variable: *volume-command*

The mixer control program.

Package

ernestine-tools.

Source

specials.lisp.


6.1.3 Macros

Macro: do-albums ((album) backend artist-name &body body)

Retrieve artist named ARTIST-NAME and iterates over his albums extract from the BACKEND’s database.

Package

ernestine-database.

Source

api.lisp.

Macro: do-artists ((artist) backend &body body)

Iterates over the artists of the BACKEND’s database.

Package

ernestine-database.

Source

api.lisp.

Macro: do-songs ((song) backend artist-name album-name &body body)

Retrieve artist’s album named ARTIST-NAME and ALBUM-NAME, and iterates over the album’s songs extract from BACKEND’s database.

Package

ernestine-database.

Source

api.lisp.

Macro: with-backend ((backend type directory) &body body)

Macro which defined a new BACKEND and executes BODY.

Package

ernestine-database.

Source

common.lisp.


6.1.4 Ordinary functions

Function: check-installation ()

Check installation for Ernestine.

Package

ernestine-tools.

Source

misc.lisp.

Function: get-backend (type &optional directory)

Get a backend from TYPE.
Throws an UNKNOWN-BACKEND-ERROR is backend type TYPE is unknown

Package

ernestine-database.

Source

common.lisp.

Function: get-ernestine-directory ()

Get the home directory of Ernestine.

Package

ernestine-tools.

Source

misc.lisp.

Function: make-prevalence-backend (directory)

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.

Package

ernestine-database.

Source

prevalence.lisp.

Function: scan-directory (backend directory &key stream type covers-p)

Create music database. DIRECTORY contains music file. We use *mp3-info* and *ogg-info* to extract informations of music files.

Package

ernestine-tools.

Source

io.lisp.

Function: search-album-covers (artist-name &optional album-name)
Package

cl-covers.

Source

covers.lisp.


6.1.5 Generic functions

Generic Reader: album-artist (object)
Generic Writer: (setf album-artist) (object)
Package

ernestine-database.

Methods
Reader Method: album-artist ((album album))
Writer Method: (setf album-artist) ((album album))

Name of the artist to which this album belongs

Source

obj.lisp.

Target Slot

artist.

Generic Reader: album-cover (object)
Generic Writer: (setf album-cover) (object)
Package

ernestine-database.

Methods
Reader Method: album-cover ((album album))
Writer Method: (setf album-cover) ((album album))

An URI to retrieve cover art.

Source

obj.lisp.

Target Slot

cover.

Generic Reader: album-date (object)
Generic Writer: (setf album-date) (object)
Package

ernestine-database.

Methods
Reader Method: album-date ((album album))
Writer Method: (setf album-date) ((album album))

Vendor date

Source

obj.lisp.

Target Slot

date.

Generic Reader: album-name (condition)
Generic Writer: (setf album-name) (object)
Package

ernestine-database.

Methods
Reader Method: album-name ((album album))
Writer Method: (setf album-name) ((album album))

Album name

Source

obj.lisp.

Target Slot

name.

Reader Method: album-name ((condition song-error))
Source

errors.lisp.

Target Slot

album-name.

Reader Method: album-name ((condition album-error))
Source

errors.lisp.

Target Slot

album-name.

Generic Reader: album-style (object)
Generic Writer: (setf album-style) (object)
Package

ernestine-database.

Methods
Reader Method: album-style ((album album))
Writer Method: (setf album-style) ((album album))

Album music style

Source

obj.lisp.

Target Slot

style.

Generic Reader: artist-name (condition)
Generic Writer: (setf artist-name) (object)
Package

ernestine-database.

Methods
Reader Method: artist-name ((artist artist))
Writer Method: (setf artist-name) ((artist artist))

Music artist

Source

obj.lisp.

Target Slot

name.

Reader Method: artist-name ((condition album-error))
Source

errors.lisp.

Target Slot

artist-name.

Reader Method: artist-name ((condition artist-error))
Source

errors.lisp.

Target Slot

artist-name.

Generic Function: delete-album (backend artist-name album-name)

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.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: delete-album ((prevalence prevalence) artist-name album-name)
Source

prevalence.lisp.

Generic Function: delete-artist (backend artist-name)

Delete the artist identified by ARTIST-NAME.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: delete-artist ((prevalence prevalence) artist-name)
Source

prevalence.lisp.

Generic Function: delete-song (backend artist-name album-name song-title)

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.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: delete-song ((prevalence prevalence) artist-name album-name song-title)
Source

prevalence.lisp.

Generic Function: get-album-song (backend 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.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: get-album-song ((prevalence prevalence) artist-name album-name song-title)
Source

prevalence.lisp.

Generic Function: get-album-song-by-rank (backend artist-name album-name rank)

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.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: get-album-song-by-rank ((prevalence prevalence) artist-name album-name rank)
Source

prevalence.lisp.

Generic Function: get-album-songs (backend artist-name album-name)

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.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: get-album-songs ((prevalence prevalence) artist-name album-name)
Source

prevalence.lisp.

Generic Function: get-artist (backend artist-name)

Retrieve the artist identified by ARTIST-NAME.
Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: get-artist ((prevalence prevalence) artist-name)
Source

prevalence.lisp.

Generic Function: get-artist-album (backend artist-name album-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.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: get-artist-album ((prevalence prevalence) artist-name album-name)
Source

prevalence.lisp.

Generic Function: get-artist-albums (backend artist-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.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: get-artist-albums ((prevalence prevalence) artist-name)
Source

prevalence.lisp.

Generic Function: get-artists (backend)

Retrieve an hashtable which contains artists. artists’s names are the keys of the hashtable.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: get-artists ((prevalence prevalence))
Source

prevalence.lisp.

Generic Function: get-genre (backend)

Retrieve a list of music genres from all albums.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: get-genre ((backend backend))
Generic Function: get-music-by-genre (backend genres)

Retrieve all songs with a music genre. GENRES is a list a different music genre.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: get-music-by-genre ((backend backend) genres)
Generic Function: make-album (backend artist-name album-name style date cover songs)

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.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: make-album ((prevalence prevalence) artist-name album-name style date cover songs)
Source

prevalence.lisp.

Generic Function: make-artist (backend artist-name albums)

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.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: make-artist ((prevalence prevalence) artist-name albums)
Source

prevalence.lisp.

Generic Function: make-song (backend artist-name album-name song-title rank time filename)

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.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: make-song ((prevalence prevalence) artist-name album-name song-title rank time filename)
Source

prevalence.lisp.

Generic Function: print-database (backend &key stream artistp albump songp)

Print to the stream the database. If ARTISTP, print the artists’ names. If ALBUMP, print the albums’ names. If SONGP, print the songs’ names.

Package

ernestine-database.

Source

api.lisp.

Methods
Method: print-database ((backend backend) &key stream artistp albump songp)
Generic Reader: song-album (object)
Generic Writer: (setf song-album) (object)
Package

ernestine-database.

Methods
Reader Method: song-album ((song song))
Writer Method: (setf song-album) ((song song))

Album name to which this song belongs

Source

obj.lisp.

Target Slot

album.

Generic Reader: song-artist (object)
Generic Writer: (setf song-artist) (object)
Package

ernestine-database.

Methods
Reader Method: song-artist ((song song))
Writer Method: (setf song-artist) ((song song))

Name of the artist.

Source

obj.lisp.

Target Slot

artist.

Generic Reader: song-filename (object)
Generic Writer: (setf song-filename) (object)
Package

ernestine-database.

Methods
Reader Method: song-filename ((song song))
Writer Method: (setf song-filename) ((song song))

Filename of the song.

Source

obj.lisp.

Target Slot

filename.

Generic Reader: song-rank (object)
Generic Writer: (setf song-rank) (object)
Package

ernestine-database.

Methods
Reader Method: song-rank ((song song))
Writer Method: (setf song-rank) ((song song))

Rank of this song in the album

Source

obj.lisp.

Target Slot

rank.

Generic Reader: song-time (object)
Generic Writer: (setf song-time) (object)
Package

ernestine-database.

Methods
Reader Method: song-time ((song song))
Writer Method: (setf song-time) ((song song))

Elapsed time of this song

Source

obj.lisp.

Target Slot

time.

Generic Reader: song-title (object)
Generic Writer: (setf song-title) (object)
Package

ernestine-database.

Methods
Reader Method: song-title ((song song))
Writer Method: (setf song-title) ((song song))

Song name

Source

obj.lisp.

Target Slot

title.


6.1.6 Standalone methods

Writer Method: (setf prevalence-system) ((prevalence prevalence))

System prevalence

Package

cl-prevalence.

Source

prevalence.lisp.

Target Slot

system.

Reader Method: prevalence-system ((prevalence prevalence))

System prevalence

Package

cl-prevalence.

Source

prevalence.lisp.

Target Slot

system.

Method: print-object ((album album) stream)
Source

obj.lisp.

Method: print-object ((artist artist) stream)
Source

obj.lisp.

Method: print-object ((song song) stream)
Source

obj.lisp.


6.1.7 Conditions

Condition: existing-album-error

An existing album error

Package

ernestine-database.

Source

errors.lisp.

Direct superclasses

album-error.

Condition: existing-artist-error

An existing artist error

Package

ernestine-database.

Source

errors.lisp.

Direct superclasses

artist-error.

Condition: existing-song-error

An existing song error

Package

ernestine-database.

Source

errors.lisp.

Direct superclasses

song-error.

Condition: unknown-album-error

An unknown album error

Package

ernestine-database.

Source

errors.lisp.

Direct superclasses

album-error.

Condition: unknown-artist-error

An unknown artist error

Package

ernestine-database.

Source

errors.lisp.

Direct superclasses

artist-error.

Condition: unknown-backend-error

Unknown backend error

Package

ernestine-database.

Source

errors.lisp.

Direct superclasses

ernestine-error.

Direct methods

backend-type.

Direct slots
Slot: backend-type
Initargs

:backend-type

Readers

backend-type.

Writers

This slot is read-only.

Condition: unknown-song-error

An unknown song error

Package

ernestine-database.

Source

errors.lisp.

Direct superclasses

song-error.


6.1.8 Classes

Class: album

Music album

Package

ernestine-database.

Source

obj.lisp.

Direct methods
Direct slots
Slot: name

Album name

Package

cl-prevalence.

Initform

""

Initargs

:name

Readers

album-name.

Writers

(setf album-name).

Slot: artist

Name of the artist to which this album belongs

Initform

""

Initargs

:artist

Readers

album-artist.

Writers

(setf album-artist).

Slot: style

Album music style

Initform

""

Initargs

:style

Readers

album-style.

Writers

(setf album-style).

Slot: date

Vendor date

Initform

""

Initargs

:date

Readers

album-date.

Writers

(setf album-date).

Slot: cover

An URI to retrieve cover art.

Initform

""

Initargs

:cover

Readers

album-cover.

Writers

(setf album-cover).

Slot: songs

Hashtable of songs of this album

Initform

(make-hash-table :test (function equal))

Initargs

:songs

Readers

album-songs.

Writers

(setf album-songs).

Class: artist

Music artist

Package

ernestine-database.

Source

obj.lisp.

Direct methods
Direct slots
Slot: name

Music artist

Package

cl-prevalence.

Initform

""

Initargs

:name

Readers

artist-name.

Writers

(setf artist-name).

Slot: albums

Hashtable which contains albums of this artist

Initform

(make-hash-table :test (function equal))

Initargs

:albums

Readers

artist-albums.

Writers

(setf artist-albums).

Class: backend

All backend herites this class

Package

ernestine-database.

Source

api.lisp.

Direct subclasses

prevalence.

Direct methods
Class: prevalence

Database backend which use the cl-prevalence tool

Package

ernestine-database.

Source

prevalence.lisp.

Direct superclasses

backend.

Direct methods
Direct slots
Slot: system

System prevalence

Initargs

:system

Readers

prevalence-system.

Writers

(setf prevalence-system).

Slot: directory

Directory name of the log transaction’s file of cl-prevalence

Package

common-lisp.

Initargs

:directory

Readers

prevalence-directory.

Writers

(setf prevalence-directory).

Class: song

Song of an album

Package

ernestine-database.

Source

obj.lisp.

Direct methods
Direct slots
Slot: title

Song name

Initform

""

Initargs

:title

Readers

song-title.

Writers

(setf song-title).

Slot: album

Album name to which this song belongs

Initform

""

Initargs

:album

Readers

song-album.

Writers

(setf song-album).

Slot: artist

Name of the artist.

Initform

""

Initargs

:artist

Readers

song-artist.

Writers

(setf song-artist).

Slot: rank

Rank of this song in the album

Initform

""

Initargs

:rank

Readers

song-rank.

Writers

(setf song-rank).

Slot: time

Elapsed time of this song

Package

common-lisp.

Initform

""

Initargs

:time

Readers

song-time.

Writers

(setf song-time).

Slot: filename

Filename of the song.

Initform

(error "song must have a pathname")

Initargs

:filename

Readers

song-filename.

Writers

(setf song-filename).


6.2 Internals


6.2.1 Constants

Constant: +cover-search+
Package

cl-covers.

Source

covers.lisp.

Constant: +ws-amazon+
Package

cl-covers.

Source

covers.lisp.


6.2.2 Special variables

Special Variable: *file-info*

Determine file type

Package

ernestine-tools.

Source

specials.lisp.

Special Variable: *id3-v1-genres*
Package

ernestine-tools.

Source

specials.lisp.

Special Variable: *image-types*

Available format of images

Package

ernestine-tools.

Source

io.lisp.

Special Variable: *mp3-info*

Command to extract id3tag informations from MP3 files

Package

ernestine-tools.

Source

specials.lisp.

Special Variable: *mp3-info-args*
Package

ernestine-tools.

Source

specials.lisp.

Special Variable: *music-types*

Available format of music

Package

ernestine-tools.

Source

io.lisp.

Special Variable: *no-id3-v1*
Package

ernestine-tools.

Source

specials.lisp.

Special Variable: *ogg-info*

Command to extract informations from Ogg Vorbis files

Package

ernestine-tools.

Source

specials.lisp.


6.2.3 Macros

Macro: with-album ((album prevalence artist-name album-name) &body body)

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.

Package

ernestine-database.

Source

prevalence.lisp.

Macro: with-artist ((artist prevalence artist-name) &body body)

Macro which find ARTIST by his name ARTIST-NAME and executes BODY. Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown from database.

Package

ernestine-database.

Source

prevalence.lisp.

Macro: with-program-result ((result command args) &body body)

Macros which executes COMMAND with ARGS, and set the ouput in string RESULT.

Package

ernestine-tools.

Source

music.lisp.

Macro: with-song ((song prevalence artist-name album-name song-title) &body body)

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.

Package

ernestine-database.

Source

prevalence.lisp.


6.2.4 Ordinary functions

Function: copy-tag-infos (instance)
Package

ernestine-tools.

Source

music.lisp.

Function: directory-p (token)

Returns TRUE if TOKEN is a directory.

Package

ernestine-tools.

Source

io.lisp.

Function: extract-data (directory)

Extract directories name from directory

Package

ernestine-tools.

Source

io.lisp.

Function: extract-files (directory)

Extract entries from a DIRECTORY

Package

ernestine-tools.

Source

io.lisp.

Function: extract-info (filename &optional stream)

Executes the file command on FILENAME to extract MP3 tags. Return a list which contains song caracteristics : ’(rank title artist album genre year)

Package

ernestine-tools.

Source

music.lisp.

Function: extract-mp3-tag (filename)

Extract tag informations from result of *mp3-info* command, and creates a TAG-INFOS structure.

Package

ernestine-tools.

Source

music.lisp.

Function: extract-ogg-tag (filename)

Executes the *ogg-info* command on FILENAME to extract OGG VORBIS tags. Creates a TAG-INFOS structure.

Package

ernestine-tools.

Source

music.lisp.

Function: get-database (system)

Retreive music database from system

Package

ernestine-database.

Source

prevalence.lisp.

Function: get-file-extension (file)

Returns the extension of FILE

Package

ernestine-tools.

Source

io.lisp.

Function: init-music-system (system)

Initialization of the database system

Package

ernestine-database.

Source

prevalence.lisp.

Function: list-directory (dir)

List content of DIR

Package

ernestine-tools.

Source

io.lisp.

Function: make-tag-infos (&key title artist album date track genre)
Package

ernestine-tools.

Source

music.lisp.

Function: property-key-value (property key)

Extract value of KEY in PROPERTY.

Package

ernestine-tools.

Source

music.lisp.

Function: read-property (string &optional separator)

Read STRING which is sequence of key=value. Creates a cons like (key . value).

Package

ernestine-tools.

Source

music.lisp.

Function: run-shell-command (command args &key output)
Package

ernestine-tools.

Source

music.lisp.

Reader: tag-infos-album (instance)
Writer: (setf tag-infos-album) (instance)
Package

ernestine-tools.

Source

music.lisp.

Target Slot

album.

Reader: tag-infos-artist (instance)
Writer: (setf tag-infos-artist) (instance)
Package

ernestine-tools.

Source

music.lisp.

Target Slot

artist.

Reader: tag-infos-date (instance)
Writer: (setf tag-infos-date) (instance)
Package

ernestine-tools.

Source

music.lisp.

Target Slot

date.

Reader: tag-infos-genre (instance)
Writer: (setf tag-infos-genre) (instance)
Package

ernestine-tools.

Source

music.lisp.

Target Slot

genre.

Function: tag-infos-p (object)
Package

ernestine-tools.

Source

music.lisp.

Reader: tag-infos-title (instance)
Writer: (setf tag-infos-title) (instance)
Package

ernestine-tools.

Source

music.lisp.

Target Slot

title.

Reader: tag-infos-track (instance)
Writer: (setf tag-infos-track) (instance)
Package

ernestine-tools.

Source

music.lisp.

Target Slot

track.

Function: tx-create-album (system artist-name album-name style date cover songs)

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.

Package

ernestine-database.

Source

prevalence.lisp.

Function: tx-create-artist (system artist-name albums)

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.

Package

ernestine-database.

Source

prevalence.lisp.

Function: tx-create-music (system)

Create the music database

Package

ernestine-database.

Source

prevalence.lisp.

Function: tx-create-song (system artist-name album-name song-title rank time filename)

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.

Package

ernestine-database.

Source

prevalence.lisp.

Function: tx-delete-album (system artist-name album-name)

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.

Package

ernestine-database.

Source

prevalence.lisp.

Function: tx-delete-artist (system artist-name)

Transaction for deleting the artist identified by ARTIST-NAME from the database. Throws an UNKNOWN-ARTIST-ERROR if ARTIST-NAME is unknown from database.

Package

ernestine-database.

Source

prevalence.lisp.

Function: tx-delete-song (system artist-name album-name song-title)

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.

Package

ernestine-database.

Source

prevalence.lisp.


6.2.5 Generic functions

Generic Reader: album-songs (object)
Generic Writer: (setf album-songs) (object)
Package

ernestine-database.

Methods
Reader Method: album-songs ((album album))
Writer Method: (setf album-songs) ((album album))

Hashtable of songs of this album

Source

obj.lisp.

Target Slot

songs.

Generic Reader: artist-albums (object)
Generic Writer: (setf artist-albums) (object)
Package

ernestine-database.

Methods
Reader Method: artist-albums ((artist artist))
Writer Method: (setf artist-albums) ((artist artist))

Hashtable which contains albums of this artist

Source

obj.lisp.

Target Slot

albums.

Generic Reader: backend-type (condition)
Package

ernestine-database.

Methods
Reader Method: backend-type ((condition unknown-backend-error))
Source

errors.lisp.

Target Slot

backend-type.

Generic Reader: database-artists (object)
Generic Writer: (setf database-artists) (object)
Package

ernestine-database.

Methods
Reader Method: database-artists ((database database))
Writer Method: (setf database-artists) ((database database))

Hashtable of music artists

Source

prevalence.lisp.

Target Slot

artists.

Generic Reader: prevalence-directory (object)
Generic Writer: (setf prevalence-directory) (object)
Package

ernestine-database.

Methods
Reader Method: prevalence-directory ((prevalence prevalence))
Writer Method: (setf prevalence-directory) ((prevalence prevalence))

Directory name of the log transaction’s file of cl-prevalence

Source

prevalence.lisp.

Target Slot

directory.

Generic Reader: song-name (condition)
Package

ernestine-database.

Methods
Reader Method: song-name ((condition song-error))
Source

errors.lisp.

Target Slot

song-name.


6.2.6 Conditions

Condition: album-error
Package

ernestine-database.

Source

errors.lisp.

Direct superclasses

ernestine-error.

Direct subclasses
Direct methods
Direct slots
Slot: album-name
Initargs

:album-name

Readers

album-name.

Writers

This slot is read-only.

Slot: artist-name
Initargs

:artist-name

Readers

artist-name.

Writers

This slot is read-only.

Condition: artist-error
Package

ernestine-database.

Source

errors.lisp.

Direct superclasses

ernestine-error.

Direct subclasses
Direct methods

artist-name.

Direct slots
Slot: artist-name
Initargs

:artist-name

Readers

artist-name.

Writers

This slot is read-only.

Condition: ernestine-error

Main music error

Package

ernestine-database.

Source

errors.lisp.

Direct superclasses

simple-error.

Direct subclasses
Condition: song-error
Package

ernestine-database.

Source

errors.lisp.

Direct superclasses

ernestine-error.

Direct subclasses
Direct methods
Direct slots
Slot: song-name
Initargs

:song-name

Readers

song-name.

Writers

This slot is read-only.

Slot: album-name
Initargs

:album-name

Readers

album-name.

Writers

This slot is read-only.


6.2.7 Structures

Structure: tag-infos
Package

ernestine-tools.

Source

music.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: title
Readers

tag-infos-title.

Writers

(setf tag-infos-title).

Slot: artist
Package

ernestine-database.

Readers

tag-infos-artist.

Writers

(setf tag-infos-artist).

Slot: album
Package

ernestine-database.

Readers

tag-infos-album.

Writers

(setf tag-infos-album).

Slot: date
Readers

tag-infos-date.

Writers

(setf tag-infos-date).

Slot: track
Readers

tag-infos-track.

Writers

(setf tag-infos-track).

Slot: genre
Readers

tag-infos-genre.

Writers

(setf tag-infos-genre).


6.2.8 Classes

Class: database

Music Database

Package

ernestine-database.

Source

prevalence.lisp.

Direct methods
Direct slots
Slot: artists

Hashtable of music artists

Initform

(make-hash-table :test (quote equal))

Readers

database-artists.

Writers

(setf database-artists).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   I   L   M   P   R   S   T   W  
Index Entry  Section

(
(setf album-artist): Public generic functions
(setf album-artist): Public generic functions
(setf album-cover): Public generic functions
(setf album-cover): Public generic functions
(setf album-date): Public generic functions
(setf album-date): Public generic functions
(setf album-name): Public generic functions
(setf album-name): Public generic functions
(setf album-songs): Private generic functions
(setf album-songs): Private generic functions
(setf album-style): Public generic functions
(setf album-style): Public generic functions
(setf artist-albums): Private generic functions
(setf artist-albums): Private generic functions
(setf artist-name): Public generic functions
(setf artist-name): Public generic functions
(setf database-artists): Private generic functions
(setf database-artists): Private generic functions
(setf prevalence-directory): Private generic functions
(setf prevalence-directory): Private generic functions
(setf prevalence-system): Public standalone methods
(setf song-album): Public generic functions
(setf song-album): Public generic functions
(setf song-artist): Public generic functions
(setf song-artist): Public generic functions
(setf song-filename): Public generic functions
(setf song-filename): Public generic functions
(setf song-rank): Public generic functions
(setf song-rank): Public generic functions
(setf song-time): Public generic functions
(setf song-time): Public generic functions
(setf song-title): Public generic functions
(setf song-title): Public generic functions
(setf tag-infos-album): Private ordinary functions
(setf tag-infos-artist): Private ordinary functions
(setf tag-infos-date): Private ordinary functions
(setf tag-infos-genre): Private ordinary functions
(setf tag-infos-title): Private ordinary functions
(setf tag-infos-track): Private ordinary functions

A
album-artist: Public generic functions
album-artist: Public generic functions
album-cover: Public generic functions
album-cover: Public generic functions
album-date: Public generic functions
album-date: Public generic functions
album-name: Public generic functions
album-name: Public generic functions
album-name: Public generic functions
album-name: Public generic functions
album-songs: Private generic functions
album-songs: Private generic functions
album-style: Public generic functions
album-style: Public generic functions
artist-albums: Private generic functions
artist-albums: Private generic functions
artist-name: Public generic functions
artist-name: Public generic functions
artist-name: Public generic functions
artist-name: Public generic functions

B
backend-type: Private generic functions
backend-type: Private generic functions

C
check-installation: Public ordinary functions
copy-tag-infos: Private ordinary functions

D
database-artists: Private generic functions
database-artists: Private generic functions
delete-album: Public generic functions
delete-album: Public generic functions
delete-artist: Public generic functions
delete-artist: Public generic functions
delete-song: Public generic functions
delete-song: Public generic functions
directory-p: Private ordinary functions
do-albums: Public macros
do-artists: Public macros
do-songs: Public macros

E
extract-data: Private ordinary functions
extract-files: Private ordinary functions
extract-info: Private ordinary functions
extract-mp3-tag: Private ordinary functions
extract-ogg-tag: Private ordinary functions

F
Function, (setf tag-infos-album): Private ordinary functions
Function, (setf tag-infos-artist): Private ordinary functions
Function, (setf tag-infos-date): Private ordinary functions
Function, (setf tag-infos-genre): Private ordinary functions
Function, (setf tag-infos-title): Private ordinary functions
Function, (setf tag-infos-track): Private ordinary functions
Function, check-installation: Public ordinary functions
Function, copy-tag-infos: Private ordinary functions
Function, directory-p: Private ordinary functions
Function, extract-data: Private ordinary functions
Function, extract-files: Private ordinary functions
Function, extract-info: Private ordinary functions
Function, extract-mp3-tag: Private ordinary functions
Function, extract-ogg-tag: Private ordinary functions
Function, get-backend: Public ordinary functions
Function, get-database: Private ordinary functions
Function, get-ernestine-directory: Public ordinary functions
Function, get-file-extension: Private ordinary functions
Function, init-music-system: Private ordinary functions
Function, list-directory: Private ordinary functions
Function, make-prevalence-backend: Public ordinary functions
Function, make-tag-infos: Private ordinary functions
Function, property-key-value: Private ordinary functions
Function, read-property: Private ordinary functions
Function, run-shell-command: Private ordinary functions
Function, scan-directory: Public ordinary functions
Function, search-album-covers: Public ordinary functions
Function, tag-infos-album: Private ordinary functions
Function, tag-infos-artist: Private ordinary functions
Function, tag-infos-date: Private ordinary functions
Function, tag-infos-genre: Private ordinary functions
Function, tag-infos-p: Private ordinary functions
Function, tag-infos-title: Private ordinary functions
Function, tag-infos-track: Private ordinary functions
Function, tx-create-album: Private ordinary functions
Function, tx-create-artist: Private ordinary functions
Function, tx-create-music: Private ordinary functions
Function, tx-create-song: Private ordinary functions
Function, tx-delete-album: Private ordinary functions
Function, tx-delete-artist: Private ordinary functions
Function, tx-delete-song: Private ordinary functions

G
Generic Function, (setf album-artist): Public generic functions
Generic Function, (setf album-cover): Public generic functions
Generic Function, (setf album-date): Public generic functions
Generic Function, (setf album-name): Public generic functions
Generic Function, (setf album-songs): Private generic functions
Generic Function, (setf album-style): Public generic functions
Generic Function, (setf artist-albums): Private generic functions
Generic Function, (setf artist-name): Public generic functions
Generic Function, (setf database-artists): Private generic functions
Generic Function, (setf prevalence-directory): Private generic functions
Generic Function, (setf song-album): Public generic functions
Generic Function, (setf song-artist): Public generic functions
Generic Function, (setf song-filename): Public generic functions
Generic Function, (setf song-rank): Public generic functions
Generic Function, (setf song-time): Public generic functions
Generic Function, (setf song-title): Public generic functions
Generic Function, album-artist: Public generic functions
Generic Function, album-cover: Public generic functions
Generic Function, album-date: Public generic functions
Generic Function, album-name: Public generic functions
Generic Function, album-songs: Private generic functions
Generic Function, album-style: Public generic functions
Generic Function, artist-albums: Private generic functions
Generic Function, artist-name: Public generic functions
Generic Function, backend-type: Private generic functions
Generic Function, database-artists: Private generic functions
Generic Function, delete-album: Public generic functions
Generic Function, delete-artist: Public generic functions
Generic Function, delete-song: Public generic functions
Generic Function, get-album-song: Public generic functions
Generic Function, get-album-song-by-rank: Public generic functions
Generic Function, get-album-songs: Public generic functions
Generic Function, get-artist: Public generic functions
Generic Function, get-artist-album: Public generic functions
Generic Function, get-artist-albums: Public generic functions
Generic Function, get-artists: Public generic functions
Generic Function, get-genre: Public generic functions
Generic Function, get-music-by-genre: Public generic functions
Generic Function, make-album: Public generic functions
Generic Function, make-artist: Public generic functions
Generic Function, make-song: Public generic functions
Generic Function, prevalence-directory: Private generic functions
Generic Function, print-database: Public generic functions
Generic Function, song-album: Public generic functions
Generic Function, song-artist: Public generic functions
Generic Function, song-filename: Public generic functions
Generic Function, song-name: Private generic functions
Generic Function, song-rank: Public generic functions
Generic Function, song-time: Public generic functions
Generic Function, song-title: Public generic functions
get-album-song: Public generic functions
get-album-song: Public generic functions
get-album-song-by-rank: Public generic functions
get-album-song-by-rank: Public generic functions
get-album-songs: Public generic functions
get-album-songs: Public generic functions
get-artist: Public generic functions
get-artist: Public generic functions
get-artist-album: Public generic functions
get-artist-album: Public generic functions
get-artist-albums: Public generic functions
get-artist-albums: Public generic functions
get-artists: Public generic functions
get-artists: Public generic functions
get-backend: Public ordinary functions
get-database: Private ordinary functions
get-ernestine-directory: Public ordinary functions
get-file-extension: Private ordinary functions
get-genre: Public generic functions
get-genre: Public generic functions
get-music-by-genre: Public generic functions
get-music-by-genre: Public generic functions

I
init-music-system: Private ordinary functions

L
list-directory: Private ordinary functions

M
Macro, do-albums: Public macros
Macro, do-artists: Public macros
Macro, do-songs: Public macros
Macro, with-album: Private macros
Macro, with-artist: Private macros
Macro, with-backend: Public macros
Macro, with-program-result: Private macros
Macro, with-song: Private macros
make-album: Public generic functions
make-album: Public generic functions
make-artist: Public generic functions
make-artist: Public generic functions
make-prevalence-backend: Public ordinary functions
make-song: Public generic functions
make-song: Public generic functions
make-tag-infos: Private ordinary functions
Method, (setf album-artist): Public generic functions
Method, (setf album-cover): Public generic functions
Method, (setf album-date): Public generic functions
Method, (setf album-name): Public generic functions
Method, (setf album-songs): Private generic functions
Method, (setf album-style): Public generic functions
Method, (setf artist-albums): Private generic functions
Method, (setf artist-name): Public generic functions
Method, (setf database-artists): Private generic functions
Method, (setf prevalence-directory): Private generic functions
Method, (setf prevalence-system): Public standalone methods
Method, (setf song-album): Public generic functions
Method, (setf song-artist): Public generic functions
Method, (setf song-filename): Public generic functions
Method, (setf song-rank): Public generic functions
Method, (setf song-time): Public generic functions
Method, (setf song-title): Public generic functions
Method, album-artist: Public generic functions
Method, album-cover: Public generic functions
Method, album-date: Public generic functions
Method, album-name: Public generic functions
Method, album-name: Public generic functions
Method, album-name: Public generic functions
Method, album-songs: Private generic functions
Method, album-style: Public generic functions
Method, artist-albums: Private generic functions
Method, artist-name: Public generic functions
Method, artist-name: Public generic functions
Method, artist-name: Public generic functions
Method, backend-type: Private generic functions
Method, database-artists: Private generic functions
Method, delete-album: Public generic functions
Method, delete-artist: Public generic functions
Method, delete-song: Public generic functions
Method, get-album-song: Public generic functions
Method, get-album-song-by-rank: Public generic functions
Method, get-album-songs: Public generic functions
Method, get-artist: Public generic functions
Method, get-artist-album: Public generic functions
Method, get-artist-albums: Public generic functions
Method, get-artists: Public generic functions
Method, get-genre: Public generic functions
Method, get-music-by-genre: Public generic functions
Method, make-album: Public generic functions
Method, make-artist: Public generic functions
Method, make-song: Public generic functions
Method, prevalence-directory: Private generic functions
Method, prevalence-system: Public standalone methods
Method, print-database: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, song-album: Public generic functions
Method, song-artist: Public generic functions
Method, song-filename: Public generic functions
Method, song-name: Private generic functions
Method, song-rank: Public generic functions
Method, song-time: Public generic functions
Method, song-title: Public generic functions

P
prevalence-directory: Private generic functions
prevalence-directory: Private generic functions
prevalence-system: Public standalone methods
print-database: Public generic functions
print-database: Public generic functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
property-key-value: Private ordinary functions

R
read-property: Private ordinary functions
run-shell-command: Private ordinary functions

S
scan-directory: Public ordinary functions
search-album-covers: Public ordinary functions
song-album: Public generic functions
song-album: Public generic functions
song-artist: Public generic functions
song-artist: Public generic functions
song-filename: Public generic functions
song-filename: Public generic functions
song-name: Private generic functions
song-name: Private generic functions
song-rank: Public generic functions
song-rank: Public generic functions
song-time: Public generic functions
song-time: Public generic functions
song-title: Public generic functions
song-title: Public generic functions

T
tag-infos-album: Private ordinary functions
tag-infos-artist: Private ordinary functions
tag-infos-date: Private ordinary functions
tag-infos-genre: Private ordinary functions
tag-infos-p: Private ordinary functions
tag-infos-title: Private ordinary functions
tag-infos-track: Private ordinary functions
tx-create-album: Private ordinary functions
tx-create-artist: Private ordinary functions
tx-create-music: Private ordinary functions
tx-create-song: Private ordinary functions
tx-delete-album: Private ordinary functions
tx-delete-artist: Private ordinary functions
tx-delete-song: Private ordinary functions

W
with-album: Private macros
with-artist: Private macros
with-backend: Public macros
with-program-result: Private macros
with-song: Private macros


A.3 Variables

Jump to:   *   +  
A   B   C   D   F   G   N   R   S   T  
Index Entry  Section

*
*file-info*: Private special variables
*id3-v1-genres*: Private special variables
*image-types*: Private special variables
*mp3-info*: Private special variables
*mp3-info-args*: Private special variables
*music-types*: Private special variables
*no-id3-v1*: Private special variables
*ogg-info*: Private special variables
*player-command*: Public special variables
*print-ernestine-database*: Public special variables
*volume-command*: Public special variables

+
+cover-search+: Private constants
+player-args+: Public constants
+volume-args+: Public constants
+ws-amazon+: Private constants

A
album: Public classes
album: Private structures
album-name: Private conditions
album-name: Private conditions
albums: Public classes
artist: Public classes
artist: Public classes
artist: Private structures
artist-name: Private conditions
artist-name: Private conditions
artists: Private classes

B
backend-type: Public conditions

C
Constant, +cover-search+: Private constants
Constant, +player-args+: Public constants
Constant, +volume-args+: Public constants
Constant, +ws-amazon+: Private constants
cover: Public classes

D
date: Public classes
date: Private structures
directory: Public classes

F
filename: Public classes

G
genre: Private structures

N
name: Public classes
name: Public classes

R
rank: Public classes

S
Slot, album: Public classes
Slot, album: Private structures
Slot, album-name: Private conditions
Slot, album-name: Private conditions
Slot, albums: Public classes
Slot, artist: Public classes
Slot, artist: Public classes
Slot, artist: Private structures
Slot, artist-name: Private conditions
Slot, artist-name: Private conditions
Slot, artists: Private classes
Slot, backend-type: Public conditions
Slot, cover: Public classes
Slot, date: Public classes
Slot, date: Private structures
Slot, directory: Public classes
Slot, filename: Public classes
Slot, genre: Private structures
Slot, name: Public classes
Slot, name: Public classes
Slot, rank: Public classes
Slot, song-name: Private conditions
Slot, songs: Public classes
Slot, style: Public classes
Slot, system: Public classes
Slot, time: Public classes
Slot, title: Public classes
Slot, title: Private structures
Slot, track: Private structures
song-name: Private conditions
songs: Public classes
Special Variable, *file-info*: Private special variables
Special Variable, *id3-v1-genres*: Private special variables
Special Variable, *image-types*: Private special variables
Special Variable, *mp3-info*: Private special variables
Special Variable, *mp3-info-args*: Private special variables
Special Variable, *music-types*: Private special variables
Special Variable, *no-id3-v1*: Private special variables
Special Variable, *ogg-info*: Private special variables
Special Variable, *player-command*: Public special variables
Special Variable, *print-ernestine-database*: Public special variables
Special Variable, *volume-command*: Public special variables
style: Public classes
system: Public classes

T
time: Public classes
title: Public classes
title: Private structures
track: Private structures


A.4 Data types

Jump to:   A   B   C   D   E   F   I   L   M   O   P   S   T   U  
Index Entry  Section

A
album: Public classes
album-error: Private conditions
api.lisp: The ernestine/src/backend/api․lisp file
artist: Public classes
artist-error: Private conditions

B
backend: The ernestine/src/backend module
backend: Public classes

C
cl-covers: The cl-covers package
Class, album: Public classes
Class, artist: Public classes
Class, backend: Public classes
Class, database: Private classes
Class, prevalence: Public classes
Class, song: Public classes
common.lisp: The ernestine/src/backend/common․lisp file
Condition, album-error: Private conditions
Condition, artist-error: Private conditions
Condition, ernestine-error: Private conditions
Condition, existing-album-error: Public conditions
Condition, existing-artist-error: Public conditions
Condition, existing-song-error: Public conditions
Condition, song-error: Private conditions
Condition, unknown-album-error: Public conditions
Condition, unknown-artist-error: Public conditions
Condition, unknown-backend-error: Public conditions
Condition, unknown-song-error: Public conditions
covers.lisp: The ernestine/lib/covers․lisp file

D
database: Private classes

E
ernestine: The ernestine system
ernestine-database: The ernestine-database package
ernestine-error: Private conditions
ernestine-tools: The ernestine-tools package
ernestine.asd: The ernestine/ernestine․asd file
errors.lisp: The ernestine/src/backend/errors․lisp file
existing-album-error: Public conditions
existing-artist-error: Public conditions
existing-song-error: Public conditions

F
File, api.lisp: The ernestine/src/backend/api․lisp file
File, common.lisp: The ernestine/src/backend/common․lisp file
File, covers.lisp: The ernestine/lib/covers․lisp file
File, ernestine.asd: The ernestine/ernestine․asd file
File, errors.lisp: The ernestine/src/backend/errors․lisp file
File, io.lisp: The ernestine/src/tools/io․lisp file
File, misc.lisp: The ernestine/src/tools/misc․lisp file
File, music.lisp: The ernestine/src/tools/music․lisp file
File, obj.lisp: The ernestine/src/backend/obj․lisp file
File, package.lisp: The ernestine/src/backend/package․lisp file
File, package.lisp: The ernestine/src/tools/package․lisp file
File, prevalence.lisp: The ernestine/src/backend/prevalence․lisp file
File, specials.lisp: The ernestine/src/backend/specials․lisp file
File, specials.lisp: The ernestine/src/tools/specials․lisp file

I
io.lisp: The ernestine/src/tools/io․lisp file

L
lib: The ernestine/lib module

M
misc.lisp: The ernestine/src/tools/misc․lisp file
Module, backend: The ernestine/src/backend module
Module, lib: The ernestine/lib module
Module, src: The ernestine/src module
Module, tools: The ernestine/src/tools module
music.lisp: The ernestine/src/tools/music․lisp file

O
obj.lisp: The ernestine/src/backend/obj․lisp file

P
Package, cl-covers: The cl-covers package
Package, ernestine-database: The ernestine-database package
Package, ernestine-tools: The ernestine-tools package
package.lisp: The ernestine/src/backend/package․lisp file
package.lisp: The ernestine/src/tools/package․lisp file
prevalence: Public classes
prevalence.lisp: The ernestine/src/backend/prevalence․lisp file

S
song: Public classes
song-error: Private conditions
specials.lisp: The ernestine/src/backend/specials․lisp file
specials.lisp: The ernestine/src/tools/specials․lisp file
src: The ernestine/src module
Structure, tag-infos: Private structures
System, ernestine: The ernestine system

T
tag-infos: Private structures
tools: The ernestine/src/tools module

U
unknown-album-error: Public conditions
unknown-artist-error: Public conditions
unknown-backend-error: Public conditions
unknown-song-error: Public conditions