Page 1 of 1

EzPack Crossplatform packer

Posted: Fri Dec 28, 2012 7:16 am
by idle
EzPacker

Cross Platform Streaming Packer supports large files

Features:
  • Windows,Linux,Osx
  • Ascii, Unicode
  • Unpack from memory
  • Open files from memory
DownLoad v1.0.6

https://www.dropbox.com/s/f76f9cvjfmv88h9/EzPack.zip

Version 1.06
changed so compression level can be set for different file types with build source list

Version 1.05
Added Thread support (applications need to be compiled with threadsafe)

Version 1.04
Added compression for file index

Version 1.0.3b
Changed internal string representation to utf8
added missing error traps

Version 1.0.2b
changed file routines to work with a copy


If it's not what your looking for try ts-softs zbin
(I had forgotten about this great packer before writing EzPack)
http://www.purebasic.fr/english/viewtop ... 27&t=50153

Please report any bugs

Code: Select all

 Interface iEzPack 
    BuildSourceFileList(StartDir.s,Pattern.s="*.*",Recursive=1,Thread=0)
    CreatePack(PackFileName.s,Thread=0,WorkSetMb.i=500,level.i=7) 
    CreatePackSelected.q(PackFileName.s,Thread=0,WorkSetMb.i=500,level.i=7)
    OpenPackFromDisk(PackFile.s,Thread=0)
    OpenPackFromMemory(*Memory,MemoryLen,Thread=0)
    UnPack(DestinationPath.s,Thread=0,UnPackAll=0,UnPackToMemory=0)
    UnPackAllToDisk(DestinationPath.s,Thread=0) 
    UnPackSelectedToDisk(DestinationPath.s,Thread=0)
    UnPackAllToMemory(Thread=0) 
    UnpackSelectedToMemory(Thread=0) 
    SelectExtractFile(file.s)
    SelectExtractFileIndex(index.i)
    SelectCompressFile(index.i)
    OpenFile(file.s)
    OpenFileIndexed(Index.i)
    CatchFile(FileNumber.i) 
    GetFileSize(FileNumber.i)
    CloseFile(FileNumber.i)
    Reset()
    GetProgress()
    GetProcessed.s() 
    GetCurrentListIndex()
    GetCurrentListItem.s() 
    GetSourceFileCount()
    GetPackedSize.q()
    GetRawSize.q()
    GetExtractedCount()
    Free()
 EndInterface   

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Fri Dec 28, 2012 7:47 am
by ts-soft
Image very usefull!

There is a small bug with the "ExtractSelectedFiles" examples.

Code: Select all

pack\SelectExtractFile("/examples/3d/Demos/Tank.pb") 
doesn't work! The example is available with the same path on my system.

Greetings - Thomas

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Fri Dec 28, 2012 9:10 am
by idle
Thanks Thomas it was a problem with the Path on windows updated the zip

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Fri Dec 28, 2012 9:24 am
by ts-soft
Hello Andrew

Works fine, but i think, it is better to use always slash in the pack and only on windows convert when extract.

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Fri Dec 28, 2012 12:50 pm
by idle
I will look into that
plus change the way it maps the files so it can be either C:\foo\bar or C:/foo/Bar

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Fri Dec 28, 2012 1:56 pm
by Little John
Hi idle!
idle wrote:EzPacker

Cross Platform Steaming Packer
Here you see me, testing EzPacker:

Image

The program works fine. However, I'd prefer if it would steam a little less. ;-)
(Sorry, I'm just kidding -- could not resist. No offense intended, of course.)

Best regards, Juergen

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Fri Dec 28, 2012 8:51 pm
by idle
That's Dyslexia for you :lol:
I'm fairly sure it will steam your cpu on large files at the moment, it really needs a Delay(0)
added in the compression to yield it's time slice nicely.

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Sat Dec 29, 2012 1:33 am
by Nituvious
Amazing, thank you Idle!

PS I had to google wtf an exabyte was... :lol:

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Sat Dec 29, 2012 3:38 am
by idle
Don't think we'll be getting HD's that large for a while though.

Code: Select all

Debug "1 exabyte " + Str(1<<60) + " bytes " 
Debug  "8 exabytes -1 = " + Str((1024*1024*1024*1024*1024*1024*8)-1) + " bytes "

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Mon Dec 31, 2012 3:28 am
by idle
Version 1.0.3b
Changed internal string representation to utf8
packs should now be readable from either ASCII or Unicode compiled programs
selecting files or opening files by name is now case insensitive and resolves path directive "/" "\"
added missing error traps

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Tue Jan 01, 2013 10:53 pm
by idle
v1.0.4b

Added compression to the file index
Tested packs Unicode vs ASCII plus 32 vs 64 bit
Tested files > 4gb
tested on linux and windows

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Mon Jan 07, 2013 4:31 am
by idle
v1.0.5b

Added Threading support. (requires compiling with thread safe option)

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Sun Dec 28, 2014 1:57 pm
by tester
Hi, idle.

Download link seems to be broken. Can you check it?

Thanks.

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Mon Dec 29, 2014 8:35 pm
by idle
relinked download in first post

Re: EzPack Crossplatform packer up to 8 exabytes

Posted: Mon Dec 29, 2014 10:36 pm
by tester
Thank you so much.