Hi Phil
when using:
exiftool -p $icc:all test.tif
i get 0
when using:
exiftool -G1 test.tif
i get a lot of ICC_header and ICC_Profile
jean
Hi Jean,
Try: exiftool -p $icc_profile:all test.tif
- Phil
It works for icc_profile and icc-header thank you.
There is no way to get $icc in one shot ?
one more small thing:
when using -p, -m does not work, warnings are detected then written
and (last one, i promise ;D)
i use exiftool using stay-open
after sending commands i must, sometimes, read twice the pipestdout to get {ready}
i understand that {ready} means the end of the process, is it correct ?
for example i write to the pipe:
-p
$iptc:all
-p
$icc_profile:all
test.tif
-execute
(+ fflush to validate the write process and Sleep(100) to wait for the end of the exiftool process)
The result is:
first ReadFile(pipestdout):
1
1
second ReadFile:
{ready}
BUT with another file i can get, directly in the first read:
1
1
{ready}
Is there a way to know that, after the first read, all the data have not been delivered ?
ICC_Profile:all will include the ICC-header tags (family 0 for these tags is ICC_Profile).
The -m option only stops warnings with "[minor]" in the description (even with -p). If you want to stop all warnings, add -q -q.
Is that 100 microseconds you are sleeping? If so, I can see why the "{ready}" sometimes comes after that.
- Phil
In fact Sleep uses milliseconds
When scanning hundreds files it takes a long time to get the results with 0,1 second
why don't you simply combine them in one -p? E.g. -p '$icc_profile:all $iptc:all' should work (on windows, use double quotes). And if you then also include e.g. the filename, I think you can forgo the sleep as well (you then just need to process the output a bit different).
I use stay-open and pipes to converse with exiftool, infact i do not need the quotes:
-p
$icc_profile:all $exif:all
test.tif
-execute
then i get the result and make the same process with other files.
if i do not wait between each file it produces an incredible mess of data :)
Hi Jean,
You shouldn't have to sleep that long. The maximum I would recommend is 0.01 sec, which would limit you to 100 files/sec (my C++ wrapper waits for 0.001 sec). Just keep reading until you see the "{ready}\n" message. And it would be faster if you didn't wait for the "{ready}\n" to send the next command. I don't understand what you mean by a mess of data... you should be able to search for the "{ready}\n" messages to organize the output.
- Phil