I've called callbacks from new threads but it is necessary to run them from exactly that threads that have called functions. So fixing it have required serious redesigning.
Wcx6432 Beta 192
Now callbacks seem to work pretty nice.

Moderators: Hacker, petermad, Stefan2, white
Still works fine with my msi test filesMVV wrote:I've understood why callbacks haven't worked, unfortunately it is not documented anywhere so it was not so easy to guess it.
I've called callbacks from new threads but it is necessary to run them from exactly that threads that have called functions. So fixing it have required serious redesigning.
Wcx6432 Beta 192
Now callbacks seem to work pretty nice.
Good news.Horst.Epp wrote:Still works fine with my msi test files
Can't you use 64-bit version of Syn2? Or it is another plugin?Horst.Epp wrote:Do you plan to also add support for WLX plugins ?
I'm interested to get the Syn2 Lister plugin in x64.
Thanks.TW wrote:works nicely for me too.![]()
well done.
I think it should be possible if plugin follows WXX API and doesn't communucate with TC in other ways (e.g. by subclassing TC windows).TW wrote:is that even possible? the other wrappers all were wcx only too.Horst.Epp wrote:Do you plan to also add support for WLX plugins ?
ah, yes, the same here. i didn't try this.Also I found that when trying to access any 32-bit plugin config menu via the Pack file dialog, it stalls TC and eventually leads to a crash.
hm... i cannot confirm this, unpacking calibre-2.58.0.msi takes about the same time on my old notebook. don't know about other plugins though, the ones i use (IMAginator etc) can handle only small files anyway.Though unpacking with the wrapper takes about 7-8 times longer compared to the plugins under TC 32-bit.
sounds great.I think I will make wrappers for another kinds of plugins but I don't know will they work with specific plugins or not.
Please tell me which plugin really draws file progress bar and provide me a download link to an example of archive file (I suppose it should be some big file or a slow archiver), I'll check it.deus-ex wrote:I found that during unpacking only the lower bar representing the total progress is updated, the upper bar for the per-file-progress never gets updated. I think this is by design and fine with me. Though when testing the original 32-bit plugins with Total Commander 32-bit I found, that some of the packer plugins do not draw the upper per-file-progress bar at all. Maybe that's an detail you want to add to your wrapper.
I think it is because archive contains 4 thousands of files and TC have to call ReadHeader and ProcessFile for every file for unpacking it (and it is critical for unpacking thousands of small files because I can't omit none of these calls like I do with progress callbacks).deus-ex wrote:The unpacking process now runs definitely faster with the latest release v1.0.0.194 of your wrapper, compared to the previous release v1.0.0.172. Though unpacking with the wrapper takes about 7-8 times longer compared to the plugins under TC 32-bit.
Configuring packer works fine for Total7zip so call is passed. But it doesn't work for some other plugins, I don't know why but I'll try to find a reason.deus-ex wrote:Also I found that when trying to access any 32-bit plugin config menu via the Pack file dialog, it stalls TC and eventually leads to a crash.
Unfortunately the x64 version is not changed since 2012MVV wrote:Good news.Horst.Epp wrote:Still works fine with my msi test files
Can't you use 64-bit version of Syn2? Or it is another plugin?Horst.Epp wrote:Do you plan to also add support for WLX plugins ?
I'm interested to get the Syn2 Lister plugin in x64.
From the plugins I tried none appears to be actually using the file progress bar.MVV wrote:Please tell me which plugin really draws file progress bar...
Yes, that's right, but it appears that the process takes unnecessary long. Maybe working with file lists, like in MultiArc for speeding up of batch unpacking, is an option?MVV wrote:I think it is because archive contains 4 thousands of files...
Code: Select all
PackSetDefaultParams called
PkSetCryptCallback called
CanYouHandleThisFileW('...\hexen.wad') -> 1
OpenArchiveW -> 0
SetProcessDataProc called
SetChangeVolProc called
SetProcessDataProcW called
SetChangeVolProcW called
ReadHeaderExW -> 10
CloseArchive -> 0
OpenArchiveW -> 0
SetProcessDataProc called
SetChangeVolProc called
SetProcessDataProcW called
SetChangeVolProcW called
ProcessFileW(2, '...\ADVISOR') -> 0 (4254 PK_SKIPs, 4254 total function calls)
ProcessFileW(2, '...\AXE5') -> 0 (3998 PK_SKIPs, 8252 total function calls)
ProcessFileW(2, '...\BALLS1') -> 0 (4081 PK_SKIPs, 12333 total function calls)
ProcessFileW(2, '...\ART1') -> 0 (4125 PK_SKIPs, 16458 total function calls)
ProcessFileW(2, '...\ARTACT1') -> 0 (4129 PK_SKIPs, 20587 total function calls)
ProcessFileW(2, '...\BATS') -> 0 (4136 PK_SKIPs, 24723 total function calls)
ProcessFileW(2, '...\BELLRNG') -> 0 (4146 PK_SKIPs, 28869 total function calls)
ProcessFileW(2, '...\ARMOREXP') -> 0 (4149 PK_SKIPs, 33018 total function calls)
ProcessFileW(2, '...\ACID5') -> 0 (4165 PK_SKIPs, 37183 total function calls)
ProcessFileW(2, '...\BIRD') -> 0 (4174 PK_SKIPs, 41357 total function calls)
CloseArchive -> 0
At least you gained an improvement. Unpacking Doom.wad with v1.0.0.194 takes ~170 seconds, while v1.0.1.212 needs ~145 seconds (native 32-bit plugin needs 22 seconds).MVV wrote:...it didn't help a lot.
Yes, the MSI-plus plugin runs about the same speed natively and in the wrapper.TW wrote:i tested the msi-plus again, and unpacking all "Files" from calibre-2.58.0.msi runs at the same speed as native plugin x86.
The correct question is: "What plugin are we testing?": GAUP_pro with DooM and Hexen game data files.TW wrote:what archive are you testing?
I'm not sure that Christian can do something with it, I've checked with e.g. MSI-Plus, TC unpacks files in a single pass, so I think that it is GAUP who resets enumeration after every single unpacked file.deus-ex wrote:Probably the ball now lies in Christian's corner and he is able to speed up the plugin interface?
Please read previous discussion. When files are relatively big, internal plugin speed is the major factor, but with a lot of very small files wrapper overhead is much more noticeable and cause real slowdowns.TW wrote:i tested the msi-plus again, and unpacking all "Files" from calibre-2.58.0.msi runs at the same speed as native plugin x86.
what archive are you testing?