Skip to content

Commit

Permalink
Release 1.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
fmang committed Mar 7, 2023
1 parent 5413605 commit 330fe5e
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 17 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
------------------

Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.11)

project(
opustags
VERSION 1.7.0
VERSION 1.8.0
LANGUAGES CXX
)

Expand Down
15 changes: 6 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
------------

Expand Down
11 changes: 5 additions & 6 deletions opustags.1
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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.
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/base64.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

#include <opustags.h>

#include <cstring>
#include <string.h>

static const char8_t base64_table[65] =
u8"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
Expand Down
1 change: 1 addition & 0 deletions t/system.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down

0 comments on commit 330fe5e

Please sign in to comment.