The shuffletron Reference Manual

This is the shuffletron Reference Manual, version 0.0.5, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:53:03 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 shuffletron

Music player

Author

Andy Hefner <>

License

MIT-style license

Version

0.0.5

Dependencies
  • osicat (system).
  • mixalot (system).
  • mixalot-mp3 (system).
  • mixalot-vorbis (system).
  • mixalot-flac (system).
Source

shuffletron.asd.

Child Component

src (module).


3 Modules

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


3.1 shuffletron/src

Source

shuffletron.asd.

Parent Component

shuffletron (system).

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 shuffletron/shuffletron.asd

Source

shuffletron.asd.

Parent Component

shuffletron (system).

ASDF Systems

shuffletron.


4.1.2 shuffletron/src/packages.lisp

Source

shuffletron.asd.

Parent Component

src (module).

Packages

shuffletron.


4.1.3 shuffletron/src/util.lisp

Dependency

packages.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.4 shuffletron/src/global.lisp

Dependency

util.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Public Interface

*shuffletron-version* (special variable).

Internals

4.1.5 shuffletron/src/help.lisp

Dependency

global.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Internals

4.1.6 shuffletron/src/profiles.lisp

Dependency

help.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.7 shuffletron/src/library.lisp

Dependency

profiles.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.8 shuffletron/src/query.lisp

Dependency

library.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.9 shuffletron/src/tags.lisp

Dependency

query.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.10 shuffletron/src/audio.lisp

Dependency

tags.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.11 shuffletron/src/ui.lisp

Dependency

audio.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.12 shuffletron/src/alarms.lisp

Dependency

ui.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.13 shuffletron/src/main.lisp

Dependency

alarms.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.14 shuffletron/src/status-bar.lisp

Dependency

main.lisp (file).

Source

shuffletron.asd.

Parent Component

src (module).

Internals

5 Packages

Packages are listed by definition order.


5.1 shuffletron

Source

packages.lisp.

Use List
  • common-lisp.
  • mixalot.
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 Special variables

Special Variable: *current-stream*
Package

shuffletron.

Source

audio.lisp.

Special Variable: *filtered-library*

The library, excluding songs tagged ’ignore’

Package

shuffletron.

Source

library.lisp.

Special Variable: *library*
Package

shuffletron.

Source

library.lisp.

Special Variable: *loop-mode*
Package

shuffletron.

Source

audio.lisp.

Special Variable: *mixer*
Package

shuffletron.

Source

audio.lisp.

Special Variable: *playqueue*
Package

shuffletron.

Source

audio.lisp.

Special Variable: *profile*
Package

shuffletron.

Source

profiles.lisp.

Special Variable: *selection*
Package

shuffletron.

Source

query.lisp.

Special Variable: *shuffletron-version*
Package

shuffletron.

Source

global.lisp.

Special Variable: *wakeup-time*

Time to wake up if alarm clock is enabled.

Package

shuffletron.

Source

alarms.lisp.


6.1.2 Symbol macros

Symbol Macro: *library-base*
Package

shuffletron.

Source

library.lisp.


6.1.3 Macros

Macro: when-playing ((name) &body body)
Package

shuffletron.

Source

audio.lisp.

Macro: with-playqueue (() &body body)
Package

shuffletron.

Source

audio.lisp.

Macro: with-stream-control (() &body body)
Package

shuffletron.

Source

audio.lisp.


6.1.4 Ordinary functions

Function: add-songs (songs)

Append songs to queue, beginning playback if stopped.

Package

shuffletron.

Source

audio.lisp.

Function: current-song-playing ()
Package

shuffletron.

Source

audio.lisp.

Function: decode-as-filename (string)
Package

shuffletron.

Source

tags.lisp.

Function: emptyp (seq)
Package

shuffletron.

Source

util.lisp.

Function: encode-as-filename (string)
Package

shuffletron.

Source

tags.lisp.

Function: end-stream (stream)
Package

shuffletron.

Source

audio.lisp.

Function: expand-ranges (ranges)
Package

shuffletron.

Source

ui.lisp.

Function: extract-ranges (vector rangespec-string)
Package

shuffletron.

Source

ui.lisp.

Function: finish-stream (stream)
Package

shuffletron.

Source

audio.lisp.

Function: kill-tag (tag)
Package

shuffletron.

Source

ui.lisp.

Function: parse-alarm-args (args)

Parse the arguments to the alarm command, returning NIL or a universal time.

Package

shuffletron.

Source

alarms.lisp.

Function: parse-and-execute (line)
Package

shuffletron.

Source

main.lisp.

Function: parse-item-list (string start)
Package

shuffletron.

Source

ui.lisp.

Function: parse-ranges (string start max)

Parse comma delimited numeric ranges, returning a list of min/max pairs as cons cells.

Package

shuffletron.

Source

ui.lisp.

Function: parse-relative-time (in)
Package

shuffletron.

Source

alarms.lisp.

Function: parse-tag-list (tags-arg)
Package

shuffletron.

Source

ui.lisp.

Function: play-command ()
Package

shuffletron.

Source

audio.lisp.

Function: play-next-song ()
Package

shuffletron.

Source

audio.lisp.

Function: play-song (song)

Start a song playing, overriding the existing song. Returns the new stream if successful, or NIL if the song could not be played.

Package

shuffletron.

Source

audio.lisp.

Function: play-songs (songs)

Prepend songs to the queue and play the first one immediately.

Package

shuffletron.

Source

audio.lisp.

Function: playqueue-and-current ()
Package

shuffletron.

Source

audio.lisp.

Function: pref (name &optional default)
Package

shuffletron.

Source

profiles.lisp.

Function: (setf pref) (name)
Package

shuffletron.

Source

profiles.lisp.

Function: prefpath (prefname &key profile)
Package

shuffletron.

Source

profiles.lisp.

Function: query (substring)
Package

shuffletron.

Source

query.lisp.

Function: querying-library-p ()
Package

shuffletron.

Source

query.lisp.

Function: queue-remove-indices (indices)
Package

shuffletron.

Source

audio.lisp.

Function: queue-remove-songs (songs)
Package

shuffletron.

Source

audio.lisp.

Function: refine-query (substring)
Package

shuffletron.

Source

query.lisp.

Function: reset-query ()
Package

shuffletron.

Source

query.lisp.

Function: run ()
Package

shuffletron.

Source

main.lisp.

Function: set-selection (new-selection &key record)
Package

shuffletron.

Source

query.lisp.

Function: sgr (modes)
Package

shuffletron.

Source

ui.lisp.

Function: skip-song ()
Package

shuffletron.

Source

audio.lisp.

Reader: song-full-path (instance)
Writer: (setf song-full-path) (instance)
Package

shuffletron.

Source

library.lisp.

Target Slot

full-path.

Reader: song-id3 (instance)
Writer: (setf song-id3) (instance)
Package

shuffletron.

Source

library.lisp.

Target Slot

id3.

Reader: song-id3-p (instance)
Writer: (setf song-id3-p) (instance)
Package

shuffletron.

Source

library.lisp.

Target Slot

id3-p.

Reader: song-local-path (instance)
Writer: (setf song-local-path) (instance)
Package

shuffletron.

Source

library.lisp.

Target Slot

local-path.

Reader: song-properties (instance)
Writer: (setf song-properties) (instance)
Package

shuffletron.

Source

library.lisp.

Target Slot

properties.

Function: song-start-time (song)
Package

shuffletron.

Source

tags.lisp.

Function: (setf song-start-time) (song)
Package

shuffletron.

Source

tags.lisp.

Reader: song-tags (instance)
Writer: (setf song-tags) (instance)
Package

shuffletron.

Source

library.lisp.

Target Slot

tags.

Function: songs-matching-tag (tag)
Package

shuffletron.

Source

tags.lisp.

Function: songs-matching-tags (query)
Package

shuffletron.

Source

tags.lisp.

Function: spacing (n)
Package

shuffletron.

Source

ui.lisp.

Function: stop-command ()
Package

shuffletron.

Source

audio.lisp.

Function: tag-count-pairs (songs)
Package

shuffletron.

Source

ui.lisp.

Function: tag-current-song (tags-arg)
Package

shuffletron.

Source

ui.lisp.

Function: tag-song (song tag)
Package

shuffletron.

Source

tags.lisp.

Function: tag-songs (songs tag)
Package

shuffletron.

Source

tags.lisp.

Function: time->string (seconds)
Package

shuffletron.

Source

ui.lisp.

Function: toggle-pause ()
Package

shuffletron.

Source

audio.lisp.

Function: unpause ()
Package

shuffletron.

Source

audio.lisp.

Function: untag-current-song (tags-arg)
Package

shuffletron.

Source

ui.lisp.

Function: untag-song (song tag)
Package

shuffletron.

Source

tags.lisp.

Function: untag-songs (songs tag)
Package

shuffletron.

Source

tags.lisp.

Function: utime->string (utime)
Package

shuffletron.

Source

alarms.lisp.

Function: walk (path fn)

Walk directory tree, ignoring symlinks.

Package

shuffletron.

Source

util.lisp.


6.1.5 Generic functions

Generic Reader: song-of (object)
Package

shuffletron.

Methods
Reader Method: song-of ((shuffletron-stream-mixin shuffletron-stream-mixin))

automatically generated reader method

Source

audio.lisp.

Target Slot

song.

Generic Writer: (setf song-of) (object)
Package

shuffletron.

Methods
Writer Method: (setf song-of) ((shuffletron-stream-mixin shuffletron-stream-mixin))

automatically generated writer method

Source

audio.lisp.

Target Slot

song.

Generic Reader: stopped (object)
Package

shuffletron.

Methods
Reader Method: stopped ((shuffletron-stream-mixin shuffletron-stream-mixin))

automatically generated reader method

Source

audio.lisp.

Target Slot

stopped.

Generic Writer: (setf stopped) (object)
Package

shuffletron.

Methods
Writer Method: (setf stopped) ((shuffletron-stream-mixin shuffletron-stream-mixin))

automatically generated writer method

Source

audio.lisp.

Target Slot

stopped.


6.1.6 Standalone methods

Method: streamer-cleanup :after ((stream shuffletron-stream-mixin) mixer)
Package

mixalot.

Source

audio.lisp.


6.1.7 Structures

Structure: song
Package

shuffletron.

Source

library.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: full-path
Readers

song-full-path.

Writers

(setf song-full-path).

Slot: local-path
Readers

song-local-path.

Writers

(setf song-local-path).

Slot: tags
Readers

song-tags.

Writers

(setf song-tags).

Slot: smashed
Readers

song-smashed.

Writers

(setf song-smashed).

Slot: properties
Readers

song-properties.

Writers

(setf song-properties).

Slot: matchprops
Readers

song-matchprops.

Writers

(setf song-matchprops).

Slot: id3
Readers

song-id3.

Writers

(setf song-id3).

Slot: id3-p
Readers

song-id3-p.

Writers

(setf song-id3-p).


6.2 Internals


6.2.1 Special variables

Special Variable: *alarm-thread*
Package

shuffletron.

Source

alarms.lisp.

Special Variable: *argv*
Package

shuffletron.

Source

global.lisp.

Special Variable: *color-prefs*
Package

shuffletron.

Source

ui.lisp.

Special Variable: *cslock*
Package

shuffletron.

Source

audio.lisp.

Special Variable: *debug-mode*
Package

shuffletron.

Source

global.lisp.

Special Variable: *donecounter*
Package

shuffletron.

Source

status-bar.lisp.

Special Variable: *funcounter*
Package

shuffletron.

Source

status-bar.lisp.

Special Variable: *history-depth*
Package

shuffletron.

Source

query.lisp.

Special Variable: *i-took-the-cs-look*
Package

shuffletron.

Source

audio.lisp.

Special Variable: *library-progress*
Package

shuffletron.

Source

library.lisp.

Special Variable: *local-path->song*
Package

shuffletron.

Source

library.lisp.

Special Variable: *max-query-results*

Maximum number of results to print without an explicit ’show’ command.

Package

shuffletron.

Source

ui.lisp.

Special Variable: *output-lock*
Package

shuffletron.

Source

ui.lisp.

Special Variable: *pqlock*
Package

shuffletron.

Source

audio.lisp.

Special Variable: *selection-changed*
Package

shuffletron.

Source

query.lisp.

Special Variable: *selection-history*
Package

shuffletron.

Source

query.lisp.

Special Variable: *tag-file-registry*
Package

shuffletron.

Source

tags.lisp.

Special Variable: *term-cols*
Package

shuffletron.

Source

ui.lisp.

Special Variable: *term-rows*
Package

shuffletron.

Source

ui.lisp.

Special Variable: *waitcounter*
Package

shuffletron.

Source

status-bar.lisp.


6.2.2 Macros

Macro: any (&body forms)

Similar to the OR macro, but doesn’t short-circuit.

Package

shuffletron.

Source

query.lisp.

Macro: disjunction ((&optional string) &body branches)
Package

shuffletron.

Source

util.lisp.

Macro: parsing ((&optional string) &body body)
Package

shuffletron.

Source

util.lisp.

Macro: with-output (() &body body)
Package

shuffletron.

Source

ui.lisp.

Macro: with-posix-interface (() &body body)
Package

shuffletron.

Source

util.lisp.


6.2.3 Ordinary functions

Function: %split-list-directory (path)
Package

shuffletron.

Source

util.lisp.

Function: 12hour (in)
Package

shuffletron.

Source

alarms.lisp.

Function: abs-sorted-list-directory (path)
Package

shuffletron.

Source

util.lisp.

Function: add-song-file (full-filename relative-filename)
Package

shuffletron.

Source

library.lisp.

Function: alarm-thread-toplevel ()
Package

shuffletron.

Source

alarms.lisp.

Function: all-profiles ()
Package

shuffletron.

Source

profiles.lisp.

Function: audio-init ()
Package

shuffletron.

Source

audio.lisp.

Function: build-sequence-table (seq &optional key test)
Package

shuffletron.

Source

util.lisp.

Function: carriage-return ()
Package

shuffletron.

Source

library.lisp.

Function: colon (in)
Package

shuffletron.

Source

util.lisp.

Function: compute-filtered-library ()
Package

shuffletron.

Source

library.lisp.

Function: configure-library-path ()

Prompt user and verify library path

Package

shuffletron.

Source

main.lisp.

Function: copy-song (instance)
Package

shuffletron.

Source

library.lisp.

Function: daytime->alarm-time (daytime)

Translate a daytime (in minutes) to a universal time for the alarm. Since the daytime doesn’t specify a date, we choose tomorrow rather than today if the date would be less than the current time.

Package

shuffletron.

Source

alarms.lisp.

Function: dirty-tag-pathnames ()
Package

shuffletron.

Source

tags.lisp.

Function: dirty-tags ()
Package

shuffletron.

Source

tags.lisp.

Function: display-status-bar ()
Package

shuffletron.

Source

status-bar.lisp.

Function: do-query (substring update-highlighting)
Package

shuffletron.

Source

query.lisp.

Function: do-seek (args)
Package

shuffletron.

Source

main.lisp.

Function: do-set-alarm (args)
Package

shuffletron.

Source

alarms.lisp.

Function: eof (in)
Package

shuffletron.

Source

util.lisp.

Function: eval* (string)

Read a form from STRING, evaluate it in the Shuffletron package and print the result.

Package

shuffletron.

Source

main.lisp.

Function: file (filename)
Setf Expander: (setf file) (filename)
Package

shuffletron.

Source

util.lisp.

Function: find-type-via-stat (path name)
Package

shuffletron.

Source

util.lisp.

Function: get-profile-base (profile-name)
Package

shuffletron.

Source

profiles.lisp.

Function: get-song-metadata (absolute-path)
Package

shuffletron.

Source

library.lisp.

Function: get-terminal-size ()
Package

shuffletron.

Source

ui.lisp.

Function: getline ()
Package

shuffletron.

Source

ui.lisp.

Function: init ()
Package

shuffletron.

Source

main.lisp.

Function: init-library ()
Package

shuffletron.

Source

library.lisp.

Function: invalidate-tags ()
Package

shuffletron.

Source

tags.lisp.

Function: item-list-delim (char)
Package

shuffletron.

Source

ui.lisp.

Function: join-paths (a b)

Append a file name to a path, adding a directory separator if necessary.

Package

shuffletron.

Source

util.lisp.

Function: library-scan (path)
Package

shuffletron.

Source

library.lisp.

Function: list-remove-by-index (list indices)
Package

shuffletron.

Source

audio.lisp.

Function: list-tag-files ()
Package

shuffletron.

Source

tags.lisp.

Function: load-metadata-cache ()
Package

shuffletron.

Source

library.lisp.

Function: load-tag-group (tag)
Package

shuffletron.

Source

tags.lisp.

Function: load-tags ()

Load all tags from disk.

Package

shuffletron.

Source

tags.lisp.

Function: mainloop ()
Package

shuffletron.

Source

main.lisp.

Function: make-song (&key full-path local-path tags smashed properties matchprops id3 id3-p)
Package

shuffletron.

Source

library.lisp.

Function: make-streamer (song)
Package

shuffletron.

Source

audio.lisp.

Function: match (in match)
Package

shuffletron.

Source

util.lisp.

Function: match-extension (filename extension)
Package

shuffletron.

Source

library.lisp.

Function: maybe-underlined (string markings-or-nil style)
Package

shuffletron.

Source

ui.lisp.

Function: mod60 (in)
Package

shuffletron.

Source

util.lisp.

Function: move-cursor (col row)
Package

shuffletron.

Source

status-bar.lisp.

Function: music-file-type (filename)
Package

shuffletron.

Source

library.lisp.

Function: note-tag-write-time (tag)
Package

shuffletron.

Source

tags.lisp.

Function: num (in)
Package

shuffletron.

Source

util.lisp.

Function: parse-12-hour-format (in)

Parse numeric portions (hour or h:mm) of 12-hour time format, returning a count in minutes.

Package

shuffletron.

Source

alarms.lisp.

Function: parse-command-line-args ()
Package

shuffletron.

Source

ui.lisp.

Function: parse-daytime (in)

Parse string as a time of day (AM/PM), for the alarm clock. Returns time in minutes from midnight.

Package

shuffletron.

Source

alarms.lisp.

Function: parse-timespec (string)

Parse a time/duration, in one of three formats (seconds, m:ss, h:mm:ss)

Package

shuffletron.

Source

alarms.lisp.

Function: print-alarm-help ()
Package

shuffletron.

Source

help.lisp.

Function: print-commands ()
Package

shuffletron.

Source

help.lisp.

Function: print-decorated (style-0 style-1 string markings style)
Package

shuffletron.

Source

ui.lisp.

Function: print-examples ()
Package

shuffletron.

Source

help.lisp.

Function: print-help ()
Package

shuffletron.

Source

help.lisp.

Function: print-id3-properties (stream props)
Package

shuffletron.

Source

ui.lisp.

Function: print-time ()
Package

shuffletron.

Source

alarms.lisp.

Function: print-usage-message ()
Package

shuffletron.

Source

help.lisp.

Function: quit ()
Package

shuffletron.

Source

main.lisp.

Function: relative-to (path filename)
Package

shuffletron.

Source

util.lisp.

Function: restore-cursor ()
Package

shuffletron.

Source

status-bar.lisp.

Function: save-cursor ()
Package

shuffletron.

Source

status-bar.lisp.

Function: save-metadata-cache ()
Package

shuffletron.

Source

library.lisp.

Function: save-tags-list (tag)
Package

shuffletron.

Source

tags.lisp.

Function: scan-file-metadata (&key verbose adjective)
Package

shuffletron.

Source

library.lisp.

Function: selection-songs (rangespec)
Package

shuffletron.

Source

ui.lisp.

Function: set-alarm (utime)
Package

shuffletron.

Source

alarms.lisp.

Function: show-all-tags ()
Package

shuffletron.

Source

ui.lisp.

Function: show-current-query ()
Package

shuffletron.

Source

main.lisp.

Function: show-current-song (&optional delimit)
Package

shuffletron.

Source

ui.lisp.

Function: show-current-song-tags ()
Package

shuffletron.

Source

ui.lisp.

Function: show-playqueue ()
Package

shuffletron.

Source

ui.lisp.

Function: show-song-matches (items &key mode highlight-queue)
Package

shuffletron.

Source

ui.lisp.

Function: show-song-tags (song &key no-tags-fmt)
Package

shuffletron.

Source

ui.lisp.

Function: smash-string (string)
Package

shuffletron.

Source

library.lisp.

Reader: song-matchprops (instance)
Writer: (setf song-matchprops) (instance)
Package

shuffletron.

Source

library.lisp.

Target Slot

matchprops.

Function: song-p (object)
Package

shuffletron.

Source

library.lisp.

Reader: song-smashed (instance)
Writer: (setf song-smashed) (instance)
Package

shuffletron.

Source

library.lisp.

Target Slot

smashed.

Function: song-start-prefname (song)
Package

shuffletron.

Source

tags.lisp.

Function: songs-needing-id3-scan ()
Package

shuffletron.

Source

library.lisp.

Function: split-list-directory (path)
Package

shuffletron.

Source

util.lisp.

Function: spooky-init ()
Package

shuffletron.

Source

main.lisp.

Function: subpath (list)
Package

shuffletron.

Source

profiles.lisp.

Function: tag-file-dirty-p (tag)
Package

shuffletron.

Source

tags.lisp.

Function: tag-pathname-dirty-p (pathname)
Package

shuffletron.

Source

tags.lisp.

Function: tag-unescaped-char-p (character)
Package

shuffletron.

Source

tags.lisp.

Function: trigger-alarm ()
Package

shuffletron.

Source

alarms.lisp.

Function: update-status-bar ()
Package

shuffletron.

Source

status-bar.lisp.

Function: update-terminal-size ()
Package

shuffletron.

Source

ui.lisp.

Function: val (x)
Package

shuffletron.

Source

util.lisp.

Function: vector-select-ranges (vector rangespec)
Package

shuffletron.

Source

ui.lisp.

Function: whitespace (in)
Package

shuffletron.

Source

util.lisp.

Function: write-sexp-file (filename object)
Package

shuffletron.

Source

util.lisp.


6.2.4 Classes

Class: shuffletron-flac-stream
Package

shuffletron.

Source

audio.lisp.

Direct superclasses
Class: shuffletron-mp3-stream
Package

shuffletron.

Source

audio.lisp.

Direct superclasses
Class: shuffletron-ogg-stream
Package

shuffletron.

Source

audio.lisp.

Direct superclasses
Class: shuffletron-stream-mixin
Package

shuffletron.

Source

audio.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: song
Initargs

:song

Readers

song-of.

Writers

(setf song-of).

Slot: stopped
Readers

stopped.

Writers

(setf stopped).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (   1  
A   B   C   D   E   F   G   I   J   K   L   M   N   P   Q   R   S   T   U   V   W  
Index Entry  Section

%
%split-list-directory: Private ordinary functions

(
(setf file): Private ordinary functions
(setf pref): Public ordinary functions
(setf song-full-path): Public ordinary functions
(setf song-id3): Public ordinary functions
(setf song-id3-p): Public ordinary functions
(setf song-local-path): Public ordinary functions
(setf song-matchprops): Private ordinary functions
(setf song-of): Public generic functions
(setf song-of): Public generic functions
(setf song-properties): Public ordinary functions
(setf song-smashed): Private ordinary functions
(setf song-start-time): Public ordinary functions
(setf song-tags): Public ordinary functions
(setf stopped): Public generic functions
(setf stopped): Public generic functions

1
12hour: Private ordinary functions

A
abs-sorted-list-directory: Private ordinary functions
add-song-file: Private ordinary functions
add-songs: Public ordinary functions
alarm-thread-toplevel: Private ordinary functions
all-profiles: Private ordinary functions
any: Private macros
audio-init: Private ordinary functions

B
build-sequence-table: Private ordinary functions

C
carriage-return: Private ordinary functions
colon: Private ordinary functions
compute-filtered-library: Private ordinary functions
configure-library-path: Private ordinary functions
copy-song: Private ordinary functions
current-song-playing: Public ordinary functions

D
daytime->alarm-time: Private ordinary functions
decode-as-filename: Public ordinary functions
dirty-tag-pathnames: Private ordinary functions
dirty-tags: Private ordinary functions
disjunction: Private macros
display-status-bar: Private ordinary functions
do-query: Private ordinary functions
do-seek: Private ordinary functions
do-set-alarm: Private ordinary functions

E
emptyp: Public ordinary functions
encode-as-filename: Public ordinary functions
end-stream: Public ordinary functions
eof: Private ordinary functions
eval*: Private ordinary functions
expand-ranges: Public ordinary functions
extract-ranges: Public ordinary functions

F
file: Private ordinary functions
find-type-via-stat: Private ordinary functions
finish-stream: Public ordinary functions
Function, %split-list-directory: Private ordinary functions
Function, (setf pref): Public ordinary functions
Function, (setf song-full-path): Public ordinary functions
Function, (setf song-id3): Public ordinary functions
Function, (setf song-id3-p): Public ordinary functions
Function, (setf song-local-path): Public ordinary functions
Function, (setf song-matchprops): Private ordinary functions
Function, (setf song-properties): Public ordinary functions
Function, (setf song-smashed): Private ordinary functions
Function, (setf song-start-time): Public ordinary functions
Function, (setf song-tags): Public ordinary functions
Function, 12hour: Private ordinary functions
Function, abs-sorted-list-directory: Private ordinary functions
Function, add-song-file: Private ordinary functions
Function, add-songs: Public ordinary functions
Function, alarm-thread-toplevel: Private ordinary functions
Function, all-profiles: Private ordinary functions
Function, audio-init: Private ordinary functions
Function, build-sequence-table: Private ordinary functions
Function, carriage-return: Private ordinary functions
Function, colon: Private ordinary functions
Function, compute-filtered-library: Private ordinary functions
Function, configure-library-path: Private ordinary functions
Function, copy-song: Private ordinary functions
Function, current-song-playing: Public ordinary functions
Function, daytime->alarm-time: Private ordinary functions
Function, decode-as-filename: Public ordinary functions
Function, dirty-tag-pathnames: Private ordinary functions
Function, dirty-tags: Private ordinary functions
Function, display-status-bar: Private ordinary functions
Function, do-query: Private ordinary functions
Function, do-seek: Private ordinary functions
Function, do-set-alarm: Private ordinary functions
Function, emptyp: Public ordinary functions
Function, encode-as-filename: Public ordinary functions
Function, end-stream: Public ordinary functions
Function, eof: Private ordinary functions
Function, eval*: Private ordinary functions
Function, expand-ranges: Public ordinary functions
Function, extract-ranges: Public ordinary functions
Function, file: Private ordinary functions
Function, find-type-via-stat: Private ordinary functions
Function, finish-stream: Public ordinary functions
Function, get-profile-base: Private ordinary functions
Function, get-song-metadata: Private ordinary functions
Function, get-terminal-size: Private ordinary functions
Function, getline: Private ordinary functions
Function, init: Private ordinary functions
Function, init-library: Private ordinary functions
Function, invalidate-tags: Private ordinary functions
Function, item-list-delim: Private ordinary functions
Function, join-paths: Private ordinary functions
Function, kill-tag: Public ordinary functions
Function, library-scan: Private ordinary functions
Function, list-remove-by-index: Private ordinary functions
Function, list-tag-files: Private ordinary functions
Function, load-metadata-cache: Private ordinary functions
Function, load-tag-group: Private ordinary functions
Function, load-tags: Private ordinary functions
Function, mainloop: Private ordinary functions
Function, make-song: Private ordinary functions
Function, make-streamer: Private ordinary functions
Function, match: Private ordinary functions
Function, match-extension: Private ordinary functions
Function, maybe-underlined: Private ordinary functions
Function, mod60: Private ordinary functions
Function, move-cursor: Private ordinary functions
Function, music-file-type: Private ordinary functions
Function, note-tag-write-time: Private ordinary functions
Function, num: Private ordinary functions
Function, parse-12-hour-format: Private ordinary functions
Function, parse-alarm-args: Public ordinary functions
Function, parse-and-execute: Public ordinary functions
Function, parse-command-line-args: Private ordinary functions
Function, parse-daytime: Private ordinary functions
Function, parse-item-list: Public ordinary functions
Function, parse-ranges: Public ordinary functions
Function, parse-relative-time: Public ordinary functions
Function, parse-tag-list: Public ordinary functions
Function, parse-timespec: Private ordinary functions
Function, play-command: Public ordinary functions
Function, play-next-song: Public ordinary functions
Function, play-song: Public ordinary functions
Function, play-songs: Public ordinary functions
Function, playqueue-and-current: Public ordinary functions
Function, pref: Public ordinary functions
Function, prefpath: Public ordinary functions
Function, print-alarm-help: Private ordinary functions
Function, print-commands: Private ordinary functions
Function, print-decorated: Private ordinary functions
Function, print-examples: Private ordinary functions
Function, print-help: Private ordinary functions
Function, print-id3-properties: Private ordinary functions
Function, print-time: Private ordinary functions
Function, print-usage-message: Private ordinary functions
Function, query: Public ordinary functions
Function, querying-library-p: Public ordinary functions
Function, queue-remove-indices: Public ordinary functions
Function, queue-remove-songs: Public ordinary functions
Function, quit: Private ordinary functions
Function, refine-query: Public ordinary functions
Function, relative-to: Private ordinary functions
Function, reset-query: Public ordinary functions
Function, restore-cursor: Private ordinary functions
Function, run: Public ordinary functions
Function, save-cursor: Private ordinary functions
Function, save-metadata-cache: Private ordinary functions
Function, save-tags-list: Private ordinary functions
Function, scan-file-metadata: Private ordinary functions
Function, selection-songs: Private ordinary functions
Function, set-alarm: Private ordinary functions
Function, set-selection: Public ordinary functions
Function, sgr: Public ordinary functions
Function, show-all-tags: Private ordinary functions
Function, show-current-query: Private ordinary functions
Function, show-current-song: Private ordinary functions
Function, show-current-song-tags: Private ordinary functions
Function, show-playqueue: Private ordinary functions
Function, show-song-matches: Private ordinary functions
Function, show-song-tags: Private ordinary functions
Function, skip-song: Public ordinary functions
Function, smash-string: Private ordinary functions
Function, song-full-path: Public ordinary functions
Function, song-id3: Public ordinary functions
Function, song-id3-p: Public ordinary functions
Function, song-local-path: Public ordinary functions
Function, song-matchprops: Private ordinary functions
Function, song-p: Private ordinary functions
Function, song-properties: Public ordinary functions
Function, song-smashed: Private ordinary functions
Function, song-start-prefname: Private ordinary functions
Function, song-start-time: Public ordinary functions
Function, song-tags: Public ordinary functions
Function, songs-matching-tag: Public ordinary functions
Function, songs-matching-tags: Public ordinary functions
Function, songs-needing-id3-scan: Private ordinary functions
Function, spacing: Public ordinary functions
Function, split-list-directory: Private ordinary functions
Function, spooky-init: Private ordinary functions
Function, stop-command: Public ordinary functions
Function, subpath: Private ordinary functions
Function, tag-count-pairs: Public ordinary functions
Function, tag-current-song: Public ordinary functions
Function, tag-file-dirty-p: Private ordinary functions
Function, tag-pathname-dirty-p: Private ordinary functions
Function, tag-song: Public ordinary functions
Function, tag-songs: Public ordinary functions
Function, tag-unescaped-char-p: Private ordinary functions
Function, time->string: Public ordinary functions
Function, toggle-pause: Public ordinary functions
Function, trigger-alarm: Private ordinary functions
Function, unpause: Public ordinary functions
Function, untag-current-song: Public ordinary functions
Function, untag-song: Public ordinary functions
Function, untag-songs: Public ordinary functions
Function, update-status-bar: Private ordinary functions
Function, update-terminal-size: Private ordinary functions
Function, utime->string: Public ordinary functions
Function, val: Private ordinary functions
Function, vector-select-ranges: Private ordinary functions
Function, walk: Public ordinary functions
Function, whitespace: Private ordinary functions
Function, write-sexp-file: Private ordinary functions

G
Generic Function, (setf song-of): Public generic functions
Generic Function, (setf stopped): Public generic functions
Generic Function, song-of: Public generic functions
Generic Function, stopped: Public generic functions
get-profile-base: Private ordinary functions
get-song-metadata: Private ordinary functions
get-terminal-size: Private ordinary functions
getline: Private ordinary functions

I
init: Private ordinary functions
init-library: Private ordinary functions
invalidate-tags: Private ordinary functions
item-list-delim: Private ordinary functions

J
join-paths: Private ordinary functions

K
kill-tag: Public ordinary functions

L
library-scan: Private ordinary functions
list-remove-by-index: Private ordinary functions
list-tag-files: Private ordinary functions
load-metadata-cache: Private ordinary functions
load-tag-group: Private ordinary functions
load-tags: Private ordinary functions

M
Macro, any: Private macros
Macro, disjunction: Private macros
Macro, parsing: Private macros
Macro, when-playing: Public macros
Macro, with-output: Private macros
Macro, with-playqueue: Public macros
Macro, with-posix-interface: Private macros
Macro, with-stream-control: Public macros
mainloop: Private ordinary functions
make-song: Private ordinary functions
make-streamer: Private ordinary functions
match: Private ordinary functions
match-extension: Private ordinary functions
maybe-underlined: Private ordinary functions
Method, (setf song-of): Public generic functions
Method, (setf stopped): Public generic functions
Method, song-of: Public generic functions
Method, stopped: Public generic functions
Method, streamer-cleanup: Public standalone methods
mod60: Private ordinary functions
move-cursor: Private ordinary functions
music-file-type: Private ordinary functions

N
note-tag-write-time: Private ordinary functions
num: Private ordinary functions

P
parse-12-hour-format: Private ordinary functions
parse-alarm-args: Public ordinary functions
parse-and-execute: Public ordinary functions
parse-command-line-args: Private ordinary functions
parse-daytime: Private ordinary functions
parse-item-list: Public ordinary functions
parse-ranges: Public ordinary functions
parse-relative-time: Public ordinary functions
parse-tag-list: Public ordinary functions
parse-timespec: Private ordinary functions
parsing: Private macros
play-command: Public ordinary functions
play-next-song: Public ordinary functions
play-song: Public ordinary functions
play-songs: Public ordinary functions
playqueue-and-current: Public ordinary functions
pref: Public ordinary functions
prefpath: Public ordinary functions
print-alarm-help: Private ordinary functions
print-commands: Private ordinary functions
print-decorated: Private ordinary functions
print-examples: Private ordinary functions
print-help: Private ordinary functions
print-id3-properties: Private ordinary functions
print-time: Private ordinary functions
print-usage-message: Private ordinary functions

Q
query: Public ordinary functions
querying-library-p: Public ordinary functions
queue-remove-indices: Public ordinary functions
queue-remove-songs: Public ordinary functions
quit: Private ordinary functions

R
refine-query: Public ordinary functions
relative-to: Private ordinary functions
reset-query: Public ordinary functions
restore-cursor: Private ordinary functions
run: Public ordinary functions

S
save-cursor: Private ordinary functions
save-metadata-cache: Private ordinary functions
save-tags-list: Private ordinary functions
scan-file-metadata: Private ordinary functions
selection-songs: Private ordinary functions
set-alarm: Private ordinary functions
set-selection: Public ordinary functions
Setf Expander, (setf file): Private ordinary functions
sgr: Public ordinary functions
show-all-tags: Private ordinary functions
show-current-query: Private ordinary functions
show-current-song: Private ordinary functions
show-current-song-tags: Private ordinary functions
show-playqueue: Private ordinary functions
show-song-matches: Private ordinary functions
show-song-tags: Private ordinary functions
skip-song: Public ordinary functions
smash-string: Private ordinary functions
song-full-path: Public ordinary functions
song-id3: Public ordinary functions
song-id3-p: Public ordinary functions
song-local-path: Public ordinary functions
song-matchprops: Private ordinary functions
song-of: Public generic functions
song-of: Public generic functions
song-p: Private ordinary functions
song-properties: Public ordinary functions
song-smashed: Private ordinary functions
song-start-prefname: Private ordinary functions
song-start-time: Public ordinary functions
song-tags: Public ordinary functions
songs-matching-tag: Public ordinary functions
songs-matching-tags: Public ordinary functions
songs-needing-id3-scan: Private ordinary functions
spacing: Public ordinary functions
split-list-directory: Private ordinary functions
spooky-init: Private ordinary functions
stop-command: Public ordinary functions
stopped: Public generic functions
stopped: Public generic functions
streamer-cleanup: Public standalone methods
subpath: Private ordinary functions

T
tag-count-pairs: Public ordinary functions
tag-current-song: Public ordinary functions
tag-file-dirty-p: Private ordinary functions
tag-pathname-dirty-p: Private ordinary functions
tag-song: Public ordinary functions
tag-songs: Public ordinary functions
tag-unescaped-char-p: Private ordinary functions
time->string: Public ordinary functions
toggle-pause: Public ordinary functions
trigger-alarm: Private ordinary functions

U
unpause: Public ordinary functions
untag-current-song: Public ordinary functions
untag-song: Public ordinary functions
untag-songs: Public ordinary functions
update-status-bar: Private ordinary functions
update-terminal-size: Private ordinary functions
utime->string: Public ordinary functions

V
val: Private ordinary functions
vector-select-ranges: Private ordinary functions

W
walk: Public ordinary functions
when-playing: Public macros
whitespace: Private ordinary functions
with-output: Private macros
with-playqueue: Public macros
with-posix-interface: Private macros
with-stream-control: Public macros
write-sexp-file: Private ordinary functions


A.3 Variables

Jump to:   *  
F   I   L   M   P   S   T  
Index Entry  Section

*
*alarm-thread*: Private special variables
*argv*: Private special variables
*color-prefs*: Private special variables
*cslock*: Private special variables
*current-stream*: Public special variables
*debug-mode*: Private special variables
*donecounter*: Private special variables
*filtered-library*: Public special variables
*funcounter*: Private special variables
*history-depth*: Private special variables
*i-took-the-cs-look*: Private special variables
*library*: Public special variables
*library-base*: Public symbol macros
*library-progress*: Private special variables
*local-path->song*: Private special variables
*loop-mode*: Public special variables
*max-query-results*: Private special variables
*mixer*: Public special variables
*output-lock*: Private special variables
*playqueue*: Public special variables
*pqlock*: Private special variables
*profile*: Public special variables
*selection*: Public special variables
*selection-changed*: Private special variables
*selection-history*: Private special variables
*shuffletron-version*: Public special variables
*tag-file-registry*: Private special variables
*term-cols*: Private special variables
*term-rows*: Private special variables
*waitcounter*: Private special variables
*wakeup-time*: Public special variables

F
full-path: Public structures

I
id3: Public structures
id3-p: Public structures

L
local-path: Public structures

M
matchprops: Public structures

P
properties: Public structures

S
Slot, full-path: Public structures
Slot, id3: Public structures
Slot, id3-p: Public structures
Slot, local-path: Public structures
Slot, matchprops: Public structures
Slot, properties: Public structures
Slot, smashed: Public structures
Slot, song: Private classes
Slot, stopped: Private classes
Slot, tags: Public structures
smashed: Public structures
song: Private classes
Special Variable, *alarm-thread*: Private special variables
Special Variable, *argv*: Private special variables
Special Variable, *color-prefs*: Private special variables
Special Variable, *cslock*: Private special variables
Special Variable, *current-stream*: Public special variables
Special Variable, *debug-mode*: Private special variables
Special Variable, *donecounter*: Private special variables
Special Variable, *filtered-library*: Public special variables
Special Variable, *funcounter*: Private special variables
Special Variable, *history-depth*: Private special variables
Special Variable, *i-took-the-cs-look*: Private special variables
Special Variable, *library*: Public special variables
Special Variable, *library-progress*: Private special variables
Special Variable, *local-path->song*: Private special variables
Special Variable, *loop-mode*: Public special variables
Special Variable, *max-query-results*: Private special variables
Special Variable, *mixer*: Public special variables
Special Variable, *output-lock*: Private special variables
Special Variable, *playqueue*: Public special variables
Special Variable, *pqlock*: Private special variables
Special Variable, *profile*: Public special variables
Special Variable, *selection*: Public special variables
Special Variable, *selection-changed*: Private special variables
Special Variable, *selection-history*: Private special variables
Special Variable, *shuffletron-version*: Public special variables
Special Variable, *tag-file-registry*: Private special variables
Special Variable, *term-cols*: Private special variables
Special Variable, *term-rows*: Private special variables
Special Variable, *waitcounter*: Private special variables
Special Variable, *wakeup-time*: Public special variables
stopped: Private classes
Symbol Macro, *library-base*: Public symbol macros

T
tags: Public structures


A.4 Data types

Jump to:   A   C   F   G   H   L   M   P   Q   S   T   U  
Index Entry  Section

A
alarms.lisp: The shuffletron/src/alarms․lisp file
audio.lisp: The shuffletron/src/audio․lisp file

C
Class, shuffletron-flac-stream: Private classes
Class, shuffletron-mp3-stream: Private classes
Class, shuffletron-ogg-stream: Private classes
Class, shuffletron-stream-mixin: Private classes

F
File, alarms.lisp: The shuffletron/src/alarms․lisp file
File, audio.lisp: The shuffletron/src/audio․lisp file
File, global.lisp: The shuffletron/src/global․lisp file
File, help.lisp: The shuffletron/src/help․lisp file
File, library.lisp: The shuffletron/src/library․lisp file
File, main.lisp: The shuffletron/src/main․lisp file
File, packages.lisp: The shuffletron/src/packages․lisp file
File, profiles.lisp: The shuffletron/src/profiles․lisp file
File, query.lisp: The shuffletron/src/query․lisp file
File, shuffletron.asd: The shuffletron/shuffletron․asd file
File, status-bar.lisp: The shuffletron/src/status-bar․lisp file
File, tags.lisp: The shuffletron/src/tags․lisp file
File, ui.lisp: The shuffletron/src/ui․lisp file
File, util.lisp: The shuffletron/src/util․lisp file

G
global.lisp: The shuffletron/src/global․lisp file

H
help.lisp: The shuffletron/src/help․lisp file

L
library.lisp: The shuffletron/src/library․lisp file

M
main.lisp: The shuffletron/src/main․lisp file
Module, src: The shuffletron/src module

P
Package, shuffletron: The shuffletron package
packages.lisp: The shuffletron/src/packages․lisp file
profiles.lisp: The shuffletron/src/profiles․lisp file

Q
query.lisp: The shuffletron/src/query․lisp file

S
shuffletron: The shuffletron system
shuffletron: The shuffletron package
shuffletron-flac-stream: Private classes
shuffletron-mp3-stream: Private classes
shuffletron-ogg-stream: Private classes
shuffletron-stream-mixin: Private classes
shuffletron.asd: The shuffletron/shuffletron․asd file
song: Public structures
src: The shuffletron/src module
status-bar.lisp: The shuffletron/src/status-bar․lisp file
Structure, song: Public structures
System, shuffletron: The shuffletron system

T
tags.lisp: The shuffletron/src/tags․lisp file

U
ui.lisp: The shuffletron/src/ui․lisp file
util.lisp: The shuffletron/src/util․lisp file