The easy-audio Reference Manual

This is the easy-audio Reference Manual, version 1.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 17:59:08 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 easy-audio

A pack of audio decoders for FLAC, WavPack and other formats

Author

Vasily Postnicov <>

License

2-clause BSD

Version

1.1

Dependencies
Source

easy-audio.asd.


2.2 easy-audio/core

Author

Vasily Postnicov <>

License

2-clause BSD

Version

1.1

Dependency

serapeum (system).

Source

easy-audio.asd.

Child Components

2.3 easy-audio/ogg

Author

Vasily Postnicov <>

License

2-clause BSD

Version

1.1

Dependencies
Source

easy-audio.asd.

Child Components

2.4 easy-audio/bitreader

Author

Vasily Postnicov <>

License

2-clause BSD

Version

1.1

Dependencies
Source

easy-audio.asd.

Child Components

2.5 easy-audio/flac

Author

Vasily Postnicov <>

License

2-clause BSD

Version

1.1

Dependencies
Source

easy-audio.asd.

Child Components

2.6 easy-audio/wav

Author

Vasily Postnicov <>

License

2-clause BSD

Version

1.1

Dependencies
Source

easy-audio.asd.

Child Components

2.7 easy-audio/general-decoders

Author

Vasily Postnicov <>

License

2-clause BSD

Version

1.1

Dependency

easy-audio/core (system).

Source

easy-audio.asd.

Child Components

2.8 easy-audio/ape

Author

Vasily Postnicov <>

License

2-clause BSD

Version

1.1

Dependencies
Source

easy-audio.asd.

Child Components

2.9 easy-audio/wv

Author

Vasily Postnicov <>

License

2-clause BSD

Version

1.1

Dependencies
Source

easy-audio.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.2 easy-audio/core/package.lisp

Source

easy-audio.asd.

Parent Component

easy-audio/core (system).

Packages

easy-audio.core.


3.1.3 easy-audio/core/core.lisp

Dependency

package.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/core (system).

Public Interface
Internals

3.1.4 easy-audio/ogg/package.lisp

Source

easy-audio.asd.

Parent Component

easy-audio/ogg (system).

Packages

easy-audio.ogg.


3.1.5 easy-audio/ogg/ogg.lisp

Dependency

package.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/ogg (system).

Public Interface
Internals

3.1.6 easy-audio/bitreader/package.lisp

Source

easy-audio.asd.

Parent Component

easy-audio/bitreader (system).

Packages

easy-audio.bitreader.


3.1.7 easy-audio/bitreader/bitreader.lisp

Dependency

package.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/bitreader (system).

Public Interface
Internals

3.1.8 easy-audio/bitreader/macros.lisp

Dependency

bitreader.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/bitreader (system).

Public Interface

defreader (macro).

Internals

reader-function-amount (function).


3.1.9 easy-audio/flac/package.lisp

Source

easy-audio.asd.

Parent Component

easy-audio/flac (system).

Packages

easy-audio.flac.


3.1.10 easy-audio/flac/definitions.lisp

Dependency

package.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/flac (system).

Public Interface
Internals

3.1.11 easy-audio/flac/flac-reader.lisp

Dependency

definitions.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/flac (system).

Internals

3.1.12 easy-audio/flac/metadata.lisp

Dependency

flac-reader.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/flac (system).

Public Interface

metadata-find-seektable (function).

Internals

3.1.13 easy-audio/flac/frame.lisp

Dependency

metadata.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/flac (system).

Public Interface
Internals

3.1.14 easy-audio/flac/decode.lisp

Dependency

frame.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/flac (system).

Public Interface

frame-decode (function).

Internals

3.1.15 easy-audio/flac/flac.lisp

Dependency

decode.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/flac (system).

Public Interface
Internals

3.1.16 easy-audio/flac/flac-ogg.lisp

Dependency

flac.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/flac (system).

Public Interface
Internals

+flac-ogg-id+ (constant).


3.1.17 easy-audio/wav/package.lisp

Source

easy-audio.asd.

Parent Component

easy-audio/wav (system).

Packages

easy-audio.wav.


3.1.18 easy-audio/wav/definitions.lisp

Dependency

package.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/wav (system).

Public Interface
Internals

3.1.19 easy-audio/wav/wav.lisp

Dependency

definitions.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/wav (system).

Public Interface
Internals

3.1.20 easy-audio/wav/write-header.lisp

Dependency

wav.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/wav (system).

Public Interface

3.1.21 easy-audio/general-decoders/package.lisp

Source

easy-audio.asd.

Parent Component

easy-audio/general-decoders (system).

Packages

easy-audio.general.


3.1.22 easy-audio/general-decoders/g.711.lisp

Dependency

package.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/general-decoders (system).

Public Interface

3.1.23 easy-audio/ape/package.lisp

Source

easy-audio.asd.

Parent Component

easy-audio/ape (system).

Packages

easy-audio.ape.


3.1.24 easy-audio/ape/definitions.lisp

Dependency

package.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/ape (system).

Public Interface
Internals

3.1.25 easy-audio/ape/ape.lisp

Dependency

definitions.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/ape (system).

Public Interface
Internals

3.1.26 easy-audio/ape/frame.lisp

Dependency

ape.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/ape (system).

Public Interface

read-frame (function).

Internals

3.1.27 easy-audio/ape/decode.lisp

Dependency

frame.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/ape (system).

Public Interface

decode-frame (function).

Internals

3.1.28 easy-audio/ape/ape-tags-v2.lisp

Dependency

decode.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/ape (system).

Public Interface
Internals

3.1.29 easy-audio/wv/package.lisp

Source

easy-audio.asd.

Parent Component

easy-audio/wv (system).

Packages

easy-audio.wv.


3.1.30 easy-audio/wv/definitions.lisp

Dependency

package.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/wv (system).

Public Interface
Internals

3.1.31 easy-audio/wv/wavpack-reader.lisp

Dependency

definitions.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/wv (system).

Internals

3.1.32 easy-audio/wv/metadata.lisp

Dependency

wavpack-reader.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/wv (system).

Internals

3.1.33 easy-audio/wv/wv-block.lisp

Dependency

metadata.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/wv (system).

Public Interface
Internals

3.1.34 easy-audio/wv/wv-blocks-multichannel.lisp

Dependency

wv-block.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/wv (system).

Public Interface
Internals

read-wv-block-multichannel% (function).


3.1.35 easy-audio/wv/decode.lisp

Dependency

wv-blocks-multichannel.lisp (file).

Source

easy-audio.asd.

Parent Component

easy-audio/wv (system).

Public Interface

decode-wv-block (function).

Internals

4 Packages

Packages are listed by definition order.


4.1 easy-audio.wav

Source

package.lisp.

Use List
Public Interface
Internals

4.2 easy-audio.bitreader

Source

package.lisp.

Use List
Used By List
Public Interface
Internals

4.3 easy-audio.core

Source

package.lisp.

Use List

common-lisp.

Used By List
Public Interface
Internals

4.4 easy-audio.ape

Source

package.lisp.

Use List
Public Interface
Internals

4.5 easy-audio.flac

Source

package.lisp.

Use List
Public Interface
Internals

4.6 easy-audio.general

Source

package.lisp.

Use List
Public Interface

4.7 easy-audio.ogg

Source

package.lisp.

Use List
Public Interface
Internals

4.8 easy-audio.wv

Source

package.lisp.

Use List
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 Constants

Constant: +data-subchunk+

Data subchunk identifier. Contains letters ‘data’

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +format-subchunk+

Format subchunk identifier. Contains letters ‘fmt ’

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +wav-format+

Letters (‘WAVE’)

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +wav-id+

Wav format identifier (‘RIFF’)

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +wave-format-alaw+

A-law coded audio

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +wave-format-extensible+

Extensible audio format

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +wave-format-float+

Float audio format

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +wave-format-mulaw+

Mu-law coded audio

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +wave-format-pcm+

PCM audio format

Package

easy-audio.wav.

Source

definitions.lisp.


5.1.2 Special variables

Special Variable: *apev2-external-format*

External format used in human-readable APEv2 items

Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Special Variable: *current-condition*

*CURRENT-CONDITION* is bound to signaled contition
when debugger is invoked while within WITH-INTERACTIVE-DEBUG

Package

easy-audio.core.

Source

core.lisp.

Special Variable: *out-buffers*

Output buffers for stream with a fixed block size

Package

easy-audio.flac.

Source

frame.lisp.

Special Variable: *read-with-zeroing*

Affects some functions (currently only READ-OCTETS, READ-OCTET and READ-OCTET-VECTORS) making them not only read stuff from input buffer, but also zero read parts in the buffer. Useful for CRC calculation in some containers

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Special Variable: *residual-buffers*

Works with @c(make-output-buffers) to reduce consing. Bind this variable to output buffers when you read multiple block in a loop to reduce consing.

Package

easy-audio.wv.

Source

wv-block.lisp.


5.1.3 Macros

Macro: defreader ((name &optional docstring) (&optional make-form obj-sym) &rest slots)

Generate a reader function to read data from bit-reader into
an arbitrary object with accessor-like interface. NAME is the
name of such function. The new function will accept two
arguments: a bit-reader and an optional object to be
modified. If no object is passed, it will be created with MAKE-FORM. You can assign a symbol OBJ-SYM to newly created instance. Each slot from SLOTS is a list. It has the
following syntax:

(ACCESSOR (:BIT)|(:OCTETS n)|(:BITS n)|(:OCTET-VECTOR v) [:ENDIANNESS :BIG|:LITTLE] [:FUNCTION FUNC-NAME]
[:COND FORM])

(ACCESSOR object) must be a ’place’ understandable for setf.
One and only one of BITS, OCTETS or OCTET-VECTOR must be
supplied. Endianness may be supplied and will be passed to low-level bitreader function. if FUNC-NAME is supplied,
readed value will be passed to this function and then
assigned to the slot. If COND is supplied, data will be read only if FORM evaluates to T.

UPD: If ACCESSOR is NIL, no data will be stored to anywhere,
but it will be read accordingly to specifications and then lost
for good.

If both OBJ-SYM is not given and MAKE-FORM is NIL, the bitreader itself will be returned from reader function.

Package

easy-audio.bitreader.

Source

macros.lisp.

Macro: with-interactive-debug (&body body)

If any condition is signaled and the debugger is invoked while within this macro, *CURRENT-CONDITION* will be bound to the condition signaled

Package

easy-audio.core.

Source

core.lisp.

Macro: with-open-ape ((reader name) &body body)

Open ape file with the pathname @c(name) and creates @c(reader) for that file. The file is closed when the control leaves body of this macro.

Package

easy-audio.ape.

Source

ape.lisp.

Macro: with-open-flac ((reader name &rest options) &body body)

A helper macro like WITH-OPEN-FILE. READER can be used as an argument to READ-METADATA or READ-FRAME inside this macro.

Package

easy-audio.flac.

Source

flac.lisp.

Macro: with-open-ogg-flac ((reader name &rest options) &body body)

A helper macro like WITH-OPEN-FILE. READER can be used as an argument to READ-OGG-METADATA or READ-OGG-FRAME inside this macro.

Package

easy-audio.flac.

Source

flac-ogg.lisp.

Macro: with-open-wv ((reader name &rest options) &body body)

Binds READER to an open wavpack stream associated with file with the name NAME

Package

easy-audio.wv.

Source

wv-block.lisp.

Macro: with-output-buffers ((streaminfo) &body body)

Calls to READ-FRAME can be made inside this macro to avoid unnecessary consing if flac stream is of fixed block size

Package

easy-audio.flac.

Source

flac.lisp.

Macro: with-output-buffers ((reader) &body body)

Calls to @c(read-wv-block), @c(restore-sync) etc. can be done inside this macro to avoid unnecessary consing if all WavPack blocks in the stream contain the same number of samples and have the same number of channels.

Package

easy-audio.wv.

Source

wv-block.lisp.

Macro: with-output-to-wav ((stream filename &key supersede samplerate channels bps totalsamples) &body body)

Opens a STREAM and writes PCM-coded (uncompressed) WAV header to a file with filename FILENAME

Package

easy-audio.wav.

Source

write-header.lisp.


5.1.4 Ordinary functions

Reader: block-block-index (instance)
Writer: (setf block-block-index) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

block-index.

Reader: block-block-samples (instance)
Writer: (setf block-block-samples) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

block-samples.

Function: block-bps (wv-block)

Return bits per second of the block WV-BLOCK

Package

easy-audio.wv.

Source

definitions.lisp.

Function: block-channels (wv-block)

Return a number of channels (a block can have 1 or 2) in the block WV-BLOCK

Package

easy-audio.wv.

Source

definitions.lisp.

Reader: block-index-number (instance)
Writer: (setf block-index-number) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

index-number.

Reader: block-metadata (instance)
Writer: (setf block-metadata) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

metadata.

Function: block-samplerate (wv-block)

Return a sample rate of the block WV-BLOCK

Package

easy-audio.wv.

Source

definitions.lisp.

Reader: block-total-samples (instance)
Writer: (setf block-total-samples) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

total-samples.

Reader: block-track-number (instance)
Writer: (setf block-track-number) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

track-number.

Function: count-zeros (reader)

Count number of zeros in the input. It reads the first occcured one too to copy behaviour of removed FLAC::READ-UNARY-CODED-integer

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Reader: cuesheet-index-number (instance)
Writer: (setf cuesheet-index-number) (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Target Slot

number.

Reader: cuesheet-index-offset (instance)
Writer: (setf cuesheet-index-offset) (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Target Slot

offset.

Reader: cuesheet-track-indices (instance)
Writer: (setf cuesheet-track-indices) (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Target Slot

indices.

Reader: cuesheet-track-isrc (instance)
Writer: (setf cuesheet-track-isrc) (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Target Slot

isrc.

Reader: cuesheet-track-number (instance)
Writer: (setf cuesheet-track-number) (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Target Slot

number.

Reader: cuesheet-track-offset (instance)
Writer: (setf cuesheet-track-offset) (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Target Slot

offset.

Reader: cuesheet-track-pre-emphasis (instance)
Writer: (setf cuesheet-track-pre-emphasis) (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Target Slot

pre-emphasis.

Reader: cuesheet-track-type (instance)
Writer: (setf cuesheet-track-type) (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Target Slot

type.

Function: decode-frame (frame)

Decode an audio frame. Return a list of decoded channels. Each channel is a simple array with elements of type @c((signed-byte 32)).

Package

easy-audio.ape.

Source

decode.lisp.

Function: decode-wav-data (format buffer)

Decodes wav audio data in the @c(buffer). Often, in the case of uncompressed data, it simply returns the @c(buffer) unmodified.

Package

easy-audio.wav.

Source

wav.lisp.

Function: decode-wv-block (wv-block)

Decode a wavpack block, destructively modifying it. This function returns a list of simple-arrays, each correspoding to a separate channel

Package

easy-audio.wv.

Source

decode.lisp.

Function: flag-set-p (wv-block mask)

Predicate for checking if wv-block has a flag set

Package

easy-audio.wv.

Source

definitions.lisp.

Function: frame-decode (frame)

Decode a frame destructively modifying (and garbaging) all subframes within. Returns list of decoded audio buffers (one buffer for each channel).

Package

easy-audio.flac.

Source

decode.lisp.

Reader: frame-samples (instance)
Writer: (setf frame-samples) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

samples.

Function: fresh-page (reader)

Returns T if no packets were read on this page yet

Package

easy-audio.ogg.

Source

ogg.lisp.

Function: g.711-alaw-decode (coded-value)

Decode 8-bit unsigned A-law coded data to 16-bit signed data

Package

easy-audio.general.

Source

g.711.lisp.

Function: g.711-ulaw-decode (coded-value)

Decode 8-bit unsigned mu-law coded data to 16-bit signed data

Package

easy-audio.general.

Source

g.711.lisp.

Function: get-info-metadata (subchunks)

Return metadata in the LIST INFO subchunks as an association list

Package

easy-audio.wav.

Source

wav.lisp.

Function: make-output-buffers (streaminfo)

Make output buffers for binding with @c(*output-buffers*) to reduce consing

Package

easy-audio.flac.

Source

flac.lisp.

Function: make-output-buffers (reader)

Make output buffers to bind them to @c(*residual-buffers*) to reduce consing.

Package

easy-audio.wv.

Source

wv-block.lisp.

Function: make-reader (&key ibit ibyte end buffer fill-buffer-fun stream)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: make-reader-from-buffer (buffer &rest args)

Make bitreader from buffer

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: make-reader-from-stream (stream &rest args)

Make bitreader from stream

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Reader: metadata-blocks-per-frame (instance)
Writer: (setf metadata-blocks-per-frame) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

blocks-per-frame.

Reader: metadata-bps (instance)
Writer: (setf metadata-bps) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

bps.

Reader: metadata-channels (instance)
Writer: (setf metadata-channels) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

channels.

Reader: metadata-compression-type (instance)
Writer: (setf metadata-compression-type) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

compression-type.

Reader: metadata-final-frame-blocks (instance)
Writer: (setf metadata-final-frame-blocks) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

final-frame-blocks.

Function: metadata-find-seektable (metadata)

Return a seektable from metadata list if any

Package

easy-audio.flac.

Source

metadata.lisp.

Reader: metadata-samplerate (instance)
Writer: (setf metadata-samplerate) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

samplerate.

Reader: metadata-total-frames (instance)
Writer: (setf metadata-total-frames) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

total-frames.

Reader: metadata-total-samples (instance)
Writer: (setf metadata-total-samples) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

total-samples.

Reader: metadata-version (instance)
Writer: (setf metadata-version) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

version.

Function: mixchannels (out buffers)

Maps a list of @c(buffers) (each one for each channel) into one buffer @c(out) writing sequentially the first sample of the first channel then the first sample of second channel and so on until final channel is reached. When process repeats for second sample of each channel until all data is written

Package

easy-audio.core.

Source

core.lisp.

Reader: ogg-bos (instance)
Writer: (setf ogg-bos) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Target Slot

bos.

Reader: ogg-eos (instance)
Writer: (setf ogg-eos) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Target Slot

eos.

Reader: ogg-granule-position (instance)
Writer: (setf ogg-granule-position) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Target Slot

granule-position.

Reader: ogg-is-continued (instance)
Writer: (setf ogg-is-continued) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Target Slot

is-continued.

Reader: ogg-page-number (instance)
Writer: (setf ogg-page-number) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Target Slot

page-number.

Reader: ogg-stream-serial (instance)
Writer: (setf ogg-stream-serial) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Target Slot

stream-serial.

Reader: ogg-will-be-continued (instance)
Writer: (setf ogg-will-be-continued) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Target Slot

will-be-continued.

Function: open-ape (stream)

Open ape audio file and return bitreader for further operations

Package

easy-audio.ape.

Source

ape.lisp.

Function: open-flac (stream)

Return @c(bitreader) handler of flac stream

Package

easy-audio.flac.

Source

flac.lisp.

Function: open-ogg (stream)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: open-ogg-flac (stream)

Return BITREADER handler of ogg-encapsulated flac stream

Package

easy-audio.flac.

Source

flac-ogg.lisp.

Function: open-wav (stream)

Opens a wav stream and returns a bit reader object

Package

easy-audio.wav.

Source

wav.lisp.

Function: open-wv (stream)

Return @c(bitreader) handle of Wavpack stream

Package

easy-audio.wv.

Source

wv-block.lisp.

Function: peek-octet (reader octet)

Sets input to the first octet found in stream

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: read-bit (reader)

Read a single bit from READER

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: read-bits (bits reader &key endianness)

Read any number of bits from reader

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: read-frame (reader metadata n)

Read the @c(n)-th audio frame from @c(reader). @c(metadata) is the metadata structure for this audio file.

Package

easy-audio.ape.

Source

frame.lisp.

Function: read-metadata (reader)

Read ape metadata using @c(reader) returned by @c(open-ape)

Package

easy-audio.ape.

Source

ape.lisp.

Function: read-metadata (bitreader)

Return list of metadata blocks in the stream

Package

easy-audio.flac.

Source

flac.lisp.

Function: read-new-block (c)

Function to be supplied to @c(handler-bind) in order to deal with @c(lost-sync) condition. It transfers control to @c(read-new-block-single) or to @c(read-new-block-multichannel) depending on the situation. A newly read block or a list of blocks is always returned from @c(handler-bind) if @c(bitreader-eof) is not signalled.

Package

easy-audio.wv.

Source

wv-blocks-multichannel.lisp.

Function: read-octet (reader)

Reads current octet from reader Ignores ibit

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: read-octet-vector (array reader)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: read-octets (n reader &key endianness)

Reads n octets in integer value

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: read-ogg-frame (reader &optional streaminfo)

Read flac frame from ogg container

Package

easy-audio.flac.

Source

flac-ogg.lisp.

Function: read-ogg-metadata (reader)

Return list of metadata in ogg-encapsulated stream

Package

easy-audio.flac.

Source

flac-ogg.lisp.

Function: read-packet (reader)

Reads a packet from OGG stream

Package

easy-audio.ogg.

Source

ogg.lisp.

Function: read-tag (reader)

Read APEv2 tag from reader

Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: read-tag-from-end (reader)

Helper function to read APEv2 tag from end of reader’s stream. Changes reader’s position. Needs APEv2 tag to contain a footer.

Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: read-to-byte-alignment (reader)

Reads from READER to byte alignment.
If already READER is already byte-aligned, returns 0.

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: read-wav-data (reader format nsamples &key decompose)

Read a portion of audio data in the wav stream. Requires a @c(bitreader) and @c(format) subchunk. Reads exactly @c(nsamples) interchannel
samples. Optionally, decomposes them into different by-channel arrays if @c(decompose) is @c(T).

Package

easy-audio.wav.

Source

wav.lisp.

Function: read-wav-header (reader)

Read RIFF chunks from an audio stream

Package

easy-audio.wav.

Source

wav.lisp.

Function: read-wv-block (reader)

Read the next block in the stream. @c(reader)’s position must be set to the beginning of this block explicitly (e.g. by calling @c(restore-sync))

Package

easy-audio.wv.

Source

wv-block.lisp.

Function: read-wv-block-multichannel (reader)

Read a list of Wavpack blocks in an multichannel configuration different from 1.0 or 2.0. Each block in the list can itself be mono or stereo. Read the format specification for the details.

Package

easy-audio.wv.

Source

wv-blocks-multichannel.lisp.

Function: reader-length (reader)

Returns length of a stream in octets.

Calls #’length on a buffer reader or #’file-length on a stream reader

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: reader-position (reader &optional pos)

Returns or sets number of readed octets. Similar to file-position
Sets ibit to zero if val is specified

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: reader-position-to-audio-data (reader subchunks)

Set the reader’s position to beginning of audio data

Package

easy-audio.wav.

Source

wav.lisp.

Function: restore-sync (reader)

restore sync bringing a reader position to the beginning of a new page

Package

easy-audio.ogg.

Source

ogg.lisp.

Function: restore-sync (reader)

Restore the reader’s position to the first occurring block in the stream

Package

easy-audio.wv.

Source

wv-block.lisp.

Function: restore-sync-multichannel (reader)

Restore sync in multichannel configuration.
The reader position is set to the beginning of the first channel block.

Package

easy-audio.wv.

Source

wv-blocks-multichannel.lisp.

Function: samples-num (subchunks)

Returns a number of interchannel samples in the stream.

Package

easy-audio.wav.

Source

wav.lisp.

Function: seconds=>frame-number (metadata seconds)

Return the number of a frame whose play time is @c(seconds) from the beginning of file.

Package

easy-audio.ape.

Source

ape.lisp.

Function: seek-sample (bitreader sample &key seektable streaminfo)

Seeks to an interchannel sample.
Sets input to new frame, which contains this sample.
Returns position of this sample in the frame.
@c(seektable) and @c(streaminfo) are optional. Providing @c(streaminfo) enables additional sanity checks. Currently only fixed block size is supported.

Package

easy-audio.flac.

Source

frame.lisp.

Function: seek-sample (reader number)

Set reader position to beginning of the block which contains a sample with the specified number. Works for readers associated with files. Return a position of the sample in the block

Package

easy-audio.wv.

Source

wv-block.lisp.

Reader: seekpoint-offset (instance)
Writer: (setf seekpoint-offset) (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Target Slot

offset.

Reader: seekpoint-samplenum (instance)
Writer: (setf seekpoint-samplenum) (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Target Slot

samplenum.

Reader: seekpoint-samples-in-frame (instance)
Writer: (setf seekpoint-samples-in-frame) (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Target Slot

samples-in-frame.

Function: skip-subchunk (c)

Invoke @c(skip-subchank) restart

Package

easy-audio.wav.

Source

wav.lisp.

Function: write-pcm-wav-header (out-stream &key samplerate channels bps totalsamples)

Writes header of uncompressed wav into stream

Package

easy-audio.wav.

Source

write-header.lisp.


5.1.5 Generic functions

Generic Reader: cuesheet-catalog-id (object)
Generic Writer: (setf cuesheet-catalog-id) (object)
Package

easy-audio.flac.

Methods
Reader Method: cuesheet-catalog-id ((cuesheet cuesheet))
Writer Method: (setf cuesheet-catalog-id) ((cuesheet cuesheet))

Media catalog number

Source

definitions.lisp.

Target Slot

catalog-id.

Generic Reader: cuesheet-cdp (object)
Generic Writer: (setf cuesheet-cdp) (object)
Package

easy-audio.flac.

Methods
Reader Method: cuesheet-cdp ((cuesheet cuesheet))
Writer Method: (setf cuesheet-cdp) ((cuesheet cuesheet))

t if cueshhet corresponds to Compact Disk

Source

definitions.lisp.

Target Slot

cdp.

Generic Reader: cuesheet-lead-in (object)
Generic Writer: (setf cuesheet-lead-in) (object)
Package

easy-audio.flac.

Methods
Reader Method: cuesheet-lead-in ((cuesheet cuesheet))
Writer Method: (setf cuesheet-lead-in) ((cuesheet cuesheet))

For CD-DA cuesheets, number of lead-in samples; 0 otherwise

Source

definitions.lisp.

Target Slot

lead-in.

Generic Reader: cuesheet-tracks (object)
Generic Writer: (setf cuesheet-tracks) (object)
Package

easy-audio.flac.

Methods
Reader Method: cuesheet-tracks ((cuesheet cuesheet))
Writer Method: (setf cuesheet-tracks) ((cuesheet cuesheet))

List of tracks

Source

definitions.lisp.

Target Slot

tracks.

Generic Reader: data-audio-position (object)
Package

easy-audio.wav.

Methods
Reader Method: data-audio-position ((data-subchunk data-subchunk))

automatically generated reader method

Source

definitions.lisp.

Target Slot

audio-position.

Generic Writer: (setf data-audio-position) (object)
Package

easy-audio.wav.

Methods
Writer Method: (setf data-audio-position) ((data-subchunk data-subchunk))

automatically generated writer method

Source

definitions.lisp.

Target Slot

audio-position.

Generic Reader: fact-samples-num (object)
Generic Writer: (setf fact-samples-num) (object)
Package

easy-audio.wav.

Methods
Reader Method: fact-samples-num ((fact-subchunk fact-subchunk))
Writer Method: (setf fact-samples-num) ((fact-subchunk fact-subchunk))

Number of interchannel samples

Source

definitions.lisp.

Target Slot

samples-num.

Generic Reader: format-audio-format (object)
Generic Writer: (setf format-audio-format) (object)
Package

easy-audio.wav.

Methods
Reader Method: format-audio-format ((format-subchunk format-subchunk))
Writer Method: (setf format-audio-format) ((format-subchunk format-subchunk))

Audio format

Source

definitions.lisp.

Target Slot

audio-format.

Generic Reader: format-bps (object)
Generic Writer: (setf format-bps) (object)
Package

easy-audio.wav.

Methods
Reader Method: format-bps ((format-subchunk format-subchunk))
Writer Method: (setf format-bps) ((format-subchunk format-subchunk))

Bits per sample

Source

definitions.lisp.

Target Slot

bps.

Generic Reader: format-channel-mask (object)
Generic Writer: (setf format-channel-mask) (object)
Package

easy-audio.wav.

Methods
Reader Method: format-channel-mask ((format-subchunk format-subchunk))
Writer Method: (setf format-channel-mask) ((format-subchunk format-subchunk))

Channel mask of used channels

Source

definitions.lisp.

Target Slot

channel-mask.

Generic Reader: format-channels-num (object)
Generic Writer: (setf format-channels-num) (object)
Package

easy-audio.wav.

Methods
Reader Method: format-channels-num ((format-subchunk format-subchunk))
Writer Method: (setf format-channels-num) ((format-subchunk format-subchunk))

Number of channels in the stream

Source

definitions.lisp.

Target Slot

channels-num.

Generic Reader: format-samplerate (object)
Generic Writer: (setf format-samplerate) (object)
Package

easy-audio.wav.

Methods
Reader Method: format-samplerate ((format-subchunk format-subchunk))
Writer Method: (setf format-samplerate) ((format-subchunk format-subchunk))

Samplerate in Hertz

Source

definitions.lisp.

Target Slot

samplerate.

Generic Reader: format-valid-bps (object)
Generic Writer: (setf format-valid-bps) (object)
Package

easy-audio.wav.

Methods
Reader Method: format-valid-bps ((format-subchunk format-subchunk))
Writer Method: (setf format-valid-bps) ((format-subchunk format-subchunk))

Valid bits per sample

Source

definitions.lisp.

Target Slot

valid-bps.

Generic Reader: frame-block-size (object)
Package

easy-audio.flac.

Methods
Reader Method: frame-block-size ((frame frame))

Block size in samples

Source

definitions.lisp.

Target Slot

block-size.

Generic Reader: frame-blocking-strategy (object)
Package

easy-audio.flac.

Methods
Reader Method: frame-blocking-strategy ((frame frame))

Is the blocking strategy :FIXED (frame header contains the
frame number) or :VARIABLE (frame header contains the sample number)

Source

definitions.lisp.

Target Slot

blocking-strategy.

Generic Reader: frame-channel-assignment (object)
Package

easy-audio.flac.

Methods
Reader Method: frame-channel-assignment ((frame frame))

Number of channels or one of
:mid/side, :left/side, :right/side

Source

definitions.lisp.

Target Slot

channel-assignment.

Generic Reader: frame-crc-16 (object)
Generic Writer: (setf frame-crc-16) (object)
Package

easy-audio.flac.

Methods
Reader Method: frame-crc-16 ((frame frame))
Writer Method: (setf frame-crc-16) ((frame frame))

CRC16 of the frame (back to and including the sync code)

Source

definitions.lisp.

Target Slot

crc-16.

Generic Reader: frame-crc-8 (object)
Generic Writer: (setf frame-crc-8) (object)
Package

easy-audio.flac.

Methods
Reader Method: frame-crc-8 ((frame frame))
Writer Method: (setf frame-crc-8) ((frame frame))

CRC8 of a frame header (including the sync code)

Source

definitions.lisp.

Target Slot

crc-8.

Generic Reader: frame-number (object)
Package

easy-audio.flac.

Methods
Reader Method: frame-number ((frame frame))

Frame/sample number

Source

definitions.lisp.

Target Slot

number.

Generic Reader: frame-sample-rate (object)
Package

easy-audio.flac.

Methods
Reader Method: frame-sample-rate ((frame frame))

Sample rate

Source

definitions.lisp.

Target Slot

sample-rate.

Generic Reader: frame-sample-size (object)
Package

easy-audio.flac.

Methods
Reader Method: frame-sample-size ((frame frame))

Bits per sample

Source

definitions.lisp.

Target Slot

sample-size.

Generic Reader: frame-subframes (object)
Generic Writer: (setf frame-subframes) (object)
Package

easy-audio.flac.

Methods
Reader Method: frame-subframes ((frame frame))
Writer Method: (setf frame-subframes) ((frame frame))

List of subframes (one for each channel)

Source

definitions.lisp.

Target Slot

subframes.

Generic Reader: info-key (object)
Generic Writer: (setf info-key) (object)
Package

easy-audio.wav.

Methods
Reader Method: info-key ((info-subchunk info-subchunk))
Writer Method: (setf info-key) ((info-subchunk info-subchunk))

Key of an info subchunk

Source

definitions.lisp.

Target Slot

key.

Generic Reader: info-value (object)
Generic Writer: (setf info-value) (object)
Package

easy-audio.wav.

Methods
Reader Method: info-value ((info-subchunk info-subchunk))
Writer Method: (setf info-value) ((info-subchunk info-subchunk))

Value of an info subchunk

Source

definitions.lisp.

Target Slot

value.

Generic Reader: metadata-data (object)
Generic Writer: (setf metadata-data) (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-data ((metadata metadata))
Writer Method: (setf metadata-data) ((metadata metadata))

Raw metadata. Usually this slot is not bound

Source

definitions.lisp.

Target Slot

data.

Generic Reader: picture-color-num (object)
Generic Writer: (setf picture-color-num) (object)
Package

easy-audio.flac.

Methods
Reader Method: picture-color-num ((picture picture))
Writer Method: (setf picture-color-num) ((picture picture))

Number of colors in indexed picture, 0 for non-indexed

Source

definitions.lisp.

Target Slot

color-num.

Generic Reader: picture-depth (object)
Generic Writer: (setf picture-depth) (object)
Package

easy-audio.flac.

Methods
Reader Method: picture-depth ((picture picture))
Writer Method: (setf picture-depth) ((picture picture))

Picture color depth

Source

definitions.lisp.

Target Slot

depth.

Generic Reader: picture-description (object)
Generic Writer: (setf picture-description) (object)
Package

easy-audio.flac.

Methods
Reader Method: picture-description ((picture picture))
Writer Method: (setf picture-description) ((picture picture))

Picture description (UTF-8 coded string)

Source

definitions.lisp.

Target Slot

description.

Generic Reader: picture-height (object)
Generic Writer: (setf picture-height) (object)
Package

easy-audio.flac.

Methods
Reader Method: picture-height ((picture picture))
Writer Method: (setf picture-height) ((picture picture))

Picture height

Source

definitions.lisp.

Target Slot

height.

Generic Reader: picture-mime-type (object)
Generic Writer: (setf picture-mime-type) (object)
Package

easy-audio.flac.

Methods
Reader Method: picture-mime-type ((picture picture))
Writer Method: (setf picture-mime-type) ((picture picture))

String with MIME type

Source

definitions.lisp.

Target Slot

mime-type.

Generic Reader: picture-picture (object)
Generic Writer: (setf picture-picture) (object)
Package

easy-audio.flac.

Methods
Reader Method: picture-picture ((picture picture))
Writer Method: (setf picture-picture) ((picture picture))

The picture itself as array of octets

Source

definitions.lisp.

Target Slot

picture.

Generic Reader: picture-type (object)
Generic Writer: (setf picture-type) (object)
Package

easy-audio.flac.

Methods
Reader Method: picture-type ((picture picture))
Writer Method: (setf picture-type) ((picture picture))

One of 21 picture types (see flac format description)

Source

definitions.lisp.

Target Slot

picture-type.

Generic Reader: picture-width (object)
Generic Writer: (setf picture-width) (object)
Package

easy-audio.flac.

Methods
Reader Method: picture-width ((picture picture))
Writer Method: (setf picture-width) ((picture picture))

Picture width

Source

definitions.lisp.

Target Slot

width.

Generic Function: read-frame (stream &optional streaminfo)

Read a frame from a stream

Package

easy-audio.flac.

Source

definitions.lisp.

Methods
Method: read-frame (stream &optional streaminfo)
Source

frame.lisp.

Method: read-frame :around (stream &optional streaminfo)
Source

frame.lisp.

Generic Reader: riff-size (object)
Package

easy-audio.wav.

Methods
Reader Method: riff-size ((data-chunk data-chunk))

automatically generated reader method

Source

definitions.lisp.

Target Slot

size.

Generic Writer: (setf riff-size) (object)
Package

easy-audio.wav.

Methods
Writer Method: (setf riff-size) ((data-chunk data-chunk))

automatically generated writer method

Source

definitions.lisp.

Target Slot

size.

Generic Reader: riff-subchunks (object)
Package

easy-audio.wav.

Methods
Reader Method: riff-subchunks ((riff-chunk riff-chunk))

automatically generated reader method

Source

definitions.lisp.

Target Slot

subchunks.

Generic Writer: (setf riff-subchunks) (object)
Package

easy-audio.wav.

Methods
Writer Method: (setf riff-subchunks) ((riff-chunk riff-chunk))

automatically generated writer method

Source

definitions.lisp.

Target Slot

subchunks.

Generic Reader: riff-subtype (object)
Package

easy-audio.wav.

Methods
Reader Method: riff-subtype ((riff-chunk riff-chunk))

automatically generated reader method

Source

definitions.lisp.

Target Slot

subtype.

Generic Writer: (setf riff-subtype) (object)
Package

easy-audio.wav.

Methods
Writer Method: (setf riff-subtype) ((riff-chunk riff-chunk))

automatically generated writer method

Source

definitions.lisp.

Target Slot

subtype.

Generic Reader: riff-type (object)
Package

easy-audio.wav.

Methods
Reader Method: riff-type ((data-chunk data-chunk))

automatically generated reader method

Source

definitions.lisp.

Target Slot

type.

Generic Writer: (setf riff-type) (object)
Package

easy-audio.wav.

Methods
Writer Method: (setf riff-type) ((data-chunk data-chunk))

automatically generated writer method

Source

definitions.lisp.

Target Slot

type.

Generic Reader: seektable-seekpoints (object)
Generic Writer: (setf seektable-seekpoints) (object)
Package

easy-audio.flac.

Methods
Reader Method: seektable-seekpoints ((seektable seektable))
Writer Method: (setf seektable-seekpoints) ((seektable seektable))

List of seekpoints

Source

definitions.lisp.

Target Slot

seekpoints.

Generic Reader: streaminfo-bitspersample (object)
Generic Writer: (setf streaminfo-bitspersample) (object)
Package

easy-audio.flac.

Methods
Reader Method: streaminfo-bitspersample ((streaminfo streaminfo))
Writer Method: (setf streaminfo-bitspersample) ((streaminfo streaminfo))

Bits per sample (from 4 to 32)

Source

definitions.lisp.

Target Slot

bitspersample.

Generic Reader: streaminfo-channels (object)
Generic Writer: (setf streaminfo-channels) (object)
Package

easy-audio.flac.

Methods
Reader Method: streaminfo-channels ((streaminfo streaminfo))
Writer Method: (setf streaminfo-channels) ((streaminfo streaminfo))

Number of channels in stream. May be from 1 to 8.

Source

definitions.lisp.

Target Slot

channels.

Generic Reader: streaminfo-maxblocksize (object)
Generic Writer: (setf streaminfo-maxblocksize) (object)
Package

easy-audio.flac.

Methods
Reader Method: streaminfo-maxblocksize ((streaminfo streaminfo))
Writer Method: (setf streaminfo-maxblocksize) ((streaminfo streaminfo))

The maximum block size (in samples) used in the stream

Source

definitions.lisp.

Target Slot

maxblocksize.

Generic Reader: streaminfo-maxframesize (object)
Generic Writer: (setf streaminfo-maxframesize) (object)
Package

easy-audio.flac.

Methods
Reader Method: streaminfo-maxframesize ((streaminfo streaminfo))
Writer Method: (setf streaminfo-maxframesize) ((streaminfo streaminfo))

The maximum frame size (in bytes) used in the stream. May be 0 to imply the value is not known.

Source

definitions.lisp.

Target Slot

maxframesize.

Generic Reader: streaminfo-md5 (object)
Generic Writer: (setf streaminfo-md5) (object)
Package

easy-audio.flac.

Methods
Reader Method: streaminfo-md5 ((streaminfo streaminfo))
Writer Method: (setf streaminfo-md5) ((streaminfo streaminfo))

MD5 checksum of the whole unencoded data

Source

definitions.lisp.

Target Slot

md5.

Generic Reader: streaminfo-minblocksize (object)
Generic Writer: (setf streaminfo-minblocksize) (object)
Package

easy-audio.flac.

Methods
Reader Method: streaminfo-minblocksize ((streaminfo streaminfo))
Writer Method: (setf streaminfo-minblocksize) ((streaminfo streaminfo))

The minimum block size (in samples) used in the stream

Source

definitions.lisp.

Target Slot

minblocksize.

Generic Reader: streaminfo-minframesize (object)
Generic Writer: (setf streaminfo-minframesize) (object)
Package

easy-audio.flac.

Methods
Reader Method: streaminfo-minframesize ((streaminfo streaminfo))
Writer Method: (setf streaminfo-minframesize) ((streaminfo streaminfo))

The minimum frame size (in bytes) used in the stream

Source

definitions.lisp.

Target Slot

minframesize.

Generic Reader: streaminfo-samplerate (object)
Generic Writer: (setf streaminfo-samplerate) (object)
Package

easy-audio.flac.

Methods
Reader Method: streaminfo-samplerate ((streaminfo streaminfo))
Writer Method: (setf streaminfo-samplerate) ((streaminfo streaminfo))

Sample rate in Hz

Source

definitions.lisp.

Target Slot

samplerate.

Generic Reader: streaminfo-totalsamples (object)
Generic Writer: (setf streaminfo-totalsamples) (object)
Package

easy-audio.flac.

Methods
Reader Method: streaminfo-totalsamples ((streaminfo streaminfo))
Writer Method: (setf streaminfo-totalsamples) ((streaminfo streaminfo))

Total samples in stream. May be 0 if unknown.

Source

definitions.lisp.

Target Slot

totalsamples.

Generic Reader: unknown-metadata (condition)
Package

easy-audio.wv.

Methods
Reader Method: unknown-metadata ((condition unknown-metadata))
Source

definitions.lisp.

Target Slot

metadata.

Generic Reader: vorbis-user-comments (object)
Generic Writer: (setf vorbis-user-comments) (object)
Package

easy-audio.flac.

Methods
Reader Method: vorbis-user-comments ((vorbis-comment vorbis-comment))
Writer Method: (setf vorbis-user-comments) ((vorbis-comment vorbis-comment))

List of user comments

Source

definitions.lisp.

Target Slot

user-comments.

Generic Reader: vorbis-vendor-comment (object)
Generic Writer: (setf vorbis-vendor-comment) (object)
Package

easy-audio.flac.

Methods
Reader Method: vorbis-vendor-comment ((vorbis-comment vorbis-comment))
Writer Method: (setf vorbis-vendor-comment) ((vorbis-comment vorbis-comment))

Vendor comment

Source

definitions.lisp.

Target Slot

vendor-comment.

Generic Reader: wav-error-chunk (condition)
Package

easy-audio.wav.

Methods
Reader Method: wav-error-chunk ((condition wav-error-chunk))
Source

definitions.lisp.

Target Slot

chunk.


5.1.6 Standalone methods

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

definitions.lisp.


5.1.7 Conditions

Condition: ape-error

General APE error

Package

easy-audio.ape.

Source

definitions.lisp.

Direct superclasses
  • error.
  • simple-condition.
Direct subclasses

apev2-tag-error.

Condition: apev2-tag-error

APEv2 tag error

Package

easy-audio.ape.

Source

definitions.lisp.

Direct superclasses

ape-error.

Condition: bitreader-eof
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Direct superclasses

error.

Direct methods

bitreader-eof-bitreader.

Direct slots
Slot: bitreader
Initargs

:bitreader

Readers

bitreader-eof-bitreader.

Writers

This slot is read-only.

Condition: block-error

Error associated with block reader/decoder error

Package

easy-audio.wv.

Source

definitions.lisp.

Direct superclasses

wavpack-error.

Direct subclasses

lost-sync.

Condition: flac-bad-frame

Bad flac frame

Package

easy-audio.flac.

Source

definitions.lisp.

Direct superclasses

flac-error.

Condition: flac-bad-metadata

Flac metadata error

Package

easy-audio.flac.

Source

definitions.lisp.

Direct superclasses

flac-error.

Direct methods

flac-metadata.

Direct slots
Slot: metadata

Current metadata

Initargs

:metadata

Readers

flac-metadata.

Writers

This slot is read-only.

Condition: flac-error

General (unspecified) flac error

Package

easy-audio.flac.

Source

definitions.lisp.

Direct superclasses
  • error.
  • simple-condition.
Direct subclasses
Condition: lost-sync

Error signaled when sync is obviously lost
(e.g. first 4 bytes in block are not Wavpack ID). Errors signalled when reading a block which cause
loss of sync are not of this type, but of @c(block-error). Useful for skipping garbage in audio files

Package

easy-audio.wv.

Source

definitions.lisp.

Direct superclasses

block-error.

Condition: unknown-metadata

The reader does not know how to read metadata

Package

easy-audio.wv.

Source

definitions.lisp.

Direct superclasses

wavpack-warning.

Direct methods

unknown-metadata.

Direct slots
Slot: metadata

Metadata object

Initargs

:metadata

Readers

unknown-metadata.

Writers

This slot is read-only.

Condition: wav-error

General Wav error

Package

easy-audio.wav.

Source

definitions.lisp.

Direct superclasses
  • error.
  • simple-condition.
Direct subclasses

wav-error-chunk.

Condition: wav-error-chunk

Error while reading a chunk

Package

easy-audio.wav.

Source

definitions.lisp.

Direct superclasses

wav-error.

Direct methods
Direct slots
Slot: reader
Package

easy-audio.bitreader.

Initargs

:reader

Readers

wav-error-reader.

Writers

This slot is read-only.

Slot: rest-bytes
Initargs

:rest-bytes

Readers

wav-error-rest-bytes.

Writers

This slot is read-only.

Slot: chunk
Initargs

:chunk

Readers

wav-error-chunk.

Writers

This slot is read-only.

Condition: wav-unknown-chunk

Unknown chunk warning

Package

easy-audio.wav.

Source

definitions.lisp.

Direct superclasses

wav-warning.

Direct methods

wav-warning-chunk.

Direct slots
Slot: chunk
Initargs

:chunk

Readers

wav-warning-chunk.

Writers

This slot is read-only.

Condition: wav-warning

General Wav warning

Package

easy-audio.wav.

Source

definitions.lisp.

Direct superclasses
  • simple-condition.
  • warning.
Direct subclasses

wav-unknown-chunk.

Condition: wavpack-error

General WavPack error

Package

easy-audio.wv.

Source

definitions.lisp.

Direct superclasses
Direct subclasses

block-error.

Condition: wavpack-warning

General WavPack warning

Package

easy-audio.wv.

Source

definitions.lisp.

Direct superclasses
Direct subclasses

unknown-metadata.


5.1.8 Structures

Structure: cuesheet-index
Package

easy-audio.flac.

Source

definitions.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: offset
Readers

cuesheet-index-offset.

Writers

(setf cuesheet-index-offset).

Slot: number
Package

common-lisp.

Readers

cuesheet-index-number.

Writers

(setf cuesheet-index-number).

Structure: cuesheet-track
Package

easy-audio.flac.

Source

definitions.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: offset
Readers

cuesheet-track-offset.

Writers

(setf cuesheet-track-offset).

Slot: number
Package

common-lisp.

Readers

cuesheet-track-number.

Writers

(setf cuesheet-track-number).

Slot: isrc
Readers

cuesheet-track-isrc.

Writers

(setf cuesheet-track-isrc).

Slot: type
Package

common-lisp.

Readers

cuesheet-track-type.

Writers

(setf cuesheet-track-type).

Slot: pre-emphasis
Readers

cuesheet-track-pre-emphasis.

Writers

(setf cuesheet-track-pre-emphasis).

Slot: indices
Readers

cuesheet-track-indices.

Writers

(setf cuesheet-track-indices).

Structure: metadata
Package

easy-audio.ape.

Source

definitions.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: version
Type

(easy-audio.core:ub 16)

Initform

0

Readers

metadata-version.

Writers

(setf metadata-version).

Slot: padding1
Type

(easy-audio.core:ub 16)

Initform

0

Readers

metadata-padding1.

Writers

(setf metadata-padding1).

Slot: desc-len
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-desc-len.

Writers

(setf metadata-desc-len).

Slot: header-len
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-header-len.

Writers

(setf metadata-header-len).

Slot: seektable-len
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-seektable-len.

Writers

(setf metadata-seektable-len).

Slot: wavheader-len
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-wavheader-len.

Writers

(setf metadata-wavheader-len).

Slot: audiodata-len
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-audiodata-len.

Writers

(setf metadata-audiodata-len).

Slot: audiodata-len-high
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-audiodata-len-high.

Writers

(setf metadata-audiodata-len-high).

Slot: wavtail-len
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-wavtail-len.

Writers

(setf metadata-wavtail-len).

Slot: header-md5
Readers

metadata-header-md5.

Writers

(setf metadata-header-md5).

Slot: compression-type
Type

(easy-audio.core:ub 16)

Initform

0

Readers

metadata-compression-type.

Writers

(setf metadata-compression-type).

Slot: format-flags
Type

(easy-audio.core:ub 16)

Initform

0

Readers

metadata-format-flags.

Writers

(setf metadata-format-flags).

Slot: blocks-per-frame
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-blocks-per-frame.

Writers

(setf metadata-blocks-per-frame).

Slot: final-frame-blocks
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-final-frame-blocks.

Writers

(setf metadata-final-frame-blocks).

Slot: total-frames
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-total-frames.

Writers

(setf metadata-total-frames).

Slot: bps
Type

(easy-audio.core:ub 16)

Initform

0

Readers

metadata-bps.

Writers

(setf metadata-bps).

Slot: channels
Type

(easy-audio.core:ub 16)

Initform

0

Readers

metadata-channels.

Writers

(setf metadata-channels).

Slot: samplerate
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-samplerate.

Writers

(setf metadata-samplerate).

Slot: total-samples
Type

(easy-audio.core:ub 32)

Initform

0

Readers

metadata-total-samples.

Writers

(setf metadata-total-samples).

Slot: bittable
Readers

metadata-bittable.

Writers

(setf metadata-bittable).

Slot: seektable
Readers

metadata-seektable.

Writers

(setf metadata-seektable).

Structure: reader
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Direct superclasses

structure-object.

Direct subclasses

ogg-reader.

Direct slots
Slot: ibit
Type

easy-audio.core:bit-counter

Initform

0

Readers

reader-ibit.

Writers

(setf reader-ibit).

Slot: ibyte
Type

alexandria:non-negative-fixnum

Initform

0

Readers

reader-ibyte.

Writers

(setf reader-ibyte).

Slot: end
Type

alexandria:non-negative-fixnum

Initform

0

Readers

reader-end.

Writers

(setf reader-end).

Slot: buffer
Type

(easy-audio.core:sa-ub 8)

Initform

(make-array (list easy-audio.bitreader::*buffer-size*) :element-type (quote (easy-audio.core:ub 8)))

Readers

reader-buffer.

Writers

(setf reader-buffer).

Slot: fill-buffer-fun
Type

function

Initform

(function easy-audio.bitreader::read-buffer-from-stream)

Readers

reader-fill-buffer-fun.

Writers

(setf reader-fill-buffer-fun).

Slot: stream
Package

common-lisp.

Readers

reader-stream.

Writers

(setf reader-stream).

Structure: seekpoint

A seekpoint (entry in seektable)

Package

easy-audio.flac.

Source

definitions.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: samplenum
Type

(easy-audio.core:ub 64)

Initform

0

Readers

seekpoint-samplenum.

Writers

(setf seekpoint-samplenum).

Slot: offset
Type

(easy-audio.core:ub 64)

Initform

0

Readers

seekpoint-offset.

Writers

(setf seekpoint-offset).

Slot: samples-in-frame
Type

(easy-audio.core:ub 16)

Initform

0

Readers

seekpoint-samples-in-frame.

Writers

(setf seekpoint-samples-in-frame).


5.1.9 Classes

Class: cuesheet

CUESHEET metadata block

Package

easy-audio.flac.

Source

definitions.lisp.

Direct superclasses

metadata-header.

Direct methods
Direct slots
Slot: catalog-id

Media catalog number

Type

string

Readers

cuesheet-catalog-id.

Writers

(setf cuesheet-catalog-id).

Slot: lead-in

For CD-DA cuesheets, number of lead-in samples; 0 otherwise

Readers

cuesheet-lead-in.

Writers

(setf cuesheet-lead-in).

Slot: cdp

t if cueshhet corresponds to Compact Disk

Type

boolean

Readers

cuesheet-cdp.

Writers

(setf cuesheet-cdp).

Slot: tracks

List of tracks

Type

list

Readers

cuesheet-tracks.

Writers

(setf cuesheet-tracks).

Class: data-chunk

Chunk of data with size DATA-SIZE

Package

easy-audio.wav.

Source

definitions.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: type
Package

common-lisp.

Type

(easy-audio.core:ub 32)

Initargs

:type

Readers

riff-type.

Writers

(setf riff-type).

Slot: size
Type

(easy-audio.core:ub 32)

Initargs

:size

Readers

riff-size.

Writers

(setf riff-size).

Class: data-subchunk

Audio data subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Direct superclasses

subchunk.

Direct methods
Direct slots
Slot: audio-position
Type

unsigned-byte

Initargs

:audio-position

Readers

data-audio-position.

Writers

(setf data-audio-position).

Class: fact-subchunk

Subchunk with actual number of samples

Package

easy-audio.wav.

Source

definitions.lisp.

Direct superclasses

subchunk.

Direct methods
Direct slots
Slot: samples-num

Number of interchannel samples

Type

(easy-audio.core:ub 32)

Readers

fact-samples-num.

Writers

(setf fact-samples-num).

Class: format-subchunk

Audio format subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Direct superclasses

subchunk.

Direct methods
Direct slots
Slot: audio-format

Audio format

Type

(easy-audio.core:ub 16)

Readers

format-audio-format.

Writers

(setf format-audio-format).

Slot: channels-num

Number of channels in the stream

Type

(easy-audio.core:ub 16)

Readers

format-channels-num.

Writers

(setf format-channels-num).

Slot: samplerate

Samplerate in Hertz

Type

(easy-audio.core:ub 32)

Readers

format-samplerate.

Writers

(setf format-samplerate).

Slot: byte-rate
Type

(easy-audio.core:ub 32)

Readers

format-byte-rate.

Writers

(setf format-byte-rate).

Slot: block-align
Type

(easy-audio.core:ub 16)

Readers

format-block-align.

Writers

(setf format-block-align).

Slot: bps

Bits per sample

Type

(easy-audio.core:ub 16)

Readers

format-bps.

Writers

(setf format-bps).

Slot: valid-bps

Valid bits per sample

Type

(easy-audio.core:ub 16)

Readers

format-valid-bps.

Writers

(setf format-valid-bps).

Slot: channel-mask

Channel mask of used channels

Type

(easy-audio.core:ub 32)

Readers

format-channel-mask.

Writers

(setf format-channel-mask).

Slot: subformat

Extended audio format

Type

(easy-audio.core:sa-ub 8)

Readers

format-subformat.

Writers

(setf format-subformat).

Class: frame

Audio frame class

Package

easy-audio.flac.

Source

definitions.lisp.

Direct methods
Direct slots
Slot: blocking-strategy

Is the blocking strategy :FIXED (frame header contains the
frame number) or :VARIABLE (frame header contains the sample number)

Type

(member :fixed :variable)

Readers

frame-blocking-strategy.

Writers

This slot is read-only.

Slot: block-size

Block size in samples

Type

alexandria:non-negative-fixnum

Readers

frame-block-size.

Writers

This slot is read-only.

Slot: sample-rate

Sample rate

Type

alexandria:non-negative-fixnum

Readers

frame-sample-rate.

Writers

This slot is read-only.

Slot: channel-assignment

Number of channels or one of
:mid/side, :left/side, :right/side

Type

(integer 0 10)

Readers

frame-channel-assignment.

Writers

This slot is read-only.

Slot: sample-size

Bits per sample

Type

(integer 4 32)

Readers

frame-sample-size.

Writers

This slot is read-only.

Slot: number

Frame/sample number

Package

common-lisp.

Type

unsigned-byte

Initform

68719476736

Readers

frame-number.

Writers

This slot is read-only.

Slot: crc-8

CRC8 of a frame header (including the sync code)

Type

(easy-audio.core:ub 8)

Readers

frame-crc-8.

Writers

(setf frame-crc-8).

Slot: subframes

List of subframes (one for each channel)

Type

list

Readers

frame-subframes.

Writers

(setf frame-subframes).

Slot: crc-16

CRC16 of the frame (back to and including the sync code)

Type

fixnum

Readers

frame-crc-16.

Writers

(setf frame-crc-16).

Class: info-subchunk

LIST INFO subchunk. Together they constitue key-value metadata for the audio stream

Package

easy-audio.wav.

Source

definitions.lisp.

Direct superclasses

data-chunk.

Direct methods
Direct slots
Slot: key

Key of an info subchunk

Type

(or symbol string)

Initargs

:key

Readers

info-key.

Writers

(setf info-key).

Slot: value

Value of an info subchunk

Type

string

Initargs

:value

Readers

info-value.

Writers

(setf info-value).

Class: metadata-riff-header

Contents the original RIFF header in DATA slot

Package

easy-audio.wv.

Source

definitions.lisp.

Direct superclasses

metadata-ignorable.

Class: metadata-riff-trailer

Contents the original RIFF trailer in DATA slot

Package

easy-audio.wv.

Source

definitions.lisp.

Direct superclasses

metadata-ignorable.

Class: picture

PICTURE metadata block

Package

easy-audio.flac.

Source

definitions.lisp.

Direct superclasses

metadata-header.

Direct methods
Direct slots
Slot: picture-type

One of 21 picture types (see flac format description)

Type

easy-audio.flac::picture-type-id

Readers

picture-type.

Writers

(setf picture-type).

Slot: mime-type

String with MIME type

Type

string

Readers

picture-mime-type.

Writers

(setf picture-mime-type).

Slot: description

Picture description (UTF-8 coded string)

Type

string

Readers

picture-description.

Writers

(setf picture-description).

Slot: width

Picture width

Type

alexandria:positive-integer

Readers

picture-width.

Writers

(setf picture-width).

Slot: height

Picture height

Type

alexandria:positive-integer

Readers

picture-height.

Writers

(setf picture-height).

Slot: depth

Picture color depth

Type

alexandria:positive-integer

Readers

picture-depth.

Writers

(setf picture-depth).

Slot: color-num

Number of colors in indexed picture, 0 for non-indexed

Type

alexandria:non-negative-integer

Readers

picture-color-num.

Writers

(setf picture-color-num).

Slot: picture

The picture itself as array of octets

Type

(easy-audio.core:sa-ub 8)

Readers

picture-picture.

Writers

(setf picture-picture).

Class: riff-chunk

RIFF chunk, such as WAVE or LIST chunks

Package

easy-audio.wav.

Source

definitions.lisp.

Direct superclasses

data-chunk.

Direct subclasses
Direct methods
Direct slots
Slot: subtype
Type

(easy-audio.core:ub 32)

Initargs

:subtype

Readers

riff-subtype.

Writers

(setf riff-subtype).

Slot: subchunks
Type

list

Readers

riff-subchunks.

Writers

(setf riff-subchunks).

Class: seektable

SEEKTABLE metadata block

Package

easy-audio.flac.

Source

definitions.lisp.

Direct superclasses

metadata-header.

Direct methods
Direct slots
Slot: seekpoints

List of seekpoints

Type

list

Readers

seektable-seekpoints.

Writers

(setf seektable-seekpoints).

Class: streaminfo

Class for storing STREAMINFO metadata block

Package

easy-audio.flac.

Source

definitions.lisp.

Direct superclasses

metadata-header.

Direct methods
Direct slots
Slot: minblocksize

The minimum block size (in samples) used in the stream

Type

alexandria:non-negative-fixnum

Readers

streaminfo-minblocksize.

Writers

(setf streaminfo-minblocksize).

Slot: maxblocksize

The maximum block size (in samples) used in the stream

Type

alexandria:non-negative-fixnum

Readers

streaminfo-maxblocksize.

Writers

(setf streaminfo-maxblocksize).

Slot: minframesize

The minimum frame size (in bytes) used in the stream

Type

alexandria:non-negative-fixnum

Readers

streaminfo-minframesize.

Writers

(setf streaminfo-minframesize).

Slot: maxframesize

The maximum frame size (in bytes) used in the stream. May be 0 to imply the value is not known.

Type

alexandria:non-negative-fixnum

Readers

streaminfo-maxframesize.

Writers

(setf streaminfo-maxframesize).

Slot: samplerate

Sample rate in Hz

Type

alexandria:non-negative-fixnum

Readers

streaminfo-samplerate.

Writers

(setf streaminfo-samplerate).

Slot: channels

Number of channels in stream. May be from 1 to 8.

Type

(integer 1 8)

Readers

streaminfo-channels.

Writers

(setf streaminfo-channels).

Slot: bitspersample

Bits per sample (from 4 to 32)

Type

alexandria:non-negative-fixnum

Readers

streaminfo-bitspersample.

Writers

(setf streaminfo-bitspersample).

Slot: totalsamples

Total samples in stream. May be 0 if unknown.

Type

alexandria:positive-integer

Readers

streaminfo-totalsamples.

Writers

(setf streaminfo-totalsamples).

Slot: md5

MD5 checksum of the whole unencoded data

Readers

streaminfo-md5.

Writers

(setf streaminfo-md5).

Class: vorbis-comment

VORBIS_COMMENT metadata block

Package

easy-audio.flac.

Source

definitions.lisp.

Direct superclasses

metadata-header.

Direct methods
Direct slots
Slot: vendor-comment

Vendor comment

Type

string

Readers

vorbis-vendor-comment.

Writers

(setf vorbis-vendor-comment).

Slot: user-comments

List of user comments

Type

list

Readers

vorbis-user-comments.

Writers

(setf vorbis-user-comments).


5.1.10 Types

Type: bit-counter ()
Package

easy-audio.core.

Source

core.lisp.

Type: sa-sb (n)
Package

easy-audio.core.

Source

core.lisp.

Type: sa-ub (n)
Package

easy-audio.core.

Source

core.lisp.

Type: sb (n)
Package

easy-audio.core.

Source

core.lisp.

Type: ub (n)
Package

easy-audio.core.

Source

core.lisp.


5.2 Internals


5.2.1 Constants

Constant: +ape-id+

4-byte value identifying APE file

Package

easy-audio.ape.

Source

ape.lisp.

Constant: +ape-max-version+

Maximal supported APE version

Package

easy-audio.ape.

Source

ape.lisp.

Constant: +ape-min-version+

Minimal supported APE version

Package

easy-audio.ape.

Source

ape.lisp.

Constant: +begining-of-stream+

First page of logical bitstream

Package

easy-audio.ogg.

Source

ogg.lisp.

Constant: +bottom-value+
Package

easy-audio.ape.

Source

definitions.lisp.

Constant: +code-bits+
Package

easy-audio.ape.

Source

definitions.lisp.

Constant: +continued-packet+

Continued packet flag

Package

easy-audio.ogg.

Source

ogg.lisp.

Constant: +end-of-stream+

Last page of logical bitstream

Package

easy-audio.ogg.

Source

ogg.lisp.

Constant: +extra-bits+
Package

easy-audio.ape.

Source

definitions.lisp.

Constant: +fact-subchunk+

Fact subchunk identifier. Contains letters ‘fact’

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +flac-id+
Package

easy-audio.flac.

Source

flac.lisp.

Constant: +flac-ogg-id+

‘FLAC’ signature

Package

easy-audio.flac.

Source

flac-ogg.lisp.

Constant: +flags-1-byte/sample+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-2-byte/sample+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-3-byte/sample+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-4-byte/sample+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-byte/sample-mask+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-channels-decor+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-data-float+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-false-stereo+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-final-block+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-hybrid-mode+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-hybrid-noise-balanced+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-hybrid-param/bitrate+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-initial-block+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-left-shift-amount-mask+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-left-shift-amount-shift+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-max-magnitude-mask+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-max-magnitude-shift+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-mono-output+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-noise-shaping+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-reserved-zero+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-samplerate-mask+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-samplerate-shift+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-shifted-int+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-stereo-joint+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +flags-use-iir+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +frame-sync-code+
Package

easy-audio.flac.

Source

definitions.lisp.

Constant: +history-size+
Package

easy-audio.ape.

Source

decode.lisp.

Constant: +info-artist+

IART (artist) subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +info-comment+

ICMT (comment) subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +info-copyright+

ICOP (copyright) subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +info-creation+

ICRD (creation) subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +info-engineer+

IENG (engineer) subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +info-genre+

GENR (genre) subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +info-keywords+

IKEY (keywords) subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +info-name+

INAM (name) subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +info-software+

ISFT (software) subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +info-subject+

ISBJ (subject) subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +info-technician+

ITCH (technician) subchunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +left-side+
Package

easy-audio.flac.

Source

definitions.lisp.

Constant: +list-chunk+

List chunk (services as a container for other subchunks). Contants letters ‘LIST’

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +list-info+

INFO list chunk

Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +max-channels+
Package

easy-audio.flac.

Source

definitions.lisp.

Constant: +meta-id-channel-info+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-config-block+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-data-length--1+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-decorr-samples+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-decorr-terms+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-decorr-weights+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-dummy+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-entropy-vars+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-float-info+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-function+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-hybrid-profile+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-int32-info+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-large-block+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-md5-checksum+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-riff-header+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-riff-trailer+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-samplerate+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-shaping-weights+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-useless-for-decoder+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-wv-bitstream+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-wvc-bitstream+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +meta-id-wvx-bitstream+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +mid-side+
Package

easy-audio.flac.

Source

definitions.lisp.

Constant: +mono-silence+
Package

easy-audio.ape.

Source

frame.lisp.

Constant: +ogg-page-id+

OggS page identificator

Package

easy-audio.ogg.

Source

ogg.lisp.

Constant: +predictor-order+
Package

easy-audio.ape.

Source

decode.lisp.

Constant: +predictor-size+
Package

easy-audio.ape.

Source

decode.lisp.

Constant: +pseudo-stereo+
Package

easy-audio.ape.

Source

frame.lisp.

Constant: +right-side+
Package

easy-audio.flac.

Source

definitions.lisp.

Constant: +seekpoint-placeholder+
Package

easy-audio.flac.

Source

definitions.lisp.

Constant: +shift-bits+
Package

easy-audio.ape.

Source

definitions.lisp.

Constant: +stereo-silence+
Package

easy-audio.ape.

Source

frame.lisp.

Constant: +top-value+
Package

easy-audio.ape.

Source

definitions.lisp.

Constant: +wave-format-unknown+
Package

easy-audio.wav.

Source

definitions.lisp.

Constant: +wv-id+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +wv-id/first-octet+
Package

easy-audio.wv.

Source

definitions.lisp.

Constant: +xadaptcoeffsa+
Package

easy-audio.ape.

Source

decode.lisp.

Constant: +xadaptcoeffsb+
Package

easy-audio.ape.

Source

decode.lisp.

Constant: +xdelaya+
Package

easy-audio.ape.

Source

decode.lisp.

Constant: +xdelayb+
Package

easy-audio.ape.

Source

decode.lisp.

Constant: +yadaptcoeffsa+
Package

easy-audio.ape.

Source

decode.lisp.

Constant: +yadaptcoeffsb+
Package

easy-audio.ape.

Source

decode.lisp.

Constant: +ydelaya+
Package

easy-audio.ape.

Source

decode.lisp.

Constant: +ydelayb+
Package

easy-audio.ape.

Source

decode.lisp.


5.2.2 Special variables

Special Variable: *apev2-preamble*
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Special Variable: *buffer-size*
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Special Variable: *coeffs-3930*
Package

easy-audio.ape.

Source

decode.lisp.

Special Variable: *counts-3980*
Package

easy-audio.ape.

Source

frame.lisp.

Special Variable: *counts-diff-3980*
Package

easy-audio.ape.

Source

frame.lisp.

Special Variable: *current-block*

Bound to block currently being readed by block reader

Package

easy-audio.wv.

Source

definitions.lisp.

Special Variable: *data*

READ-METADATA-BODY bounds this var to metadata block it is reading at the moment

Package

easy-audio.flac.

Source

metadata.lisp.

Special Variable: *filter-orders*
Package

easy-audio.ape.

Source

decode.lisp.

Special Variable: *fracbits*
Package

easy-audio.ape.

Source

decode.lisp.

Special Variable: *lpc-predictors*

Precalculated FIR linear predictors

Package

easy-audio.flac.

Source

decode.lisp.

Special Variable: *mono-entropy-versions*
Package

easy-audio.ape.

Source

frame.lisp.

Special Variable: *out-buffer*

Output buffer for exactly one subframe

Package

easy-audio.flac.

Source

frame.lisp.

Special Variable: *predictor-versions*
Package

easy-audio.ape.

Source

decode.lisp.

Special Variable: *stereo-entropy-versions*
Package

easy-audio.ape.

Source

frame.lisp.

Special Variable: *wvx-buffers*

Works with @c(make-output-buffers) to reduce consing. Bind this variable to wvx buffers when you read multiple block in a loop to reduce consing.

Package

easy-audio.wv.

Source

metadata.lisp.

Special Variable: +block-name+
Package

easy-audio.flac.

Source

definitions.lisp.

Special Variable: +coded-sample-rates+
Package

easy-audio.flac.

Source

definitions.lisp.

Special Variable: +coded-sample-sizes+
Package

easy-audio.flac.

Source

definitions.lisp.

Special Variable: +exp2-table+
Package

easy-audio.wv.

Source

wavpack-reader.lisp.

Special Variable: +picture-types+

Meaning of picture type codes

Package

easy-audio.flac.

Source

definitions.lisp.

Special Variable: +wave-format-extensible-magick+
Package

easy-audio.wav.

Source

definitions.lisp.


5.2.3 Macros

Macro: correlate-sample (sample-form result-place weight-place update-method)
Package

easy-audio.wv.

Source

decode.lisp.

Macro: define-get-value/shift+mask (name-spec)

Define value-getting function. This function will accept an integer number and extract a value using defined mask and shift values like so: (ash (logand number mask) shift).

NAME-SPEC can be a list (NAME SYM) or just a symbol NAME. NAME is the name of the function to be defined. Mask and shift values used must have names +FLAGS-NAME-MASK+ and +FLAGS-NAME-SHIFT+ or +FLAGS-SYM-MASK+ and +FLAGS-SYM-SHIFT+ if SYM is supplied.

Package

easy-audio.wv.

Source

definitions.lisp.

Macro: gen-lpc-predictor (n)

Generate FIR linear predictor of order N

Package

easy-audio.flac.

Source

decode.lisp.

Macro: number-case (keyform &body cases)
Package

easy-audio.wav.

Source

wav.lisp.


5.2.4 Ordinary functions

Function: apply-filter (entropy order fracbits)
Package

easy-audio.ape.

Source

decode.lisp.

Function: apply-weight (weight sample)
Package

easy-audio.wv.

Source

decode.lisp.

Function: bit-set-p (value mask)
Package

easy-audio.wv.

Source

definitions.lisp.

Function: bittable-promote-version (version)

Promote version to one suitable for call to READ-BITTABLE

Package

easy-audio.ape.

Source

ape.lisp.

Reader: block-crc (instance)
Writer: (setf block-crc) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

crc.

Reader: block-decorr-passes (instance)
Writer: (setf block-decorr-passes) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

decorr-passes.

Reader: block-decorr-samples (instance)
Writer: (setf block-decorr-samples) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

decorr-samples.

Reader: block-entropy-median (instance)
Writer: (setf block-entropy-median) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

entropy-median.

Reader: block-flags (instance)
Writer: (setf block-flags) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

flags.

Reader: block-id (instance)
Writer: (setf block-id) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

id.

Reader: block-int32-info (instance)
Writer: (setf block-int32-info) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

int32-info.

Reader: block-residual (instance)
Writer: (setf block-residual) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

residual.

Function: block-samplerate% (wv-block)
Package

easy-audio.wv.

Source

definitions.lisp.

Reader: block-size (instance)
Writer: (setf block-size) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

size.

Reader: block-version (instance)
Writer: (setf block-version) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

version.

Reader: block-wvx-bits (instance)
Writer: (setf block-wvx-bits) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

wvx-bits.

Function: check-bits-3...28 (flags)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: check-extensible-audio-format (format)

Check extensible audio format magick

Package

easy-audio.wav.

Source

wav.lisp.

Function: check-h/f-reserved (reserved)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: check-preamble (preamble)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: chunk-class (chunk)
Package

easy-audio.wav.

Source

wav.lisp.

Function: code=>string (type)
Package

easy-audio.wav.

Source

definitions.lisp.

Function: content-r/w-p (flags)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: content-type (flags)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: copy-cuesheet-index (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Function: copy-cuesheet-track (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Function: copy-decorr-pass (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Function: copy-frame (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Function: copy-header/footer (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: copy-item (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: copy-metadata (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Function: copy-ogg-reader (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: copy-range-coder (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Function: copy-reader (instance)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: copy-rice-state (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Function: copy-seekpoint (instance)
Package

easy-audio.flac.

Source

definitions.lisp.

Function: copy-wv-block (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Function: correlate-sample/w-term-17 (i-1 i-2)
Package

easy-audio.wv.

Source

decode.lisp.

Function: correlate-sample/w-term-18 (i-1 i-2)
Package

easy-audio.wv.

Source

decode.lisp.

Function: correlation-pass/w-term--1 (residual delta weights &key decorr-samples)
Package

easy-audio.wv.

Source

decode.lisp.

Function: correlation-pass/w-term--2 (residual delta weights &key decorr-samples)
Package

easy-audio.wv.

Source

decode.lisp.

Function: correlation-pass/w-term--3 (residual delta weights &key decorr-samples)
Package

easy-audio.wv.

Source

decode.lisp.

Function: correlation-pass/w-term-17 (residual delta weight &key decorr-samples)
Package

easy-audio.wv.

Source

decode.lisp.

Function: correlation-pass/w-term-18 (residual delta weight &key decorr-samples)
Package

easy-audio.wv.

Source

decode.lisp.

Function: correlation-pass/w-term-i (residual delta weight term &key decorr-samples)
Package

easy-audio.wv.

Source

decode.lisp.

Function: cuesheet-index-p (object)
Package

easy-audio.flac.

Source

definitions.lisp.

Function: cuesheet-track-p (object)
Package

easy-audio.flac.

Source

definitions.lisp.

Function: dec-med (median amount)
Package

easy-audio.wv.

Source

wv-block.lisp.

Function: decode-residual (wv-block)
Package

easy-audio.wv.

Source

wv-block.lisp.

Function: decompose (buffer channel-buffers)
Package

easy-audio.wav.

Source

wav.lisp.

Reader: decorr-pass-delta (instance)
Writer: (setf decorr-pass-delta) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

delta.

Function: decorr-pass-p (object)
Package

easy-audio.wv.

Source

definitions.lisp.

Reader: decorr-pass-term (instance)
Writer: (setf decorr-pass-term) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

term.

Reader: decorr-pass-weight (instance)
Writer: (setf decorr-pass-weight) (instance)
Package

easy-audio.wv.

Source

definitions.lisp.

Target Slot

weight.

Function: dot-product (x y &key start1 start2)
Package

easy-audio.ape.

Source

decode.lisp.

Function: ensure-data-available (reader)

Checks if READER can be read without calling fill-buffer

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: entropy-promote-version (version &key channels)
Package

easy-audio.ape.

Source

frame.lisp.

Function: exp2s (val)
Package

easy-audio.wv.

Source

wavpack-reader.lisp.

Function: fill-buffer (reader)

Fills internal buffer of READER

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: fix-stream-position (bitreader metadata)

Set stream position to end of the malformed metadata block

Package

easy-audio.flac.

Source

flac.lisp.

Reader: frame-bps (instance)
Writer: (setf frame-bps) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

bps.

Reader: frame-buffer (instance)
Writer: (setf frame-buffer) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

buffer.

Reader: frame-crc (instance)
Writer: (setf frame-crc) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

crc.

Reader: frame-flags (instance)
Writer: (setf frame-flags) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

flags.

Reader: frame-fset (instance)
Writer: (setf frame-fset) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

fset.

Reader: frame-output (instance)
Writer: (setf frame-output) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

output.

Function: frame-p (object)
Package

easy-audio.ape.

Source

definitions.lisp.

Function: frame-start (metadata n)
Package

easy-audio.ape.

Source

ape.lisp.

Reader: frame-version (instance)
Writer: (setf frame-version) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

version.

Function: get-block-size (val &optional reader)
Package

easy-audio.flac.

Source

frame.lisp.

Function: get-blocking-strategy (val)
Package

easy-audio.flac.

Source

frame.lisp.

Function: get-channel-assignment (val)
Package

easy-audio.flac.

Source

frame.lisp.

Function: get-med (median)
Package

easy-audio.wv.

Source

wv-block.lisp.

Function: get-metadata-type (code)

Get metadata type by code

Package

easy-audio.flac.

Source

definitions.lisp.

Function: get-reader-position (reader)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: get-sample-rate (val &optional reader streaminfo)
Package

easy-audio.flac.

Source

frame.lisp.

Function: get-sample-size (val &optional streaminfo)
Package

easy-audio.flac.

Source

frame.lisp.

Reader: h/f-flags (instance)
Writer: (setf h/f-flags) (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Target Slot

flags.

Reader: h/f-items-count (instance)
Writer: (setf h/f-items-count) (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Target Slot

items-count.

Reader: h/f-preamble (instance)
Writer: (setf h/f-preamble) (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Target Slot

preamble.

Reader: h/f-reserved (instance)
Writer: (setf h/f-reserved) (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Target Slot

reserved.

Reader: h/f-size (instance)
Writer: (setf h/f-size) (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Target Slot

size.

Function: h/f-type (flags)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Reader: h/f-version (instance)
Writer: (setf h/f-version) (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Target Slot

version.

Function: has-footer (flags)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: has-header (flags)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: header/footer-p (object)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: inc-med (median amount)
Package

easy-audio.wv.

Source

wv-block.lisp.

Function: info-subchunk-key (type)
Package

easy-audio.wav.

Source

wav.lisp.

Function: int32-fixup (wv-block)

Do samples fixup if sample size is > 24 bits

Package

easy-audio.wv.

Source

decode.lisp.

Function: item-as-list (item)

Convert ITEM structure to user-friendly list representation in the form (key value :TYPE content-type :r/w is-item-writable).

Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Reader: item-flags (instance)
Writer: (setf item-flags) (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Target Slot

flags.

Reader: item-key (instance)
Writer: (setf item-key) (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Target Slot

key.

Function: item-p (object)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Reader: item-value (instance)
Writer: (setf item-value) (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Target Slot

value.

Reader: item-value-size (instance)
Writer: (setf item-value-size) (instance)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Target Slot

value-size.

Function: left-shift-amount (wv-block)
Package

easy-audio.wv.

Source

definitions.lisp.

Function: make-cuesheet-index (&key offset number)
Package

easy-audio.flac.

Source

definitions.lisp.

Function: make-cuesheet-track (&key offset number isrc type pre-emphasis indices)
Package

easy-audio.flac.

Source

definitions.lisp.

Function: make-decorr-pass (&key term delta weight)
Package

easy-audio.wv.

Source

definitions.lisp.

Function: make-frame (&key version fset samples bps flags buffer output crc)
Package

easy-audio.ape.

Source

definitions.lisp.

Function: make-header/footer (&key preamble version size items-count flags reserved)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: make-item (&key value-size flags key value)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: make-metadata (&key version padding1 desc-len header-len seektable-len wavheader-len audiodata-len audiodata-len-high wavtail-len header-md5 compression-type format-flags blocks-per-frame final-frame-blocks total-frames bps channels samplerate total-samples bittable seektable)
Package

easy-audio.ape.

Source

definitions.lisp.

Function: make-ogg-reader (&key ibit ibyte end buffer fill-buffer-fun stream is-continued bos eos granule-position stream-serial page-number segment-table will-be-continued reader-position)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: make-predictor-updater (history delay-a delay-b adapt-a adapt-b)
Package

easy-audio.ape.

Source

decode.lisp.

Function: make-range-coder (&key low range help buffer)
Package

easy-audio.ape.

Source

definitions.lisp.

Function: make-rice-state (&key k ksum)
Package

easy-audio.ape.

Source

definitions.lisp.

Function: make-seekpoint (&key samplenum offset samples-in-frame)
Package

easy-audio.flac.

Source

definitions.lisp.

Function: make-swapped-reader (reader)

This function generates a closure that read octets in strange reversed order observed in ffmpeg (as if they are part of little-endian values).

Package

easy-audio.ape.

Source

frame.lisp.

Function: make-wv-block (&key id size version track-number index-number total-samples block-index block-samples flags crc metadata decorr-passes decorr-samples entropy-median residual int32-info wvx-bits)
Package

easy-audio.wv.

Source

definitions.lisp.

Function: max-magnitude (wv-block)
Package

easy-audio.wv.

Source

definitions.lisp.

Reader: metadata-audiodata-len (instance)
Writer: (setf metadata-audiodata-len) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

audiodata-len.

Reader: metadata-audiodata-len-high (instance)
Writer: (setf metadata-audiodata-len-high) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

audiodata-len-high.

Reader: metadata-bittable (instance)
Writer: (setf metadata-bittable) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

bittable.

Reader: metadata-desc-len (instance)
Writer: (setf metadata-desc-len) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

desc-len.

Reader: metadata-format-flags (instance)
Writer: (setf metadata-format-flags) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

format-flags.

Reader: metadata-header-len (instance)
Writer: (setf metadata-header-len) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

header-len.

Reader: metadata-header-md5 (instance)
Writer: (setf metadata-header-md5) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

header-md5.

Function: metadata-p (object)
Package

easy-audio.ape.

Source

definitions.lisp.

Reader: metadata-padding1 (instance)
Writer: (setf metadata-padding1) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

padding1.

Function: metadata-promote-version (version)

Promote version to one suitable for call to READ-METADATA-HEADER

Package

easy-audio.ape.

Source

ape.lisp.

Reader: metadata-seektable (instance)
Writer: (setf metadata-seektable) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

seektable.

Reader: metadata-seektable-len (instance)
Writer: (setf metadata-seektable-len) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

seektable-len.

Reader: metadata-wavheader-len (instance)
Writer: (setf metadata-wavheader-len) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

wavheader-len.

Reader: metadata-wavtail-len (instance)
Writer: (setf metadata-wavtail-len) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

wavtail-len.

Function: mixchannels-2 (output channel1 channel2)
Package

easy-audio.core.

Source

core.lisp.

Function: mixchannels-n (out buffers)
Package

easy-audio.core.

Source

core.lisp.

Function: move-forward (reader &optional bits)

Moves position in READER bit reader in range [0; 8-ibit] BITS. Maximum value of ibit is 7. Does not check if ibit becomes out of range.

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: ogg-buffer (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: (setf ogg-buffer) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: ogg-end (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: (setf ogg-end) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: ogg-fill-buffer-fun (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: (setf ogg-fill-buffer-fun) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: ogg-ibit (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: (setf ogg-ibit) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: ogg-ibyte (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: (setf ogg-ibyte) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: ogg-reader-p (object)
Package

easy-audio.ogg.

Source

ogg.lisp.

Reader: ogg-reader-position (instance)
Writer: (setf ogg-reader-position) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Target Slot

reader-position.

Reader: ogg-segment-table (instance)
Writer: (setf ogg-segment-table) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Target Slot

segment-table.

Function: ogg-stream (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: (setf ogg-stream) (instance)
Package

easy-audio.ogg.

Source

ogg.lisp.

Function: predictor-promote-version (version)
Package

easy-audio.ape.

Source

decode.lisp.

Reader: range-coder-buffer (instance)
Writer: (setf range-coder-buffer) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

buffer.

Reader: range-coder-help (instance)
Writer: (setf range-coder-help) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

help.

Reader: range-coder-low (instance)
Writer: (setf range-coder-low) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

low.

Function: range-coder-p (object)
Package

easy-audio.ape.

Source

definitions.lisp.

Reader: range-coder-range (instance)
Writer: (setf range-coder-range) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

range.

Function: range-dec-normalize (reader range-coder)
Package

easy-audio.ape.

Source

frame.lisp.

Function: range-decode-bits (reader range-coder n)
Package

easy-audio.ape.

Source

frame.lisp.

Function: range-decode-culfreq (reader range-coder tot-f)
Package

easy-audio.ape.

Source

frame.lisp.

Function: range-decode-culshift (reader range-coder shift)
Package

easy-audio.ape.

Source

frame.lisp.

Function: range-decode-update (range-coder sy-f lt-f)
Package

easy-audio.ape.

Source

frame.lisp.

Function: range-get-symbol (reader range-coder counts counts-diff)
Package

easy-audio.ape.

Source

frame.lisp.

Function: read-32 (reader)
Package

easy-audio.ape.

Source

frame.lisp.

Function: read-bits-array (stream array size &key signed len offset)
Package

easy-audio.flac.

Source

flac-reader.lisp.

Function: read-block-and-fix (bitreader metadata)

Read malformed metadata block in RAWDATA slot (for debugging)

Package

easy-audio.flac.

Source

flac.lisp.

Function: read-buffer-dummy (reader)

Read internal buffer from stream

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: read-buffer-from-stream (reader)

Read internal buffer from stream

Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: read-code (reader maxvalue)
Package

easy-audio.wv.

Source

wavpack-reader.lisp.

Function: read-crc-and-flags (reader frame)
Package

easy-audio.ape.

Source

frame.lisp.

Function: read-cuesheet-index (stream)
Package

easy-audio.flac.

Source

metadata.lisp.

Function: read-cuesheet-string (stream length)
Package

easy-audio.flac.

Source

metadata.lisp.

Function: read-cuesheet-track (stream)
Package

easy-audio.flac.

Source

metadata.lisp.

Function: read-elias-code (reader)
Package

easy-audio.wv.

Source

wavpack-reader.lisp.

Function: read-extended-format (g1 &optional g0)
Package

easy-audio.wav.

Source

wav.lisp.

Function: read-format-subchunk (g1 &optional g0)
Package

easy-audio.wav.

Source

wav.lisp.

Function: read-frame% (reader metadata &key last-frame)
Package

easy-audio.ape.

Source

frame.lisp.

Function: read-header/footer (g1 &optional g0)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: read-item (reader)

Read APEv2 item from reader as an ITEM structure

Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: read-item% (g1 &optional g0)
Package

easy-audio.ape.

Source

ape-tags-v2.lisp.

Function: read-metadata (reader)
Package

easy-audio.wv.

Source

metadata.lisp.

Function: read-metadata% (g0 &optional metadata)
Package

easy-audio.wv.

Source

metadata.lisp.

Function: read-metadata-block (stream)

Read one metadata block from STREAM

Package

easy-audio.flac.

Source

metadata.lisp.

Function: read-metadata-header (stream)

Returns (values START-POSITION LAST-BLOCK-P TYPE LENGTH)

Package

easy-audio.flac.

Source

metadata.lisp.

Function: read-metadata-header/3980 (g0 &optional metadata)

Read header (version >= 3980)

Package

easy-audio.ape.

Source

ape.lisp.

Function: read-mono-frame (reader frame)
Package

easy-audio.ape.

Source

frame.lisp.

Function: read-ogg-segment-table (reader segments)

Read an OGG page segment table and return two values: lengths of packets on this page and a boolean value. If this value is T the last packet will be continued on the next page

Package

easy-audio.ogg.

Source

ogg.lisp.

Function: read-packet-pages (reader &optional previous-page-num pages)

Read n chunks of a packet where n is a number of pages the packet belongs to

Package

easy-audio.ogg.

Source

ogg.lisp.

Function: read-page-header (reader)

Read OGG page header

Package

easy-audio.ogg.

Source

ogg.lisp.

Function: read-residual (bit-reader subframe frame out)
Package

easy-audio.flac.

Source

frame.lisp.

Function: read-residual-body (bit-reader subframe frame out &key param-len esc-code)
Package

easy-audio.flac.

Source

frame.lisp.

Function: read-rice-signed (bitreader param)

Read signed rice-coded value

Package

easy-audio.flac.

Source

flac-reader.lisp.

Function: read-stereo-frame (reader frame)
Package

easy-audio.ape.

Source

frame.lisp.

Function: read-streaminfo-body (g1 &optional g0)
Package

easy-audio.flac.

Source

metadata.lisp.

Function: read-subframe (stream frame actual-bps)
Package

easy-audio.flac.

Source

frame.lisp.

Function: read-unary-coded-integer (bitreader &optional limit)

Read an unary coded integer from bitreader 1 bit is considered as arithmetical 1, 0 bit signals termination

Package

easy-audio.wv.

Source

wavpack-reader.lisp.

Function: read-utf8-u32 (stream)

for reading frame number copy from libFLAC

Package

easy-audio.flac.

Source

flac-reader.lisp.

Function: read-wv-block% (reader)
Package

easy-audio.wv.

Source

wv-block.lisp.

Function: read-wv-block%% (g1 &optional g0)
Package

easy-audio.wv.

Source

wv-block.lisp.

Function: read-wv-block-multichannel% (reader)
Package

easy-audio.wv.

Source

wv-blocks-multichannel.lisp.

Reader: reader-buffer (instance)
Writer: (setf reader-buffer) (instance)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Target Slot

buffer.

Reader: reader-end (instance)
Writer: (setf reader-end) (instance)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Target Slot

end.

Reader: reader-fill-buffer-fun (instance)
Writer: (setf reader-fill-buffer-fun) (instance)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Target Slot

fill-buffer-fun.

Function: reader-function-amount (symbol amount)
Package

easy-audio.bitreader.

Source

macros.lisp.

Reader: reader-ibit (instance)
Writer: (setf reader-ibit) (instance)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Target Slot

ibit.

Reader: reader-ibyte (instance)
Writer: (setf reader-ibyte) (instance)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Target Slot

ibyte.

Function: reader-p (object)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Reader: reader-stream (instance)
Writer: (setf reader-stream) (instance)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Target Slot

stream.

Function: residual-read-bit (reader)
Package

easy-audio.wv.

Source

wavpack-reader.lisp.

Function: residual-read-bits (bits reader)
Package

easy-audio.wv.

Source

wavpack-reader.lisp.

Function: restore-joint-stereo (residual-1 residual-2)
Package

easy-audio.wv.

Source

decode.lisp.

Function: restore-sync (bitreader &optional streaminfo)

Restores lost sync and returns number of frame to be read

Package

easy-audio.flac.

Source

flac-reader.lisp.

Reader: rice-state-k (instance)
Writer: (setf rice-state-k) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

k.

Reader: rice-state-ksum (instance)
Writer: (setf rice-state-ksum) (instance)
Package

easy-audio.ape.

Source

definitions.lisp.

Target Slot

ksum.

Function: rice-state-p (object)
Package

easy-audio.ape.

Source

definitions.lisp.

Function: seekpoint-p (object)
Package

easy-audio.flac.

Source

definitions.lisp.

Function: set-reader-position (reader pos)
Package

easy-audio.bitreader.

Source

bitreader.lisp.

Function: string=>code (string)
Package

easy-audio.wav.

Source

definitions.lisp.

Function: unsigned->signed (x bps)

Unsigned to signed converter

Package

easy-audio.wav.

Source

wav.lisp.

Function: unsigned-to-signed (byte len)
Package

easy-audio.flac.

Source

flac-reader.lisp.

Function: update-rice (rice-state x)
Package

easy-audio.ape.

Source

frame.lisp.

Function: update-weight (weight delta source result)
Package

easy-audio.wv.

Source

decode.lisp.

Function: update-weight-clip (weight delta source result)
Package

easy-audio.wv.

Source

decode.lisp.

Function: wv-block-p (object)
Package

easy-audio.wv.

Source

definitions.lisp.

Function: zeros (n &key type)
Package

easy-audio.ape.

Source

decode.lisp.


5.2.5 Generic functions

Generic Reader: bitreader-eof-bitreader (condition)
Package

easy-audio.bitreader.

Methods
Reader Method: bitreader-eof-bitreader ((condition bitreader-eof))
Source

bitreader.lisp.

Target Slot

bitreader.

Generic Function: chunk-sanity-checks (chunk)

Sanity checks for a chunk

Package

easy-audio.wav.

Source

definitions.lisp.

Methods
Method: chunk-sanity-checks ((chunk data-chunk))
Source

wav.lisp.

Method: chunk-sanity-checks ((chunk list-chunk))
Source

wav.lisp.

Method: chunk-sanity-checks ((chunk wave-chunk))
Source

wav.lisp.

Generic Function: entropy-decode (reader frame ape-version)

Read entropy buffer in a frame

Package

easy-audio.ape.

Source

definitions.lisp.

Methods
Method: entropy-decode (reader frame (version (eql 3990)))
Source

frame.lisp.

Generic Reader: flac-metadata (condition)
Package

easy-audio.flac.

Methods
Reader Method: flac-metadata ((condition flac-bad-metadata))
Source

definitions.lisp.

Target Slot

metadata.

Generic Reader: format-block-align (object)
Package

easy-audio.wav.

Methods
Reader Method: format-block-align ((format-subchunk format-subchunk))

automatically generated reader method

Source

definitions.lisp.

Target Slot

block-align.

Generic Writer: (setf format-block-align) (object)
Package

easy-audio.wav.

Methods
Writer Method: (setf format-block-align) ((format-subchunk format-subchunk))

automatically generated writer method

Source

definitions.lisp.

Target Slot

block-align.

Generic Reader: format-byte-rate (object)
Package

easy-audio.wav.

Methods
Reader Method: format-byte-rate ((format-subchunk format-subchunk))

automatically generated reader method

Source

definitions.lisp.

Target Slot

byte-rate.

Generic Writer: (setf format-byte-rate) (object)
Package

easy-audio.wav.

Methods
Writer Method: (setf format-byte-rate) ((format-subchunk format-subchunk))

automatically generated writer method

Source

definitions.lisp.

Target Slot

byte-rate.

Generic Reader: format-subformat (object)
Generic Writer: (setf format-subformat) (object)
Package

easy-audio.wav.

Methods
Reader Method: format-subformat ((format-subchunk format-subchunk))
Writer Method: (setf format-subformat) ((format-subchunk format-subchunk))

Extended audio format

Source

definitions.lisp.

Target Slot

subformat.

Generic Reader: metadata-actual-size (object)
Generic Writer: (setf metadata-actual-size) (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-actual-size ((metadata metadata))
Writer Method: (setf metadata-actual-size) ((metadata metadata))

Actual size of metadata. Can be size or size-1

Source

definitions.lisp.

Target Slot

actual-size.

Generic Reader: metadata-bits (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-bits ((metadata-wvx-bits metadata-wvx-bits))

automatically generated reader method

Source

definitions.lisp.

Target Slot

bits.

Generic Writer: (setf metadata-bits) (object)
Package

easy-audio.wv.

Methods
Writer Method: (setf metadata-bits) ((metadata-wvx-bits metadata-wvx-bits))

automatically generated writer method

Source

definitions.lisp.

Target Slot

bits.

Generic Reader: metadata-decorr-passes (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-decorr-passes ((metadata-decorr metadata-decorr))

automatically generated reader method

Source

definitions.lisp.

Target Slot

decorr-passes.

Generic Writer: (setf metadata-decorr-passes) (object)
Package

easy-audio.wv.

Methods
Writer Method: (setf metadata-decorr-passes) ((metadata-decorr metadata-decorr))

automatically generated writer method

Source

definitions.lisp.

Target Slot

decorr-passes.

Generic Reader: metadata-decorr-samples (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-decorr-samples ((metadata-decorr-samples metadata-decorr-samples))

automatically generated reader method

Source

definitions.lisp.

Target Slot

decorr-samples.

Generic Writer: (setf metadata-decorr-samples) (object)
Package

easy-audio.wv.

Methods
Writer Method: (setf metadata-decorr-samples) ((metadata-decorr-samples metadata-decorr-samples))

automatically generated writer method

Source

definitions.lisp.

Target Slot

decorr-samples.

Generic Reader: metadata-dups (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-dups ((metadata-int32-info metadata-int32-info))

automatically generated reader method

Source

definitions.lisp.

Target Slot

dups.

Generic Writer: (setf metadata-dups) (object)
Package

easy-audio.wv.

Methods
Writer Method: (setf metadata-dups) ((metadata-int32-info metadata-int32-info))

automatically generated writer method

Source

definitions.lisp.

Target Slot

dups.

Generic Reader: metadata-entropy-median (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-entropy-median ((metadata-entropy metadata-entropy))

automatically generated reader method

Source

definitions.lisp.

Target Slot

entropy-median.

Generic Writer: (setf metadata-entropy-median) (object)
Package

easy-audio.wv.

Methods
Writer Method: (setf metadata-entropy-median) ((metadata-entropy metadata-entropy))

automatically generated writer method

Source

definitions.lisp.

Target Slot

entropy-median.

Generic Reader: metadata-id (object)
Generic Writer: (setf metadata-id) (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-id ((metadata metadata))
Writer Method: (setf metadata-id) ((metadata metadata))

An ID number designating this metadata

Source

definitions.lisp.

Target Slot

id.

Generic Reader: metadata-last-block-p (object)
Generic Writer: (setf metadata-last-block-p) (object)
Package

easy-audio.flac.

Methods
Reader Method: metadata-last-block-p ((metadata-header metadata-header))
Writer Method: (setf metadata-last-block-p) ((metadata-header metadata-header))

T if this metadata block is the last in file

Source

definitions.lisp.

Target Slot

last-block-p.

Generic Reader: metadata-length (object)
Generic Writer: (setf metadata-length) (object)
Package

easy-audio.flac.

Methods
Reader Method: metadata-length ((metadata-header metadata-header))
Writer Method: (setf metadata-length) ((metadata-header metadata-header))

Length of this metadata block in bytes (with exclusion of header)

Source

definitions.lisp.

Target Slot

length.

Generic Reader: metadata-ones (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-ones ((metadata-int32-info metadata-int32-info))

automatically generated reader method

Source

definitions.lisp.

Target Slot

ones.

Generic Writer: (setf metadata-ones) (object)
Package

easy-audio.wv.

Methods
Writer Method: (setf metadata-ones) ((metadata-int32-info metadata-int32-info))

automatically generated writer method

Source

definitions.lisp.

Target Slot

ones.

Generic Reader: metadata-residual-reader (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-residual-reader ((metadata-residual metadata-residual))

automatically generated reader method

Source

definitions.lisp.

Target Slot

reader.

Generic Writer: (setf metadata-residual-reader) (object)
Package

easy-audio.wv.

Methods
Writer Method: (setf metadata-residual-reader) ((metadata-residual metadata-residual))

automatically generated writer method

Source

definitions.lisp.

Target Slot

reader.

Generic Reader: metadata-sent-bits (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-sent-bits ((metadata-int32-info metadata-int32-info))

automatically generated reader method

Source

definitions.lisp.

Target Slot

sent-bits.

Generic Writer: (setf metadata-sent-bits) (object)
Package

easy-audio.wv.

Methods
Writer Method: (setf metadata-sent-bits) ((metadata-int32-info metadata-int32-info))

automatically generated writer method

Source

definitions.lisp.

Target Slot

sent-bits.

Generic Reader: metadata-size (object)
Generic Writer: (setf metadata-size) (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-size ((metadata metadata))
Writer Method: (setf metadata-size) ((metadata metadata))

Size of this metadata on disk in bytes

Source

definitions.lisp.

Target Slot

size.

Generic Reader: metadata-start-position (object)
Generic Writer: (setf metadata-start-position) (object)
Package

easy-audio.flac.

Methods
Reader Method: metadata-start-position ((metadata-header metadata-header))
Writer Method: (setf metadata-start-position) ((metadata-header metadata-header))

Strart position of metadata block

Source

definitions.lisp.

Target Slot

start-position.

Generic Reader: metadata-zeros (object)
Package

easy-audio.wv.

Methods
Reader Method: metadata-zeros ((metadata-int32-info metadata-int32-info))

automatically generated reader method

Source

definitions.lisp.

Target Slot

zeros.

Generic Writer: (setf metadata-zeros) (object)
Package

easy-audio.wv.

Methods
Writer Method: (setf metadata-zeros) ((metadata-int32-info metadata-int32-info))

automatically generated writer method

Source

definitions.lisp.

Target Slot

zeros.

Generic Function: predictor-decode (frame ape-version channels)

Apply filters to entropy

Package

easy-audio.ape.

Source

definitions.lisp.

Methods
Method: predictor-decode (frame (version (eql 3950)) channels)
Source

decode.lisp.

Generic Function: predictor-update (frame ape-version channels)

Apply/Update predictor filters

Package

easy-audio.ape.

Source

definitions.lisp.

Methods
Method: predictor-update (frame (version (eql 3950)) (channels (eql :stereo)))
Source

decode.lisp.

Generic Function: re