Using ExifTool in Delphi

Started by FrankB, July 03, 2023, 04:10:21 PM

Previous topic - Next topic

FrankB

Yes I know.
1) Who uses Delphi nowadays?
2) There is already documentation available on how to do that. https://exiftool.org/gui/articles/delphi01.html

But I felt I had to contribute my unit that I have been using for a number of years now, and works perfect for me. The main advantage of my unit is that it uses the stay_open feature, and thus provides better performance.

You can access the unit and sample program on GitHub: https://github.com/FrankBijnen/UnitExifTool/

Did I mention what a great product ExifTool is?

Phil Harvey

ExifToolGUI is written in Delphi and also uses the -stay_open feature.

Here is the ExifToolGUI source code.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

FrankB

Thanks Phil.

I just had a quick look at source. My contribution is aimed at (Delphi) developers wishing to incorporate ExifTool in their code, while ExifToolGui is a complete tool for users.

I noticed, as can be read in this forum, that the Bogdan's source uses libraries not freely available. I'm willing to rewrite the Bogdan version without dependencies to these libraries. It will take 'some' time.
The advantage would be that the source is better maintainable.

Do you think people are interested? Are you?

StarGeek

Quote from: FrankB on July 05, 2023, 03:13:39 AMI'm willing to rewrite the Bogdan version without dependencies to these libraries. It will take 'some' time.

See the ExifToolGUI currently unsupported thread.  There are some people there who indicated they might be rewriting it.  You might message them and see if you can collaborate.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

FrankB

Quote from: Phil Harvey on July 04, 2023, 07:07:08 PMExifToolGUI is written in Delphi and also uses the -stay_open feature.

Here is the ExifToolGUI source code.

- Phil

Hello Phil,

Out of curiousity, and because I thought it to be a challenge, I have modified the 'Bogdan' source. In a nutshell:

- It compiles with the Delphi Community Edition. Currently 11.3. Freely available from Embarcadero. You need to register, and the licence will be valid for 1 year.
- I removed all references to 3rd party libraries, and replaced them by standard 'Delphi'. (I did need to extend some controls, but the source code to do that comes with the Community Edition)
- The source is thus far better maintainable.

In addition to the above the following is also updated.
- Added styles, to replace the option of choosing 1 out of 3 possible colors.
- Used WIC (Windows Imaging Component) to display the preview. Auto-rotate is now possible for all supported WIC types.
- Replaced the Browser control, that was based on IE, by a later version based on Edge.
- Replaced the Google Map with OSM map, plus the option to GEO-tag the images.

And now for the questions:

- Are you interested? If not, I'll keep the source for myself. Don't worry, I will not distribute and try to make money out of it.

if Yes, how do we move on?
I would like a 'Source Code only' distribution on a public repository. Like Github. But only if you agree. After all it's 'Bogdan' source that would get distributed.
- And of course it needs testing. Then a binary distribution would be more likely. I dont have a site to host a binary.

Please tell me your thoughts.

Frank Bijnen
exift1.jpg
exift2.jpg 

Phil Harvey

Hi Frank,

I'm sure there will be many people interested in an updated version of the GUI.  I'm sure that Bogdan would be OK with putting the source code on Github.  You should be sure to credit him for the original source.

Does Github host binaries?  I couldn't figure out how to do that.  I could host them on the ExifTool web site if necessary, but it would be better if you could upload them yourself.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

FrankB

Thanks for your reply Phil.

I will prepare something on Github. If binaries are not allowed on Github I will send them to you.

Frank

StarGeek

Github does host binaries, though I have no idea how to do it.  For example, take GeoTag Ninja, created by @nemethv on these forums.  If you follow the link, then click "Releases" on the right side, pick a build and click the arrow next to "Assets", you will see the binary plus 2 source files, a zip and a tar/zip.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

FrankB

Hi Phil,

I committed the source, and the Executable, to Github. https://github.com/FrankBijnen/ExifToolGui/
Please check, I may have made some mistakes.

If you think the current state of the program is good enough, I will post something in the ExifToolGui branch.

PLease be patient with me, my wife was hospitalized yesterday evening. She crashed with her bicycle.

Frank