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
f98208c1a1
Support the various stat structures across systems
2020-11-25 20:07:23 +01:00
64fc6f8f6d
Include config.h globally
2020-11-25 20:05:46 +01:00
1d03da324c
Release 1.5.1
1.5.1
2020-11-21 11:05:56 +01:00
30b7f44ead
Include endian.h or sys/endian.h depending on the platform
2020-11-14 20:27:08 +01:00
b8c8be453f
Include headers for mkstemps
...
Linux requires <stdlib.h>, but FreeBSD requires <unistd.h>.
2020-11-14 18:18:42 +01:00
4a1b8705cc
Release 1.5.0
1.5.0
2020-11-08 10:32:46 +01:00
7c8396ca45
run_editor: Pass the editor command through the shell
...
wordexp doesn’t work on OpenBSD, and escaping the path ourselves then
calling system() is actually easier than using wordexp.
2020-11-01 11:57:48 +01:00
639d46ed0f
Introduce ot::shell_escape
2020-11-01 10:41:24 +01:00
d54bada7e6
Open handles with O_CLOEXEC
...
opustags’s only use of a sub-process is for spawning the EDITOR, and we
don’t want it to access our file handles.
2020-10-31 18:44:46 +01:00
57a4c0d5a0
Flush the writer before exec’ing
...
In the unlikely event the child process fails without exec’ing, we don’t
want both the child process and parent process to flush the OpusHead
header.
Thanks @omar-polo for reporting this!
2020-10-31 18:44:46 +01:00
d071b6cabd
Fix error reporting when EDITOR fails
2020-10-31 18:10:33 +01:00
d8c36a3d3f
Forbid mixing --edit with non-interactive edition options
2020-10-31 12:15:01 +01:00
ba2236facb
Cancel --edit when the editor closes without saving
2020-10-31 12:11:26 +01:00
b3b092d241
Expand EDITOR/VISUAL with wordexp
2020-10-25 11:09:18 +01:00
8f0f29c056
Support VISUAL with --edit
2020-10-24 12:00:43 +02:00
e4ca6ca6ef
Introduce the --edit option
2020-10-12 07:55:27 +02:00
df03cdf951
Introduce ot::execute_process
2020-10-11 18:06:40 +02:00
8252f94084
--set-all: Ignore comments starting with #
2020-10-11 18:06:39 +02:00
a1dcc8c47e
Fix print_comments when output is not stdout
2020-10-11 17:43:04 +02:00
7206604f85
Make read_comments work on std::list
...
For consistency with ot::opus_tags.
2020-10-11 17:43:04 +02:00
6da5545b30
Flatten option compatibility checking
...
The more options we have the more nested it gets. It was getting
complicated.
2020-10-11 17:40:52 +02:00
537094fd53
use CMake’s FindIconv to detect iconv portably
2020-10-10 15:20:19 +02:00
be9740fe05
Explicitely include <optional>
...
It should have been included since we use std::optional, and not
including it breaks the build on OpenBSD.
2020-10-10 15:10:59 +02:00
a22c81e727
release 1.4.0
1.4.0
2020-10-04 09:34:13 +02:00
9715f0242f
Define _GNU_SOURCE for BSD compability
2020-09-27 13:57:44 +02:00
b369aea8d4
Fix signedness warnings in t/cli.cc
2020-09-26 13:13:15 +02:00
84e238a4a9
Add support for multiple input files with --in-place
...
Co-authored-by: Frédéric Mangano-Tarumi <fmang@mg0.fr >
2020-09-26 13:12:15 +02:00
73a54d7ab7
Don't treat empty output filename specially ( fix #27 )
...
Instead, make opt.path_out a std::optional<std::string>.
2020-09-20 16:32:27 +02:00
ef15e7ad13
With --set-all, read comments from stdin before processing tags ( #29 )
...
With --set-all, read comments from stdin before processing tags
2020-09-19 11:02:43 +02:00
5ea2db2d6d
upgrade to C++17
2020-08-31 21:25:03 +02:00
6f7ac1f13b
review the code comments
...
In particular, delete the obsolete TODOs.
2020-08-24 21:51:23 +02:00
ea4d74d844
proper permissions setting on output files
2020-08-23 17:51:45 +02:00
4de428bf33
release 1.3.0
1.3.0
2019-02-02 16:58:09 -05:00
c774c86286
rename liblibopustags to libot
...
It follows the name of the C++ namespace, and avoids confusion with the
opustags executable.
2019-01-26 17:07:53 -05:00
51f635d6bf
remove the docker thing
...
It's gonna stay in git but I don't plan to maintain it for now.
2019-01-26 17:05:51 -05:00
da8f8a343b
Merge pull request #24 from akx/macos-compat
...
macOS compatibility (sort of)
2019-01-26 17:04:29 -05:00
8ba3db8bbd
t: safer argument casting for getopt
2019-01-12 16:09:18 -05:00
87bdd6fe22
t: cannot rely on iconv's //TRANSLIT
...
It's really system-dependant. As long as it doesn't break the regular
conversion it's fine. Managing transliteration is a nice to have but we
cannot expect it would work everywhere.
On systems that don't support it, iconv will trigger an EILSEQ.
2019-01-12 15:46:04 -05:00
a9dd07ae1e
Tweak CMakeLists.txt to build on macOS
2019-01-09 14:19:41 +02:00
40defdf2e1
Add headers required on macOS
2019-01-09 14:19:41 +02:00
48336b5367
Change libopustags to STATIC, not OBJECT:
...
> CMake Error at CMakeLists.txt:27 (target_link_libraries):
> Object library target "libopustags" may not link to anything.
2019-01-09 14:19:41 +02:00
4d44550d3d
Add Dockerfile for testing the build
2019-01-09 14:19:41 +02:00