mirror of https://github.com/xiph/flac
571 lines
20 KiB
Plaintext
571 lines
20 KiB
Plaintext
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
|
|
|
|
<!-- Process this file with docbook-to-man to generate an nroff manual
|
|
page: `docbook-to-man manpage.sgml > manpage.1'. You may view
|
|
the manual page with: `docbook-to-man manpage.sgml | nroff -man |
|
|
less'. A typical entry in a Makefile or Makefile.am is:
|
|
|
|
manpage.1: manpage.sgml
|
|
docbook-to-man $< > $@
|
|
-->
|
|
|
|
<!-- This is based on an example constructed by Colin Watson
|
|
<email>cjwatson@debian.org</email>, based on a man page template
|
|
provided by Tom Christiansen <email>tchrist@jhereg.perl.com</email>
|
|
and a DocBook man page example by Craig Small
|
|
<email>csmall@debian.org</email>.
|
|
-->
|
|
|
|
<!-- Fill in the various UPPER CASE things here. -->
|
|
<!ENTITY manfirstname "<firstname>dann</firstname>">
|
|
<!ENTITY mansurname "<surname>frazier</surname>">
|
|
<!-- Please adjust the date whenever revising the manpage. -->
|
|
<!ENTITY mandate "<date>2006-11-14</date>">
|
|
<!-- SECTION should be 1-8, maybe with subsection. Other parameters are
|
|
allowed: see man(7), man(1). -->
|
|
<!ENTITY mansection "<manvolnum>1</manvolnum>">
|
|
<!ENTITY manemail "<email>dannf@debian.org</email>">
|
|
<!ENTITY manusername "dannf">
|
|
<!ENTITY manucpackage "<refentrytitle>METAFLAC</refentrytitle>">
|
|
<!ENTITY manpackage "metaflac">
|
|
]>
|
|
|
|
<refentry>
|
|
<refentryinfo>
|
|
<address>
|
|
&manemail;
|
|
</address>
|
|
<author>
|
|
&manfirstname;
|
|
&mansurname;
|
|
</author>
|
|
<copyright>
|
|
<year>2002,2003,2004,2005</year>
|
|
<holder>&manusername;</holder>
|
|
</copyright>
|
|
&mandate;
|
|
</refentryinfo>
|
|
<refmeta>
|
|
&manucpackage;
|
|
|
|
&mansection;
|
|
</refmeta>
|
|
<refnamediv>
|
|
<refname>&manpackage;</refname>
|
|
|
|
<refpurpose>
|
|
program to list, add, remove, or edit metadata in one or more FLAC files.
|
|
</refpurpose>
|
|
</refnamediv>
|
|
<refsynopsisdiv>
|
|
<cmdsynopsis>
|
|
<command>&manpackage;</command>
|
|
|
|
<group choice="opt"><arg><replaceable>options</replaceable></arg></group>
|
|
<group choice="opt">
|
|
<arg><replaceable>operations</replaceable></arg></group>
|
|
<arg rep="repeat" choice="req"><replaceable>FLACfile</replaceable></arg>
|
|
</cmdsynopsis>
|
|
</refsynopsisdiv>
|
|
<refsect1>
|
|
<title>DESCRIPTION</title>
|
|
|
|
<para>Use <command>&manpackage;</command> to list, add, remove, or edit
|
|
metadata in one or more FLAC files. You may perform one major operation,
|
|
or many shorthand operations at a time.</para>
|
|
|
|
</refsect1>
|
|
<refsect1>
|
|
<title>OPTIONS</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>--preserve-modtime</option></term>
|
|
<listitem>
|
|
<para>
|
|
Preserve the original modification time in spite of edits.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--with-filename</option></term>
|
|
<listitem>
|
|
<para>
|
|
Prefix each output line with the FLAC file name (the default if
|
|
more than one FLAC file is specified).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--no-filename</option></term>
|
|
<listitem>
|
|
<para>
|
|
Do not prefix each output line with the FLAC file name (the default
|
|
if only one FLAC file is specified).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--no-utf8-convert</option></term>
|
|
<listitem>
|
|
<para>
|
|
Do not convert tags from UTF-8 to local charset, or vice versa. This is
|
|
useful for scripts, and setting tags in situations where the locale is wrong.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--dont-use-padding</option></term>
|
|
<listitem>
|
|
<para>
|
|
By default metaflac tries to use padding where possible to avoid
|
|
rewriting the entire file if the metadata size changes. Use this
|
|
option to tell metaflac to not take advantage of padding this way.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
<refsect1>
|
|
<title>SHORTHAND OPERATIONS</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>--show-md5sum</option></term>
|
|
<listitem>
|
|
<para>
|
|
Show the MD5 signature from the STREAMINFO block.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--show-min-blocksize</option></term>
|
|
<listitem>
|
|
<para>
|
|
Show the minimum block size from the STREAMINFO block.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--show-max-blocksize</option></term>
|
|
<listitem>
|
|
<para>
|
|
Show the maximum block size from the STREAMINFO block.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--show-min-framesize</option></term>
|
|
<listitem>
|
|
<para>
|
|
Show the minimum frame size from the STREAMINFO block.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--show-max-framesize</option></term>
|
|
<listitem>
|
|
<para>
|
|
Show the maximum frame size from the STREAMINFO block.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--show-sample-rate</option></term>
|
|
<listitem>
|
|
<para>
|
|
Show the sample rate from the STREAMINFO block.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--show-channels</option></term>
|
|
<listitem>
|
|
<para>
|
|
Show the number of channels from the STREAMINFO block.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--show-bps</option></term>
|
|
<listitem>
|
|
<para>
|
|
Show the # of bits per sample from the STREAMINFO block.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--show-total-samples</option></term>
|
|
<listitem>
|
|
<para>
|
|
Show the total # of samples from the STREAMINFO block.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--show-vendor-tag</option></term>
|
|
<listitem>
|
|
<para>
|
|
Show the vendor string from the VORBIS_COMMENT block.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--show-tag=name</option></term>
|
|
<listitem>
|
|
<para>
|
|
Show all tags where the the field name matches 'name'.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--remove-tag=name</option></term>
|
|
<listitem>
|
|
<para>
|
|
Remove all tags whose field name is 'name'.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--remove-first-tag=name</option></term>
|
|
<listitem>
|
|
<para>
|
|
Remove first tag whose field name is 'name'.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--remove-all-tags</option></term>
|
|
<listitem>
|
|
<para>
|
|
Remove all tags, leaving only the vendor string.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--set-tag=field</option></term>
|
|
<listitem>
|
|
<para>
|
|
Add a tag. The field must comply with the
|
|
Vorbis comment spec, of the form "NAME=VALUE". If there is
|
|
currently no tag block, one will be created.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--set-tag-from-file=field</option></term>
|
|
<listitem>
|
|
<para>
|
|
Like --set-tag, except the VALUE is a filename whose
|
|
contents will be read verbatim to set the tag value.
|
|
Unless --no-utf8-convert is specified, the contents will be
|
|
converted to UTF-8 from the local charset. This can be used
|
|
to store a cuesheet in a tag (e.g.
|
|
--set-tag-from-file="CUESHEET=image.cue"). Do not try to
|
|
store binary data in tag fields! Use APPLICATION blocks for
|
|
that.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--import-tags-from=file</option></term>
|
|
<listitem>
|
|
<para>
|
|
Import tags from a file. Use '-' for stdin. Each
|
|
line should be of the form NAME=VALUE. Multi-line comments
|
|
are currently not supported. Specify --remove-all-tags and/or
|
|
--no-utf8-convert before --import-tags-from if necessary. If
|
|
FILE is '-' (stdin), only one FLAC file may be specified.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--export-tags-to=file</option></term>
|
|
<listitem>
|
|
<para>
|
|
Export tags to a file. Use '-' for stdout. Each
|
|
line will be of the form NAME=VALUE. Specify
|
|
--no-utf8-convert if necessary.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--import-cuesheet-from=file</option></term>
|
|
<listitem>
|
|
<para>
|
|
Import a cuesheet from a file. Use '-' for stdin. Only one
|
|
FLAC file may be specified. A seekpoint will be added for each
|
|
index point in the cuesheet to the SEEKTABLE unless
|
|
--no-cued-seekpoints is specified.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--export-cuesheet-to=file</option></term>
|
|
<listitem>
|
|
<para>
|
|
Export CUESHEET block to a cuesheet file, suitable for use by
|
|
CD authoring software. Use '-' for stdout. Only one FLAC file
|
|
may be specified on the command line.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--import-picture-from</option>={<replaceable>FILENAME</replaceable>|<replaceable>SPECIFICATION</replaceable>}</term>
|
|
<listitem>
|
|
<para>Import a picture and store it in a PICTURE metadata block. More than one --import-picture-from command can be specified. Either a filename for the picture file or a more complete specification form can be used. The SPECIFICATION is a string whose parts are separated by | (pipe) characters. Some parts may be left empty to invoke default values. FILENAME is just shorthand for "||||FILENAME". The format of SPECIFICATION is</para>
|
|
<para>[TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COLORS]]|FILE</para>
|
|
<para>TYPE is optional; it is a number from one of:</para>
|
|
<para>0: Other</para>
|
|
<para>1: 32x32 pixels 'file icon' (PNG only)</para>
|
|
<para>2: Other file icon</para>
|
|
<para>3: Cover (front)</para>
|
|
<para>4: Cover (back)</para>
|
|
<para>5: Leaflet page</para>
|
|
<para>6: Media (e.g. label side of CD)</para>
|
|
<para>7: Lead artist/lead performer/soloist</para>
|
|
<para>8: Artist/performer</para>
|
|
<para>9: Conductor</para>
|
|
<para>10: Band/Orchestra</para>
|
|
<para>11: Composer</para>
|
|
<para>12: Lyricist/text writer</para>
|
|
<para>13: Recording Location</para>
|
|
<para>14: During recording</para>
|
|
<para>15: During performance</para>
|
|
<para>16: Movie/video screen capture</para>
|
|
<para>17: A bright coloured fish</para>
|
|
<para>18: Illustration</para>
|
|
<para>19: Band/artist logotype</para>
|
|
<para>20: Publisher/Studio logotype</para>
|
|
<para>The default is 3 (front cover). There may only be one picture each of type 1 and 2 in a file.</para>
|
|
|
|
<para>MIME-TYPE is optional; if left blank, it will be detected from the file. For best compatibility with players, use pictures with MIME type image/jpeg or image/png. The MIME type can also be --> to mean that FILE is actually a URL to an image, though this use is discouraged.</para>
|
|
|
|
<para>DESCRIPTION is optional; the default is an empty string.</para>
|
|
|
|
<para>The next part specfies the resolution and color information. If the MIME-TYPE is image/jpeg, image/png, or image/gif, you can usually leave this empty and they can be detected from the file. Otherwise, you must specify the width in pixels, height in pixels, and color depth in bits-per-pixel. If the image has indexed colors you should also specify the number of colors used. When manually specified, it is not checked against the file for accuracy.</para>
|
|
|
|
<para>FILE is the path to the picture file to be imported, or the URL if MIME type is --></para>
|
|
|
|
<para>For example, "|image/jpeg|||../cover.jpg" will embed the JPEG file at ../cover.jpg, defaulting to type 3 (front cover) and an empty description. The resolution and color info will be retrieved from the file itself.</para>
|
|
|
|
<para>The specification "4|-->|CD|320x300x24/173|http://blah.blah/backcover.tiff" will embed the given URL, with type 4 (back cover), description "CD", and a manually specified resolution of 320x300, 24 bits-per-pixel, and 173 colors. The file at the URL will not be fetched; the URL itself is stored in the PICTURE metadata block.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--export-picture-to=file</option></term>
|
|
<listitem>
|
|
<para>
|
|
Export PICTURE block to a file. Use '-' for stdout. Only one FLAC file may be specified on the command line. The first PICTURE block will be exported unless --export-picture-to is preceded by a --block-number=# option to specify the exact metadata block to extract. Note that the block number is the one shown by --list.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--add-replay-gain</option></term>
|
|
<listitem>
|
|
<para>
|
|
Calculates the title and album gains/peaks of the given FLAC
|
|
files as if all the files were part of one album, then stores
|
|
them as FLAC tags. The tags are the same as
|
|
those used by vorbisgain. Existing ReplayGain tags will be
|
|
replaced. If only one FLAC file is given, the album and title
|
|
gains will be the same. Since this operation requires two
|
|
passes, it is always executed last, after all other operations
|
|
have been completed and written to disk. All FLAC files
|
|
specified must have the same resolution, sample rate, and
|
|
number of channels. The sample rate must be one of 8, 11.025,
|
|
12, 16, 22.05, 24, 32, 44.1, or 48 kHz.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--remove-replay-gain</option></term>
|
|
<listitem>
|
|
<para>
|
|
Removes the ReplayGain tags.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--add-seekpoint</option>={<replaceable>#</replaceable>|<replaceable>X</replaceable>|<replaceable>#x</replaceable>|<replaceable>#s</replaceable>}</term>
|
|
<listitem>
|
|
<para>
|
|
Add seek points to a SEEKTABLE block. Using #, a seek point at
|
|
that sample number is added. Using X, a placeholder point is
|
|
added at the end of a the table. Using #x, # evenly spaced seek
|
|
points will be added, the first being at sample 0. Using #s, a
|
|
seekpoint will be added every # seconds (# does not have to be a
|
|
whole number; it can be, for example, 9.5, meaning a seekpoint
|
|
every 9.5 seconds). If no SEEKTABLE block exists, one will be
|
|
created. If one already exists, points will be added to the
|
|
existing table, and any duplicates will be turned into placeholder
|
|
points. You may use many --add-seekpoint options; the resulting
|
|
SEEKTABLE will be the unique-ified union of all such values.
|
|
Example: --add-seekpoint=100x --add-seekpoint=3.5s will add 100
|
|
evenly spaced seekpoints and a seekpoint every 3.5 seconds.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--add-padding=length</option></term>
|
|
<listitem>
|
|
<para>
|
|
Add a padding block of the given length (in bytes). The overall
|
|
length of the new block will be 4 + length; the extra 4 bytes is
|
|
for the metadata block header.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
<refsect1>
|
|
<title>MAJOR OPERATIONS</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>--list</option></term>
|
|
<listitem>
|
|
<para>
|
|
List the contents of one or more metadata blocks to stdout. By
|
|
default, all metadata blocks are listed in text format. Use the
|
|
following options to change this behavior:
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>--block-number=#[,#[...]]</option></term>
|
|
<listitem>
|
|
<para>
|
|
An optional comma-separated list of block numbers to display.
|
|
The first block, the STREAMINFO block, is block 0.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--block-type=type[,type[...]]</option></term>
|
|
<listitem><para></para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--except-block-type=type[,type[...]]</option></term>
|
|
<listitem>
|
|
<para>
|
|
An optional comma-separated list of block types to be included
|
|
or ignored with this option. Use only one of --block-type or
|
|
--except-block-type. The valid block types are: STREAMINFO,
|
|
PADDING, APPLICATION, SEEKTABLE, VORBIS_COMMENT. You may
|
|
narrow down the types of APPLICATION blocks displayed as
|
|
follows:
|
|
</para>
|
|
<para>
|
|
APPLICATION:abcd The APPLICATION block(s) whose textual repre-
|
|
sentation of the 4-byte ID is "abcd"
|
|
APPLICATION:0xXXXXXXXX The APPLICATION block(s) whose hexadecimal big-
|
|
endian representation of the 4-byte ID is
|
|
"0xXXXXXXXX". For the example "abcd" above the
|
|
hexadecimal equivalalent is 0x61626364
|
|
</para>
|
|
<note>
|
|
<para>
|
|
if both --block-number and --[except-]block-type are
|
|
specified, the result is the logical AND of both
|
|
arguments.</para></note>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--application-data-format=hexdump|text</option></term>
|
|
<listitem>
|
|
<para>
|
|
If the application block you are displaying contains binary
|
|
data but your --data-format=text, you can display a hex dump
|
|
of the application data contents instead using
|
|
--application-data-format=hexdump.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--remove</option></term>
|
|
<listitem>
|
|
<para>
|
|
Remove one or more metadata blocks from the metadata. Unless
|
|
--dont-use-padding is specified, the blocks will be replaced with
|
|
padding. You may not remove the STREAMINFO block.
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>--block-number=#[,#[...]]</option></term>
|
|
<listitem><para></para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--block-type=type[,type[...]]</option></term>
|
|
<listitem><para></para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--except-block-type=type[,type[...]]</option></term>
|
|
<listitem>
|
|
<para>See --list above for usage.</para>
|
|
<note>
|
|
<para>
|
|
if both --block-number and --[except-]block-type are
|
|
specified, the result is the logical AND of both arguments.
|
|
</para></note>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--remove-all</option></term>
|
|
<listitem>
|
|
<para>
|
|
Remove all metadata blocks (except the STREAMINFO block) from the
|
|
metadata. Unless --dont-use-padding is specified, the blocks will
|
|
be replaced with padding.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--merge-padding</option></term>
|
|
<listitem>
|
|
<para>
|
|
Merge adjacent PADDING blocks into single blocks.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--sort-padding</option></term>
|
|
<listitem>
|
|
<para>
|
|
Move all PADDING blocks to the end of the metadata and merge them
|
|
into a single block.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>SEE ALSO</title>
|
|
|
|
<para>flac(1).</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:2
|
|
sgml-indent-data:t
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:nil
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
-->
|