Commit Graph

53 Commits

Author SHA1 Message Date
Martchus 22953ad0da Allow tag processing via JavaScript 2023-07-30 16:15:19 +02:00
Martchus b7016f98a2 Add pedantic argument to allow returning a non-zero exit code in case of errors
This is especially useful to check whether a file is complete, e.g. one might
use `tageditor info --validate --pedantic --files …` to check whether the
specified files are ok. (If they were truncated there's be an error about it
and the command would return a non-zero exit code. Without pedantic this would
just return in a non-zero exit code if the file couldn't be parsed at all.)
2023-04-25 23:16:15 +02:00
Martchus b023c26205 Avoid use of non-standard escape character to avoid MSVC warning about it 2023-03-26 21:59:31 +02:00
Martchus 9b143ffbef Avoid unqualified calls to `std::move` 2023-02-20 19:55:16 +01:00
Martchus a220b86672 Disable code relying on `unistd.h` when compiling with MSVC
Not sure what to do instead, so for now let's just disable the logging from
the signal handler completely for MSVC builds so the code at least
compiles.
2023-02-02 00:33:15 +01:00
Martchus 9eeae7ae22 Use `TagValue::toDisplayString()` instead of handling exception 2022-06-19 13:32:46 +02:00
Martchus 794afdb01e Print diagnostic messages to stderr
They contain errors and debugging information so stderr fits better. This
also ensures they don't conflict with the output, e.g. when extracting to
stdout.
2022-05-21 13:25:44 +02:00
Martchus b26b972e25 Return non-zero exit code in all fatal error cases
See https://github.com/Martchus/tageditor/issues/83
2022-05-21 13:06:34 +02:00
Martchus 7ba63ad79f cli: Display at least MIME-type if field cannot be displayed as string 2022-03-16 19:38:51 +01:00
Martchus a21d91e716 Improve coding style in CLI code for parsing specified fields
* Use `std::string_view` instead of C-style strings and e.g. `strncmp`
* Use consistent coding style, e.g. for initialization
2022-01-01 21:15:22 +01:00
Martchus 4905aa96b4 Avoid copy when registering interrupt handler 2021-12-31 00:44:52 +01:00
Martchus 2c9be7c223 Fix parsing CLI argument "target-attachments" 2021-12-31 00:42:43 +01:00
Martchus dca5905744 Improve coding style in CLI code
* Use `std::string_view` instead of `const std::string &`
* Use `const` and `auto` where it makes sense
2021-12-31 00:41:56 +01:00
Martchus c71fde86ec Allow relaxed target matching 2021-12-31 00:40:36 +01:00
Martchus b4d1df8592 Fix typos found via `codespell --skip .git -w` 2021-07-03 19:38:36 +02:00
Martchus 5acb9d32ee Show the cover description within the CLI 2021-05-10 20:51:50 +02:00
Martchus b56232c1f4 Fix printing cover field of non-ID3v2 tags 2021-04-28 17:48:29 +02:00
Martchus 41fb2069f3 Allow setting covers of special types with description via CLI
See https://github.com/Martchus/tageditor/issues/64
2021-04-28 00:57:57 +02:00
Martchus 670a9a1c91 Adapt to changes in tagparser 2021-01-30 21:57:09 +01:00
Martchus 06fd8c58d7 Fix invocation of write in interrupt handler 2021-01-30 21:54:59 +01:00
Martchus d98b2612c0 Fix size for writing "Signal received" warning 2020-09-26 20:39:41 +02:00
Martchus bb4bb29ab9 Handle SIGTERM as well (in addition to SIGINT) when saving changes
* e.g. ffmpeg handles SIGTERM as well to finalize writing the file
* not tested yet
2020-06-02 17:19:09 +02:00
Martchus 9a37492a10 Use helper for flag enum class from c++utilities 2019-08-12 20:26:38 +02:00
Martchus 66c9250246 Adapt to changes in c++utilities 2019-06-10 22:49:46 +02:00
Martchus 1691b9daa2 Adapt to c++utilities v5 2019-05-04 16:05:20 +02:00
Martchus 74d05eede9 Fix specifying custom fields
* Fix support for Vorbis comment and add test case
* Consider only fields for the current format
  when displaying tags
2019-01-02 17:12:48 +01:00
Martchus 0b86408637 Fix specifying track number
The way to specify the track ID for setting meta-data on
track-level conflicted with the way to specify the track
number. The track ID is now specified via 'track-id='.

This breaks the CLI, however I see it as a bug that
'track=' worked for specifying the track ID so it should
be ok.
2018-05-31 00:32:30 +02:00
Martchus 4edeaa1ab2 Support showing unsupported fields when displaying tag info 2018-05-13 00:27:42 +02:00
Martchus e04b63d77d Colorize diag messages 2018-03-13 19:29:34 +01:00
Martchus 1f4a79403e Turn most warnings into fatal errors 2018-03-13 19:20:41 +01:00
Martchus 4b7d7a9499 Apply clang-format 2018-03-07 01:18:01 +01:00
Martchus c1a3e53dc9 Move tagparser to namespace TagParser 2018-03-06 23:10:13 +01:00
Martchus c2b2e4ac44 Adapt to new notification handling 2018-03-06 22:43:51 +01:00
Martchus 254b9b7661 Adapt to tagparser v7 2018-03-06 22:43:51 +01:00
Martchus 7848b285b6 Fix some warnings 2018-01-31 21:02:24 +01:00
Martchus 01e57c86d6 Add JSON export 2018-01-15 01:08:36 +01:00
Martchus 3443729d16 Reset allTracks for following track modifier 2017-12-05 15:44:25 +01:00
Martchus 79a8be22c5 cli: Parse on/off as boolean 2017-12-05 15:11:28 +01:00
Martchus 02586635b5 Add option to specify time span output format
See https://github.com/Martchus/tageditor/issues/27
2017-11-29 22:57:32 +01:00
Martchus 163abf3b02 Make use of escape codes configurable 2017-10-17 00:01:58 +02:00
Martchus b1b071aba8 Call only save functions (according to POSIX) in signal handler
It still uses some static variables. However, it seems to be
unproblematic.
2017-10-14 18:15:51 +02:00
Martchus 30f76b8d59 cli: Be sure pos is initialized 2017-10-09 21:35:16 +02:00
Martchus ec695373cf cli: Improve overall coding style
First step for further refactoring
2017-10-09 20:58:13 +02:00
Martchus 358b105b1b cli: Handle interrupt so setting tags is not force-canceled
This should prevent damaged files in case CTRL + C is used to
terminate the application during rewrite.
2017-10-09 19:25:01 +02:00
Martchus 7f7d5f22c7 cli: Clear current status after finalizing log 2017-10-09 19:03:54 +02:00
Martchus 41def42c71 cli: Use phrases also in helper 2017-10-09 19:02:28 +02:00
Martchus f1de016b39 Move phrases for CLI to c++utilities 2017-09-26 15:25:24 +02:00
Martchus 5ffa9b7d2c Improve CLI
* Use formatting
* Use more consistent format
* Show track summary
2017-09-22 00:19:24 +02:00
Martchus 6fb6d3dcbe Allow setting track meta-data 2017-06-17 00:45:08 +02:00
Martchus cbe6b800cd Warn when encoding not supported 2017-05-18 02:32:51 +02:00