2018-11-22 03:41:55 +01:00
|
|
|
|
.TH opustags 1 "November 2018" "@PROJECT_NAME@ @PROJECT_VERSION@"
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.SH NAME
|
|
|
|
|
opustags \- Opus comment editor
|
|
|
|
|
.SH SYNOPSIS
|
|
|
|
|
.B opustags --help
|
|
|
|
|
.br
|
|
|
|
|
.B opustags
|
|
|
|
|
.RI [ OPTIONS ]
|
|
|
|
|
.I INPUT
|
|
|
|
|
.br
|
|
|
|
|
.B opustags
|
|
|
|
|
.I OPTIONS
|
|
|
|
|
.B -o
|
|
|
|
|
.I OUTPUT INPUT
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
|
.PP
|
|
|
|
|
\fBopustags\fP can read and edit the comment header of an Opus file.
|
2018-11-22 03:40:08 +01:00
|
|
|
|
It basically has two modes: read-only, and read-write for tag edition.
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.PP
|
|
|
|
|
In read-only mode, only the beginning of \fIINPUT\fP is read, and the tags are
|
2018-11-22 03:40:08 +01:00
|
|
|
|
printed on standard output.
|
|
|
|
|
\fIINPUT\fP can either be the name of a file or \fB-\fP to read from standard input.
|
2013-01-01 22:28:43 +01:00
|
|
|
|
You can use the options below to edit the tags before printing them.
|
|
|
|
|
This could be useful to preview some changes before writing them.
|
|
|
|
|
.PP
|
2018-11-22 03:40:08 +01:00
|
|
|
|
In edition mode, you need to specify an output file (or \fB-\fP for standard output). It must be
|
|
|
|
|
different from the input file. To overwrite the input file, use \fB--in-place\fP.
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.PP
|
2018-11-22 03:40:08 +01:00
|
|
|
|
Tag edition can be performed with the \fB--add\fP, \fB--delete\fP and \fB--set\fP
|
|
|
|
|
options. Options can be specified in any order and don’t conflict with each other.
|
|
|
|
|
First the specified tags are deleted, then the new tags are added.
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.PP
|
2018-11-22 03:40:08 +01:00
|
|
|
|
You can delete all the tags with \fB--delete-all\fP. This operation can be combined with \fB--add\fP
|
|
|
|
|
to set new tags without being bothered by the old ones.
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.PP
|
2018-11-22 03:40:08 +01:00
|
|
|
|
If you want to replace all the tags, you can use the \fB--set-all\fP option which will cause
|
|
|
|
|
\fBopustags\fP to read tags from standard input.
|
|
|
|
|
The format is the same as the one used for output: newline-separated \fIFIELD=Value\fP assignment.
|
|
|
|
|
All the previously existing tags as deleted.
|
2013-01-01 22:41:47 +01:00
|
|
|
|
.PP
|
|
|
|
|
\fBWarning:\fP the Opus format specifications requires tags to be encoded in
|
|
|
|
|
\fBUTF-8\fP. This tool ignores the system locale, assuming the encoding is
|
|
|
|
|
set to UTF-8, and assume that tags are already encoded in UTF-8.
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.SH OPTIONS
|
|
|
|
|
.TP
|
|
|
|
|
.B \-h, \-\-help
|
|
|
|
|
Display a brief description of the options.
|
|
|
|
|
.TP
|
|
|
|
|
.B \-o, \-\-output \fIFILE\fI
|
2018-11-22 03:40:08 +01:00
|
|
|
|
Specify the output file.
|
|
|
|
|
The input file will be read, its tags edited, then written to the specified output file. If
|
|
|
|
|
\fIFILE\fP is \fB-\fP then the resulting Opus file will be written to standard output.
|
|
|
|
|
The output file can’t be the same as the input file.
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.TP
|
2018-11-25 02:02:24 +01:00
|
|
|
|
.B \-i, \-\-in-place\fR[=\fP\fISUFFIX\fP\fR]\fP
|
2018-11-22 03:40:08 +01:00
|
|
|
|
Use this when you want to modify the input file in-place. opustags will create a temporary output
|
|
|
|
|
file with the specified suffix (.otmp by default), and move it to the location of the input file on
|
|
|
|
|
success. If a file with the same name as the temporary file already exists, it will be overwritten
|
|
|
|
|
without warning.
|
|
|
|
|
This option conflicts with \fB--output\fP.
|
2013-01-02 10:59:43 +01:00
|
|
|
|
.TP
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.B \-y, \-\-overwrite
|
|
|
|
|
By default, \fBopustags\fP refuses to overwrite an already existent file. Use
|
2018-11-22 03:40:08 +01:00
|
|
|
|
this option to allow that.
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.TP
|
|
|
|
|
.B \-d, \-\-delete \fIFIELD\fP
|
2018-11-22 03:40:08 +01:00
|
|
|
|
Delete all the tags whose field name is \fIFIELD\fP. They may be several one of them, though usually
|
|
|
|
|
there is only one of each type.
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.TP
|
|
|
|
|
.B \-a, \-\-add \fIFIELD=VALUE\fP
|
2018-11-22 03:40:08 +01:00
|
|
|
|
Add a tag. Note that multiple tags with the same field name are perfectly acceptable, so you can add
|
|
|
|
|
multiple fields with the same name, and previously existing tags will also be preserved.
|
|
|
|
|
When the \fB--delete\fP is used with the same \fIFIELD\fP, only the older tags are deleted.
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.TP
|
|
|
|
|
.B \-s, \-\-set \fIFIELD=VALUE\fP
|
|
|
|
|
This option is provided for convenience. It delete all the fields of the same
|
|
|
|
|
type that may already exist, then adds it with the wanted value.
|
|
|
|
|
This is strictly equivalent to \fB--delete\fP \fIFIELD\fP \fB--add\fP
|
|
|
|
|
\fIFIELD=VALUE\fP. You can combine it with \fB--add\fP to add tags of the same
|
|
|
|
|
type. As deletion occurs before adding, \fB--set\fP won’t erase the tags
|
|
|
|
|
added with \fB--add\fP.
|
|
|
|
|
.TP
|
|
|
|
|
.B \-D, \-\-delete-all
|
2018-11-22 03:40:08 +01:00
|
|
|
|
Delete all the previously existing tags.
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.TP
|
|
|
|
|
.B \-S, \-\-set-all
|
2018-11-22 03:40:08 +01:00
|
|
|
|
Sets the tags from scratch.
|
|
|
|
|
All the original tags are deleted and new ones are read from standard input.
|
|
|
|
|
Each line must specify a \fIFIELD=VALUE\fP pair and be separated with line feeds.
|
|
|
|
|
Invalid lines are skipped and cause a warning to be issued. Blank lines are ignored.
|
|
|
|
|
This mode could be useful for batch processing tags through an utility like \fBsed\fP.
|
2018-11-24 18:05:55 +01:00
|
|
|
|
.SH EXAMPLES
|
|
|
|
|
.PP
|
|
|
|
|
List all the tags in file foo.opus:
|
|
|
|
|
.PP
|
|
|
|
|
opustags foo.opus
|
|
|
|
|
.PP
|
|
|
|
|
Copy in.opus to out.opus, with the TITLE tag added:
|
|
|
|
|
.PP
|
|
|
|
|
opustags in.opus --output out.opus --add "TITLE=Hello world!"
|
|
|
|
|
.PP
|
|
|
|
|
Replace all the tags in dest.opus with the ones from src.opus:
|
|
|
|
|
.PP
|
|
|
|
|
opustags src.opus | opustags --in-place dest.opus --set-all
|
|
|
|
|
.PP
|
|
|
|
|
Remove the previously existing ARTIST tags and add the two X and Y ARTIST tags, then display the new
|
|
|
|
|
tags without writing them to the Opus file:
|
|
|
|
|
.PP
|
|
|
|
|
opustags in.opus --add ARTIST=X --add ARTIST=Y --delete ARTIST
|
2013-01-01 22:28:43 +01:00
|
|
|
|
.SH SEE ALSO
|
|
|
|
|
.BR vorbiscomment (1),
|
|
|
|
|
.BR sed (1)
|
|
|
|
|
.SH AUTHOR
|
2018-11-22 03:40:08 +01:00
|
|
|
|
Frédéric Mangano-Tarumi <fmang@mg0.fr>
|
2018-11-25 18:11:36 +01:00
|
|
|
|
.PP
|
|
|
|
|
Report bugs at <https://github.com/fmang/opustags/issues>
|