Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: testing wavpack (4.70.0), especially with regard to transcoding (Read 7892 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

testing wavpack (4.70.0), especially with regard to transcoding

I compiled r295 of WavPack, on 64-bit Windows.  I used pretty much vanilla Visual C++ 2010 Express on Windows 8 (just got this machine March 8).  I used the included solution from Visual Studio 9, which was automatically converted.  the first problem was my system was lacking afxres.h (included in wavpackdll.rc). fixed that by changing:
Code: [Select]
#include "afxres.h"
to
Code: [Select]
#include <windows.h>

of more importance to (some) end-users, the transcoding feature is less than working, and the documentation on this lacks.

here's the command line used:
Code: [Select]
>"wavpack\wavpack.exe" -hh -i -m -x6 "Z:\audio\wavpack\cake; b-sides and rarities\01 war pigs.wv" "C:\Users\Christopher\Music\wavpack\cake; b-sides and rarities\01 war pigs.wv"

the error was:
Code: [Select]
illegal option: h !
illegal option: h !
illegal option: 6 !

I know, transcoding wavpack to wavpack is probably pointless.  I just got bored.
also, this transcode was not hybrid to lossless; just plain lossless to lossless.

 

testing wavpack (4.70.0), especially with regard to transcoding

Reply #1
I certainly can't explain the errors you're getting because it doesn't look like you even get past parsing the command-line...it certainly doesn't have anything to do with the new transcoding feature. Does your compiled version do anything right?

In any event, the transcoding feature is less than a week old (which explains the lack of documentation) and I haven't even tried compiling it for Windows myself (I do my development on Linux). I should get to that in the next week or so, and maybe I'll figure out what's going on.

As for the transcoding feature, it is only for transcoding WavPack to WavPack, and once it's working (well, it's working great on Linux) it should be very handy because it uses temp files (so it can work safely "in-place") and copies all the tags over (and even supports adding/deleting/chaging the tags).

David



testing wavpack (4.70.0), especially with regard to transcoding

Reply #2
I've just tried building the latest SVN in MingW-w64 and everything seems to be working, except for an error when trying to build the manual (the .1 files appear to be missing).
I ran some preliminary tests with the resulting wavpack binary and it seems to work, at least the files it produces bit-compare fine against 4.60.1 encodes (using the official win32 binary).

Edit: Forgot to mention that there are no problems parsing the commandline options either, so that might be a problem with the MSVC project files or MSVC itself?

If anyone else wants to test, I've uploaded the binaries here: http://negju.musepack.net/wavpack-SVN-win64.7z

testing wavpack (4.70.0), especially with regard to transcoding

Reply #3
the binary encodes wav to wavpack just fine, but not wavpack to wavpack.

EDIT: just tried GenjuroXL's build, it does transcode.  must just be MSVC, or maybe because my system lacks the "afxres.h" file.  I have no idea what that's even for...

EDIT 2: forgot to mention that I've been using the exact same arguments each time.  for wav to wavpack and wavpack to wavpack.

testing wavpack (4.70.0), especially with regard to transcoding

Reply #4
I apologize, Mr. Bryant.  it seems my above bug report is invalid.  transcoding works.  operator error.

however, there are still two (actually reproducible) problems.

wavpackdll.dll still doesn't compile.  apparently, the entire point of "afxres.h" (which was still not found after I installed Microsoft Windows SDK) is to include <windows.h>.  so my substitution in the first post makes sense...
lastly, with regard to the new temp file feature:
Code: [Select]
>"C:\Users\Christopher\Desktop\multimedia\utils\wavpack debug\wavpack.exe" -d -hh -i -m -x6 -y "C:\Users\Christopher\Desktop\multimedia\encodes\wavpack\soul coughing; studio b-sides\*.wv"

WAVPACK  Hybrid Lossless Audio Compressor  Win32 Version 4.70.0-alpha
Copyright (c) 1998 - 2013 Conifer Software.  All Rights Reserved.

can not rename temp file C:\Users\Christopher\Desktop\multimedia\encodes\wavpack\soul coughing; studio b-sides\04 the brooklynites.tmp.wv to C:\Users\Christopher\Desktop\multimedia\encodes\wavpack\soul coughing; studio b-sides\04 the brooklynites.wv!
there was only one file in the folder (04 the brooklynites.wv), which is why there is only one error.

testing wavpack (4.70.0), especially with regard to transcoding

Reply #5
I've just tried building the latest SVN in MingW-w64 and everything seems to be working, except for an error when trying to build the manual (the .1 files appear to be missing).


The manpage *.1 files are buildt from the *.xml files in man directory and buildt for me after installing packages docbook, docbook-xml and docbook-xsl on Debian. Probably not all of them required, maybe only docbook-xsl, I don't know....?

I guess you could try --disable-man to configure to silence errors if that works...? (I have no experience with MinGW.)


EDIT: Typo.

"ONLY THOSE WHO ATTEMPT THE IMPOSSIBLE WILL ACHIEVE THE ABSURD"
        - Oceania Association of Autonomous Astronauts

testing wavpack (4.70.0), especially with regard to transcoding

Reply #6
wavpackdll.dll still doesn't compile.  apparently, the entire point of "afxres.h" (which was still not found after I installed Microsoft Windows SDK) is to include <windows.h>.

MSVC resource compiler probably defines all of that internally, as the only place I can find an afxres.h is with MinGW, which only serves to include windows.h and define IDC_STATIC to -1.

testing wavpack (4.70.0), especially with regard to transcoding

Reply #7
MSVC resource compiler probably defines all of that internally
actually, I tried commenting out the #include "afxres.h" first, and the dll didn't compile at all (a bunch of errors), which is why I changed it to #include <windows.h>.

I think I read that trick somewhere on msdn's social something-or-other.

testing wavpack (4.70.0), especially with regard to transcoding

Reply #8
Thanks for the bug reports!

I am not very concerned about the DLL build problem because none of the supplied programs or plugins use it (it's basically for 3rd party developers) and I'm sure I'll figure it out once I try to build it (with VS 2008).

The rename issue is simply that the win32 rename() function will fail if the target already exists whereas on Linux rename() does an atomic delete and rename in that case (which is obviously what I want). For Windows I'll have to use another solution, but I'll attend to that once I move over to Windows.

David