Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Working with image file that contain colons ':' #120

Open
octimis opened this issue Nov 7, 2024 · 4 comments
Open

Working with image file that contain colons ':' #120

octimis opened this issue Nov 7, 2024 · 4 comments

Comments

@octimis
Copy link

octimis commented Nov 7, 2024

The following MPV.conf setting is used to apply specific time stamp label format to video screen shots:
screenshot-template="%F - [%P] (%#01n)"

I.e. Filename - [HH:MM:SS.MM] (1).jpg

Unfortunately tag editor will generate error:
Error 03:57:28 setting tags: An IO error occurred when parsing the specified file "/Image/Directory/Without_File_Extension - [00": open failed: No such file or directory

[00, referring to the image file containing [HH, in its filename.

I have both paths enclosed in quotation. I'm on Ubuntu with bash terminal. The GUI works fine with such file names.

Escape character was no good:

"/path/to/image [00"\:"03"\:"03.193] (1).jpg"

This is an example of a command I executed:

tageditor set cover="/media/drive1/Example dir/image.jpg" \
-f "/media/drive1/Example dir/Video.mp4"

FFMpeg had no trouble with colons in the filename.

@Martchus
Copy link
Owner

Martchus commented Nov 7, 2024

Colons are used to specify the cover type and descriptions for tag formats supporting that, see the example on the README. I suppose I should add (or document if already implemented) a way of escaping here.

In your example command you're not using any colons, though. Is that just to show what you did in a generic way or do I misunderstand that colons are the problem? And I suppose colons are only problematic within the path of the cover (but not within the path of the file to be edited itself).

@Martchus
Copy link
Owner

Martchus commented Nov 7, 2024

Having to escape paths can actually be a bit annoying when scripting so I added an additional CLI argument to override the delimiter used to provide the cover type and description (see the added documentation of the commit referenced by GitHub for details). You'd simply set it to a character that won't occur in the path. This also makes things easier internally as I don't have to handle escaping.

I haven't tested it yet (except that the colon still works) but you can give it a try if you can build the tag editor from master.

@octimis
Copy link
Author

octimis commented Nov 8, 2024

Thanks for responding and attempting to fix the situation.
I followed your suggestion here, and compiled C++ utilities.

I have relevant CPP files located in:


[c++utilitiesTargets.cmake]: 
./c++utilities/cpp-utilities-master/CMakeFiles/Export/share/c++utilities/cmake/
[3rdParty.cmake, BasicConfig]:
./c++utilities/cpp-utilities-master/cmake/module

For the command:
--cover-type-delimiter
I presume it would be appended to to:

tageditor set cover="/media/drive1/Example dir/image.jpg" -cover-type-delimiter\
-f "/media/drive1/Example dir/Video.mp4"

CMake Error at c++utilities/cpp-utilities-master/c++utilitiesConfig.cmake:131 (include):
include could not find requested file: ...c++utilitiesTargets.cmake
could not find requested file: 3rdParty
could not find requested file: BasicConfig

img01

@Martchus
Copy link
Owner

Martchus commented Nov 8, 2024

Not sure what you did wrong. Probably c++utilities has not been installed where CMake tries to look for it. For building I strongly recommend to follow instructions on https://github.com/Martchus/tageditor?tab=readme-ov-file#building-this-straight and you probably want to add -DQT_PACKAGE_PREFIX:STRING=Qt6 at this point to use Qt 6. This way it is just a single build and there's no need to install anything.

And yes, -cover-type-delimiter needs to be appended but it also needs a value, e.g. -cover-type-delimiter '|' to change the delimiter to |. I suppose I could also support specifying no value in which case specifying a cover type and description will be impossible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants