The flac-metadata Reference Manual

This is the flac-metadata Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:25:41 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 flac-metadata

A utility for reading metadata embedded in FLAC audio files.

Author

Michael Fiano <>

Home Page

https://git.mfiano.net/mfiano/flac-metadata

License

MIT

Dependencies
  • binary-parser (system).
  • mfiano-utils (system).
Source

flac-metadata.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 flac-metadata/flac-metadata.asd

Source

flac-metadata.asd.

Parent Component

flac-metadata (system).

ASDF Systems

flac-metadata.


3.1.2 flac-metadata/package.lisp

Source

flac-metadata.asd.

Parent Component

flac-metadata (system).

Packages

flac-metadata.


3.1.3 flac-metadata/flac.lisp

Dependency

package.lisp (file).

Source

flac-metadata.asd.

Parent Component

flac-metadata (system).

Public Interface
Internals

3.1.4 flac-metadata/datastream.lisp

Dependency

flac.lisp (file).

Source

flac-metadata.asd.

Parent Component

flac-metadata (system).

Internals

3.1.5 flac-metadata/metadata.lisp

Dependency

datastream.lisp (file).

Source

flac-metadata.asd.

Parent Component

flac-metadata (system).

Public Interface

print-object (method).

Internals

3.1.6 flac-metadata/metadata-types.lisp

Dependency

metadata.lisp (file).

Source

flac-metadata.asd.

Parent Component

flac-metadata (system).

Internals

3.1.7 flac-metadata/dump-data.lisp

Dependency

metadata-types.lisp (file).

Source

flac-metadata.asd.

Parent Component

flac-metadata (system).

Public Interface

dump-file (function).

Internals

4 Packages

Packages are listed by definition order.


4.1 flac-metadata

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Ordinary functions

Function: dump-file (file &rest spec)

Print out the FLAC metadata of FILE. SPEC may be one or more of the following to control which types of metadata are dumped, or NIL for all types:

:STREAMINFO, :APPLICATION, :SEEKTABLE, :VORBIS-COMMENT, :CUESHEET, :PICTURE.

Package

flac-metadata.

Source

dump-data.lisp.

Function: load-file (path)

Load the FLAC file located at the given filesystem PATH. Returns an object with the concrete syntax tree of the FLAC specification.

Package

flac-metadata.

Source

flac.lisp.


5.1.2 Generic functions

Generic Reader: parse-tree (object)
Package

flac-metadata.

Methods
Reader Method: parse-tree ((flac flac))

automatically generated reader method

Source

flac.lisp.

Target Slot

%parse-tree.

Generic Writer: (setf parse-tree) (object)
Package

flac-metadata.

Methods
Writer Method: (setf parse-tree) ((flac flac))

automatically generated writer method

Source

flac.lisp.

Target Slot

%parse-tree.


5.1.3 Standalone methods

Method: print-object ((metadata-block metadata-block) stream)
Source

metadata.lisp.


5.2 Internals


5.2.1 Special variables

Special Variable: *dump-padding*
Package

flac-metadata.

Source

dump-data.lisp.

Special Variable: *dump-spec*
Package

flac-metadata.

Source

dump-data.lisp.

Special Variable: *flac*
Package

flac-metadata.

Source

flac.lisp.

Special Variable: *metadata-block*
Package

flac-metadata.

Source

metadata.lisp.


5.2.2 Macros

Macro: define-metadata ((type) (&rest slots) &body body)
Package

flac-metadata.

Source

metadata-types.lisp.


5.2.3 Ordinary functions

Function: %load-stream (stream &optional path)
Package

flac-metadata.

Source

flac.lisp.

Function: last-metadata-p (metadata-block)
Package

flac-metadata.

Source

metadata.lisp.

Function: metadata-size ()
Package

flac-metadata.

Source

metadata.lisp.

Function: metadata-type ()
Package

flac-metadata.

Source

metadata.lisp.

Function: parse-datastream ()
Package

flac-metadata.

Source

datastream.lisp.

Function: parse-frames ()
Package

flac-metadata.

Source

datastream.lisp.

Function: parse-marker ()
Package

flac-metadata.

Source

datastream.lisp.

Function: parse-metadata-block ()
Package

flac-metadata.

Source

metadata.lisp.

Function: parse-metadata-blocks ()
Package

flac-metadata.

Source

datastream.lisp.

Function: print-line (level label &optional value)
Package

flac-metadata.

Source

dump-data.lisp.


5.2.4 Generic functions

Generic Reader: %metadata-size (object)
Package

flac-metadata.

Methods
Reader Method: %metadata-size ((metadata-block-header metadata-block-header))

automatically generated reader method

Source

metadata.lisp.

Target Slot

%length.

Generic Reader: %metadata-type (object)
Package

flac-metadata.

Methods
Reader Method: %metadata-type ((metadata-block-header metadata-block-header))

automatically generated reader method

Source

metadata.lisp.

Target Slot

%type.

Generic Reader: data (object)
Package

flac-metadata.

Methods
Reader Method: data ((metadata-block metadata-block))

automatically generated reader method

Source

metadata.lisp.

Target Slot

%data.

Generic Function: dump (type node level)
Package

flac-metadata.

Methods
Method: dump ((type (eql :picture)) node level)
Source

dump-data.lisp.

Method: dump ((type (eql :cuesheet)) node level)
Source

dump-data.lisp.

Method: dump ((type (eql :vorbis-comment)) node level)
Source

dump-data.lisp.

Method: dump ((type (eql :seektable)) node level)
Source

dump-data.lisp.

Method: dump ((type (eql :application)) node level)
Source

dump-data.lisp.

Method: dump ((type (eql :padding)) node level)
Source

dump-data.lisp.

Method: dump ((type (eql :streaminfo)) node level)
Source

dump-data.lisp.

Method: dump ((type (eql :datastream)) node level)
Source

dump-data.lisp.

Method: dump ((type (eql :file)) node level)
Source

dump-data.lisp.

Method: dump :around (type node level)
Source

dump-data.lisp.

Generic Reader: file-path (object)
Package

flac-metadata.

Methods
Reader Method: file-path ((flac flac))

automatically generated reader method

Source

flac.lisp.

Target Slot

%file-path.

Generic Writer: (setf file-path) (object)
Package

flac-metadata.

Methods
Writer Method: (setf file-path) ((flac flac))

automatically generated writer method

Source

flac.lisp.

Target Slot

%file-path.

Generic Reader: frames (object)
Package

flac-metadata.

Methods
Reader Method: frames ((datastream datastream))

automatically generated reader method

Source

datastream.lisp.

Target Slot

%frames.

Generic Reader: header (object)
Package

flac-metadata.

Methods
Reader Method: header ((metadata-block metadata-block))

automatically generated reader method

Source

metadata.lisp.

Target Slot

%header.

Generic Reader: last-flag (object)
Package

flac-metadata.

Methods
Reader Method: last-flag ((metadata-block-header metadata-block-header))

automatically generated reader method

Source

metadata.lisp.

Target Slot

%last-flag.

Generic Reader: marker (object)
Package

flac-metadata.

Methods
Reader Method: marker ((datastream datastream))

automatically generated reader method

Source

datastream.lisp.

Target Slot

%marker.

Generic Reader: metadata-blocks (object)
Package

flac-metadata.

Methods
Reader Method: metadata-blocks ((datastream datastream))

automatically generated reader method

Source

datastream.lisp.

Target Slot

%metadata-blocks.

Generic Function: parse-metadata (type-symbol0)
Package

flac-metadata.

Methods
Method: parse-metadata ((type-symbol0 (eql :invalid)))
Source

metadata-types.lisp.

Method: parse-metadata ((type-symbol0 (eql :reserved)))
Source

metadata-types.lisp.

Method: parse-metadata ((type-symbol0 (eql :picture)))
Source

metadata-types.lisp.

Method: parse-metadata ((type-symbol0 (eql :cuesheet)))
Source

metadata-types.lisp.

Method: parse-metadata ((type-symbol0 (eql :vorbis-comment)))
Source

metadata-types.lisp.

Method: parse-metadata ((type-symbol0 (eql :seektable)))
Source

metadata-types.lisp.

Method: parse-metadata ((type-symbol0 (eql :application)))
Source

metadata-types.lisp.

Method: parse-metadata ((type-symbol0 (eql :padding)))
Source

metadata-types.lisp.

Method: parse-metadata ((type-symbol0 (eql :streaminfo)))
Source

metadata-types.lisp.

Generic Reader: stream-info (object)
Package

flac-metadata.

Methods
Reader Method: stream-info ((datastream datastream))

automatically generated reader method

Source

datastream.lisp.

Target Slot

%stream-info.


5.2.5 Classes

Class: cuesheet-track
Package

flac-metadata.

Source

metadata-types.lisp.

Direct slots
Slot: %offset
Initargs

:offset

Slot: %number
Initargs

:number

Slot: %isrc
Initargs

:isrc

Slot: %type
Initargs

:type

Slot: %pre-emphasis-flag
Initargs

:pre-emphasis-flag

Slot: %index-count
Initargs

:index-count

Slot: %indices
Initargs

:indices

Class: cuesheet-track-index
Package

flac-metadata.

Source

metadata-types.lisp.

Direct slots
Slot: %offset
Initargs

:offset

Slot: %number
Initargs

:number

Class: datastream
Package

flac-metadata.

Source

datastream.lisp.

Direct methods
Direct slots
Slot: %marker
Readers

marker.

Writers

This slot is read-only.

Slot: %stream-info
Readers

stream-info.

Writers

This slot is read-only.

Slot: %metadata-blocks
Readers

metadata-blocks.

Writers

This slot is read-only.

Slot: %frames
Readers

frames.

Writers

This slot is read-only.

Class: flac
Package

flac-metadata.

Source

flac.lisp.

Direct methods
Direct slots
Slot: %file-path
Readers

file-path.

Writers

(setf file-path).

Slot: %parse-tree
Readers

parse-tree.

Writers

(setf parse-tree).

Class: metadata-application
Package

flac-metadata.

Source

metadata-types.lisp.

Direct slots
Slot: id
Slot: data
Class: metadata-block
Package

flac-metadata.

Source

metadata.lisp.

Direct methods
Direct slots
Slot: %header
Initform

(make-instance (quote flac-metadata::metadata-block-header))

Readers

header.

Writers

This slot is read-only.

Slot: %data
Readers

data.

Writers

This slot is read-only.

Class: metadata-block-header
Package

flac-metadata.

Source

metadata.lisp.

Direct methods
Direct slots
Slot: %last-flag
Readers

last-flag.

Writers

This slot is read-only.

Slot: %type
Readers

%metadata-type.

Writers

This slot is read-only.

Slot: %length
Readers

%metadata-size.

Writers

This slot is read-only.

Class: metadata-cuesheet
Package

flac-metadata.

Source

metadata-types.lisp.

Direct slots
Slot: media-catalog-id
Slot: lead-in-sample-count
Slot: cd-flag
Slot: track-count
Slot: tracks
Class: metadata-invalid
Package

flac-metadata.

Source

metadata-types.lisp.

Class: metadata-padding
Package

flac-metadata.

Source

metadata-types.lisp.

Class: metadata-picture
Package

flac-metadata.

Source

metadata-types.lisp.

Direct slots
Slot: type
Package

common-lisp.

Slot: mime-type-length
Slot: mime-type
Slot: description-length
Slot: description
Slot: width
Slot: height
Slot: bits-per-pixel
Slot: indexed-color-count
Slot: size
Slot: data
Class: metadata-reserved
Package

flac-metadata.

Source

metadata-types.lisp.

Class: metadata-seektable
Package

flac-metadata.

Source

metadata-types.lisp.

Direct slots
Slot: seek-points
Class: metadata-streaminfo
Package

flac-metadata.

Source

metadata-types.lisp.

Direct slots
Slot: minimum-block-size
Slot: maximum-block-size
Slot: minimum-frame-size
Slot: maximum-frame-size
Slot: sample-rate
Slot: channel-count
Slot: bits-per-sample
Slot: sample-count
Slot: md5
Class: metadata-vorbis-comment
Package

flac-metadata.

Source

metadata-types.lisp.

Direct slots
Slot: vendor-length
Slot: vendor
Slot: user-comments-count
Slot: user-comments
Class: seek-point
Package

flac-metadata.

Source

metadata-types.lisp.

Direct slots
Slot: %sample
Initargs

:sample

Slot: %offset
Initargs

:offset

Slot: %sample-count
Initargs

:sample-count


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
D   F   G   H   L   M   P   S  
Index Entry  Section

%
%load-stream: Private ordinary functions
%metadata-size: Private generic functions
%metadata-size: Private generic functions
%metadata-type: Private generic functions
%metadata-type: Private generic functions

(
(setf file-path): Private generic functions
(setf file-path): Private generic functions
(setf parse-tree): Public generic functions
(setf parse-tree): Public generic functions

D
data: Private generic functions
data: Private generic functions
define-metadata: Private macros
dump: Private generic functions
dump: Private generic functions
dump: Private generic functions
dump: Private generic functions
dump: Private generic functions
dump: Private generic functions
dump: Private generic functions
dump: Private generic functions
dump: Private generic functions
dump: Private generic functions
dump: Private generic functions
dump-file: Public ordinary functions

F
file-path: Private generic functions
file-path: Private generic functions
frames: Private generic functions
frames: Private generic functions
Function, %load-stream: Private ordinary functions
Function, dump-file: Public ordinary functions
Function, last-metadata-p: Private ordinary functions
Function, load-file: Public ordinary functions
Function, metadata-size: Private ordinary functions
Function, metadata-type: Private ordinary functions
Function, parse-datastream: Private ordinary functions
Function, parse-frames: Private ordinary functions
Function, parse-marker: Private ordinary functions
Function, parse-metadata-block: Private ordinary functions
Function, parse-metadata-blocks: Private ordinary functions
Function, print-line: Private ordinary functions

G
Generic Function, %metadata-size: Private generic functions
Generic Function, %metadata-type: Private generic functions
Generic Function, (setf file-path): Private generic functions
Generic Function, (setf parse-tree): Public generic functions
Generic Function, data: Private generic functions
Generic Function, dump: Private generic functions
Generic Function, file-path: Private generic functions
Generic Function, frames: Private generic functions
Generic Function, header: Private generic functions
Generic Function, last-flag: Private generic functions
Generic Function, marker: Private generic functions
Generic Function, metadata-blocks: Private generic functions
Generic Function, parse-metadata: Private generic functions
Generic Function, parse-tree: Public generic functions
Generic Function, stream-info: Private generic functions

H
header: Private generic functions
header: Private generic functions

L
last-flag: Private generic functions
last-flag: Private generic functions
last-metadata-p: Private ordinary functions
load-file: Public ordinary functions

M
Macro, define-metadata: Private macros
marker: Private generic functions
marker: Private generic functions
metadata-blocks: Private generic functions
metadata-blocks: Private generic functions
metadata-size: Private ordinary functions
metadata-type: Private ordinary functions
Method, %metadata-size: Private generic functions
Method, %metadata-type: Private generic functions
Method, (setf file-path): Private generic functions
Method, (setf parse-tree): Public generic functions
Method, data: Private generic functions
Method, dump: Private generic functions
Method, dump: Private generic functions
Method, dump: Private generic functions
Method, dump: Private generic functions
Method, dump: Private generic functions
Method, dump: Private generic functions
Method, dump: Private generic functions
Method, dump: Private generic functions
Method, dump: Private generic functions
Method, dump: Private generic functions
Method, file-path: Private generic functions
Method, frames: Private generic functions
Method, header: Private generic functions
Method, last-flag: Private generic functions
Method, marker: Private generic functions
Method, metadata-blocks: Private generic functions
Method, parse-metadata: Private generic functions
Method, parse-metadata: Private generic functions
Method, parse-metadata: Private generic functions
Method, parse-metadata: Private generic functions
Method, parse-metadata: Private generic functions
Method, parse-metadata: Private generic functions
Method, parse-metadata: Private generic functions
Method, parse-metadata: Private generic functions
Method, parse-metadata: Private generic functions
Method, parse-tree: Public generic functions
Method, print-object: Public standalone methods
Method, stream-info: Private generic functions

P
parse-datastream: Private ordinary functions
parse-frames: Private ordinary functions
parse-marker: Private ordinary functions
parse-metadata: Private generic functions
parse-metadata: Private generic functions
parse-metadata: Private generic functions
parse-metadata: Private generic functions
parse-metadata: Private generic functions
parse-metadata: Private generic functions
parse-metadata: Private generic functions
parse-metadata: Private generic functions
parse-metadata: Private generic functions
parse-metadata: Private generic functions
parse-metadata-block: Private ordinary functions
parse-metadata-blocks: Private ordinary functions
parse-tree: Public generic functions
parse-tree: Public generic functions
print-line: Private ordinary functions
print-object: Public standalone methods

S
stream-info: Private generic functions
stream-info: Private generic functions


A.3 Variables

Jump to:   %   *  
B   C   D   H   I   L   M   S   T   U   V   W  
Index Entry  Section

%
%data: Private classes
%file-path: Private classes
%frames: Private classes
%header: Private classes
%index-count: Private classes
%indices: Private classes
%isrc: Private classes
%last-flag: Private classes
%length: Private classes
%marker: Private classes
%metadata-blocks: Private classes
%number: Private classes
%number: Private classes
%offset: Private classes
%offset: Private classes
%offset: Private classes
%parse-tree: Private classes
%pre-emphasis-flag: Private classes
%sample: Private classes
%sample-count: Private classes
%stream-info: Private classes
%type: Private classes
%type: Private classes

*
*dump-padding*: Private special variables
*dump-spec*: Private special variables
*flac*: Private special variables
*metadata-block*: Private special variables

B
bits-per-pixel: Private classes
bits-per-sample: Private classes

C
cd-flag: Private classes
channel-count: Private classes

D
data: Private classes
data: Private classes
description: Private classes
description-length: Private classes

H
height: Private classes

I
id: Private classes
indexed-color-count: Private classes

L
lead-in-sample-count: Private classes

M
maximum-block-size: Private classes
maximum-frame-size: Private classes
md5: Private classes
media-catalog-id: Private classes
mime-type: Private classes
mime-type-length: Private classes
minimum-block-size: Private classes
minimum-frame-size: Private classes

S
sample-count: Private classes
sample-rate: Private classes
seek-points: Private classes
size: Private classes
Slot, %data: Private classes
Slot, %file-path: Private classes
Slot, %frames: Private classes
Slot, %header: Private classes
Slot, %index-count: Private classes
Slot, %indices: Private classes
Slot, %isrc: Private classes
Slot, %last-flag: Private classes
Slot, %length: Private classes
Slot, %marker: Private classes
Slot, %metadata-blocks: Private classes
Slot, %number: Private classes
Slot, %number: Private classes
Slot, %offset: Private classes
Slot, %offset: Private classes
Slot, %offset: Private classes
Slot, %parse-tree: Private classes
Slot, %pre-emphasis-flag: Private classes
Slot, %sample: Private classes
Slot, %sample-count: Private classes
Slot, %stream-info: Private classes
Slot, %type: Private classes
Slot, %type: Private classes
Slot, bits-per-pixel: Private classes
Slot, bits-per-sample: Private classes
Slot, cd-flag: Private classes
Slot, channel-count: Private classes
Slot, data: Private classes
Slot, data: Private classes
Slot, description: Private classes
Slot, description-length: Private classes
Slot, height: Private classes
Slot, id: Private classes
Slot, indexed-color-count: Private classes
Slot, lead-in-sample-count: Private classes
Slot, maximum-block-size: Private classes
Slot, maximum-frame-size: Private classes
Slot, md5: Private classes
Slot, media-catalog-id: Private classes
Slot, mime-type: Private classes
Slot, mime-type-length: Private classes
Slot, minimum-block-size: Private classes
Slot, minimum-frame-size: Private classes
Slot, sample-count: Private classes
Slot, sample-rate: Private classes
Slot, seek-points: Private classes
Slot, size: Private classes
Slot, track-count: Private classes
Slot, tracks: Private classes
Slot, type: Private classes
Slot, user-comments: Private classes
Slot, user-comments-count: Private classes
Slot, vendor: Private classes
Slot, vendor-length: Private classes
Slot, width: Private classes
Special Variable, *dump-padding*: Private special variables
Special Variable, *dump-spec*: Private special variables
Special Variable, *flac*: Private special variables
Special Variable, *metadata-block*: Private special variables

T
track-count: Private classes
tracks: Private classes
type: Private classes

U
user-comments: Private classes
user-comments-count: Private classes

V
vendor: Private classes
vendor-length: Private classes

W
width: Private classes


A.4 Data types

Jump to:   C   D   F   M   P   S  
Index Entry  Section

C
Class, cuesheet-track: Private classes
Class, cuesheet-track-index: Private classes
Class, datastream: Private classes
Class, flac: Private classes
Class, metadata-application: Private classes
Class, metadata-block: Private classes
Class, metadata-block-header: Private classes
Class, metadata-cuesheet: Private classes
Class, metadata-invalid: Private classes
Class, metadata-padding: Private classes
Class, metadata-picture: Private classes
Class, metadata-reserved: Private classes
Class, metadata-seektable: Private classes
Class, metadata-streaminfo: Private classes
Class, metadata-vorbis-comment: Private classes
Class, seek-point: Private classes
cuesheet-track: Private classes
cuesheet-track-index: Private classes

D
datastream: Private classes
datastream.lisp: The flac-metadata/datastream․lisp file
dump-data.lisp: The flac-metadata/dump-data․lisp file

F
File, datastream.lisp: The flac-metadata/datastream․lisp file
File, dump-data.lisp: The flac-metadata/dump-data․lisp file
File, flac-metadata.asd: The flac-metadata/flac-metadata․asd file
File, flac.lisp: The flac-metadata/flac․lisp file
File, metadata-types.lisp: The flac-metadata/metadata-types․lisp file
File, metadata.lisp: The flac-metadata/metadata․lisp file
File, package.lisp: The flac-metadata/package․lisp file
flac: Private classes
flac-metadata: The flac-metadata system
flac-metadata: The flac-metadata package
flac-metadata.asd: The flac-metadata/flac-metadata․asd file
flac.lisp: The flac-metadata/flac․lisp file

M
metadata-application: Private classes
metadata-block: Private classes
metadata-block-header: Private classes
metadata-cuesheet: Private classes
metadata-invalid: Private classes
metadata-padding: Private classes
metadata-picture: Private classes
metadata-reserved: Private classes
metadata-seektable: Private classes
metadata-streaminfo: Private classes
metadata-types.lisp: The flac-metadata/metadata-types․lisp file
metadata-vorbis-comment: Private classes
metadata.lisp: The flac-metadata/metadata․lisp file

P
Package, flac-metadata: The flac-metadata package
package.lisp: The flac-metadata/package․lisp file

S
seek-point: Private classes
System, flac-metadata: The flac-metadata system