Commit Graph

288 Commits

Author SHA1 Message Date
3da23b58c9 Include library header <algorithm> in cli and opus.
* fixes fmang/opustags#69
2024-05-19 11:23:29 +09:00
6ae008befd Release 1.10.0 1.10.0 2024-05-03 18:50:03 +09:00
0067162ffb Support NUL delimiters with -z 2024-04-30 16:24:58 +09:00
7ec3551f62 Refresh and install the documentation files 2024-02-15 15:00:38 +09:00
a63c06dc05 opustags.1: Fix typo (#64)
* opustags.1: Fix typo

Fix a minor typo in the man page

* opustags.1: remove broken macro
2023-11-26 17:06:08 +09:00
e2e7e2a5a0 Release 1.9.0 1.9.0 2023-06-07 11:36:15 +09:00
70500a6aac Close the input file before writing the final output 2023-05-28 12:56:06 +09:00
49bb94841e Add option --set-vendor 2023-05-04 11:38:35 +09:00
dcb128f179 Add option --vendor 2023-05-04 11:33:16 +09:00
330fe5e9f2 Release 1.8.0 1.8.0 2023-03-07 10:39:13 +09:00
54136057d8 Remove the old UTF-8 conversion routines 2023-03-03 15:13:56 +09:00
1d13c258e4 Use std::u8string where appropriate 2023-03-03 15:13:44 +09:00
89dc000927 Rework the encoding converter to support std::u8string 2023-03-03 15:03:07 +09:00
befae72d2a Support reading the cover art from a stream 2023-03-02 16:21:25 +09:00
46cc78bfff Deduce the cover’s MIME type from its signature 2023-03-02 15:17:41 +09:00
558160d5c3 Add option --set-cover 2023-03-01 18:32:13 +09:00
74e42ee917 Introduce byte strings 2023-02-28 17:04:03 +09:00
92b320f9d9 Warn on multiple cover arts 2023-02-28 15:41:09 +09:00
ec68f5c0e9 Add option --output-cover 2023-02-27 12:22:28 +09:00
66fb3574a1 Implement embedded picture decoding 2023-02-27 12:22:28 +09:00
9652f50316 Allow std literals everywhere 2023-02-22 17:15:21 +09:00
a435a28e9f Implement base64 encoding and decoding 2023-02-22 17:15:21 +09:00
55e7e9b64e Fix a rare error message in run_single() 2023-02-21 16:02:22 +09:00
2afd126380 Release 1.7.0 1.7.0 2023-02-13 11:25:37 +09:00
3b20617de4 Parse continuation lines in --set-all 2023-02-10 15:21:07 +09:00
d8a1a78274 Decode --set-all’s input before parsing it
getline may return bytes in a non-ASCII compatible encoding, so it’s safer to look for the key
characters after the conversion than before.
2023-02-10 15:20:59 +09:00
6d6722fb24 Support multiline tags in non-UTF-8 environments
The \t to \t\n substitution assumed an ASCII-compatible environment and would not have worked under
UTF-16. It’s therefore safer to perform the operation before the encoding conversion.
2023-02-07 15:59:44 +09:00
b9
d95fd45aef Format multiline tags with TAB for continuation 2023-02-07 15:12:33 +09:00
7eea19633c Support multiple-page OpusTags packets 2023-02-02 15:05:37 +09:00
d88498e4fd Renumber the pages past the OpusTags packet
We will soon be able to process OpusTags packets spanning multiple pages, which would offset the
page number of all the succeeding pages. This change prepares the process loop for that feature.
2023-02-02 15:05:37 +09:00
bbe03f8030 Add .editorconfig 2023-01-27 15:54:37 +09:00
953ae490d4 Fix the test suite on macOS 2023-01-27 15:53:15 +09:00
ba435b26a4 Upgrade to C++20 2023-01-27 15:37:03 +09:00
712830e247 Mention in the README that opustags is tag-agnostic 2022-05-09 20:59:35 +02:00
a898ed4877 Finalize the migration for using exceptions 2021-01-17 15:54:23 +01:00
d453af2563 Migrate the system module to use exceptions 2021-01-17 15:43:16 +01:00
8a54361b8f Migrate the opus module to use exceptions 2021-01-17 15:07:56 +01:00
1c03c31e82 Migrate the ogg module to use exceptions 2021-01-17 14:58:50 +01:00
b8f2518ef5 Move the page counting logic in the Ogg reader 2021-01-17 14:41:36 +01:00
6758ae23ff Migrate the cli module to use exeptions 2021-01-17 12:55:30 +01:00
937cdc37a7 Exit with 2 on CLI arguments error 2021-01-17 12:36:22 +01:00
51c7f29c1a Make the top-level functions deal with exceptions 2021-01-17 12:32:38 +01:00
ea00b8fd80 Update the CMake version requirement to 3.11
This is required for FindIconv.
2021-01-08 19:05:31 +01:00
2d5db09bda Release 1.6.0 1.6.0 2021-01-01 11:41:03 +01:00
3e0b3fa56e Make encoding errors fatal
With --raw there is a workaround.

The tolerant approach was cool and nice until you want to edit something
non-interactively and get the warning telling you you might have lost
data after the file was written. Failing fast is most likely the better
option here.
2020-12-27 10:55:25 +01:00
3e7b42062a Discard incompatible comments entirely
//IGNORE is not portable either. Now that we have --raw it’s less an
issue though.
2020-12-27 10:55:20 +01:00
4cae6c44ee Introduce --raw for disabling transcoding 2020-12-26 16:51:36 +01:00
6db7f07bd5 Factor CLI argument transcoding 2020-12-26 13:00:20 +01:00
fd5fa3cd5f Make ot::encoding_converter use string views 2020-12-26 12:42:37 +01:00
c43704a0a7 Use //IGNORE instead of //TRANSLIT when transcoding
//TRANSLIT is not a well supported, and in most cases there’s not much
transliteration can help with when the encoding is limiting. Besides,
it sounds reasonable to assume most people use UTF-8 nowadays.
2020-12-26 12:30:44 +01:00