The id3v2 Reference Manual

This is the id3v2 Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:45:19 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 id3v2

ID3v2 parser

Author

Eitaro Fukamachi

License

BSD 2-Clause

Long Description

# id3v2 - ID3v2 parser

## Usage

“‘common-lisp
(id3v2:read-mp3-file #P"Music/ピノキオP/ありふれたせかいせいふく.mp3")
;=> #S(ID3V2.MP3:MP3
; :HEADER #S(ID3V2:ID3V2-HEADER :VERSION 4 :REVISION 0 :FLAGS 0 :SIZE 202227) ; :NAME "ありふれたせかいせいふく"
; :ARTIST "ピノキオP Feat. 初音ミク"
; :ALBUM "Obscure Questions"
; :YEAR "2012"
; :TRACK NIL
; :DISC NIL
; :GENRE "Electronica"
; :LENGTH NIL
; :COMMENTS NIL)
“‘

## Author

* Eitaro Fukamachi (e.arrows@gmail.com)

## Copyright

Copyright (c) 2015 Eitaro Fukamachi (e.arrows@gmail.com)

## License

Licensed under the BSD 2-Clause License.

Version

0.1

Dependencies
  • trivial-gray-streams (system).
  • babel (system).
Source

id3v2.asd.

Child Component

src (module).


3 Modules

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


3.1 id3v2/src

Source

id3v2.asd.

Parent Component

id3v2 (system).

Child Components

4 Files

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


4.1 Lisp


4.1.1 id3v2/id3v2.asd

Source

id3v2.asd.

Parent Component

id3v2 (system).

ASDF Systems

id3v2.

Packages

id3v2-asd.


4.1.2 id3v2/src/id3v2.lisp

Dependencies
Source

id3v2.asd.

Parent Component

src (module).

Packages

id3v2.

Public Interface
Internals

4.1.3 id3v2/src/id3v22.lisp

Dependencies
Source

id3v2.asd.

Parent Component

src (module).

Packages

id3v2.2.

Public Interface

parse-id3v22 (function).


4.1.4 id3v2/src/id3v23.lisp

Dependencies
Source

id3v2.asd.

Parent Component

src (module).

Packages

id3v2.3.

Public Interface

parse-id3v23 (function).


4.1.5 id3v2/src/id3v24.lisp

Dependencies
Source

id3v2.asd.

Parent Component

src (module).

Packages

id3v2.4.

Public Interface

parse-id3v24 (function).


4.1.6 id3v2/src/limit-stream.lisp

Source

id3v2.asd.

Parent Component

src (module).

Packages

id3v2.limit-stream.

Public Interface
Internals

4.1.7 id3v2/src/mp3.lisp

Source

id3v2.asd.

Parent Component

src (module).

Packages

id3v2.mp3.

Public Interface
Internals

4.1.8 id3v2/src/util.lisp

Source

id3v2.asd.

Parent Component

src (module).

Packages

id3v2.util.

Public Interface

5 Packages

Packages are listed by definition order.


5.1 id3v2

Source

id3v2.lisp.

Use List
Public Interface
Internals

5.2 id3v2.3

Source

id3v23.lisp.

Use List
Used By List

id3v2.

Public Interface

parse-id3v23 (function).


5.3 id3v2-asd

Source

id3v2.asd.

Use List
  • asdf/interface.
  • common-lisp.

5.4 id3v2.2

Source

id3v22.lisp.

Use List
Used By List

id3v2.

Public Interface

parse-id3v22 (function).


5.5 id3v2.4

Source

id3v24.lisp.

Use List
Used By List

id3v2.

Public Interface

parse-id3v24 (function).


5.6 id3v2.limit-stream

Source

limit-stream.lisp.

Use List

common-lisp.

Used By List

id3v2.

Public Interface
Internals

5.7 id3v2.util

Source

util.lisp.

Use List

common-lisp.

Used By List
Public Interface

5.8 id3v2.mp3

Source

mp3.lisp.

Use List

common-lisp.

Used By List
Public Interface
Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Ordinary functions

Reader: id3v2-header-flags (instance)
Writer: (setf id3v2-header-flags) (instance)
Package

id3v2.

Source

id3v2.lisp.

Target Slot

flags.

Reader: id3v2-header-revision (instance)
Writer: (setf id3v2-header-revision) (instance)
Package

id3v2.

Source

id3v2.lisp.

Target Slot

revision.

Reader: id3v2-header-size (instance)
Writer: (setf id3v2-header-size) (instance)
Package

id3v2.

Source

id3v2.lisp.

Target Slot

size.

Reader: id3v2-header-version (instance)
Writer: (setf id3v2-header-version) (instance)
Package

id3v2.

Source

id3v2.lisp.

Target Slot

version.

Function: make-limit-stream (stream limit)
Package

id3v2.limit-stream.

Source

limit-stream.lisp.

Function: make-mp3 (&key header name artist album year track disc genre length comments)
Package

id3v2.mp3.

Source

mp3.lisp.

Reader: mp3-album (instance)
Writer: (setf mp3-album) (instance)
Package

id3v2.mp3.

Source

mp3.lisp.

Target Slot

album.

Reader: mp3-artist (instance)
Writer: (setf mp3-artist) (instance)
Package

id3v2.mp3.

Source

mp3.lisp.

Target Slot

artist.

Reader: mp3-comments (instance)
Writer: (setf mp3-comments) (instance)
Package

id3v2.mp3.

Source

mp3.lisp.

Target Slot

comments.

Reader: mp3-disc (instance)
Writer: (setf mp3-disc) (instance)
Package

id3v2.mp3.

Source

mp3.lisp.

Target Slot

disc.

Reader: mp3-genre (instance)
Writer: (setf mp3-genre) (instance)
Package

id3v2.mp3.

Source

mp3.lisp.

Target Slot

genre.

Reader: mp3-header (instance)
Writer: (setf mp3-header) (instance)
Package

id3v2.mp3.

Source

mp3.lisp.

Target Slot

header.

Reader: mp3-length (instance)
Writer: (setf mp3-length) (instance)
Package

id3v2.mp3.

Source

mp3.lisp.

Target Slot

length.

Reader: mp3-name (instance)
Writer: (setf mp3-name) (instance)
Package

id3v2.mp3.

Source

mp3.lisp.

Target Slot

name.

Reader: mp3-track (instance)
Writer: (setf mp3-track) (instance)
Package

id3v2.mp3.

Source

mp3.lisp.

Target Slot

track.

Reader: mp3-year (instance)
Writer: (setf mp3-year) (instance)
Package

id3v2.mp3.

Source

mp3.lisp.

Target Slot

year.

Function: parse-id3v22 (file stream)
Package

id3v2.2.

Source

id3v22.lisp.

Function: parse-id3v23 (file stream)
Package

id3v2.3.

Source

id3v23.lisp.

Function: parse-id3v24 (file stream)
Package

id3v2.4.

Source

id3v24.lisp.

Function: read-comment-string (stream size)
Package

id3v2.util.

Source

util.lisp.

Function: read-frame-size (stream &optional count)
Package

id3v2.util.

Source

util.lisp.

Function: read-id (stream &optional count)
Package

id3v2.util.

Source

util.lisp.

Function: read-mp3-file (path)
Package

id3v2.

Source

id3v2.lisp.

Function: read-string (stream size)
Package

id3v2.util.

Source

util.lisp.

Function: skip-bytes (stream size)
Package

id3v2.util.

Source

util.lisp.


6.1.2 Standalone methods

Method: stream-element-type ((stream limit-stream))
Source

limit-stream.lisp.

Method: stream-read-byte ((stream limit-stream))
Package

sb-gray.

Source

limit-stream.lisp.

Method: stream-read-sequence ((stream limit-stream) sequence start end &key)
Package

trivial-gray-streams.

Source

limit-stream.lisp.


6.1.3 Structures

Structure: id3v2-header
Package

id3v2.

Source

id3v2.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: version
Readers

id3v2-header-version.

Writers

(setf id3v2-header-version).

Slot: revision
Readers

id3v2-header-revision.

Writers

(setf id3v2-header-revision).

Slot: flags
Readers

id3v2-header-flags.

Writers

(setf id3v2-header-flags).

Slot: size
Readers

id3v2-header-size.

Writers

(setf id3v2-header-size).

Structure: mp3
Package

id3v2.mp3.

Source

mp3.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: header
Readers

mp3-header.

Writers

(setf mp3-header).

Slot: name
Readers

mp3-name.

Writers

(setf mp3-name).

Slot: artist
Readers

mp3-artist.

Writers

(setf mp3-artist).

Slot: album
Readers

mp3-album.

Writers

(setf mp3-album).

Slot: year
Readers

mp3-year.

Writers

(setf mp3-year).

Slot: track
Readers

mp3-track.

Writers

(setf mp3-track).

Slot: disc
Readers

mp3-disc.

Writers

(setf mp3-disc).

Slot: genre
Readers

mp3-genre.

Writers

(setf mp3-genre).

Slot: length
Package

common-lisp.

Readers

mp3-length.

Writers

(setf mp3-length).

Slot: comments
Readers

mp3-comments.

Writers

(setf mp3-comments).


6.1.4 Classes

Class: limit-stream
Package

id3v2.limit-stream.

Source

limit-stream.lisp.

Direct superclasses

fundamental-binary-input-stream.

Direct methods
Direct slots
Slot: real-stream
Type

stream

Initform

(error ":stream is required")

Initargs

:stream

Readers

limit-stream-real-stream.

Writers

(setf limit-stream-real-stream).

Slot: readable-bytes
Type

integer

Initform

(error ":limit is required")

Initargs

:limit


6.2 Internals


6.2.1 Ordinary functions

Function: copy-id3v2-header (instance)
Package

id3v2.

Source

id3v2.lisp.

Function: copy-mp3 (instance)
Package

id3v2.mp3.

Source

mp3.lisp.

Function: has-id3-tag-p (stream)
Package

id3v2.

Source

id3v2.lisp.

Function: id3v2-header-p (object)
Package

id3v2.

Source

id3v2.lisp.

Function: make-id3v2-header (&key version revision flags size)
Package

id3v2.

Source

id3v2.lisp.

Function: mp3-p (object)
Package

id3v2.mp3.

Source

mp3.lisp.

Function: read-id3v2-header (stream)
Package

id3v2.

Source

id3v2.lisp.


6.2.2 Generic functions

Generic Reader: limit-stream-real-stream (object)
Package

id3v2.limit-stream.

Methods
Reader Method: limit-stream-real-stream ((limit-stream limit-stream))

automatically generated reader method

Source

limit-stream.lisp.

Target Slot

real-stream.

Generic Writer: (setf limit-stream-real-stream) (object)
Package

id3v2.limit-stream.

Methods
Writer Method: (setf limit-stream-real-stream) ((limit-stream limit-stream))

automatically generated writer method

Source

limit-stream.lisp.

Target Slot

real-stream.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
C   F   G   H   I   L   M   P   R   S  
Index Entry  Section

(
(setf id3v2-header-flags): Public ordinary functions
(setf id3v2-header-revision): Public ordinary functions
(setf id3v2-header-size): Public ordinary functions
(setf id3v2-header-version): Public ordinary functions
(setf limit-stream-real-stream): Private generic functions
(setf limit-stream-real-stream): Private generic functions
(setf mp3-album): Public ordinary functions
(setf mp3-artist): Public ordinary functions
(setf mp3-comments): Public ordinary functions
(setf mp3-disc): Public ordinary functions
(setf mp3-genre): Public ordinary functions
(setf mp3-header): Public ordinary functions
(setf mp3-length): Public ordinary functions
(setf mp3-name): Public ordinary functions
(setf mp3-track): Public ordinary functions
(setf mp3-year): Public ordinary functions

C
copy-id3v2-header: Private ordinary functions
copy-mp3: Private ordinary functions

F
Function, (setf id3v2-header-flags): Public ordinary functions
Function, (setf id3v2-header-revision): Public ordinary functions
Function, (setf id3v2-header-size): Public ordinary functions
Function, (setf id3v2-header-version): Public ordinary functions
Function, (setf mp3-album): Public ordinary functions
Function, (setf mp3-artist): Public ordinary functions
Function, (setf mp3-comments): Public ordinary functions
Function, (setf mp3-disc): Public ordinary functions
Function, (setf mp3-genre): Public ordinary functions
Function, (setf mp3-header): Public ordinary functions
Function, (setf mp3-length): Public ordinary functions
Function, (setf mp3-name): Public ordinary functions
Function, (setf mp3-track): Public ordinary functions
Function, (setf mp3-year): Public ordinary functions
Function, copy-id3v2-header: Private ordinary functions
Function, copy-mp3: Private ordinary functions
Function, has-id3-tag-p: Private ordinary functions
Function, id3v2-header-flags: Public ordinary functions
Function, id3v2-header-p: Private ordinary functions
Function, id3v2-header-revision: Public ordinary functions
Function, id3v2-header-size: Public ordinary functions
Function, id3v2-header-version: Public ordinary functions
Function, make-id3v2-header: Private ordinary functions
Function, make-limit-stream: Public ordinary functions
Function, make-mp3: Public ordinary functions
Function, mp3-album: Public ordinary functions
Function, mp3-artist: Public ordinary functions
Function, mp3-comments: Public ordinary functions
Function, mp3-disc: Public ordinary functions
Function, mp3-genre: Public ordinary functions
Function, mp3-header: Public ordinary functions
Function, mp3-length: Public ordinary functions
Function, mp3-name: Public ordinary functions
Function, mp3-p: Private ordinary functions
Function, mp3-track: Public ordinary functions
Function, mp3-year: Public ordinary functions
Function, parse-id3v22: Public ordinary functions
Function, parse-id3v23: Public ordinary functions
Function, parse-id3v24: Public ordinary functions
Function, read-comment-string: Public ordinary functions
Function, read-frame-size: Public ordinary functions
Function, read-id: Public ordinary functions
Function, read-id3v2-header: Private ordinary functions
Function, read-mp3-file: Public ordinary functions
Function, read-string: Public ordinary functions
Function, skip-bytes: Public ordinary functions

G
Generic Function, (setf limit-stream-real-stream): Private generic functions
Generic Function, limit-stream-real-stream: Private generic functions

H
has-id3-tag-p: Private ordinary functions

I
id3v2-header-flags: Public ordinary functions
id3v2-header-p: Private ordinary functions
id3v2-header-revision: Public ordinary functions
id3v2-header-size: Public ordinary functions
id3v2-header-version: Public ordinary functions

L
limit-stream-real-stream: Private generic functions
limit-stream-real-stream: Private generic functions

M
make-id3v2-header: Private ordinary functions
make-limit-stream: Public ordinary functions
make-mp3: Public ordinary functions
Method, (setf limit-stream-real-stream): Private generic functions
Method, limit-stream-real-stream: Private generic functions
Method, stream-element-type: Public standalone methods
Method, stream-read-byte: Public standalone methods
Method, stream-read-sequence: Public standalone methods
mp3-album: Public ordinary functions
mp3-artist: Public ordinary functions
mp3-comments: Public ordinary functions
mp3-disc: Public ordinary functions
mp3-genre: Public ordinary functions
mp3-header: Public ordinary functions
mp3-length: Public ordinary functions
mp3-name: Public ordinary functions
mp3-p: Private ordinary functions
mp3-track: Public ordinary functions
mp3-year: Public ordinary functions

P
parse-id3v22: Public ordinary functions
parse-id3v23: Public ordinary functions
parse-id3v24: Public ordinary functions

R
read-comment-string: Public ordinary functions
read-frame-size: Public ordinary functions
read-id: Public ordinary functions
read-id3v2-header: Private ordinary functions
read-mp3-file: Public ordinary functions
read-string: Public ordinary functions

S
skip-bytes: Public ordinary functions
stream-element-type: Public standalone methods
stream-read-byte: Public standalone methods
stream-read-sequence: Public standalone methods


A.4 Data types

Jump to:   C   F   I   L   M   P   S   U  
Index Entry  Section

C
Class, limit-stream: Public classes

F
File, id3v2.asd: The id3v2/id3v2․asd file
File, id3v2.lisp: The id3v2/src/id3v2․lisp file
File, id3v22.lisp: The id3v2/src/id3v22․lisp file
File, id3v23.lisp: The id3v2/src/id3v23․lisp file
File, id3v24.lisp: The id3v2/src/id3v24․lisp file
File, limit-stream.lisp: The id3v2/src/limit-stream․lisp file
File, mp3.lisp: The id3v2/src/mp3․lisp file
File, util.lisp: The id3v2/src/util․lisp file

I
id3v2: The id3v2 system
id3v2: The id3v2 package
id3v2-asd: The id3v2-asd package
id3v2-header: Public structures
id3v2.2: The id3v2․2 package
id3v2.3: The id3v2․3 package
id3v2.4: The id3v2․4 package
id3v2.asd: The id3v2/id3v2․asd file
id3v2.limit-stream: The id3v2․limit-stream package
id3v2.lisp: The id3v2/src/id3v2․lisp file
id3v2.mp3: The id3v2․mp3 package
id3v2.util: The id3v2․util package
id3v22.lisp: The id3v2/src/id3v22․lisp file
id3v23.lisp: The id3v2/src/id3v23․lisp file
id3v24.lisp: The id3v2/src/id3v24․lisp file

L
limit-stream: Public classes
limit-stream.lisp: The id3v2/src/limit-stream․lisp file

M
Module, src: The id3v2/src module
mp3: Public structures
mp3.lisp: The id3v2/src/mp3․lisp file

P
Package, id3v2: The id3v2 package
Package, id3v2-asd: The id3v2-asd package
Package, id3v2.2: The id3v2․2 package
Package, id3v2.3: The id3v2․3 package
Package, id3v2.4: The id3v2․4 package
Package, id3v2.limit-stream: The id3v2․limit-stream package
Package, id3v2.mp3: The id3v2․mp3 package
Package, id3v2.util: The id3v2․util package

S
src: The id3v2/src module
Structure, id3v2-header: Public structures
Structure, mp3: Public structures
System, id3v2: The id3v2 system

U
util.lisp: The id3v2/src/util․lisp file