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: Stefan2, white, sheep, Hacker

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 » 2016-12-23, 12:08 UTC

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: 1229
Joined: 2003-07-04, 07:52 UTC
Location: Germany
Contact:

Post by *tbeu » 2017-01-26, 21:49 UTC

Thanks for the plugin. However, it does not show the unpacked size yet.
TC plugins: Autodesk 3ds Max Preview, Autodesk Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, SolidWorks Preview and more

TW
Senior Member
Senior Member
Posts: 337
Joined: 2005-01-19, 13:35 UTC

Post by *TW » 2017-01-26, 23:00 UTC

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 » 2017-01-29, 23:46 UTC

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 » 2017-02-01, 15:24 UTC

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 » 2017-02-01, 18:53 UTC

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 » 2017-02-01, 21:10 UTC

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 » 2017-02-01, 21:36 UTC

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: 37332
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2017-02-02, 10:22 UTC

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
http://www.ghisler.com

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

Post by *bebbo » 2017-02-02, 13:47 UTC

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 » 2017-02-02, 19:05 UTC

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 » 2017-02-02, 21:31 UTC

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: 35
Joined: 2010-04-19, 15:50 UTC

TC crash

Post by *lezerogan2 » 2017-03-12, 09:49 UTC

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: 3336
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp » 2017-03-12, 16:17 UTC

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 10 Home x64 May 2019 Update, Version 1903 (OS Build 18362.175)
Intel(R) Core(TM) i7-4770 CPU @ 3.40GH, 16GB RAM
TC 9.22a x64 and x86, Everything 1.4.1.944 (x64)

User avatar
Ovg
Power Member
Power Member
Posts: 593
Joined: 2014-01-06, 16:26 UTC
Location: MOW

Post by *Ovg » 2017-03-12, 16:36 UTC

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 9.21a x64, Windows 7 SP1 x64

Post Reply