Release 1.8.0

This commit is contained in:
Frédéric Mangano 2023-03-02 16:38:23 +09:00
parent 54136057d8
commit 330fe5e9f2
6 changed files with 23 additions and 17 deletions

View File

@ -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 wont have to handle it
manually anymore.
1.7.0 - 2023-02-13
------------------

View File

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.11)
project(
opustags
VERSION 1.7.0
VERSION 1.8.0
LANGUAGES CXX
)

View File

@ -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
------------

View File

@ -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

View File

@ -11,7 +11,7 @@
#include <opustags.h>
#include <cstring>
#include <string.h>
static const char8_t base64_table[65] =
u8"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

View File

@ -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");