Commit Graph

99 Commits

Author SHA1 Message Date
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
Frédéric Mangano-Tarumi
6da1a8703d create the oggdump tool 2018-12-03 18:43:02 -05:00
Frédéric Mangano-Tarumi
1d6ca8fc59 write the output to a temporary file 2018-12-02 16:20:40 -05:00
Frédéric Mangano-Tarumi
a74ea34352 introduce partial files 2018-12-02 12:12:58 -05:00
Frédéric Mangano-Tarumi
289391a9df more robust tests for input/output equality 2018-12-02 10:45:36 -05:00
Frédéric Mangano-Tarumi
614bd6379b inplace -> in_place 2018-12-01 17:39:27 -05:00
Frédéric Mangano-Tarumi
1e69e89ff9 t: check a few cases of successful option parsing 2018-12-01 17:36:58 -05:00
Frédéric Mangano-Tarumi
7189d63c20 check for duplicate options 2018-12-01 17:23:38 -05:00
Frédéric Mangano-Tarumi
d67ce423d1 parse_options: return the error message in the status 2018-12-01 13:26:22 -05:00
Frédéric Mangano-Tarumi
6f290702a8 catch getopt's errors 2018-12-01 13:03:44 -05:00
Frédéric Mangano-Tarumi
b60183c0ca calling opustags without arguments is now an error
Get rid of the exit_now status and simplify the help display code.
2018-12-01 11:36:03 -05:00
Frédéric Mangano-Tarumi
c4acca18d8 review the --help message 2018-11-24 20:02:24 -05:00
Frédéric Mangano-Tarumi
5b5b67a0df clean-up the includes 2018-11-24 11:56:43 -05:00
Frédéric Mangano-Tarumi
80a4b2ccf6 rewrite ot::read_comments with getline 2018-11-24 11:44:15 -05:00
Frédéric Mangano-Tarumi
d1299360de smart ot::file handle 2018-11-24 11:33:04 -05:00
Frédéric Mangano-Tarumi
bfa46273b9 fix ot::read_comments when handling empty lines 2018-11-24 11:33:04 -05:00
Frédéric Mangano-Tarumi
26411d3843 t: test ot::read_comments 2018-11-24 11:33:04 -05:00
Frédéric Mangano-Tarumi
8949094203 run: return better status 2018-11-18 11:43:45 -05:00
Frédéric Mangano-Tarumi
62d56aafff accompany returned status codes with a message 2018-11-18 11:04:11 -05:00