HydrogenAudio

Lossless Audio Compression => WavPack => Topic started by: TJFO on 2010-07-16 11:03:49

Title: wavpackdll.lib - any static version?
Post by: TJFO on 2010-07-16 11:03:49
Hi,

I've integrated wavpackdll.lib in my player-code. Works fine! But is there a static-lib-version...?

Thanks a lot!
Regards
Thomas
Title: wavpackdll.lib - any static version?
Post by: googlebot on 2010-07-16 11:28:28
Static/dynamic refers to the linking layer, not the lib itself. Just link it statically.
Title: wavpackdll.lib - any static version?
Post by: TJFO on 2010-07-16 11:51:59
Static/dynamic refers to the linking layer, not the lib itself. Just link it statically.


It is linked statically. And I see that this *.lib is a dynamic import library - it needs *.dll ...
Title: wavpackdll.lib - any static version?
Post by: bryant on 2010-07-17 19:04:17
Sorry, I do not provide a statically linked version of the library.

I guess I figured that those only make sense for programs that don't have source code available, but anyone can easily create such a library for WavPack because the whole project is right there. Also, you are free to distribute the DLL with your program (and, BTW, thanks for adding WavPack support to it).

If there's some issue that I am not thinking of, please let me know.

David
Title: wavpackdll.lib - any static version?
Post by: TJFO on 2010-07-21 11:10:31
Sorry, I do not provide a statically linked version of the library.

I guess I figured that those only make sense for programs that don't have source code available, but anyone can easily create such a library for WavPack because the whole project is right there. Also, you are free to distribute the DLL with your program (and, BTW, thanks for adding WavPack support to it).

If there's some issue that I am not thinking of, please let me know.

David


Hi David,

I had time today and compiled a working static "libwavpack.lib". If you like, I could send it.

But another question, because i would like to know exactly what happens after *.wv is loaded (and I am still not so familiar with lossless compressed files): Am I right, that the moment music begins playing, the whole file is uncompressed, like a "normal" *.wav? My player "normally" loads the entire *.wav to memory and I see that the moment the *.wv is loaded, memory tooks exactly the same size ...

Thanks!
Regards
Thomas
Title: wavpackdll.lib - any static version?
Post by: bryant on 2010-07-22 04:24:17
Hi Thomas,

Well, I assume that by "loaded" you mean opened with WavpackOpenFileInput(). In this case, no, none of the file is decoded. The decoding only happens when you call WavpackUnpackSamples(), and then it only decodes the samples you ask for. If you seek to another location the same thing happens and the decoding starts at the new location (except that decoding must start on a WavPack block and so a few extra fractions of a second might be decoded prior to the samples you ask for).

Thanks for the offer of the static library, but as long as I know how to make one myself if I need it, then I'll be happy. I have not tried it, but I assume it was pretty easy in Visual Studio?

Regards,
David
Title: wavpackdll.lib - any static version?
Post by: TJFO on 2010-07-22 08:29:05
Hi David,

thank you!

Pretty easy: I opened src\libwavpack.vcproj in MSVC and did this (I see it in german language, may be there are other expressions in engl.):

For libwavpack (attributes):

- Activ(Debug): C/C++ -> Codegeneration -> Multithreaded-Debug(MTd)

- Release: the same (...)

- Release: Common -> use MFC in a static b.

Regards
Thomas