On Sat, 6 Mar 1999, Bobby Kolev wrote:
> Hmm.
> I didn't get this talk from its beginning, but the compression/decompression
> issue is interesting to me.
> I just completed a new app, where I am using the ARJ to compress the data on
> the PC and then decompress it on a PC. A friend of mine sent me the sources
> of the decompressor, but I never checked out how does the issue with license
> stand. If anyone can help I'd admire it.
My current version of PlayMidi (www.execpc.com/~tz) uses zlib which is
opensource, and I think it is slightly faster. I have it implemented in a
GLib shared library. (This is under the GNU tools). The patch to zlib is
also on the same page.
I am writing to a buffer in the dynamic heap and then DmWrite-ing it to
the a resource, so it might be faster if I used DmWrite within zlib, but
probably not by much since the decompression takes a lot of time.
I include (with permission) Jon Sankey's excellent rendition of the
Goldberg Variations as a compressed prc (from 113K to 45K), and it takes
under 4 seconds to decompress.
The main issue with most standard decompression is buffer size. I need
32K in order to do the maximum 15 bit decompression.
Note that I am decompressing resources here, so it would be just as easy
to have a resource decompress to a code0001 resource, basically
reconstructing the app and calling it.
Playmidi is one of the few programs I don't give source out to (actually
the base is available, but the Palm mods aren't, at least not yet),
however if anyone is interested I can post the decompression section. The
source to the compressor is included with playmidi.