[SOLVED] wavPack decoder
Posted: Sat Sep 10, 2016 12:01 am
For wavPack an official dll package exists on their major web page http://www.wavpack.com/ for download and usag of the .lib file distributed using, for example, the code postd by wilbert below:

PS: don't forget it requires "32bit_float.wv" maybe you want to put some openFileRequester () there.wilbert wrote:Code: Select all
EnumerationBinary #OPEN_WVC #OPEN_TAGS #OPEN_WRAPPER #OPEN_2CH_MAX #OPEN_NORMALIZE #OPEN_STREAMING #OPEN_EDIT_TAGS #OPEN_FILE_UTF8 EndEnumeration ImportC "wavpackdll.lib" WavpackCloseFile (*wpc) WavpackGetBitsPerSample (*wpc) WavpackGetBytesPerSample (*wpc) WavpackGetNumChannels (*wpc) WavpackGetNumSamples (*wpc) WavpackGetReducedChannels (*wpc) WavpackGetSampleRate (*wpc) WavpackOpenFileInput (infilename.p-ascii, *error, flags, norm_offset) WavpackSeekSample (*wpc, sample) WavpackUnpackSamples (*wpc, *buffer, samples) EndImport *error = AllocateMemory(81) *wpc = WavpackOpenFileInput("32bit_float.wv", *error, 0, 0) If *wpc = 0 Debug PeekS(*error, -1, #PB_Ascii) Else numChannels = WavpackGetNumChannels(*wpc) bitsPerSample = WavpackGetBitsPerSample(*wpc) bytesPerSample = WavpackGetBytesPerSample(*wpc) sampleRate = WavpackGetSampleRate(*wpc) numSamples = WavpackGetNumSamples(*wpc) Debug "Channels : " + Str(numChannels) Debug "Bits per sample : " + Str(bitsPerSample) Debug "Bytes per sample : " + Str(bytesPerSample) Debug "Sample rate : " + Str(sampleRate) Debug "" Debug "Number of samples : " + Str(numSamples) BufferSize = 4 * numSamples * numChannels *Buffer = AllocateMemory(BufferSize) If *Buffer And WavpackUnpackSamples(*wpc, *Buffer, numSamples) = numSamples Debug "Decoded" Else Debug "Decode error" EndIf WavpackCloseFile(*wpc) EndIf
