MATLAB® MAT-file Viewer 1.6.7.0 for Total Commander =================================================== * License: ----------- This software is released as freeware. * Disclaimer: -------------- This software is provided "AS IS" without any warranty, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The author will not be liable for any special, incidental, consequential or indirect damages due to loss of data or any other reason. * Installation: ---------------- 1. The MATLAB MAT-file Viewer uses exported functions from external MATLAB libraries of The MathWorks. Depending on your MATLAB installation you have to decide if you need to download the MATLAB libraries: - Everything is fine if you have installed MATLAB >= R2006b. - Everything is fine if you have installed MATLAB >= R14 and you need not to use MAT-files in HDF5-based format. - Everything is fine if you have installed MATLAB >= R13 and you need not to use compressed, Unicode encoded or HDF5-based MAT-files. - If neither MATLAB nor the MATLAB Compiler Runtime is installed or if you want to change the version of the MATLAB libraries you can download either the MATLAB R13SP2 libraries or the MATLAB R2011b (x86/x64) libraries by means of the installer 5mat_setup.exe. It is recommended to extract the downloaded library archive to the plugin directory. You can put the 64-bit libraries into the x64 subdirectory of the plugin directory if you already have the 32-bit libraries in the plugin directory. 2. The latest MATLAB R2011b libraries are linked to the Microsoft Visual C++ 2008 SP1 Runtime Libraries. If required download and install the appropriate redistributable packages. Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) - http://www.microsoft.com/download/en/details.aspx?id=5582 Microsoft Visual C++ 2008 SP1 Redistributable Package (x64) - http://www.microsoft.com/download/en/details.aspx?id=2092 3. Registration as content, lister and packer plugin in Total Commander and file association of .fig and .mat with stand-alone MATLAB MAT-file Viewer can be automatically set up by the installer 5mat_setup.exe. * Installation Remarks: ------------------------ o If you have MATLAB installed you will find the MATLAB 32-bit libraries in directory %MATLAB_ROOT%\bin\win32\ and the MATLAB 64-bit libraries in directory %MATLAB_ROOT%\bin\win64\ o The MATLAB libraries are first searched in the plugin directory and for 64-bit Total Commander also in the x64\ subdirectory of the plugin directory. * Update Remarks: ------------------ o The development of the DLL Diagnostic Tool 5mat_dll_diag.exe (formerly named DLL Check & Download Tool 5mat_dll_check.exe) is discontinued. This tool is no longer part of the plugin installer and will also be deleted when updating from MAT-file Viewer >= 1.3.1.0. o With MAT-file Viewer 1.6.4.0 the directory of 5mat.ini changed from the plugin directory to the same directory as the initialization file (wincmd.ini) of Total Commander. If Total Commander is not installed the directory %APPDATA%\GHISLER is used as the default directory for 5mat.ini. * Description: --------------- The MATLAB MAT-file Viewer is three plugins at the same time. 1. It adds packer support for the MAT-file type, i.e. you can treat MATLAB MAT-files (Version 4, 5 and 7) like archives. For examples, it is possible to view variables of a MAT-file, to compare the variables of two open MAT-files, to delete variables from a MAT-file, or to add real numeric data from a text file to a MAT-file. The settings of the [packer] section of the 5mat.ini are: - DoubleDigitsDisplay: number of displayed digits for double variables - SingleDigitsDisplay: number of displayed digits for single variables - ExpandSingleStructAsVars: If set to 1, expand the structure if the MAT-file contains just a single structure array. Remark: Like any other packer plugin 5mat.wcx can also be used with ArchView lister plugin >= 0.9.0.0 for Total Commander. 2. It can be used as content plugin, too, showing information about - MAT-file version, - platform (Version 5 and 7 MAT-file only), - creation time (Version 5 and 7 MAT-file only), - number of variables. 3. The lister view shows the variables of a MAT-file, their size (number of elements), their size in Bytes and their class. It is also possible to delete a variable by pressing DEL and to view a variable by pressing ENTER. In order to view variables you need to configure the path to the stand-alone Lister (lister.exe) in the 5mat.ini file ([lister] section). The stand-alone Lister can be downloaded from http://www.ghisler.com/lister or during installation process. Further settings of the [lister] section of the 5mat.ini are: - BackColor: background color - TextColor: text color - Column0Width: width of first column - Column1Width: width of second column - Column2Width: width of third column - Column3Width: width of fourth column - DeleteConfirmation: ask for a delete confirmation - StatusBar: display status bar - ColumnSort: column number to sort for - ColumnSortOrder: column sort order (0 = ascending, 1 = decending) - PrintFont: font for printing (default: Fixedsys) - PrintFontSize: font size for printing (default: 12) Last not least, a simple stand-alone MAT-file Viewer 5mat.exe has been added that uses the lister plugin interface of the MAT-file Viewer. - You can open and view a MAT-file in stand-alone MAT-file Viewer by launching "5mat.exe matfile.mat" - If you associated .fig / .mat with stand-alone MAT-file Viewer you can just double-click the MAT-file. * Examples: ------------ o File example_v4.mat is a Version 4 MAT-file. o File example_v5.mat is a Version 5 MAT-file that MATLAB <= R7 can not load. o File example_v7.mat is a compressed (and Unicode encoded) Version 5 MAT-file that MATLAB <= R13SP2 can not load. o File example_v7.3.mat is a Version 7 MAT-file in HDF5-based format that MATLAB <= R2006a can not load. * Limitations: --------------- o Only real numeric data can be packed to a MAT-file or copied from one MAT-file to another MAT-file. Any numeric data is converted to a double vector with 16 digits of precision. Check the simple text file example.dat for how valid data has to look like. o The variable size (in Bytes) for mxCELL_CLASS and mxSTRUCT_CLASS is based on MATLAB >= R13. Previous versions of MATLAB (e.g. MATLAB R10) allocated more memory for handling cells and structures and therefore displayed increased size information. o Variable classes mxINT64_CLASS, mxUINT64_CLASS, mxFUNCTION_CLASS, mxOPAQUE_CLASS, mxOBJECT_CLASS and mxUNKNOWN_CLASS can not be unpacked. * Known problems: ------------------ o When unpacking variables from MAT-files the progress bar of Windows Vista performs rather badly. As a workaround you may set the NewStyleProgress option of Total Commander to 0 in [Configuration] section of the initialization file of Total Commander. o The size (in Bytes) of sparse arrays is not correctly calculated. o The size (in Bytes) of cells and structures of MAT-files in HDF5-based format is not correctly calculated due to a bug of the MATLAB API functions. o Timeseries objects are not supported by the MATLAB API functions. * ChangeLog: ------------- o Version 1.6.7.0 (21.10.2011) - removed MPRESS binary compression o Version 1.6.7.0 (22.09.2011) - added changes to support MATLAB R2011b - added 64 bit support o Version 1.6.6.0 (21.01.2011) - added support to view variables of int64 and uint64 types o Version 1.6.5.0 (22.09.2010) - added changes to support MATLAB R2010b o Version 1.6.4.0 (16.06.2010) - added changes to support MATLAB R2010a - changed directory of 5mat.ini from plugin directory to same directory as the initialization file (wincmd.ini) of Total Commander - fixed optional configuration of stand-alone Lister if first execution fails - fixed column sort order if ColumnSortOrder is not found in 5mat.ini - fixed calls to MAT-file API and memory consumption for packing to MAT-files - renamed example files o Version 1.6.3.0 (18.10.2009) - added changes to support MATLAB R2009b o Version 1.6.2.0 (30.03.2009) - added changes to support MATLAB R2009a - added: RAR compressed plugin without installer available o Version 1.6.1.0 (20.12.2007) - fixed Float Invalid Operation exception (Thanks to HolgerK.) - fixed access violation when extracting variables of mxFUNCTION_CLASS (Thanks to Alex T.) - fixed resizing and repainting of lister window - fixed context menu message handling of lister window o Version 1.6.0.1 (26.10.2007) - fixed: display progress bar during unpack - fixed example_R13SP2.mat and example_R2006a.mat o Version 1.6.0.0 (22.10.2007) - added changes to support MATLAB R2007b - renamed example_R2007a.mat to example_R2007b.mat - added printing of lister window - added: experimental support for timeseries objects - fixed: display number of variables for Version 4 MAT-files in status bar of lister window - fixed: support of multi-dimensional arrays - changed type of content field "Created" from ft_string to ft_datetime - fixed: hide read-only checkbox in file open dialog of stand-alone MAT-file Viewer 5mat.exe - fixed detection of Total Commander initialization file during uninstallation process - fixed known problem description in Readme.txt (this file) o Version 1.5.0.1 (02.10.2007) - fixed download options during installation process (could lead to loss of Total Commander configuration file) - fixed detection of Total Commander initialization file during installation process - fixed known problem description in Readme.txt (this file) o Version 1.5.0.0 (25.03.2007) - added changes to support MATLAB R2007a - added new example_R2007a.mat - renamed example_R2006b.mat to example_R2006a.mat - added: avoid flickering of lister window when switching from one file to the next (for Total Commander >= 7 beta 2) - added option to download MATLAB R13SP2 libs during installation process - fixed support of MAT-files in HDF5-based format (MATLAB >= R2006b) - fixed access violation when extracting creation time of MAT-files generated by FreeMat 3.0 - fixed access violation when using libraries of MATLAB <= R12.1 - fixed: load MATLAB libraries by the alternate file search strategy - removed DLL Diagnostic Tool 5mat_dll_diag.exe from installer - fixed: unlock MAT-file after failed variable viewing - fixed: display sparse icon for sparse complex variables - fixed known problem description in Readme.txt (this file) o Version 1.4.0.0 (15.09.2006) - added changes to support MATLAB R2006b - renamed example_R2006a.mat to example_R2006b.mat - added: toggle status bar using context menu (right-click in lister window) - fixed memory leaks of mxArray structures created by matGet... - fixed: any editor, lister or viewer can be used as stand-alone Lister - fixed: stand-alone MAT-file Viewer 5mat.exe does no longer need command line parameter - fixed: display progess bar for packing / unpacking operations o Version 1.3.9.0 (26.07.2006) - fixed creation of plugin window to support ATViewer >= 1.5.0 beta - fixed: pressing ESC always closes the lister window - added few improvements to installer 5mat_setup.exe - added option to download stand-alone Lister during installation process o Version 1.3.8.2 (06.04.2006) - improved support of ArchView lister plugin >= 0.9.0.0 o Version 1.3.8.1 (30.03.2006) - fixed memory leaks of mxArray structures created by matGet... o Version 1.3.8.0 (28.03.2006) - added changes to support MATLAB R2006a - renamed example_R14SP3.mat to example_R2006a.mat - fixed: pressing ESC always closes the lister window - fixed mouse cursor handling in case of error - fixed memory deallocation error when browsing through multiple MAT-files in both Quick View mode and lister window - fixed known problem description in Readme.txt (this file) o Version 1.3.7.0 (25.11.2005) - added context menu (right-click in lister window) - fixed loading of ColumnSortOrder from 5mat.ini if ColumnSort is 3 o Version 1.3.6.0 (02.11.2005) - fixed unpacking of sparse variables - fixed installation (5mat_setup.exe) as content plugin o Version 1.3.5.0 (19.10.2005) - fixed string allocation and memory leaks in 5mat_dll_diag.exe - fixed: check if return value of matGetVariable / matGetVariableInfo is NULL - updated installer 5mat_setup.exe to modern user interface o Version 1.3.4.0 (26.09.2005) - added simple stand-alone MAT-file Viewer 5mat.exe o Version 1.3.3.0 (19.09.2005) - added column sorting in the lister view o Version 1.3.2.0 (04.09.2005) - added changes to support MATLAB R14SP3 - renamed example_R14SP2.mat to example_R14SP3.mat o Version 1.3.1.0 (31.07.2005) - added optional status bar to lister view - fixed exception handling for matGetVariableInfo - fixed uninstaller.exe does not delete 5mat.ini any longer - renamed DLL Check & Download Tool 5mat_dll_check.exe to DLL Diagnostic Tool 5mat_dll_diag.exe o Version 1.3.0.0 (10.07.2005) - added lister view - change: use own 5mat.ini (instead of default xxplugin.ini) - fixed detection of mxLOGICAL_CLASS - fixed unpacking of logical, sparse variables - fixed size display of number of elements (row and column size needed to be swapped) - removed support of CanYouHandleThisFile() o Version 1.2.0.0 (22.06.2005) - added display configuration of variable class and number of elements for extension column of Total Commander using the configuration dialog - added content information - added SaveFileAs dialog for Download Tab of DLL Check & Download Tool 5mat_dll_check.exe - fixed packing to MAT-files if MAT-file has to be created - fixed packing to MAT-files if variable names are identical o Version 1.1.1.0 (02.06.2005) - added DLL Check & Download Tool 5mat_dll_check.exe to verify and solve DLL dependencies - installation is automatically done by installer 5mat_setup.exe - fixed DLL freeing in case of error o Version 1.1.0.0 (28.05.2005) - added support for compressed and Unicode encoded MAT-files of MATLAB >= R14 - enhanced description of MATLAB dependencies in Readme.txt (this file) o Version 1.0.2.0 (19.04.2005) - fixed size information for empty fields of mxSTRUCT_CLASS - fixed display problem for empty fields of mxSTRUCT_CLASS o Version 1.0.1.1 (11.04.2005) - fixed display indent problem for empty fields of mxSTRUCT_CLASS - fixed variable deletion o Version 1.0.1.0 (07.04.2005) - added information of the variable class and number of elements in extension column of Total Commander - fixed display indent problem for mxCELL_CLASS and mxSTRUCT_CLASS - corrected limitations in Readme.txt (this file) - added extended example MAT-files - added Descript.ion file (for use with TC Plugins Manager >= 1.6.0) o Version 1.0.0.4 (11.02.2005) - added simple configuration dialog for number of displayed digits - added exception handling for unpacking of variable classes mxINT64_CLASS, mxUINT64_CLASS, mxFUNCTION_CLASS, mxOPAQUE_CLASS and mxOBJECT_CLASS - added unpacked size information for variable classes mxCELL_CLASS, mxSTRUCT_CLASS, mxLOGICAL_CLASS and mxFUNCTION_CLASS - fixed unpacking of empty array, cell, field and string variables - ignoring zero imaginary part of complex variables - added support for CanYouHandleThisFile() o Version 1.0.0.3 (31.01.2005) - removed usage of string class - added support for viewing structs, cells, sparse and complex variables - added simple check for overwriting a variable in case Total Commander can not handle this - added viewing options for number of digits when displaying double, single or sparse data using pkplugin.ini o Version 1.0.0.2 (29.01.2005) - removed some superfluous variables - added check for success of malloc() - restructured parts of code o Version 1.0.0.1 (27.01.2005) - first public version * References: -------------- o The MathWorks External Interfaces - http://www.mathworks.com/help/pdf_doc/matlab/apiext.pdf o The MathWorks External Interfaces Examples o The MathWorks MAT-file Format - http://www.mathworks.com/help/pdf_doc/matlab/matfile_format.pdf o Content-Plugin Writer's Guide by Christian Ghisler - http://ghisler.fileburst.com/content/contentpluginhelp2.1.zip o LS-Plugin Writer's Guide by Christian Ghisler - http://ghisler.fileburst.com/lsplugins/listplughelp2.1.zip o WCX Writer's Reference by Christian Ghisler & Jiri Barton - http://ghisler.fileburst.com/plugins/wcx_ref2.21se.zip * Acknowledgments: ------------------- o Bug reports, suggestions and testing by HolgerK o CPrintListCtrl by Marquet Mike - http://www.codeguru.com/cpp/controls/listview/printing/article.php/c1003 o Debugging and testing by Christian Ghisler - http://www.ghisler.com * Trademark and Copyright Statements: -------------------------------------- o MATLAB is a registered trademark of The MathWorks, Inc. Other product or brand names are trademarks or registered trademarks of their respective holders. - http://www.mathworks.com o Total Commander is Copyright © 1993-2011 by Christian Ghisler, Ghisler Software GmbH. - http://www.ghisler.com * Feedback: ------------ If you have problems, questions, suggestions please contact Thomas Beutlich. o Email: support@tbeu.de o URL: http://tbeu.totalcmd.net