mirror of
https://github.com/fmang/opustags.git
synced 2025-01-15 12:43:17 +01:00
Release 1.8.0
This commit is contained in:
parent
54136057d8
commit
330fe5e9f2
@ -1,6 +1,15 @@
|
||||
opustags changelog
|
||||
==================
|
||||
|
||||
1.8.0 - 2023-03-07
|
||||
------------------
|
||||
|
||||
- Introduce --set-cover and --output-cover.
|
||||
|
||||
opustags is now able to extract and edit the cover art of Opus files. The underlying
|
||||
METADATA_BLOCK_PICTURE tag will still appear as a regular tag, but you won’t have to handle it
|
||||
manually anymore.
|
||||
|
||||
1.7.0 - 2023-02-13
|
||||
------------------
|
||||
|
||||
|
@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.11)
|
||||
|
||||
project(
|
||||
opustags
|
||||
VERSION 1.7.0
|
||||
VERSION 1.8.0
|
||||
LANGUAGES CXX
|
||||
)
|
||||
|
||||
|
15
README.md
15
README.md
@ -3,6 +3,12 @@ opustags
|
||||
|
||||
View and edit Ogg Opus comments.
|
||||
|
||||
opustags supports the following features:
|
||||
|
||||
- interactive editing using your preferred text editor,
|
||||
- batch editing with command-line flags,
|
||||
- tags exporting and importing through text files.
|
||||
|
||||
opustags is designed to be fast and as conservative as possible, to the point that if you edit tags
|
||||
then edit them again to their previous values, you should get a bit-perfect copy of the original
|
||||
file. No under-the-cover operation like writing "edited with opustags" or timestamp tagging will
|
||||
@ -11,15 +17,6 @@ ever be performed.
|
||||
opustags is tag-agnostic: you can write arbitrary key-value tags, and none of them will be treated
|
||||
specially. After all, common tags like TITLE or ARTIST are nothing more than conventions.
|
||||
|
||||
It currently has the following limitations:
|
||||
|
||||
- The total size of all tags cannot exceed 64 kB, the maximum size of one Ogg page.
|
||||
- Multiplexed streams are not supported.
|
||||
- Newlines inside tags are not supported by `--set-all`.
|
||||
|
||||
If you'd like one of these limitations lifted, please do open an issue explaining your use case.
|
||||
Feel free to ask for new features too.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
|
11
opustags.1
11
opustags.1
@ -1,4 +1,4 @@
|
||||
.TH opustags 1 "February 2023" "@PROJECT_NAME@ @PROJECT_VERSION@"
|
||||
.TH opustags 1 "March 2023" "@PROJECT_NAME@ @PROJECT_VERSION@"
|
||||
.SH NAME
|
||||
opustags \- Ogg Opus tag editor
|
||||
.SH SYNOPSIS
|
||||
@ -20,7 +20,7 @@ opustags \- Ogg Opus tag editor
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
\fBopustags\fP can read and edit the comment header of an Ogg Opus file.
|
||||
It basically has two modes: read-only, and read-write for tag editing.
|
||||
It has two modes: read-only, and read-write for tag editing.
|
||||
.PP
|
||||
In read-only mode, only the beginning of \fIINPUT\fP is read, and the tags are
|
||||
printed on standard output. Lines prefixed by tabs are continuation of the previous tag.
|
||||
@ -47,10 +47,9 @@ All the previously existing tags as deleted.
|
||||
.PP
|
||||
The Opus format specifications requires that tags are encoded in UTF-8, so that's the only encoding
|
||||
opustags supports. If your system encoding is different, the tags are automatically converted to and
|
||||
from your system locale. When the conversion is lossy, the incompatible characters are
|
||||
transliterated and a warning is displayed. Even if you edit an Opus file whose tags contains
|
||||
characters unsupported by your system encoding, the original UTF-8 values will be preserved for the
|
||||
tags you don't explictly modify.
|
||||
from your system locale. When you edit an Opus file whose tags contains characters unsupported by
|
||||
your system encoding, the original UTF-8 values will be preserved for the tags you don't explictly
|
||||
modify.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-h, \-\-help
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
#include <opustags.h>
|
||||
|
||||
#include <cstring>
|
||||
#include <string.h>
|
||||
|
||||
static const char8_t base64_table[65] =
|
||||
u8"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||
|
@ -48,6 +48,7 @@ void check_slurp()
|
||||
|
||||
void check_converter()
|
||||
{
|
||||
setlocale(LC_ALL, "");
|
||||
is(ot::decode_utf8(ot::encode_utf8("Éphémère")), "Éphémère", "decode_utf8 reverts encode_utf8");
|
||||
opaque_is(ot::encode_utf8(ot::decode_utf8(u8"Éphémère")), u8"Éphémère",
|
||||
"encode_utf8 reverts decode_utf8");
|
||||
|
Loading…
x
Reference in New Issue
Block a user