A ZStandard packer Plugin for the Total Commander

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

Moderators: white, Hacker, petermad, Stefan2

bebbo
Junior Member
Junior Member
Posts: 53
Joined: 2009-06-24, 08:22 UTC

A ZStandard packer Plugin for the Total Commander

Post by *bebbo »

I wrote a WCX plugin for zstandard http://www.zstd.net/. The packer supports packing of one file, so apply tar before using zstd.

Feel free to download at http://franke.ms/packer/zstd.wiki and test it.
SFTP4TC - sftp based on PuTTY
report tickets at https://sf.net/p/sftp4tc/tickets
ZSTDWCX - zstd packer http://franke.ms/packer/zstd.wiki
User avatar
tbeu
Power Member
Power Member
Posts: 1336
Joined: 2003-07-04, 07:52 UTC
Location: Germany
Contact:

Post by *tbeu »

Thanks for the plugin. However, it does not show the unpacked size yet.
TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
TW
Senior Member
Senior Member
Posts: 383
Joined: 2005-01-19, 13:35 UTC

Post by *TW »

here's a long thread @encode.ru about Zstandard

https://encode.ru/threads/2119-Zstandard
licenced and happy TC user since 1994 (#11xx)
bebbo
Junior Member
Junior Member
Posts: 53
Joined: 2009-06-24, 08:22 UTC

Post by *bebbo »

tbeu wrote:Thanks for the plugin. However, it does not show the unpacked size yet.
The size is displayed if the compressed file contains the info of the uncompressed size.

Unfortunately most archives are created using a zstandard stream (many compressed chunks), and then the uncompressed size is not stored.

Bebbo
SFTP4TC - sftp based on PuTTY
report tickets at https://sf.net/p/sftp4tc/tickets
ZSTDWCX - zstd packer http://franke.ms/packer/zstd.wiki
Slobodoslav
Junior Member
Junior Member
Posts: 2
Joined: 2017-01-30, 12:46 UTC

Post by *Slobodoslav »

Thank you for this plugin and good idea of using zstd as it is probably the best compression algorithm out there in term of speed and compression ratio.

Unfortunately there is maybe bug in this version of plugin that it doesn't create readable archives in case compressed file is bigger then 2GB. In this case it also sometimes cause TC crash. That is pity.

Tested with TC 32&64 bit, 8.5 and 9.0a.
bebbo
Junior Member
Junior Member
Posts: 53
Joined: 2009-06-24, 08:22 UTC

Post by *bebbo »

Slobodoslav wrote:Thank you for this plugin and good idea of using zstd as it is probably the best compression algorithm out there in term of speed and compression ratio.

Unfortunately there is maybe bug in this version of plugin that it doesn't create readable archives in case compressed file is bigger then 2GB. In this case it also sometimes cause TC crash. That is pity.

Tested with TC 32&64 bit, 8.5 and 9.0a.
Good news: the created files are ok. The bug is in the reading part, where opening fails. It's fixed locally so I will soon publish an update.

Bebbo
SFTP4TC - sftp based on PuTTY
report tickets at https://sf.net/p/sftp4tc/tickets
ZSTDWCX - zstd packer http://franke.ms/packer/zstd.wiki
bebbo
Junior Member
Junior Member
Posts: 53
Joined: 2009-06-24, 08:22 UTC

Post by *bebbo »

The update is available http://franke.ms/download/wcx_zstd_1_1_3_3.zip.

Bebbo
SFTP4TC - sftp based on PuTTY
report tickets at https://sf.net/p/sftp4tc/tickets
ZSTDWCX - zstd packer http://franke.ms/packer/zstd.wiki
Slobodoslav
Junior Member
Junior Member
Posts: 2
Joined: 2017-01-30, 12:46 UTC

Post by *Slobodoslav »

Thank you Bebbo.
Support for your plugin is better than professional.
I just tested it and it is working like a charm.
It is now the best packer plugin for big files like virtual machines disks etc.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

If you could support the StartMemPack, PackToMem and DoneMemPack functions, and return PK_CAPS_MEMPACK in GetPackerCaps, then TC could create .tar.zst files directly.

If the zst API works with callbacks, you could create a background thread for packing, and pass the data blocks received from PackToMem to that thread, where the callback would pass the data to the packer.
Author of Total Commander
https://www.ghisler.com
bebbo
Junior Member
Junior Member
Posts: 53
Joined: 2009-06-24, 08:22 UTC

Post by *bebbo »

ghisler(Author) wrote:If you could support the StartMemPack, PackToMem and DoneMemPack functions, and return PK_CAPS_MEMPACK in GetPackerCaps, then TC could create .tar.zst files directly.
...
Sorry, I don't see a benefit.

Bebbo
SFTP4TC - sftp based on PuTTY
report tickets at https://sf.net/p/sftp4tc/tickets
ZSTDWCX - zstd packer http://franke.ms/packer/zstd.wiki
bebbo
Junior Member
Junior Member
Posts: 53
Joined: 2009-06-24, 08:22 UTC

Post by *bebbo »

bebbo wrote:
ghisler(Author) wrote:If you could support the StartMemPack, PackToMem and DoneMemPack functions, and return PK_CAPS_MEMPACK in GetPackerCaps, then TC could create .tar.zst files directly.
...
Sorry, I don't see a benefit.

Bebbo
Plus (according to wcx_ref2.21se.zip) there is only

Code: Select all

int __stdcall StartMemPack (int Options, char *FileName);
but not:

Code: Select all

int __stdcall StartMemPackW (int Options, wchar_t *FileName);
And it's not clear how to return error codes...

Bebbo[/code]
SFTP4TC - sftp based on PuTTY
report tickets at https://sf.net/p/sftp4tc/tickets
ZSTDWCX - zstd packer http://franke.ms/packer/zstd.wiki
bebbo
Junior Member
Junior Member
Posts: 53
Joined: 2009-06-24, 08:22 UTC

Post by *bebbo »

A new version is available http://franke.ms/download/wcx_zstd_1_1_3_4.zip .

Code: Select all

VERSION 1.1.3.4 [2017-02-02]
* Added support for MemPack thus tar.zst archives can be created.
Bebbo
SFTP4TC - sftp based on PuTTY
report tickets at https://sf.net/p/sftp4tc/tickets
ZSTDWCX - zstd packer http://franke.ms/packer/zstd.wiki
lezerogan2
Junior Member
Junior Member
Posts: 83
Joined: 2010-04-19, 15:50 UTC

TC crash

Post by *lezerogan2 »

I have Windows 10 Home Version 10.0.14393 64bit and Totcmd 9.0a 64bit.
i installed WCX Zstandard packer plugin 1.1.3.4 32/64bit
This plugin works fine with zst extension files but
if i try to unpack any file type that is not a packed file like plain txt file,
TC crashes with alert message:
Total commander has stopped working. a problem caused the program to stop working correctly.
It does not matter if the file has extension ot not.
no entry in TC log file.
If the file is zero size, then the crash is even without an alert message.
This error dose not occurs with other packer plugins (z.wcx, iso.wcx, gifwcx.wcx, total7zip.wcx...)

Just to clarify: sometimes file does not have extension and I want to check if it is a packed file. Sometimes file have a packed type extension but actually it is not. Sometimes I select a lot of files to unpack and it includes some files that are not packed and etc.
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

bebbo wrote:A new version is available http://franke.ms/download/wcx_zstd_1_1_3_4.zip .

Code: Select all

VERSION 1.1.3.4 [2017-02-02]
* Added support for MemPack thus tar.zst archives can be created.
Bebbo
The link gives an
Not Found
404
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
User avatar
Ovg
Power Member
Power Member
Posts: 756
Joined: 2014-01-06, 16:26 UTC

Post by *Ovg »

There is a dot at the end of the link. It should be removed ...
http://franke.ms/download/wcx_zstd_1_1_3_4.zip
It's impossible to lead us astray for we don't care even to choose the way.
#259941, TC 11.01 x64, Windows 7 SP1 x64
Post Reply