Martchus
22aa2f0851
Handle TRACKTOTAL/DISCTOTAL/PARTTOTAL fields in Vorbis Comments
...
See the corresponding tagparser commit
2024-02-28 21:39:52 +01:00
Martchus
6e66b6aa0b
Make code in `runProcess` compile with Qt 5
2024-01-26 12:26:32 +01:00
Martchus
959b0f0032
Allow running a sub process via the script API
2024-01-20 17:30:48 +01:00
Martchus
a8281f323a
Fix consistency issue when declaring/defining field mapping array
2024-01-17 14:34:30 +01:00
Martchus
2cd47777a3
Add mapping for "Publisher webpage" in CLI
2024-01-04 20:54:43 +01:00
Martchus
88989ff986
Extend script API; allow copying tags from other files
2023-12-30 03:06:58 +01:00
Martchus
72dcbbbd81
Allow renaming file via `set --script …`
...
This allows doing what the GUI renaming utilitiy does on the command-line.
If only renaming is wanted
2023-11-10 15:46:45 +01:00
Martchus
e58f8a14a5
Make setting covers via CLI work with Windows drive letters
...
Interpret a single letter plus colon as drive specification followed by the
actual path instead of splitting it and considering the path the cover
type.
See https://github.com/Martchus/tageditor/issues/109
2023-08-09 23:54:01 +02:00
Martchus
f4346fb8e6
Allow preserving the muxing/writing application
...
See https://github.com/Martchus/tageditor/issues/108
2023-08-09 23:27:34 +02:00
Martchus
1cb00c7c41
Rename `mediafileinfoobject.cpp` to `scriptapi.cpp`
...
The file contains various wrapper "objects" so it makes sense to use a more
generic name.
2023-08-09 22:38:02 +02:00
Martchus
488684a318
Show muxing/writing application when displaying file info
2023-08-08 17:24:37 +02:00
Martchus
c4f7d195a0
Allow adding cover via JavaScript
2023-08-07 18:41:19 +02:00
Martchus
7063f1bf03
Fix creation of song description from JavaScript object
...
It cannot just use `toString()` as this would turn e.g. `undefined` into
the string ´"undefined"` instead of an empty string.
2023-08-07 17:34:06 +02:00
Martchus
44d0ac21c2
Improve logging changes when applying changes in JavaScript
...
* Don't log non-printable characters
* Make it clear when an explicitly overridden field value is identical to
the initial value
2023-08-07 17:32:38 +02:00
Martchus
d248c63279
Allow passing settings to JavaScript
2023-08-07 17:30:25 +02:00
Martchus
e69278634f
Overhaul meta-data search
...
* Improve coding style
* Remove useless code comments
* Hide legacy providers by default
* Add Tekstowo to have at least one functioning provider for lyrics again
* Enable query logging only if an environment variable is set
* Use Tekstowo in example JavaScript
2023-08-06 20:02:00 +02:00
Martchus
a191aebd8a
Allow basic use of db query via JavaScript
2023-08-05 02:06:26 +02:00
Martchus
485611141c
Track "position in set" changes via JavaScript correctly
2023-08-04 00:19:10 +02:00
Martchus
7533761d77
Make function to read directory from JavaScript actually return anything
2023-08-04 00:18:13 +02:00
Martchus
9fd925a6bd
Improve path-related properties of MediaFileInfoObject
2023-08-03 23:32:33 +02:00
Martchus
cd1e0ce590
Expose DB query functions to JavaScript
...
Those are likely not very usable as-is because they return a model that is
not yet written for use within the QML engine.
2023-08-02 18:26:01 +02:00
Martchus
73dc64ce6a
Expose target to JavaScript
2023-08-02 18:08:35 +02:00
Martchus
1d4c18f474
Allow setting the save path via JavaScript
2023-08-02 17:56:20 +02:00
Martchus
ccb516d47b
Avoid implicit type conversion
2023-08-02 17:56:01 +02:00
Martchus
24b397b930
Add functions to read dirs/files from the JavaScript
2023-08-02 17:55:36 +02:00
Martchus
9aca90538d
Execute JavaScript after tags have been added/removed
2023-08-02 17:42:47 +02:00
Martchus
57b6d38e43
Simplify dealing with fields in JavaScript
...
* Expose PositionInSet as Object (that is still convertable to String)
* Allow assigning field values directly without having to have a
TagValueObject and without having to have an Array
2023-08-01 00:50:33 +02:00
Martchus
c3af3d43e6
Allow dealing with multiple fields values in JavaScript
2023-07-31 23:53:35 +02:00
Martchus
9cb8702d13
Fix use of QT_BEGIN_NAMESPACE when declaring qHash() function
2023-07-30 16:57:19 +02:00
Martchus
8c2ab29927
Make JavaScript processing code compatible with Qt 5
2023-07-30 16:55:35 +02:00
Martchus
22953ad0da
Allow tag processing via JavaScript
2023-07-30 16:15:19 +02:00
Martchus
a6231b8442
Add the tag type the "not supported for" message refers to
2023-05-03 21:09:36 +02:00
Martchus
0e36eec6c7
Suppress "field not supported" for ID3v1 fields if writing ID3v2 as well
2023-05-03 21:00:59 +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
Stent
3fe8db2c01
Fix language mistakes in cli help text
...
Closes #96
2022-12-22 13:37:08 +00:00
Martchus
08629ef4ee
Improve error handling when setting tags in CLI
2022-08-12 00:28:57 +02:00
Martchus
9eeae7ae22
Use `TagValue::toDisplayString()` instead of handling exception
2022-06-19 13:32:46 +02:00
Martchus
b5c12f09b5
Apply clang-format
2022-05-26 21:40:55 +02:00
Martchus
90d2d7bde4
Support all known fields in renaming utility
...
* Generalize and simplify code for populating tag object
2022-05-24 18:12:50 +02:00
Martchus
e8c0450c1c
Preserve casing in field mapping consistently for cases where it is wanted
2022-05-24 18:11:33 +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
56ca398dda
Apply changes to any Ogg Vorbis comment unless a track has been specified
...
This is required since the parsed Ogg Vorbis comment's target is set to the
containing Ogg stream as it still makes sense not having to care about the
specific track in most cases.
2022-05-04 00:42:48 +02:00
Martchus
5e808d069b
Support many more fields
2022-04-06 01:15:21 +02:00
Martchus
a40cff17a9
Apply clang-format
2022-04-05 20:17:33 +02:00
Martchus
32c9cbaae2
Use `makeNativePath()` instead of `u8path()`
...
On non-Windows platforms the internal representation used for paths is the
configured native (narrow) character set. Most of the time that's UTF-8 but
only on Windows UTF-8 is *always* used for the internal representation.
2022-03-17 22:41:51 +01:00
Martchus
30bf73163f
cli: Catch conversion exceptions when making tag values from CLI args
2022-03-16 21:09:20 +01:00