[AddOn] TCMetadataViewer 2.0

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

Moderators: white, Hacker, petermad, Stefan2

User avatar
Matthias030
Senior Member
Senior Member
Posts: 419
Joined: 2007-03-04, 10:48 UTC
Location: Berlin

Post by *Matthias030 »

That's an interesting project and a great addon for TC!

But I have some trouble. Lossless rotation doesn't work. After rotating a backup image *.jpg_original is created, but original image was not changed. Further it's not possible to edit some metadata. I can only view values. Button "Save" is not active.

Look's like I'm in read-only mode? I use TC 7.55pb1 on Windows 7.
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

2Matthias030

Thanks for your feedback!

Matthias030 wrote:Lossless rotation doesn't work. After rotating a backup image *.jpg_original is created, but original image was not changed.
Two cases, which may cause this behaviour, come to my mind so far:

1. A valid value for "ImageConverter" (here: "IrfanView" or "NConvert") is defined in <TCMetadataViewer.ini> (section [Configuration], key "ImageConverter"),
but path/filename given in "ImageConverterPath" isn't valid (e.g. file not found)
=> In this case TCMetadataViewer will show the warning
"{ImageConverter} not found in configured path {ImageConverterPath}"
on program start

2. "IrfanView" is defined as ImageConverter, but IrfanView plugin "Lossless JPG rotation/crop" (<JPG_TRANSFORM.DLL>) isn't installed.
=> In this case IrfanView will show the error message
"Can't load PlugIn: "JPG_TRANSFORM.DLL" ! Please install or update PlugIns from IrfanView homepage!"
on selecting menu item "Lossless operation: [...]"

In both cases TCMetadataViewer should disable the menu items "Lossless operation: [...]". I'll fix it with next version.

Does one of both cases apply to your issue?

Unfortunately, I don't have Win7, so I can't test, if the problem depends on OS


Matthias030 wrote:Further it's not possible to edit some metadata. I can only view values. Button "Save" is not active.
Tags will be prevented from being changed/deleted ("Save" button will be disabled in tag edit dialog), if
- file extension isn't found in <TCMetadataViewer_ExifTool_WritableExts.txt> or
- tag name isn't found in <TCMetadataViewer_ExifTool_WritableTags.txt> or
- tag filter (active filter button) is "Comp" or
- option TagNames is set to "Desc" and tag filter (active filter button) is not "Cust" (see explanation mentioned below) or
- path+name of currently viewed file contains unicode characters, which are not present in the current codepage

Does one of these cases apply to your issue?


Explanation: Why tag values can't be edited, if TagNames = "Desc" and tag filter <> "Cust"?

TCMetadataViewer let ExifTool build the tag list using the current options. In case of TagNames="Desc" parameter "-lang {ExifToolLang}" is passed to ExifTool). Unfortunately, ExifTool can't translate back to the standard tag name, if a localized tag name is passed. A standard tag name is needed for editing tags.

Example:
ExifToolLang ist set to "de", TagNames is set to "Desc", filter button "EXIF" is pressed. An excerpt from the tag list may look like this:

[...]
EXIF 0x010e Bildbeschreibung {My image description}
[...]

When clicking the related listview row in order to edit the image description, TCMetadataViewer don't know the standard tag name "EXIF:ImageDescription" of "EXIF:Bildbeschreibung".
If "-lang de -EXIF:Bildbeschreibung="{My edited image description}"" would passed to ExifTool, ExifTool would report a warning
"Warning: Tag 'Bildbeschreibung' does not exist. Nothing to do."

A mapping from standard tag names to localized tag names would require two tag lists, one with standard tag names and another one with localized tag names. Unfortunately, the output order of tags in both tag lists would be unequal. Thus a mapping via the line number would not be possible. A mapping via the hex ID of the tags would not be possible as well, because many tags don't have a hex ID.
A user-defined output order of tags could be forced using an argument list with ExifTool (ExifTool parameter "-@ {ArgList}). An argument list is used, when filter button "Cust" is pressed (that's the reason, why you can edit tags in "Custom" view, independent from "TagNames" option). Due to performance reasons this solution isn't implemented as default for each view.
User avatar
Matthias030
Senior Member
Senior Member
Posts: 419
Joined: 2007-03-04, 10:48 UTC
Location: Berlin

Post by *Matthias030 »

Lossless rotation doesn't work. After rotating a backup image *.jpg_original is created, but original image was not changed.
I was using an outdated version of nconvert.exe. After downloading the newest version, jpeg lossless rotate works good.

Further it's not possible to edit some metadata. I can only view values. Button "Save" is not active.
I have ckecked your explanation. To avoid any trouble I switched language back to english. My TCMetadataViewer.ini:
Language=ENG
ExifToolLang=en

I found out that I am able to change only 3 values in Cust-View under "Date and time information":
File: ModDate
SeqNo
Metadata ModDate
If I press on other values, the lower windows is reloading and gets blank.

Why it is not possible to press on filter "EXIF" and change Camera Model (Hex: 0x010f / Name: Make)? Is value changing only possible in filter "Cust"? By using ExifToolGui I can change this value without problems. Maybe I have not yet understood the correct usage of the program.

I have seen that ID3-Tags of MP3-Files and Metadata of DOC-Files are shown. Is it possible to change these values too, or are only image formats supported?
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

Matthias030 wrote:I was using an outdated version of nconvert.exe
Ah, thanks for the info. I will add a version check to the next release.

Matthias030 wrote:If I press on other values, the lower windows is reloading and gets blank
This should definitely not happen. Expected is (example):

Filter "Cust", Group "Date and time information"
A click on the listview row...

Code: Select all

-             Date picture taken               2008:06:22 10:35:05.03+ 2:00  •  •
should "drill-down" the tags, which are defined for this row in <TCMetadataViewer.ini>...

Code: Select all

Date picture taken=[=EXIF.DateTimeOriginal][="."EXIF.SubSecTimeOriginal][="+  "EXIF.TimeZoneOffset":00"]  •  [=XMP.TimezoneName][=" · "XMP.TimezoneNameAbbreviation]  •  [="Sommerzeit="XMP.DaylightSavings][=" · DST="XMP.DaylightSavingTime]
and should show in listview as following...

Code: Select all

EXIF  0x9003  Erstellungsdatum/-uhrzeit        2008:06:22 10:35:05.03
EXIF  0x9291  DateTimeOriginal 1/100 Sekunden  03
EXIF  0x882a  Zeitzonen-Offset                 2
XMP           TimezoneName                     -
XMP           TimezoneNameAbbreviation         -
XMP           DaylightSavings                  -
XMP           DaylightSavingTime               -
Now it should be possible to open the tag edit dialog for the desired tag by clicking on the related listview row.

The rows "File: "ModDate", "SeqNo" and "Metadata ModDate" contains in each case only one tag, thus a "drill-down" isn't necessary and the tag edit dialog can be opened directly.

I've no idea yet, what's going wrong (works fine here). I'll have to make some further tests...

Matthias030 wrote:Why it is not possible to press on filter "EXIF" and change Camera Model [...]?
I assume, that TagNames is set to "Desc" in your case. Please open listview context menu and select menu item "Tag names: Names" in order to disable translation of tag names (and tag values). Now editing of EXIF.Make should be possible.

Even if ExifToolLang is set to "en", a translation of tag names and valus is done, if option TagNames is set to "Desc"!
Example:

Code: Select all

"Real" tag name ....................... EXIF.ImageDescription
Tag name shown with ExifToolLang=en ... EXIF.Image Description
An EXIF tag with the name "Image Description" doesn't exist, thus ExifTool would refuse to change the tag value.

For EXIF tag "Make" the "real" tag name and the translated tag name are identical, but TCMetadataViewer can't know this. They could be identical by mere chance.

Matthias030 wrote:By using ExifToolGui I can change this value without problems.
With ExifToolGUI you can't show translated (localized) tag names and tag values. Tag values are always shown with their "real" name.
In order to show tag names by default with their "real" names in TCMetadataViewer, set "TagNames=Name" in TCMetadataViewer.ini. With "TagNames=Name" all tags, which are editable with ExifToolGUI, will be editable with TCMetadataViewer too. You can temporary switch to localized tag names / values using the listview context menu.

Matthias030 wrote:I have seen that ID3-Tags of MP3-Files and Metadata of DOC-Files are shown. Is it possible to change these values too, or are only image formats supported?
Unfortunately, ExifTool only can read these metadata. Excerpt from ExifTool help (v8.15):

Code: Select all

    Below is a list of file types and meta information formats currently
    supported by ExifTool (r = read, w = write, c = create):

      File Types
      ------------+-------------+-------------+-------------+------------
      3FR   r     | DOC   r     | K25   r     | PAGES r     | RWZ   r
      3G2   r     | DOCX  r     | KDC   r     | PBM   r/w   | RM    r
      3GP   r     | DVB   r     | KEY   r     | PDF   r/w   | SO    r
      ACR   r     | DYLIB r     | LNK   r     | PEF   r/w   | SR2   r/w
      AFM   r     | EIP   r     | M2TS  r     | PFA   r     | SRF   r
      AI    r/w   | EPS   r/w   | M4A/V r     | PFB   r     | SRW   r/w
      AIFF  r     | ERF   r/w   | MEF   r/w   | PFM   r     | SVG   r
      APE   r     | EXE   r     | MIE   r/w/c | PGM   r/w   | SWF   r
      ARW   r/w   | EXIF  r/w/c | MIFF  r     | PICT  r     | THM   r/w
      ASF   r     | F4A/V r     | MNG   r/w   | PNG   r/w   | TIFF  r/w
      AVI   r     | FLA   r     | MOS   r/w   | PPM   r/w   | TTC   r
      BMP   r     | FLAC  r     | MOV   r     | PPT   r     | TTF   r
      BTF   r     | FLV   r     | MP3   r     | PPTX  r     | VRD   r/w/c
      COS   r     | FPX   r     | MP4   r     | PS    r/w   | WAV   r
      CR2   r/w   | GIF   r/w   | MPC   r     | PSB   r/w   | WDP   r/w
      CRW   r/w   | GZ    r     | MPG   r     | PSD   r/w   | WMA   r
      CS1   r/w   | HDP   r/w   | MPO   r/w   | PSP   r     | WMV   r
      DCM   r     | HTML  r     | MQV   r     | QTIF  r     | X3F   r
      DCP   r/w   | ICC   r/w/c | MRW   r/w   | RA    r     | XLS   r
      DCR   r     | IIQ   r     | NEF   r/w   | RAF   r/w   | XLSX  r
      DFONT r     | IND   r/w   | NRW   r/w   | RAM   r     | XMP   r/w/c
      DIVX  r     | ITC   r     | NUMBERS r   | RAW   r/w   | ZIP   r
      DJVU  r     | JNG   r/w   | OGG   r     | RIFF  r     |
      DLL   r     | JP2   r/w   | ORF   r/w   | RW2   r/w   |
      DNG   r/w   | JPEG  r/w   | OTF   r     | RWL   r/w   |

      Meta Information
      ----------------------+----------------------+---------------------
      EXIF           r/w/c  |  JPEG 2000      r    |  APE            r
      GPS            r/w/c  |  DICOM          r    |  Vorbis         r
      IPTC           r/w/c  |  Flash          r    |  SPIFF          r
      XMP            r/w/c  |  FlashPix       r    |  DjVu           r
      MakerNotes     r/w/c  |  QuickTime      r    |  M2TS           r
      Photoshop IRB  r/w/c  |  GeoTIFF        r    |  PE/COFF        r
      ICC Profile    r/w/c  |  PrintIM        r    |  AVCHD          r
      MIE            r/w/c  |  ID3            r    |  ZIP            r
      JFIF           r/w/c  |  Kodak Meta     r    |  (and more)
      Ducky APP12    r/w/c  |  Ricoh RMETA    r    |
      PDF            r/w/c  |  Picture Info   r    |
      CIFF           r/w    |  Adobe APP14    r    |
      AFCP           r/w    |  MPF            r    |
      PhotoMechanic  r/w    |  Stim           r    |
boardhead
New Member
New Member
Posts: 1
Joined: 2010-04-08, 16:45 UTC

Post by *boardhead »

van Dusen wrote: TCMetadataViewer let ExifTool build the tag list using the current options. In case of TagNames="Desc" parameter "-lang {ExifToolLang}" is passed to ExifTool). Unfortunately, ExifTool can't translate back to the standard tag name, if a localized tag name is passed.
One way around this if if TCMetadataViewer used the exiftool "-X -l" output. Then it would receive information about the tag name and its localized description. ie)

Code: Select all

> exiftool -lang de -X -l -imagedescription a.jpg
<?xml version='1.0' encoding='UTF-8'?>
[...]
 <IFD0:ImageDescription rdf:parseType='Resource'>
   <et:desc>Bildbeschreibung</et:desc>
   <et:prt>test</et:prt>
 </IFD0:ImageDescription>
</rdf:Description>
</rdf:RDF>
- Phil
User avatar
Matthias030
Senior Member
Senior Member
Posts: 419
Joined: 2007-03-04, 10:48 UTC
Location: Berlin

Post by *Matthias030 »

open listview context menu and select menu item "Tag names [...] Now editing of EXIF.Make should be possible.
Ah. Now I can edit metadata in EXIF. For better usability I have set "Tag Names" as default view in ini-file, so I don't have to switch every time before editing.
If I press on other values, the lower windows is reloading and gets blank
I played around one more time, but I can't get it working. Could it be that my exiftool.exe is not the correct one I need? I have downloaded the current version (v8.16) from here: http://www.sno.phy.queensu.ca/~phil/exiftool/
User avatar
SkipR
Junior Member
Junior Member
Posts: 69
Joined: 2008-03-27, 10:39 UTC
Location: W. Australia

TC v8.01 issues

Post by *SkipR »

van Dusen wrote:I am working on TCMetaDataViewer v2.0 for quite some time. It has some (imho nice :-)) new features and advancements in comparison with its predecessor and works quite well yet with 32 bit versions of TC (including TC v8.0.beta; tested on WinXP 32bit and Win7 64bit systems). Although I still find little bugs each time I am working on TCMetaDataViewer v2.0, it's imho stable enough for being released at least as a beta version. But the ReadMe document and the sample files has not been completed yet, and without them a release doesn't make sense.
I just got TCMetaDataViewer v1.2 working with TC v8.01 (WinXP 32bit) and there are a few problems but mostly it works if I set file pane to "brief list". Is there a list of known problems for v1.2 when using it with 32bit TC v8.01 or higher?

Is there any progress on TCMetaDataViewer v2.0 since your above comment in another post?

For anyone interested I have made a PDF of the README file. With images in it as it was hard to follow the text based version. https://db.tt/1WzTwILk

Update:
The issues I have noticed when running TCMetaDataViewer v1.2 + TC v8.01 (WinXP SP2 32bit) for the benefit of users who might try it are:
  • When you switch focus from TC to another window TCMetaDataViewer disappears from TC window
  • Getting TCMetaDataViewer.ini color settings that work with your custom colors is difficult. Average user would find this too difficult.
  • png file has preview with wrong background color - something to do with grey color displays as black color. "ImageViewerPath=" set to use Irfanview ifor Qucikview. Image displays fine in Irfanview and TC quickview panel when not using TCMetaDataViewer
  • Start TC, start TCMetaDataViewer, close TC gives error - "AutIt Error" Line 10753 Error: Subscript used with non-Array variable
  • up/down buttons on "Button bar" are too small it would be better side by side.
Last edited by SkipR on 2013-12-07, 04:12 UTC, edited 1 time in total.
Skip
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

Hello SkipR,

sorry, there is no list of known problems for v1.2, when using it with 32bit TC v8.01 or higher.

The work on TCMetadataViewer 2.0 is still in progress (a never ending story ;-). I'm using TCMetadataViewer myself quite frequently for tagging my photos (TC 8.50 + Win7 64bit / Win7 32bit). Based on this experience I add small enhancements and fix bugs from time to time, so there are continuous new personal builds of the script. But on the whole it is stable enough for a daily use, at least for me :-D. Modifications for compatibility with TC 8.x (32bit) and 64bit OS (Win7 64bit) has been already made long ago. However, there are some (not essential) functionalities, which are not finally implemented (e.g. optional use of sidecar files for reading and writing the metadata).

Unfortunately there will be no version for 64bit TC in the foreseeable future, necessary modifications would be too extensive.

Some new features of TCMetadataViewer 2.0:
* Use of ExifTool's "-stay_open" option => Much faster (nevertheless: TCMetadataViewer is still pretty sluggish)-:
* Edit tags for multiple files at once
* Copy/Move between tags within a file
* Copy tags to / paste from clipboard
* Synchronize tags for multiple files (from selected files in source panel to correspondent files in target panel)
* Visual definition of regions (e.g. faces) (manually, not automatic face detection); Viewing definied regions (e.g. selected AF point)
* And many more, which I don't remember ATM :-D

If you are not mind, that no updated ReadMe file is available at this time, I'll try to update TCMetadataViewer on totalcmd.net this weekend (hope, I'll find my login information).
User avatar
SkipR
Junior Member
Junior Member
Posts: 69
Joined: 2008-03-27, 10:39 UTC
Location: W. Australia

Post by *SkipR »

van Dusen wrote:Hello SkipR,
If you are not mind, that no updated ReadMe file is available at this time, I'll try to update TCMetadataViewer on totalcmd.net this weekend (hope, I'll find my login information).
That's would be good. I'll post feedback here when I take it for a test drive ;-)
Skip
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

TCMetadataViewer_2.0 is available on totalcmd.net

Post by *van Dusen »

Sorry for the delay, but TCMetadataViewer_2.0 is finally available on totalcmd.net. I've added some new written "How-To's" for some of the new functions and a ReadMe PDF, I've worked on till last year (but never finished it).

Bug reports and suggestions for improvement are welcome. I am looking forward to your feedback!
User avatar
nsp
Power Member
Power Member
Posts: 1805
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Re: TCMetadataViewer_2.0 is available on totalcmd.net

Post by *nsp »

van Dusen wrote:Bug reports and suggestions for improvement are welcome. I am looking forward to your feedback!
I have a Message saying :
line 12853 File..... TCMetaDataViewer.exe
Error: Subscript used with non-array variable

This message occurs when TC is clossed without closing first TCMDV.
if TCMV is started without any ini File same message also but for line 11368.

png are not handled correctly. (no view or converter not called)


writelog=1/2 do not show all informations to detect if converter are called/ignored... correctly.

If all is defined correctly in the ini all is working well ! Thanks a lot for your work Van Dusen.
User avatar
SkipR
Junior Member
Junior Member
Posts: 69
Joined: 2008-03-27, 10:39 UTC
Location: W. Australia

Re: TCMetadataViewer_2.0 is available on totalcmd.net

Post by *SkipR »

nsp wrote:
van Dusen wrote:Bug reports and suggestions for improvement are welcome. I am looking forward to your feedback!
I have a Message saying :
line 12853 File..... TCMetaDataViewer.exe
Error: Subscript used with non-array variable

This message occurs when TC is clossed without closing first TCMDV.
if TCMV is started without any ini File same message also but for line 11368.

png are not handled correctly. (no view or converter not called)


writelog=1/2 do not show all informations to detect if converter are called/ignored... correctly.

If all is defined correctly in the ini all is working well ! Thanks a lot for your work Van Dusen.
Those sound like issue that were in previous version (see my earlier post update).
Skip
User avatar
nsp
Power Member
Power Member
Posts: 1805
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Re: TCMetadataViewer_2.0 is available on totalcmd.net

Post by *nsp »

SkipR wrote:Those sound like issue that were in previous version (see my earlier post update).
The most dificult part is that writelog set to 2 variable is not really logging all...

:arrow: VanDusen
I gived a quick look at the autoit-script and it seems
A) WriteLog Func
no FileFlush ( "filehandle" ) is added so if file is not closed correctly log is not saved completely
B) in the _Exit Func
Log file is closed only if intWriteLog is set to 1. (line 2590)
C) About the error when closing TC
in function GetTCActivePanelProperties if TC is closed the function is not protected.
you could add

Code: Select all

if WinExists($whTC)  = 0 then
		 _Exit()
	endif	
About png i did not find yet.....
Post Reply