PDA

View Full Version : CLS Wrapper


78372
12-11-2020, 22:23
A wrapper for cls to be used as stdio/fio purpose. If you have a cls based (de)compressor and want to use that with file/std io but not using freearc, you can use this.
In order to use cls with this, cls-xxx.dll must be renamed to arc-xxx.dll to avoid contradiction with freearc.

Usage:

clsw.exe c:{compressor} {parameters} input output
clsw.exe d:{compressor} input output


Sample usage:

[External compressor:lolz]
header = 0
packcmd = lolz_x64.exe {options} $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
unpackcmd = clsw.exe d:lolz - - <stdin> <stdout>

[External compressor:bpk]
header = 0
packcmd = clsw.exe c:bpk - - <stdin> <stdout>
unpackcmd = clsw.exe d:bpk_u - - <stdin> <stdout>

[External compressor:diskspan]
header = 0
packcmd = clsw.exe c:diskspan 100mb:512mb - - <stdin> <stdout>
unpackcmd = clsw.exe d:diskspan - - <stdin> <stdout>

The point? There isn't if you use fa with this because you already have cls. Maybe it is usable for other programs or testing purposes.

Cesar82
13-11-2020, 03:53
Great job.
With this executable would it be possible to use CLS libraries in a folder structure with IsDone?
Something like this:

Folder structure
{tmp}\CLSW\clsw.exe
{tmp}\BPK\CLS-BPK_U.dll

Arc.ini
[External compressor:bpk]
header = 0
packcmd = "CLSW\clsw.exe" c:"BPK\bpk" - - <stdin> <stdout>
unpackcmd = "CLSW\clsw.exe" d:"BPK\bpk_u" - - <stdin> <stdout>

78372
13-11-2020, 06:05
Not in a folder.
c: or d: is for the compressor name, not the dir+file.
You need to rename cls-bpk_u.dll to arc-bpk_u.dll to avoid conflicts with freearc.

Cesar82
13-11-2020, 06:17
@78372 , Thanks!
In the next versions of CIU I will create folder structure for the decompressors, but the CLS I am obliged to put in the main folder, I imagined that this executable of yours could be used for that use as well.