Commit Graph

138 Commits

Author SHA1 Message Date
Frédéric Mangano
2ef9a825da warn when a handler didn't complete its job
issue #16
for some reason I couldn't get it to work
it looked like the options weren't properly parsed
2016-05-02 18:09:14 +02:00
Frédéric Mangano
4de88d0ed2 include strerror(errno) in error messages
issue #15
2016-05-02 18:09:02 +02:00
Frédéric Mangano
0624376fcc tags handler: signal start_of_stream and end_of_file
end_of_file is the old end_of_stream

issue #6
2016-04-08 16:15:28 +02:00
Frédéric Mangano
52e4a8ca58 don't warn about unused parameters
it gets annoying, and dropping the names of the parameters in the prototypes
sounds like a terrible solution
2016-04-08 16:14:31 +02:00
Frédéric Mangano
dd0656cb07 assign sequence numbers to unknown streams too
issue #14
2016-04-08 16:02:40 +02:00
Frédéric Mangano
d3b4a389bc drop mentions of any kind of “smart reordering”
that's the case when the user specifies a --set before a --delete
this shouldn't happen, so we might as well not specify it I think

issue #5
2016-04-07 13:29:22 +02:00
Frédéric Mangano
410708e252 list_tags: always call end_of_stream when done
related to issue #6
2016-04-07 13:29:13 +02:00
Frédéric Mangano
dad987a8da list_tags: add a test to ensure full scan works
it'd require some effort to craft a file where this option matters, but at
least we want to make sure the full scan code is run once so we know it doesn't
crash

close #11
2016-04-06 10:07:41 +02:00
Frédéric Mangano
76bf95a74c main: do use options.full when calling list_tags 2016-04-06 10:05:53 +02:00
Frédéric Mangano
2d7f812119 harmonize header inclusion style
close #7
I don't intend this patch as a piece of art, but it carries the main idea
2016-04-06 10:02:47 +02:00
Frédéric Mangano
1ff2553f5f assign sequential numbers to streams
see issue #14

I remain unsure of whether we should include unknown streams in the sequence
in a distant future, if we extend the tool to support more stream types, the
numbers would change to include the newly supported streams in the sequence
2016-03-30 17:38:55 +02:00
Frédéric Mangano
eb968dc513 list_tags: stop reading after the headers
see #11
remains the command-line to adjust
2016-03-30 17:37:56 +02:00
Frédéric Mangano
a21331057b ogg: emit HEADER_READY on unknown streams too 2016-03-30 17:37:56 +02:00
Frédéric Mangano
5ae31c9bc9 fix typo in man page 2016-03-30 17:37:56 +02:00
rr-
2957fa3538 Update README to match current install procedure 2016-03-17 08:04:21 +01:00
rr-
74b9cade48 Update README to match current CLI state 2016-03-17 08:03:06 +01:00
rr-
8e9204420b Handlers: removing nonexistent tag is not an error 2016-03-17 08:00:45 +01:00
rr-
7b616aa671 Fix brace style
Breaking habits is difficult
2016-03-17 07:57:36 +01:00
rr-
159340926a Make --list work also when editing the streams 2016-03-17 07:53:19 +01:00
rr-
e1d954388e Add --list by default (closes #9) 2016-03-17 07:52:58 +01:00
rr-
d48573ceef Add preliminary main() implementation 2016-03-17 07:43:42 +01:00
rr-
d8dcc38777 Options: implement --stream=1,2 (closes #8) 2016-03-16 20:08:56 +01:00
rr-
7d20fc70b2 Tests: fix warnings about unused parameter 2016-03-16 20:01:39 +01:00
rr-
a210d1229e Handlers: implement import tags handler 2016-03-16 20:00:28 +01:00
rr-
e60f7f84a0 Fix non deterministic argument parsing 2016-03-16 20:00:27 +01:00
rr-
a3daa0f108 Handlers: implement export tags handler 2016-03-16 20:00:27 +01:00
rr-
84a8d14ae0 Tags: add ability to compare tags 2016-03-16 20:00:27 +01:00
rr-
74904fd516 Tags: make constructible with initializer lists 2016-03-16 19:10:30 +01:00
rr-
fc2a4cb41c Remove old C code
...which is available on master anyway
2016-03-16 17:53:33 +01:00
rr-
1c2232c197 Build: remove old Makefile 2016-03-16 17:53:10 +01:00
rr-
f26de884aa Build: make installation targets
Usage:

    cd build
    cmake ..
    make
    sudo make install
2016-03-16 17:53:10 +01:00
rr-
0d91429435 Change path to auto generated version.h
This is to make it possible to zip just the src/ directory if one wishes
not to use git.
2016-03-16 17:34:50 +01:00
rr-
54571e8bc3 Add git-based version (closes #12) 2016-03-16 17:32:59 +01:00
rr-
a06f337a63 Options/handlers: add stubs regarding new manpage 2016-03-16 13:48:27 +01:00
rr-
b5d2e03a7b Options: require output path to be non empty 2016-03-16 13:08:02 +01:00
rr-
f726eaeb91 Options: throw an error for extra arguments 2016-03-16 13:05:00 +01:00
rr-
8f5a6bb534 Options: parse input path 2016-03-16 13:02:21 +01:00
rr-
7f7766f175 Options: change in_place to contain bool
This should minify conditional statements to just one, after finishing
work, whether to move the path_out back to the original file.
2016-03-16 12:31:43 +01:00
Frédéric Mangano
be3984423f man: reorganize + add a few options
including --version, --full, --export, --list, --no-color
2016-03-09 16:35:33 +01:00
Frédéric Mangano
2443490b0b update the man page to reflect the new expectations 2016-03-07 17:16:09 +01:00
Frédéric Mangano
a96cc9c222 allow inserting already present tags 2016-03-04 15:23:07 +01:00
Frédéric Mangano
cd550d8d80 move single tag parsing outside of Tags class 2016-03-04 15:21:05 +01:00
Frédéric Mangano
4cd0e34d0d ogg: fix wrapping loop issue for comment_count
since the number of remaining bytes keeps decreasing, it wouldn't cause
infinite looping, but it would allow an indefinite number of comments (more
than 2^32)
2016-03-04 15:02:17 +01:00
Frédéric Mangano
0e2b1fec9c tests: make style uniform 2016-03-04 14:50:48 +01:00
Frédéric Mangano
817ba5cba6 actions: fix hardcoded serialno in test
I had originally written the tests with a different sample
2016-03-03 21:19:24 +01:00
Frédéric Mangano
20663a847f testing actions!
a tough one
2016-03-03 21:14:46 +01:00
Frédéric Mangano
40bbc90786 ogg: check the validity of streams 2016-03-03 21:14:46 +01:00
Frédéric Mangano
d21517de94 ogg: test a malicious tags packet 2016-03-03 21:14:46 +01:00
Frédéric Mangano
a78906a8d4 specify TagsHandler::end_of_stream 2016-03-03 21:14:36 +01:00
rr-
32c5e2b0a6 Tags: make keys case insensitive 2016-03-03 12:30:56 +01:00