[AddOn] TCMetadataViewer 2.0

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: sheep, Hacker, Stefan2, white

User avatar
van Dusen
Power Member
Power Member
Posts: 683
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

[AddOn] TCMetadataViewer 2.0

Post by *van Dusen » 2010-03-06, 00:52 UTC

TCMetadataViewer_1.2 (20100406)

TCMetadataViewer is an addon for the filemanager Total Commander for viewing (and editing) metadata, which can be embedded in many file types (e.g. EXIF information in pictures, which are taken with a digicam). TCMetadataViewer doesn't extract these metadata itself, but needs the external tool ExifTool for reading (and writing) them.
Additionally, TCMetadataViewer shows a preview on image files. TCMetadataViewer itself supports only BMP, JPG and (not-animated) GIF files. In order to provide previews on more file types, TCMetadataViewer optionally (configurable) uses the external tool IrfanView, NConvert or ImageMagick for generating preview images.

<TCMetadataViewer.exe> is a compiled version of the AutoIt3 script <TCMetadataViewer.au3>. This script is written for AutoIt3 V3.3.4.0. <TCMetadataViewer.exe> is a standalone executable and doesn't need an installed AutoIt3.

TCMetadataViewer trys to simulate / to act like a lister plugin's quickview. It opens a borderless window, which fits into and overlays one of both file panels. When TC's main window is moved or the file panel with the pseudo quickview is resized, TCMetadataViewer's window will readjusted automatically.

TCMetadataViewer shows the metadata and a preview image for the file, which is focussed in TC in the opposite file panel. When the name or the path of the focussed file changes (e.g. by navigating the filelist with <Down>/<Up> or by changing the directory), then TCMetadataViewer's view will be refreshed.

The Executable (TCMetadataViewer.exe), source code (TCMetadataViewer.au3) and a ReadMe file (poor english) are included with TCMetadataViewer_1.2 (20100406).zip


Screenshots

TotalCommander with TCMetadataViewer

TCMetadataViewer - Context menue for preview image

TCMetadataViewer - Context menue for listview


Download

http://www.totalcmd.net/plugring/TCMetadataViewer.html


Update 2013-12-13:
TCMetadataViewer_2.0 (20131208) is available on totalcmd.net
Last edited by van Dusen on 2013-12-13, 22:55 UTC, edited 4 times in total.

User avatar
Hacker
Moderator
Moderator
Posts: 11102
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Re: [AddOn] TCMetadataViewer 1.0

Post by *Hacker » 2010-03-06, 14:11 UTC

van Dusen wrote:TCMetadataViewer_1.0 (2010-03-05).zip from filefactory.com
(Scroll down to the bottom to the page and use the "Download now with filefactory basic" button)

TCMetadataViewer_1.0 (2010-03-05).zip from speedshare.org
(Scroll down to the bottom to the page and use the "Download!"-Button)
OMG, those sites are really horrendous. I could not for the life of it figure out FileFactory and on SpeedShare I clicked the wrong download button the first time. Please please please use something a little bit less spammy, perhaps yousendit or megaupload, if you have no access to any webspace.

Thanks
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.

User avatar
fenix_productions
Power Member
Power Member
Posts: 1952
Joined: 2005-08-07, 13:23 UTC
Location: Poland
Contact:

Post by *fenix_productions » 2010-03-06, 14:47 UTC

2van Dusen
Does not work with my standard TC instance (many other plugins, and multiple tabs always active).

Works nicely in TC with clean INI but two things are little bit annoying:

1. after changing Rating, focus jumps to next file automatically.
2. PackJPG warning when it does not exist. If it's really required show error message like for ExifTool and put info about it into first section of Readme file. If not - do not show this dialogue at all.

Either way: very good work!
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099

User avatar
nsp
Power Member
Power Member
Posts: 1195
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Re: [AddOn] TCMetadataViewer 1.0

Post by *nsp » 2010-03-06, 18:40 UTC

Good work for jpg but I have some trouble :
- png are not shown unless irfanview or nconvert is installed..
- i have nconvert at home but only the first image is shown even if the others seems to be processed.
- as said if rank is changed file change without selection.
- ExifToolLang seem to not being taken into account

- changing filename or directory should not be possible (TC do it Already ;)
- i personally use imagemagik as converter which parameter do you use to convert the file ?

User avatar
Hacker
Moderator
Moderator
Posts: 11102
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker » 2010-03-06, 21:17 UTC

fenix_productions,
after changing Rating, focus jumps to next file automatically
I have not tried it yet, but does this ini setting not help?
MoveCursorToNextFileAfterSetXMPRating=

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.

User avatar
van Dusen
Power Member
Power Member
Posts: 683
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen » 2010-03-07, 01:31 UTC

Thank you for giving TCMetadataViewer a try and for your feedback! :-)

Hacker wrote:OMG, those sites are really horrendous.
You are right, I don't like them too :-(. If I only knew an alternative...
fenix_productions wrote:Does not work with my standard TC instance
:-(. Could you give me more details on what (not) happens, please? Doesn't the program start? Doesn't show it metadata and/or preview image? Is there any error message from TCMetadataViewer?
fenix_productions wrote:1. after changing Rating, focus jumps to next file automatically.
nsp wrote:- as said if rank is changed file change without selection.
Hacker wrote:I have not tried it yet, but does this ini setting not help?
MoveCursorToNextFileAfterSetXMPRating=
Exactly! :-) Set key "MoveCursorToNextFileAfterSetXMPRating" in section [Configuration] to "0", if you like the cursor not to be moved after setting the XMP rating.
(Analogous for XMP label: set key "MoveCursorToNextFileAfterSetXMPLabel" to "0")
fenix_productions wrote:2. PackJPG warning when it does not exist. If it's really required show error message like for ExifTool and put info about it into first section of Readme file. If not - do not show this dialogue at all.
A warning is shown on program start, if key "PackJPGPath" in INI file is present, but packJPG isn't found in the configured path. packJPG isn't required, it is only needed, if you like to view metadata on packJPG-archived JPEGs. The warning just likes to inform you about a faulty entry in the INI file. In order to avoid the warning, you can delete (or comment) the key "PackJPGPath" in the INI file.
nsp wrote:- png are not shown unless irfanview or nconvert is installed..
Unfortunately, TCMetadataViewer itself only can show previews on BMP, JPG and (not-animated) GIF files (as mentioned in the ReadMe). TCMetadataViewer needs the help of IranView or NConvert in order to show previews on much more image file types.
nsp wrote:- i have nconvert at home but only the first image is shown even if the others seems to be processed.
Strange - Is "HQPrev" seen in the rightmost part of the status bar, when the next image is selected in TC? You could enable logging (by setting key "WriteLog" to "1" in section [Confiuration] of INI file), view at least 2 images and check TCMetadataViewer.log (should be found in the same directory as TCMetadataViewer.exe) then: are there "CreatePrevImg" entries found? (Unfortunately, in current version of TCMetadataViewer errors are not logged)
nsp wrote:- ExifToolLang seem to not being taken into account
What value did you assign to key "ExifToolLang" in section [Configuration] of INI file? In order to "activate" the translated descriptions, you need to choose option "Tag names: Localized descriptions" in listview context menue.
nsp wrote:- changing filename or directory should not be possible
Writing/modifying of any information provided by ExifTool is done by ExifTool too. I could implement a configurable exception list for tags, which are to be "unsavable". But would such efforts be expedient?
nsp wrote:- i personally use imagemagik as converter which parameter do you use to convert the file ?
I'll try to support ImageMagick as ImageConverter with next version of TCMetadataViewer.
In order to see what TCMetadataViewer do, enable logging (by setting key "WriteLog" to "1" in section [Confiuration] of INI file), and check TCMetadataViewer.log.

Example for IrfanView:
i_view32.exe "C:\...\mypic.png" /resize=(247,350) /resample /jpgq=90 /sharpen=15 /convert="C:\...\Temp\TCMetadataViewer.jpg" /silent

Example for NConvert:
nconvert.exe -o "C:\...\Temp\TCMetadataViewer.jpg" -out jpeg -quiet -q 95 -rmeta -resize 247 350 -ratio -rtype lanczos -sharpen 40 "C:\...\mypic.png"

User avatar
nsp
Power Member
Power Member
Posts: 1195
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Post by *nsp » 2010-03-07, 07:51 UTC

van Dusen wrote: In order to see what TCMetadataViewer do, enable logging (by setting key "WriteLog" to "1" in section [Confiuration] of INI file), and check TCMetadataViewer.log.
A) "ExifToolLang" is set to "fr"
I turned on the log and get the following commands :

Code: Select all

c:\Tools\ExifTool\ExifTool.exe  -G0 -a -t -H -L -s   "c:\Tools\graphic\imageMagick\images\arc.png" 
it seems that the -lang fr parameter is missing. It is only after digging a little that i found that by default the strOptTagNam is set to "Name" instead of "Desc" and to enable it you have to RClick on the bar...:roll:

B) nconvert do not overwrite file (i do not see any force or overwrite option). I do not see any delete command in your log.
To convince myself, i modified the nconvert.exe fle by a batch that delete the output file before converting and it is working like expected. 8)

User avatar
fenix_productions
Power Member
Power Member
Posts: 1952
Joined: 2005-08-07, 13:23 UTC
Location: Poland
Contact:

Post by *fenix_productions » 2010-03-07, 10:49 UTC

van Dusen wrote:
fenix_productions wrote:Does not work with my standard TC instance
:-(. Could you give me more details on what (not) happens, please? Doesn't the program start? Doesn't show it metadata and/or preview image? Is there any error message from TCMetadataViewer?
Movie about: http://fenixproductions.dcmembers.com/tmp/metadata_bug01.exe

If you want to take a look on my TC configuration send me an email and I will give you my INI files.

One more note: please put all graphics into separate subfolder.

Edited
I've generated log file which says:
2010-03-07 11:54:33 ProgramStart TCMetadataViewer 1.0
2010-03-07 11:54:33 GetExifToolVer D:\totalcmd\tools\media\TCMetadataViewer\ExifTool.exe -ver
2010-03-07 11:54:35 FileIsValid "d:\totalcmd\tools\media\TCMetadataViewer\Blank.jpg 284" Ignored (File does not exist)
2010-03-07 11:54:39 FileIsValid "d:\totalcmd\tools\media\TCMetadataViewer\TCMetadataViewer - Kontextmenue Listview.png 3.3" Ignored (File does not exist)
2010-03-07 11:54:41 FileIsValid "d:\totalcmd\tools\media\TCMetadataViewer\Blank.jpg 284" Ignored (File does not exist)
2010-03-07 11:54:43 FileIsValid "d:\txt_garbage\_pictures\1234385828419xd8.jpg 263.1" Ignored (File does not exist)
2010-03-07 11:54:44 FileIsValid "d:\txt_garbage\_pictures\mice_001.jpg 95.6" Ignored (File does not exist)
2010-03-07 11:54:45 FileIsValid "d:\txt_garbage\_pictures\fun.jpg 63.7" Ignored (File does not exist)
2010-03-07 11:54:46 FileIsValid "d:\txt_garbage\_pictures\1234385828419xd8.jpg 263.1" Ignored (File does not exist)
2010-03-07 11:54:48 FileIsValid "d:\txt_garbage\_pictures\wincmdru.ico 1.1" Ignored (File does not exist)
2010-03-07 11:54:48 FileIsValid "d:\txt_garbage\_pictures\badfocus.png 31.7" Ignored (File does not exist)
2010-03-07 11:54:49 FileIsValid "d:\txt_garbage\_pictures\fun.jpg 63.7" Ignored (File does not exist)
2010-03-07 11:54:51 ProgramExit TCMetadataViewer 1.0
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099

User avatar
van Dusen
Power Member
Power Member
Posts: 683
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen » 2010-03-10, 15:09 UTC

nsp wrote:A) "ExifToolLang" is set to "fr"
[...] It is only after digging a little that i found that by default the strOptTagNam is set to "Name" instead of "Desc" and to enable it you have to RClick on the bar...:roll:
With next version TCMetadataViewer will start with "Tag names: Localized descriptions". I agree with you, that it is a bit confusing to have "ExifToolLang" set in INI file, but not to see accordant results in the ListView by default. Unfortunately, the option "Tag names: Localized descriptions" causes worse performance than option "Tag names: Names" (TCMetadataViewer needs to call ExifTool twice in order to get some "special" tag values for internal purposes)
nsp wrote:B) nconvert do not overwrite file
This has been changed with XnView v1.97.1 (LIBFORMAT v5.60) 22/02/2010: "Added: NConvert: -overwrite (overwriting is disabled by default!)". I've tested with NConvert v5.31, where overwriting was unconditionally enabled. With next version I will add the "-overwrite" option when calling NConvert.
fenix_productions wrote:If you want to take a look on my TC configuration send me an email and I will give you my INI files.
Thanks for your help! Email has been sent!
fenix_productions wrote:One more note: please put all graphics into separate subfolder.
Next version of TCMetadataViewer will do so.

User avatar
Alextp
Power Member
Power Member
Posts: 2321
Joined: 2004-08-16, 22:35 UTC
Location: Russian Federation
Contact:

Post by *Alextp » 2010-03-10, 21:57 UTC

I may put it to totalcmd.net, or do you have account?

User avatar
van Dusen
Power Member
Power Member
Posts: 683
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen » 2010-03-13, 23:26 UTC

TCMetadataViewer_1.1 (20100313) has been released.

Changes V1.0 => V1.1

Added: Support for ImageMagick (convert.exe) as ImageConverter. New key "ImageMagickPath" in section [Configuration] of INI file. Value "ImageMagick" allowed for key "ImageConverter"
Changed: Key "MoveCursorToNextFileAfterSetXMPRating": Default changed from 1 to 0
Changed: Key "MoveCursorToNextFileAfterSetXMPLabel": Default changed from 1 to 0
Changed: Key "Backup": Default changed from 0 to 1
Fixed: Wrong key numbers 76, 77 and 78 corrected to 77, 78 and 79 in section [DEU] of included <TCMetadataViewer.ini>
Changed: Icons for TCMetadataViewer's GUI will be installed into a separate subdirectory <TCMetadataViewer_Icons\> (created by TCMetadataViewer) of the installaton directory.
Added: Made initial state of listview options Tag grouping, Tag names and Tag values configurable: 3 new keys "TagGrouping", "TagNames" and "TagValues" in section [Configuration] of INI file
Fixed: Processing fails (with error message "File does not exist"), when size display in TC (on sheet "Tabstops" in Configuration) isn't set to "bytes" and show mode is "Full".
Notes:
* Option "Tabstops>Size display" in TC Configuration is only evaluated at program start. If you change "Tabstops>Size display" setting while TCMetadataViewer is runnning,
then processing will fail until you restart TCMetadataViewer
* Fix will not help, if keys 1450="b", 1451="k", 1452="M", 1453="G" in <WCMD_{lng}.LNG> are changed to user-defined units, which contain space(s) and TC view mode is "Full"
* Fix will not help, if date/time parts in "Date" column are separated by space(s) or space is used as separator for digit grouping in "Size" column and TC view mode is "Full"
Changed: If ImageViewerPath isn't found, empty or invalid, then accordant info message isn't shown on start, but on first time an external ImageViewer is needed.
Changed: If PackJPGPath isn't found, empty or invalid, then accordant warning isn't shown on start, but on first time a PJG file gets focus in TC.
Changed: If TexteditorPath isn't found, empty or invalid, then accordant info isn't shown on start, but on first time you call "Edit configuration file" from context menu.
Changed: Not used icon file <cycle.ico> removed from <TCMetadataViewer.exe> (will not be any longer installed on first start of TCMetadataViewer)
Added : Some more operations will be logged to <TCMetadataViewer.log>
Changed: ImageConverter generates BMPs as preview images for quickview instead of JPGs
Fixed : If NConvert is set as ImageConverter and version of NConvert is >= 5.60, then TCMetadataViewer shows only the first image.
Reason: Since v5.60 NConvert doesn't overwrite target image by default; new parameter "-overwrite" as been introduced.
Solution: quickview image <TCMetadataViewer.bmp> will be deleted before image conversion (new option "-overwrite" not used in order to keep compatible with older NConvert versions)
Fixed : If ImageConverter is set to NConvert, then images, which are smaller than the quickview area, are anyhow resized and sharpened.
Changed: Special handling of IrfanView window when viewing a thumbnail image (automatic sizing in order to fit it into the listview area) removed.


Updated download links can be found in the first posting.


2Alextp
Thank you very much for your kind offering :) .
Unfortunately, I don't have an account on totalcmd.net. Would you mind putting TCMetadataViewer_1.1 to totalcmd.net? If you need further information and/or the ZIP file via email, let me know, please.
Many, many thanks in advance!

User avatar
Peter
Power Member
Power Member
Posts: 1844
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz
Contact:

Post by *Peter » 2010-03-23, 21:54 UTC

van Dusen wrote:...
2Alextp
Thank you very much for your kind offering :) .
Unfortunately, I don't have an account on totalcmd.net. Would you mind putting TCMetadataViewer_1.1 to totalcmd.net?...
Something new? I think it is not yet realeased on Totalcmd.net

Peter
TC 9.200a / #266191
Win 7 x64 / Win 10 x64

User avatar
fenix_productions
Power Member
Power Member
Posts: 1952
Joined: 2005-08-07, 13:23 UTC
Location: Poland
Contact:

Post by *fenix_productions » 2010-03-23, 23:37 UTC

2van Dusen
Sorry for so late response but 1.1 is working perfectly now!
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099

User avatar
van Dusen
Power Member
Power Member
Posts: 683
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen » 2010-03-24, 01:00 UTC

2Peter
A few minutes ago I've asked Flint for an account on totalcmd.net by mail. Alextp would have been up to put it on totalcmd.net (thanks again!), but he recommended to request an own account. If I get an account, I'll try to put the upcoming v1.2 (almost done) there.

2fenix_productions
Thank you very much for sending me your TC INI files! Due to them I could find and fix the bug. Thanks for retesting v1.1!

User avatar
van Dusen
Power Member
Power Member
Posts: 683
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen » 2010-04-06, 23:19 UTC

TCMetadataViewer_1.2 (20100406) has been released.

TCMetadataViewer is now availale at totalcmd.net: TCMetadataViewer on totalcmd.net. Updated download link can be found in the first posting too.


Changes V1.1 => V1.2
  • Added : Multiple custom views can be defined: You can define separate custom views per file type (per filename extension).
    New section [CustomViews] in INI file may contain a list of custom views and their associated filename extensions.
    In "Cust" view, TCMetadataViewer automatically chooses the matching custom view definition according to the extension of the viewed file.
  • Added : If multiple tags are defined on a line of a custom view, then a click on the appropriate listview row will "drill-down" the tags to a new temporary view
    (tags will be separated, one tag per listview row). "Roll-up" to the custom view with a click on the "Cust" button.
  • Added : Workaround (limited to read operations) for pathnames/filenames with unicode characters, which are not present in current codepage:
    ExifTool and NConvert will use short names for all read operations, if path or filename contains unicode characters. IrfanView can't process files with unicode
    path / filename at all, even if short name is passed as parameter. Write operations (changing metadata, rotating image etc.) are generally disabled, if path or
    filename contains unicode characters.
  • Added : Abbreviated name of day of week (Mo, Tu, ..., Su) is shown for EXIF.DateTimeOriginal in date/time area right to the preview image.
    Added: New string 85 (names of days) in language sections
  • Added : Symbol for standard time (snow flake) / daylight saving time (sun) is shown next to time of EXIF.DateTimeOriginal in date/time area right to the preview image.
    Can be disabled (0) / enabled (1 or 2) via new INI key "ShowXMPDaylightSavings" in section [Configuration] of INI file
    Added: New key "ShowXMPDaylightSavings" in section [Configuration] of INI file
    Added: New key "MoveCursorToNextFileAfterSetXMPTimezone" in section [Configuration] of INI file
  • Added : Font for listview can be configured via new keys "ListviewFontSize", "ListviewFontWeight", "ListviewFontName" in section [Configuration] of INI file
  • Added : Prefered (start-up) options for listview can be set in INI file, section [Configuration] (new keys "TagGrouping", "TagNames", "TagValues")
    These settings will be taken as default for activity "Reset display options" from listview context menu.
  • Added : New key "AllowDuplicateTagNames" in section [Configuration] of INI file
  • Changed: Option 'Tag edit: Allways edit first tag of a line in "Cust" view (skip choice dialog)' removed (new "drill-down" function has made it dispensable)
    String 58 in language sections (changed from 'Tag edit: Allways edit first tag of a line in "Cust" view (skip choice dialog)' to 'Allow duplicate tag names'
  • Changed: INI file, section [Configuration], keys "IrfanViewPath", "NConvertPath", "ImageMagickPath" replaced by one new key "ImageConverterPath"
  • Changed: String 49 in language sections (changed from 'Reset display options (Typ - Name - Lit)' to 'Reset display options')
  • Fixed : If "Backup file when writing" is checked, then already existing backup files now will be not overwritten any longer. The fix concerns only functions, where
    TCMetadataViewer needs to create the backup file (ExifTool creates backups itself, but IrfanView/NConvert (lossless JPG operations) does not)
  • Fixed : If extension of currently viewed file is listed in section [FileExtensionsUnsupported] or if currently focussed entry is a directory,
    then a manual refresh (click on right part ("Ready" etc.) of status bar) causes reading metadata for these "forbidden" files
  • Changed: If tag filter (active filter button) is "Comp", then edit dialog can be opened now (however, composite tags can't be stored)
  • Changed: Tags will be prevented from being changed/deleted ("Save" button will be disabled in tag edit dialog), if
    - tag filter (active filter button) is "Comp" or
    - option TagNames is set to "Desc" *and* tag filter (active filter button) is *not* "Cust" or
    - path+name of currently viewed file contains unicode characters, which are not present in the current codepage
  • Changed: Reference files "TCMetadataViewer_ExifTool_WritableExts.txt" and "TCMetadataViewer_ExifTool_WritableTags.txt" will be renewed, if
    - TCMetadataViewer has been updated (version of installed TCMetadataViewer differs from version, which is stored in 1st line of "TCMetadataViewer_ExifTool_WritableExts.txt")
    - ExifTool config file (<.ExifTool_config>) has been updated (file modify date or file size of installed <.ExifTool_config> differs from info, which are stored in 2nd line of "TCMetadataViewer_ExifTool_WritableExts.txt")
    - ExifTool has been updated (version of installed ExifTool differs from version, which is stored in 3rd line of "TCMetadataViewer_ExifTool_WritableExts.txt")
  • Added : Show path to currently viewed file in left section of status bar (format: {filename} [{path}])
  • Added : Utility <TCMetadataViewer_UpdateINI.exe> for creating or updating <TCMetadataViewer.ini>

Post Reply