New PPM*, PAQ, BZIP* and HA packer plugin: PPMPackTC

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
alexanderwdark
Senior Member
Senior Member
Posts: 270
Joined: 2008-04-14, 07:20 UTC
Location: Russia
Contact:

New PPM*, PAQ, BZIP* and HA packer plugin: PPMPackTC

Post by *alexanderwdark »

Archiver plugin for working with Dark's PPMd-based PPMP format, used in DarkLib. It can pack multiple files, has fantastic compression level, more then in ZIP and Tar.GZip, ideal for packing texts, documents, etc.

Plugin PPMPack is based on sources of PPMd by Dmitry Shkarin (public domain from 1997), also used in 7-ZIP and WinRar for text compression.

Supports packing of one file or multiple files to Tar.PPMP (or Tar.PPMD), storing 256 chars in CP-1251. Supports tag-based archive header.

Plugin can create solid Tar.PPMP archive with higher compression with dictionary up to 1G.

Plugin can create solid Tar.PPMD archive with higher compression (old-style) with dictionary up to 256 Mb.

Compression is nice, but speed isn't too high. Use settings dialog in packer menu. Set more memory (up to 256 Mb) and order (up to 16). Best results are in (XML, HTML, some non-unicode texts).

Makes very good compression in solid mode with max prediction order (16) and big memory block! I.e., packing 113 MB of word files to tar.ppmd gives 15.8 Mb archive, Rar with solid mode and ppmd on (128 Mb=max, prediction=auto) gives 16.4 Mb archive.

Test: 275 Mb Rtf file (text content, without images and any objects)

PPMPack (.ppmd) with 256 Mb dictionary and order = 16 - 37.1 Mb
PPMPack (.ppmp) with 850 Mb dictionary and order = 16 - 36.4 Mb
Rar with forced ppmd compression, 128 Mb dictionary and order = 63 - 42.8 Mb

You can download PPMPackTC plugin from official page here

Plugin page and other plugins located here: DarkSoftware free plugins for TC


FastPPMdLib - is my OpenWatcom C++ dll library for packing by D.Shakarin PPMd algorithm. Library sources are located on my site. You can use it for easy packing from Delphi/FreePascal, Win32 C++ project.

HALib - is my MS VC ++ dll library for packing by HA HSC and HA ASC algorithms. Library sources are located on my site. You can use it for easy packing from Delphi/FreePascal, Win32 C++ project.


Sources are located here




25.12.2008 Support for fast PPMD-j compression, slow PPMZ compression with user-defined block size.

26.05.2008 Support also packing with HA ASC algoritm, more faster, good compression, fast decompression!

26.05.2008 Support also packing with HA HSC algoritm, more faster, good compression!

23.05.2008 Support for packing to .ppmd and solid tar.ppmd

22.05.2008 Support for packing memory up to 1024 Mb, ulra compression for large text files.

22.05.2008 User-defined comment support

22.05.2008 Faster compression and decompression

22.05.2008 Fixed stupid ppmp unpacking bug

21.05.2008: Plugin now has support for classic PPMd format packing and unpacking (.ppmd)!

21.05.2008: Faster unpacking functions.

Supported compression algorithms (here updated not so fast, download plugin and see full list)


  • - PPMD
    - PPMD-J
    - PPMZ
    - PPMVC
    - HA HSK
    - HA ASC
    - PAQ8P
    - LPAQ8P
    - PAQ9A
    - QUAD
    - BALZ
    - BBB
    - ABC
    - LZMA
    - S3A
    - BZIP
    - BZIP2
    - HOOK
    - LZPX




Download PPMPackTC with classic PPMD support
Last edited by alexanderwdark on 2008-12-31, 16:44 UTC, edited 29 times in total.
User avatar
ND
Member
Member
Posts: 150
Joined: 2006-04-10, 16:24 UTC
Location: Sibiu, RO

Post by *ND »

alexanderwdark wrote:WARNING! Before setup of plugin You need to copy library fastppmdlib.dll from archive to system directory (default is С:\WINDOWS\system32) to make plugin working!
This makes the plugin unusable for many users who are not admin: for them %SystemRoot% is not write-accessible.
Also, this approach is not portable (this is very important for me personally).

Please change the plugin such that the library .dll can be loaded directly from the plugin directory.
(Note: An alternative could be to place the additional .dll in the %COMMANDER_PATH% - this works when using TC portable, but that path may also not be accessible if installed in %ProgramFiles%).
aNDreas Bolotă
The truth always carries the ambiguity of the words used to express it. (Frank Herbert, God Emperor of Dune)
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

I see the only advantage of this plugin over PPMd is possibility to compress many files/archive using TAR container?
Disadvantage is necessary dll in system folder...
User avatar
alexanderwdark
Senior Member
Senior Member
Posts: 270
Joined: 2008-04-14, 07:20 UTC
Location: Russia
Contact:

Post by *alexanderwdark »

DrShark wrote:I see the only advantage of this plugin over PPMd is possibility to compress many files/archive using TAR container?
Disadvantage is necessary dll in system folder...

New! Option for packing also with more faster HA ASC algoritm

New! Option for packing also with more faster HA HSC algoritm


new - memory support up to 1024 Mb (classic format supports only 128/256 Mb)


New version loads dll dynamicaly from self directory!

Download it from this archive. Portable version of PPMPackTC with New OpenWatcom Library

See also my plugin ABC TC - very good compression, such as PPMd for texts and documents, but compression/decompression speed is faster!

ABC TC - BWT compression plugin, based on ABC engine
Last edited by alexanderwdark on 2008-05-26, 17:08 UTC, edited 5 times in total.
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

1) can you add compatibility with archives created by PPMd plugin?
2) [bug?] it's impossible to cancel packing process.
User avatar
alexanderwdark
Senior Member
Senior Member
Posts: 270
Joined: 2008-04-14, 07:20 UTC
Location: Russia
Contact:

Post by *alexanderwdark »

DrShark wrote:1) can you add compatibility with archives created by PPMd plugin?
2) [bug?] it's impossible to cancel packing process.
1. new - plugin supports also old-style .ppmd and solid tar.ppmd

2. No, not a bug. At this stage there is no canceling (library don't supports it yet). No time for making it at this moment...
Last edited by alexanderwdark on 2008-05-22, 20:52 UTC, edited 1 time in total.
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

1. This is not ppmd format, plugin has it's own. For some my programs and internal use. (but there is sources, and ppmd plugin is working, no need to dublicate it fully)
Well, it'd be nice to unpack similar formats with one plugin...
User avatar
alexanderwdark
Senior Member
Senior Member
Posts: 270
Joined: 2008-04-14, 07:20 UTC
Location: Russia
Contact:

Post by *alexanderwdark »

DrShark wrote:
1. This is not ppmd format, plugin has it's own. For some my programs and internal use. (but there is sources, and ppmd plugin is working, no need to dublicate it fully)
Well, it'd be nice to unpack similar formats with one plugin...
Yes, it's ready!


Download PPMPackTC with classic PPMD support
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

Thx for update.
1) Bug in plugin or broken archive w/sources:
http://darksoftware.narod.ru/narod_is_best/ppmpacktc_source.tar.ppmp
Total Commander crashes when I try to open/extract tar file into ppmp file.
2)
"CMT=
Если вдруг забредаешь в каменную траву,
выглядящую в мраморе лучше,
чем наяву,иль замечаешь фавна,
предавшегося возне с нимфой,
и оба в бронзе счастливее, чем во сне,
можешь выпустить посох из натруженных рук:
ты в Империи, друг.
И. Бродский"
If it's not necessary part of header (I guess CMT=comment) I want option to skip (disable) it or write my own comment - I don't need extra ~50 bytes for each archive.
User avatar
alexanderwdark
Senior Member
Senior Member
Posts: 270
Joined: 2008-04-14, 07:20 UTC
Location: Russia
Contact:

Post by *alexanderwdark »

DrShark wrote:Thx for update.
1) Bug in plugin or broken archive w/sources:
http://darksoftware.narod.ru/narod_is_best/ppmpacktc_source.tar.ppmp
Total Commander crashes when I try to open/extract tar file into ppmp file.
2)
"CMT=
Если вдруг забредаешь в каменную траву,
выглядящую в мраморе лучше,
чем наяву,иль замечаешь фавна,
предавшегося возне с нимфой,
и оба в бронзе счастливее, чем во сне,
можешь выпустить посох из натруженных рук:
ты в Империи, друг.
И. Бродский"
If it's not necessary part of header (I guess CMT=comment) I want option to skip (disable) it or write my own comment - I don't need extra ~50 bytes for each archive.

Sorry, i uploaded not final buggy plugin version! Fixed - Please, redownload plugin and it's source :(

U.S.D. comment support added (see settings)
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

Crash in new version when creating tar.ppm*.
User avatar
alexanderwdark
Senior Member
Senior Member
Posts: 270
Joined: 2008-04-14, 07:20 UTC
Location: Russia
Contact:

Post by *alexanderwdark »

DrShark wrote:Crash in new version when creating tar.ppm*.
This functuin works only in TC 7.03 final (before was TC bug).


What options using? packing to tar.ppmp or tar.ppmd? Files?

Check memory settings, maybe low memory PC? For packing and unpacking with big dictionary You need lot of memory.. Default is big 256 Mb dictionary (see setings).

Maybe using You are using old version? I had tested on some PC's, such as athlon XP on my work, Celeron D 330 at home, etc., no bugs found. Try to redownload, check settings.

Or, maybe file You packing is in-use , locked


I think, You are using not final version of wcx module or library fastppmdlib, try redownloading and reinstalling to TC 7.03

ppmpack_tc
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

Just discovered it:
bug occurs when I pack file into %temp% directory.
User avatar
alexanderwdark
Senior Member
Senior Member
Posts: 270
Joined: 2008-04-14, 07:20 UTC
Location: Russia
Contact:

Post by *alexanderwdark »

DrShark wrote:Just discovered it:
bug occurs when I pack file into %temp% directory.
Yes! Thaks, i fix it later, this bug with temporary file naming when mempack is used by TC and my plugin.
User avatar
alexanderwdark
Senior Member
Senior Member
Posts: 270
Joined: 2008-04-14, 07:20 UTC
Location: Russia
Contact:

Post by *alexanderwdark »

DrShark wrote:Just discovered it:
bug occurs when I pack file into %temp% directory.
Fixed, Please, redownload and reinstall plugin!

Thanx!
Post Reply