Commit Graph

181 Commits

Author SHA1 Message Date
b4d1df8592 Fix typos found via codespell --skip .git -w 2021-07-03 19:38:36 +02:00
a9f3a607a3 Improve showing IO errors
* Make error messages and dialogs more consistent
* Print the actual error message (which might actually contain something
  useful when NativeFileStream is used)
2021-06-01 22:36:48 +02:00
523971ad9d Suppress warning about cover type for ID3v1 tag when also an ID3v2 tag is present 2021-06-01 22:05:07 +02:00
7ada28b06e cli: Allow preserving the modification time
See https://github.com/Martchus/tageditor/issues/66
2021-06-01 21:56:23 +02:00
3203d4403e Apply clang-format 2021-05-27 18:56:53 +02:00
9e0ce80c8c cli: Add --quiet flag to set operation 2021-05-27 18:56:42 +02:00
53f0f02c72 Fix handling arbitrary files specified as field values
The container offset must not be used here as it may be garbage if the file
format is not recognized (e.g. if the file is an arbitrary text file).
2021-05-22 23:02:55 +02:00
54093af53b Add missing include for std::optional 2021-05-22 22:59:52 +02:00
5acb9d32ee Show the cover description within the CLI 2021-05-10 20:51:50 +02:00
1944773022 Allow setting multiple covers of the same type but different descriptions
The standard actually says that there might be different covers with only
different descriptions:

    Description is a
    short description of the picture, represented as a terminated
    text string. There may be several pictures attached to one file, each
    in their individual "APIC" frame, but only one with the same content
    descriptor. There may only be one picture with the picture type
    declared as picture type $01 and $02 respectively.

I assume "content descriptor" means combination of the type and
description.

This is in accordance with eyeD3.

See https://github.com/Martchus/tageditor/issues/64#issuecomment-833952940
2021-05-10 20:51:15 +02:00
b56232c1f4 Fix printing cover field of non-ID3v2 tags 2021-04-28 17:48:29 +02:00
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
d31fd79e87 Adapt to changes in tagparser library 2021-04-23 22:18:30 +02:00
e535e20720 Fix warnings 2021-03-20 21:59:49 +01:00
9fbb375924 Adapt to changes in tagparser (without making actually use of the new API) 2021-02-04 23:22:43 +01:00
82d0834e75 Adapt to changes in tagparser 2021-02-02 11:02:30 +01:00
7ed99a5035 Adapt to changes in tagparser 2021-02-01 17:11:48 +01:00
670a9a1c91 Adapt to changes in tagparser 2021-01-30 21:57:09 +01:00
06fd8c58d7 Fix invocation of write in interrupt handler 2021-01-30 21:54:59 +01:00
0a7d05256c Adapt to changes in tagparser v10 2020-12-14 21:19:49 +01:00
d98b2612c0 Fix size for writing "Signal received" warning 2020-09-26 20:39:41 +02:00
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
01daa21305 Use 'RecordDate' instead of 'Year' field, add 'ReleaseDate' field 2020-04-24 23:26:40 +02:00
d3f84c4c39 Add conversion from ISO-639-2/B codes to language names 2019-08-17 20:58:14 +02:00
a5224d930d Apply clang-format 2019-08-13 00:35:04 +02:00
9a37492a10 Use helper for flag enum class from c++utilities 2019-08-12 20:26:38 +02:00
66a45f7578 Adapt to changes in c++utilities 2019-06-12 20:47:44 +02:00
66c9250246 Adapt to changes in c++utilities 2019-06-10 22:49:46 +02:00
3e7bdb3703 Add track to field to CLI help/completion 2019-05-18 21:50:04 +02:00
f4143a6eb1 Apply cmake-format and clang-format 2019-05-04 21:03:32 +02:00
1691b9daa2 Adapt to c++utilities v5 2019-05-04 16:05:20 +02:00
f746c1b5ef Show total size, duration and bitrate in CLI 2019-03-10 16:34:04 +01:00
1401b13f7f Fix warning when reading cover and use container offset 2019-02-13 21:40:17 +01:00
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
dbc1c79f49 Support album artist and vendor 2019-01-01 23:44:28 +01:00
c0c413cddc Fix typo 2018-11-15 21:33:08 +01:00
19b2cb0eb3 Show pixel/display size and PAR in CLI 2018-07-28 15:08:54 +02:00
1bd4fed7a7 Replace typedef with using 2018-07-11 13:18:36 +02:00
c9d43c7931 Adapt to tagparser v8 2018-07-10 16:35:50 +02:00
b6ed69db8a Use constexpr AttachmentInfo and some helper 2018-07-10 14:12:26 +02:00
53970fbf74 Fix TagParser namespace in documentation 2018-06-03 20:39:00 +02:00
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
4edeaa1ab2 Support showing unsupported fields when displaying tag info 2018-05-13 00:27:42 +02:00
a7bdc00112 Fix usage of enable_if with GCC 8
Seems like the trick with the three dots isn't working
with GCC 8 anymore. So let's make it a default template
parameter then.

Not sure whether GCC 8 is here correct and whether this
workaround causes further trouble.
2018-05-07 23:53:01 +02:00
3411ee3eef Apply clang-format 2018-04-29 19:02:42 +02:00
4f21442f39 Set writing application 2018-03-20 21:41:42 +01:00
73fb412cfc Simplify creation of CLI arguments 2018-03-14 18:44:33 +01:00
e04b63d77d Colorize diag messages 2018-03-13 19:29:34 +01:00
97518578b0 Reduce nesting in setTagInfo() 2018-03-13 19:21:12 +01:00
1f4a79403e Turn most warnings into fatal errors 2018-03-13 19:20:41 +01:00
99ef9643ee Parse everything in displayFileInfo()
Because displaying padding requires parsing the tags for
files with ID3 tags.
2018-03-11 19:05:45 +01:00
4f53029a6e Refactor MediaFileInfo::createAppropriateTags() 2018-03-11 18:58:20 +01:00
4b7d7a9499 Apply clang-format 2018-03-07 01:18:01 +01:00
c1a3e53dc9 Move tagparser to namespace TagParser 2018-03-06 23:10:13 +01:00
c2b2e4ac44 Adapt to new notification handling 2018-03-06 22:43:51 +01:00
254b9b7661 Adapt to tagparser v7 2018-03-06 22:43:51 +01:00
82ccb9b9f3 cli: Allow to set backup path 2018-02-20 21:36:55 +01:00
5320ef0660 cli: Gather notifications also in the error case 2018-02-20 21:36:15 +01:00
1a17bef9c2 Fix typo 2018-02-05 21:55:45 +01:00
7848b285b6 Fix some warnings 2018-01-31 21:02:24 +01:00
5254e6cdf9 Add --pretty flag to JSON export 2018-01-26 18:09:53 +01:00
ef08011167 Add #ifdef for JSON export include 2018-01-21 15:27:34 +01:00
13d9bbf8d6 Fix include paths for reflective-rapidjson
So the paths match the actual install directory.
2018-01-20 21:16:15 +01:00
e3e9e40682 Fix error handling in JSON export 2018-01-20 00:59:50 +01:00
ae85f123f8 Export target info in a structured way 2018-01-19 23:43:54 +01:00
01e57c86d6 Add JSON export 2018-01-15 01:08:36 +01:00
3443729d16 Reset allTracks for following track modifier 2017-12-05 15:44:25 +01:00
d06004d01a cli: Improve help/auto-completion for track attributes 2017-12-05 15:21:59 +01:00
79a8be22c5 cli: Parse on/off as boolean 2017-12-05 15:11:28 +01:00
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
163abf3b02 Make use of escape codes configurable 2017-10-17 00:01:58 +02:00
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
30f76b8d59 cli: Be sure pos is initialized 2017-10-09 21:35:16 +02:00
ec695373cf cli: Improve overall coding style
First step for further refactoring
2017-10-09 20:58:13 +02:00
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
7f7d5f22c7 cli: Clear current status after finalizing log 2017-10-09 19:03:54 +02:00
41def42c71 cli: Use phrases also in helper 2017-10-09 19:02:28 +02:00
4ce58426c0 cli: Catch correct exceptions when setting tags 2017-10-09 19:01:49 +02:00
f1de016b39 Move phrases for CLI to c++utilities 2017-09-26 15:25:24 +02:00
5ffa9b7d2c Improve CLI
* Use formatting
* Use more consistent format
* Show track summary
2017-09-22 00:19:24 +02:00
7400534d20 Use frame instead of sample count for video tracks 2017-06-27 00:37:56 +02:00
6fb6d3dcbe Allow setting track meta-data 2017-06-17 00:45:08 +02:00
cbe6b800cd Warn when encoding not supported 2017-05-18 02:32:51 +02:00
041b53101a Make definitions for gui support project specific 2017-04-27 22:10:55 +02:00
59ab7e6181 Use std::make_unique provided by C++14 2017-02-05 21:04:27 +01:00
95a1b6c620 Use string builder 2017-01-30 22:13:49 +01:00
d99956f4c9 Allow specifying native field IDs via CLI 2017-01-23 00:27:21 +01:00
5d0db0fafe cli: Refactor printing field 2017-01-16 22:58:15 +01:00
2f39fd4b1c Refactor CLI 2017-01-15 21:50:51 +01:00
Steven Penny
1a181d36d4 Proper include qtutilities/misc/conversion.h
C’mon man, this is just lazy.
2016-12-29 22:39:03 -06:00
7d464f496f Consider all strings from tagparser UTF-8 2016-12-20 23:53:33 +01:00
e75ea5526a Use _wopen under Windows to support unicode filenames 2016-12-19 23:53:12 +01:00
019e5a590e Remove unused docTitleModified 2016-12-18 17:24:54 +01:00
65ed11f0f1 Apply changes always 2016-11-19 21:45:52 +01:00
Steven Penny
7d627b70a6 mainfeatures.cpp: Define hash functions for KnownField and TagType
Fix #12
2016-11-19 17:11:49 +01:00
84ba55a0df Only warn when no values have been specified to be set
Allows applying file layout changes without modifying
any values, attachments, ...
2016-11-18 16:57:42 +01:00
91dcc2f9fd Show index position 2016-11-16 19:34:40 +01:00
015dd6e181 Fix --tag-pos option
Also add test and show tag pos for MP4 files
2016-11-15 22:45:19 +01:00
1924c1d804 Handle unexpected exceptions when parsing/making
* Don't just ignore exception (previous behavior)
* Add critical notification
* Show results, though error (to ease debugging)
2016-11-13 22:57:02 +01:00
8723246e55 Improve indentation 2016-10-08 00:31:13 +02:00