IdEst |
|
ID3 Editing and Scripting Tool |
Sergey Poznyakoff |
Each ID3 tag consists of frames. As described above, IDv1 tags contain a fixed set of frames, whereas IDv2 tags can contain any number of this. The frame ID is a four-character name which identifies a frame.
There are frames that can appear only once in a tag, and there are
ones that can appear multiple times. These latter have some
additional fields which serve to discern between them. In
idest
parlance we call these fields frame qualifiers.
The number and semantics of qualifiers are frame-dependent. For
example, the ‘COMM’ (comment) frame contains two qualifiers:
language, which holds a three-letter code of the language the
comment is written in, and content descriptor, which holds
arbitrary string describing the comment.
There are two ways to address a frame: by its ID, and by its fully-qualified name. Addressing the frame by its ID retrieves all instances of that frame. A fully-qualified name, on the other hand, provides a way to retrieve a particular instance of the frame. A fully-qualified name consists of frame ID, followed by a colon and a list of qualifier values, delimited with colons. For example, the name ‘COMM:eng:my-comment’ will select the ‘COMM’ frame which has ‘eng’ in its language field and ‘my-comment’ in its content descriptor field. Any of qualifiers in a fully-qualified name can be omitted. Such an empty qualifier works as a wildcard, matching any value in the actual field. Thus, ‘COMM::my-comment’ selects the ‘COMM’ frames with content descriptor ‘my-comment’, no matter what their language.
To see all the frames along with their qualifiers and a short description, use the --list-frames (-L) option:
$ idest --list-frames COMM:lang:condesc Comments TALB Album/movie/show title TBPM BPM (beats per minute) TCOM Composer ...
The output it produces consists of two columns: the first one shows the frame ID and its qualifiers (if any). The second one contains a short description of this frame purpose.
To select one or several frames of interest, give their names as argument (a comma-separated list) to the --filter (-F) argument, e.g.:
$ idest --list --filter=COMM,TXXX COMM:lang:condesc Comments TXXX:descr User defined text information
The --filter option is a standard way to abridge
idest
operation to a subset of frames.
This document was generated on March 11, 2017 using makeinfo.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.