Comparer 1.0.10.0 - files comparing application.

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

Moderators: Hacker, petermad, Stefan2, white

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

Comparer 1.0.10.0 - files comparing application.

Post by *fenix_productions »

Hi all :)

Comparer is files compare application which uses Total Commander's WDX plugins for displaying info about files properties.

Requires .NET 2.0 framework to be installed.

Features:
  • easy configurations switching;
  • interface can be localized;
  • possibility to export viewed details to CSV, HTML or BMP files;
  • additional image headers can be added to exported files;
  • possibility to use external HTML and CSS files for better details export;
  • external comparing applications can be configured on separate tab;
  • thumbnails support for various file types (thanks to WLX plugins);
  • view modes: either all details view or differences only;
  • debug mode (view empty) - allows to see plugins' names for which information cannot be extracted;
  • drag'n'drop support for adding new plugins - drop WDX file into proper area and you will get files extensions suggestion (if plugins supports it);
  • it is possible to export details to CSV, HTML or BMP files;
More info:
http://fenixproductions.dcmembers.com/

Download

New in 1.0.9.0
- fixed - "Scan for plugins" generated errors for new config;
- fixed - ThreadAbortException handled;
- added - temporary skipping FileDesc.wdx (due to strange bugs);

New in 1.0.8.0
- fixed - starting with no INI (also "default" name added);
- fixed - saving schemes when there was no "configs" directory;

New in 1.0.7.0
- added - configuration switch combobox;
- added - translations handling;
- added - French language file (thanks to Clo);

New in 1.0.6.0
- fixed - few one more bug with "show empty" and "show different";
- changed - internal plugins handling replaced with wdx_proxy.dll usage (thanks to Franck8244);

New in 1.0.5.0
- fixed - few errors with "show empty" and "show different";
- fixed - colouring different items;
- changed - files names always shown;
- added - image header generation;
- added - option for opening files with associated application;
- added - date formatting description;

New in 1.0.4.0
- fixed - "show empty" did not worked correctly;
- added - customizable output file names;
- added - customizable CSV separators and text quotes;

New in 1.0.3.2
- fixed - drag'n'drop of plugins did not make Options panels enabled;

New in 1.0.3.1
- fixed - small extensions bug (not "*.*" added by default);
- changed - plugins options panels are disabled if there are no plugins;

New in 1.0.3.0
- fixed - "Show empty" option now works for thumbnails;
- added - files icons might be shown when there is no thumbnails;

New in 1.0.2.0
- fixed - OK/Cancel buttons position (Fields dialog);
- fixed - ".." buttons in plugins Settings form;
- fixed - drag'n'drop related to ".." buttons;
- fixed - some dates were shown incorrectly;
- changed - Export features has been rewritten;
- changed- export error messages should be shown;
- added - possibility to use external "header.html" and "footer.html" files;
- added - additional images formats for Export feature;
- added - ft_string correction procedure;

New in 1.0.1.0
- fixed - folders no longer can be dropped;
- fixed - multiple comparers drop;
- fixed - columns size no longer changes on drop
- replaced menu with toolstrip (fix for stick mode - icons replace);
- removed Apply buttons from Settings window;
- fixed/changed - "stick mode" for single file;
- changed - add button (+) now shows OpenFile dialog;
- added - wordwrap option;

New in 1.0.0.0
- shortcuts handling;
- little layout changes (icons);
- added export feature;
- added "Stick mode";

New in 0.0.9.0
- tree control has been replaced by advanced list;
- fixed Explorer thumbnails bug (sometimes they were not shown);
- fixed lists bug (lists containing more than two element were ignored);

New in 0.0.8.1
- fixed plugins issue on 64bit systems (thanks to roentgen);

New in 0.0.8.0
- main window is refreshed after Options change;
- default plugins path is configurable now;
- added option for automatic scan for plugins (in default directory)
- few minor bug fixes (and code clean-up);

New in 0.0.7.1
- fixed problem with folders and %L parameter

New in 0.0.7.0
- added "-c" parameter support (works with files names or -L parameter);
- thumbnails height can be customized;
- thumbnails generated by Explorer have no longer fixed size;
- plugins fields availability can be customized;

New in 0.0.6.4
- after small fix, WLX extensions suggestions can be shown on adding thumbnails plugins;

New in 0.0.6.3
- fixed bug with some plugins (ex. fonts.wlx with content fields);

New in 0.0.6.2
- browsing for plugins now gives proper extensions suggestions;
- few problems with plugins drag'n'drop corrected;

New in 0.0.6.1
- cleaning thumbnails on drag'n'drop,
- fixed adding WLX plugs and comparers,
Last edited by fenix_productions on 2009-08-24, 00:18 UTC, edited 27 times in total.
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099
User avatar
Lev
Junior Member
Junior Member
Posts: 82
Joined: 2004-12-14, 13:08 UTC

Post by *Lev »

1) drag'n'drop for content plugins whose extention differs from wdx is not supported
1.5) when I enter these plugins manually the program crashes when I try to use these content plugins (I tested font.wlx plugin which also has wdx functions)
2) Open any file whose thumbnail is supported with the Comparer. Open options. Drag the appeared Settings dialog aside to see the thumbnai or simply close itl - the Exception appeares
3) Open one/two files supporting thumbnails, now drag'n'drop one/two files not supporting thumbnails - the info is updated, but we see the thumbnails of previous files

In which cases the Compare menu item should be enabled?
User avatar
fenix_productions
Power Member
Power Member
Posts: 1979
Joined: 2005-08-07, 13:23 UTC
Location: Poland
Contact:

Post by *fenix_productions »

Lev wrote:1) drag'n'drop for content plugins whose extention differs from wdx is not supported
That's how it is meant to be. I've decided for this step for non-advanced users.
Lev wrote: 1.5) when I enter these plugins manually the program crashes when I try to use these content plugins (I tested font.wlx plugin which also has wdx functions)
Non problematic plugins are mentioned on DC website. I am still trying to make Comparer working with as much plugins as it possible but sometimes I can't debug them properly because they crash on load right away.

I will try to find the source of this problem. By quick look I see that there is some problem with ContentGetSupportedField function. I can load plugin easily but calling this function (by known handle) gives me stack overflow error. Unfortunately, I am affraid that I might not find solution for this at all :(
Lev wrote:2) Open any file whose thumbnail is supported with the Comparer. Open options. Drag the appeared Settings dialog aside to see the thumbnai or simply close itl - the Exception appeares
No crashes here. What exception message says? What plugin is responsible for thumbs generation (which version)? Are there no problems in lister with same WLX plugins?

Could you send me your comparer.ini file?

My address: fenixproductions at o2.pl. Please add "[Comparer]" (without quotes) in subject field.
Lev wrote:3) Open one/two files supporting thumbnails, now drag'n'drop one/two files not supporting thumbnails - the info is updated, but we see the thumbnails of previous files
Confirmed. I will fix that.
Lev wrote:In which cases the Compare menu item should be enabled?
It should work in same situation as plugins: when files extensions match to external comparer ones.
Last edited by fenix_productions on 2008-12-18, 02:46 UTC, edited 1 time in total.
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099
User avatar
franck8244
Power Member
Power Member
Posts: 704
Joined: 2003-03-06, 17:37 UTC
Location: Geneva...

Post by *franck8244 »

Loading Font.wlx works fine in the plugin I made (wdxinfopacker) , are you calling ContentSetDefaultParams before the other functions?

Some plugin should also not be unloaded (no call to ContentPluginUnloading) and some must be for example media.wdx v0.8 has to be
shelldetails should not ...


Some time ago I made a wdx_prody (dll) to easily gain access to wdx information from anywhere, if you are interested (example of loading in cpp , delphi) ...
TC#88260 -
User avatar
fenix_productions
Power Member
Power Member
Posts: 1979
Joined: 2005-08-07, 13:23 UTC
Location: Poland
Contact:

Post by *fenix_productions »

2franck8244
I've checked fonts.wlx with wdxtest.exe and it works OK there but not with "my engine".
franck8244 wrote:Loading Font.wlx works fine in the plugin I made (wdxinfopacker) , are you calling ContentSetDefaultParams before the other functions?
Not at all. I am using this instructions for loading WDX plugins. I can load plugin and take ProcAddress for ContentGetSupportedField but when I try to use delegate for it, stack overflow occurs.

I am not using anything more than ContentGetSupportedField, ContentGetValue and ContentGetDetectString. The strange thing is: it works for many plugins but for some of them not at all.
franck8244 wrote:Some plugin should also not be unloaded (no call to ContentPluginUnloading) and some must be for example media.wdx v0.8 has to be shelldetails should not ...
IIRC shelldetails needs good threading support because of "ft_delayed" flag. Due to my skills (I am beginner in the case of multi-threading) I've decided to skip fields with this flag temporary.
franck8244 wrote:Some time ago I made a wdx_prody (dll) to easily gain access to wdx information from anywhere, if you are interested (example of loading in cpp , delphi) ...
Yes, please. Maybe it will help somehow :)
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099
User avatar
franck8244
Power Member
Power Member
Posts: 704
Joined: 2003-03-06, 17:37 UTC
Location: Geneva...

Post by *franck8244 »

I am not using anything more than ContentGetSupportedField, ContentGetValue and ContentGetDetectString.
Maybe that's the problem,some plugin needs to be initialized...

I do not use -threading- in wdxinfopacker, shelldetails works fine but you have to keep it initialize :
setdefaultparam , contentgetsupportedfield, contentgetvalue

without unloading it between each call...
Yes, please.
I'll send it by mail a bit later
TC#88260 -
User avatar
Lev
Junior Member
Junior Member
Posts: 82
Joined: 2004-12-14, 13:08 UTC

Post by *Lev »

I cannot duplicate Exception bug with versions 0.0.6.1-6.2. Hope it has gone.
User avatar
fenix_productions
Power Member
Power Member
Posts: 1979
Joined: 2005-08-07, 13:23 UTC
Location: Poland
Contact:

Post by *fenix_productions »

Version 0.0.6.3 is out!

2Lev

Fonts.wlx should work properly now but you have to add it directly via INI file or change its extension to WDX.

2franck8244

Thank you for your code. It helped me to find out solution.

Bug was simpler than I thought:

Code: Select all

int __stdcall ContentGetSupportedField(int FieldIndex, char* FieldName, char* Units,int maxlen);
I don't know why but I've been passing maxlen as reference and not as value! I wonder how other plugins worked correctly with that so far :?:

Edited
I've made quick test and it looks like 50 more WDX plugins might be supported :) Now ContentSetDefaultParams and ListSetDefaultParams will have too be handled.
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099
User avatar
franck8244
Power Member
Power Member
Posts: 704
Joined: 2003-03-06, 17:37 UTC
Location: Geneva...

Post by *franck8244 »

Thank you for your code
You're welcome
It helped me to find out solution.
Well done ;)

Edit a few hours after
2fenix_productions

I tried a bit deeper comparer : could you add a few options ?

* set of plugin (wdx + wlx) for a specified file format (or more)
(kind of compare for images / text / mp3 )

* command line argument to select one -defined set-

* option to choose the thumbnail size

right now I prefer to use TC with defined custom columns but it has potentials
TC#88260 -
User avatar
fenix_productions
Power Member
Power Member
Posts: 1979
Joined: 2005-08-07, 13:23 UTC
Location: Poland
Contact:

Post by *fenix_productions »

2franck8244
franck8244 wrote:* set of plugin (wdx + wlx) for a specified file format (or more)
(kind of compare for images / text / mp3 )
Do you mean choosing plugin's fields or sets?

If the first: I've been thinking about changing GUI for whole app to look a little bit more like TC's overwrite dialog but it will take some time. First of all I would like to know about all bugs in current implementation. "Rome was not built in a day."
franck8244 wrote:* command line argument to select one -defined set-
Added to my ToDo list.
franck8244 wrote:* option to choose the thumbnail size
Added to my ToDo list. I wonder what would be the best way to provide it. Currently thumbnail's width is set according to columns. That way only height would be customizable and I think this would be bad solution.
franck8244 wrote:right now I prefer to use TC with defined custom columns but it has potentials
I understand first part and thank you for the second.


PS.1. Version 0.0.6.4 is out.

PS.2. If anyone knows how to use pointer to managed code structure in unmanaged function call (but without "/unsafe" switch), please, give me a note :)
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

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

Post by *fenix_productions »

2franck8244
Version 0.0.7.0 is out with functionality requested by you.

I hope it will work OK.
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Hello fenix_production

on site http://fenixproductions.dcmembers.com/

all the links under
* .NET 2.0 framework - Download
* WDX plugins (information) - Download 1 Download 2
* WLX plugins (thumbnails) - Download 1 Download 2

are dead.

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
fenix_productions
Power Member
Power Member
Posts: 1979
Joined: 2005-08-07, 13:23 UTC
Location: Poland
Contact:

Post by *fenix_productions »

2Peter
You were right. They were linking to images not to servers. It is fixed now.
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Hello fenix_productions

this seem to be a very useful tool. I played a little bit with the it - here are my first proposals and report (or wrong usage by me?):

a)
I miss some wdx in your list of supported plugins
http://fenixproductions.dcmembers.com/files/content.html

"Summary":
http://www.totalcmd.net/plugring/summary.html
I can select it and configure its fields, but I get an error.

"Shelldetails":
http://www.totalcmd.net/plugring/shelldetails.html
(Although this plugin is a special one ...)

b)
It seem that only the "Apply" button takes the configuration, the "OK" button closes the window without any saving/applying.
That is a little confusing because normally "OK" saves the new settings.

c)
The "+" also is a little bit confusing when the <TEMPORARY> entry appears. Usually an "add"-function starts immediately the "Select file dialogue" . Maybe you can add it or combine the "Select ..." button with an "Add-function"

d)
Please add the function to fit the width of the columns automatic to the size needed.

e)
Double-click on the separators (???) of the header to fit the width of the column makes an error:

Code: Select all

Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.
EDIT: Error code deleted because it is known and it disturbs the formatting of the posting
f)
The plugin filecontent.wdx has problems with display the paragraphs. There is only one long string displayed.

g)
Drag&Drop of "files in series" could be improved. When I drop one file after the other, the next file replaces the previous. It should work like: drop on the left column replaces file A, drop on the right column (or on the white space right of left column) replaces file B. So I can compare A - B; A - C; A - D; B - D, C - D.
Dropping two files replace both.

h)
Adding the "Imagine.wlx" sets the filetype MULTIMEDIA to display. But this does not work as a "multimedia-wildcard"; it must be deleted and replaced by "*.jpg"

i)
Different properties get a red caption like "Name", "Created" ..
Maybe you can add some color-configuration for the values of the properties: "Bigger size -> red, smaller size -> green"; "older -> red; younger -> green" ...


Best regards and "happy coding"

Peter
Last edited by Peter on 2008-12-26, 22:31 UTC, edited 1 time in total.
TC 10.xx / #266191
Win 10 x64
User avatar
fenix_productions
Power Member
Power Member
Posts: 1979
Joined: 2005-08-07, 13:23 UTC
Location: Poland
Contact:

Post by *fenix_productions »

2Peter
Thank you for your post :)
Peter wrote: a)
I miss some wdx in your list of supported plugins
I am still trying to make Comparer handle them.
Peter wrote: b)
It seem that only the "Apply" button takes the configuration, the "OK" button closes the window without any saving/applying.
That is a little confusing because normally "OK" saves the new settings.
I will remove "Apply" completely and make OK work correctly.
Peter wrote: c)
The "+" also is a little bit confusing when the <TEMPORARY> entry appears. Usually an "add"-function starts immediately the "Select file dialogue" . Maybe you can add it or combine the "Select ..." button with an "Add-function"
I will think about it.
Peter wrote: d)
Please add the function to fit the width of the columns automatic to the size needed.
Added to ToDo.
Peter wrote: e)
Double-click on the separators (???) of the header to fit the width of the column makes an error:
I know about this bug. It is the problem of component I use. I am currently looking for a better one.
Peter wrote: f)
The plugin filecontent.wdx has problems with display the paragraphs. There is only one long string displayed.
I will check that.
Peter wrote: g)
Drag&Drop of "files in series" could be improved. When I drop one file after the other, the next file replaces the previous. It should work like: drop on the left column replaces file A, drop on the right column (or on the white space right of left column) replaces file B. So I can compare A - B; A - C; A - D; B - D, C - D.
Dropping two files replace both.
Neat idea. (ToDo +)
Peter wrote: h)
Adding the "Imagine.wlx" sets the filetype MULTIMEDIA to display. But this does not work as a "multimedia-wildcard"; it must be deleted and replaced by "*.jpg"
Yes. Comparer only supports files extensions and not whole "detect string". String taken from plugin should be treated as suggestion.
Peter wrote: i)
Different properties get a red caption like "Name", "Created" ..
Maybe you can add some color-configuration for the values of the properties: "Bigger size -> red, smaller size -> green"; "older -> red; younger -> green" ...
Added to ToDo but with lower priority. My "engine" gives everything as text so this would require redesign of it. Maybe I will do this in the future but I can't promise.
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...

#128099
Post Reply