Frédéric Mangano
d453af2563
Migrate the system module to use exceptions
2021-01-17 15:43:16 +01:00
Frédéric Mangano
8a54361b8f
Migrate the opus module to use exceptions
2021-01-17 15:07:56 +01:00
Frédéric Mangano
1c03c31e82
Migrate the ogg module to use exceptions
2021-01-17 14:58:50 +01:00
Frédéric Mangano
6758ae23ff
Migrate the cli module to use exeptions
2021-01-17 12:55:30 +01:00
Frédéric Mangano
937cdc37a7
Exit with 2 on CLI arguments error
2021-01-17 12:36:22 +01:00
Frédéric Mangano
51c7f29c1a
Make the top-level functions deal with exceptions
2021-01-17 12:32:38 +01:00
Frédéric Mangano
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
Frédéric Mangano
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
Frédéric Mangano
4cae6c44ee
Introduce --raw for disabling transcoding
2020-12-26 16:51:36 +01:00
Frédéric Mangano
6db7f07bd5
Factor CLI argument transcoding
2020-12-26 13:00:20 +01:00
Frédéric Mangano
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
Frédéric Mangano
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
Frédéric Mangano
639d46ed0f
Introduce ot::shell_escape
2020-11-01 10:41:24 +01:00
Frédéric Mangano
d071b6cabd
Fix error reporting when EDITOR fails
2020-10-31 18:10:33 +01:00
Frédéric Mangano
d8c36a3d3f
Forbid mixing --edit with non-interactive edition options
2020-10-31 12:15:01 +01:00
Frédéric Mangano
ba2236facb
Cancel --edit when the editor closes without saving
2020-10-31 12:11:26 +01:00
Frédéric Mangano
b3b092d241
Expand EDITOR/VISUAL with wordexp
2020-10-25 11:09:18 +01:00
Frédéric Mangano
8f0f29c056
Support VISUAL with --edit
2020-10-24 12:00:43 +02:00
Frédéric Mangano-Tarumi
e4ca6ca6ef
Introduce the --edit option
2020-10-12 07:55:27 +02:00
Frédéric Mangano-Tarumi
8252f94084
--set-all: Ignore comments starting with #
2020-10-11 18:06:39 +02:00
Frédéric Mangano-Tarumi
7206604f85
Make read_comments work on std::list
...
For consistency with ot::opus_tags.
2020-10-11 17:43:04 +02:00
Frédéric Mangano-Tarumi
b369aea8d4
Fix signedness warnings in t/cli.cc
2020-09-26 13:13:15 +02:00
Reuben Thomas
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
Reuben Thomas
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
Reuben Thomas
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
Frédéric Mangano-Tarumi
ea4d74d844
proper permissions setting on output files
2020-08-23 17:51:45 +02:00
Frédéric Mangano-Tarumi
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
Frédéric Mangano-Tarumi
8ba3db8bbd
t: safer argument casting for getopt
2019-01-12 16:09:18 -05:00
Frédéric Mangano-Tarumi
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
Frédéric Mangano-Tarumi
d09d7bd634
t: only run opustags.t in UTF-8 environments
2018-12-19 20:32:55 -05:00
Frédéric Mangano-Tarumi
191796a3d2
t: skip locale test when fr_FR.iso88591 is missing
2018-12-19 19:56:32 -05:00
Frédéric Mangano-Tarumi
cacbd43422
t: modernize system.t
2018-12-18 20:25:28 -05:00
Frédéric Mangano-Tarumi
2dbba5a23e
t: extend the tap module
2018-12-18 20:25:26 -05:00
Frédéric Mangano-Tarumi
4036ce1f39
t: print errors on stderr
...
That way, they're shown by the prove command.
That's what the Perl test suite does too.
2018-12-17 20:58:39 -05:00
Frédéric Mangano-Tarumi
06fff8cbeb
support --delete NAME=VALUE
2018-12-17 20:00:27 -05:00
Frédéric Mangano-Tarumi
e2a1c06005
case-insensitive field name for comment deletion
2018-12-16 18:56:18 -05:00
Frédéric Mangano-Tarumi
a9adc11cad
t: delete_comments
2018-12-16 18:51:28 -05:00
Frédéric Mangano-Tarumi
7df8c5c426
--set: add only the field name to to_delete
2018-12-16 18:33:08 -05:00
Frédéric Mangano-Tarumi
e26f3f268c
error when --set-all's parsing fails
2018-12-16 12:50:18 -05:00
Frédéric Mangano-Tarumi
46cd25f744
warn about newlines and control characters
2018-12-16 12:36:37 -05:00
Frédéric Mangano-Tarumi
102f683869
t: encoding conversion
2018-12-09 12:59:20 -05:00
Frédéric Mangano-Tarumi
ebc8347c9e
character encoding converter
2018-12-09 11:45:00 -05:00
Frédéric Mangano-Tarumi
ca06c6fb9d
detect muxed streams
2018-12-08 12:55:58 -05:00
Frédéric Mangano-Tarumi
b2826bf0cc
raise error on unsynced data
2018-12-08 12:20:00 -05:00
Frédéric Mangano-Tarumi
ccc8417413
rename the methods of ogg_reader
...
read_page → next_page, because it's more consistent with iterators.
read_header_packet → process_header_packet, because it doesn't actually
*read* anything.
2018-12-08 11:36:10 -05:00
Frédéric Mangano-Tarumi
d9dfc29b7d
drop ot::validate_identification_header
...
No more need to extract the header packet.
2018-12-08 11:28:16 -05:00
Frédéric Mangano-Tarumi
23049a7ff6
introduce ot::is_opus_stream
2018-12-08 11:24:17 -05:00
Frédéric Mangano-Tarumi
7e6d9eae39
reduce read_packet into read_header_packet
2018-12-05 18:42:58 -05:00
Frédéric Mangano-Tarumi
14ae681e61
get rid of ogg_writer::prepare_stream
2018-12-05 18:03:53 -05:00
Frédéric Mangano-Tarumi
7e575ffbc3
reduce write_packet and flush_page into write_header_packet
2018-12-05 17:37:59 -05:00