[Solved] Trouble compiling Audacity from SVN with ASIO

Yep, that was the problem, I had checked the variable yesterday but I didn’t notice that the path was wrong.

So I tried to build the release project and everything was going good until near the end where I got this error:

…srcFileNames.cpp(234) : error C2664: ‘GetModuleHandleExA’ : cannot convert parameter 2 from ‘LPCWSTR’ to ‘LPCSTR’
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

Audacity - 1 error(s), 0 warning(s)
========== Build: 26 succeeded, 1 failed, 0 up-to-date, 4 skipped ==========
The debug project had the same error
========== Build: 26 succeeded, 1 failed, 0 up-to-date, 4 skipped ==========

Then I built the unicode debug project and it worked! :slight_smile:
========== Build: 5 succeeded, 0 failed, 23 up-to-date, 3 skipped ==========
I went to the exe and it loaded up Audacity just like it should, I didn’t test it except for going to “about Audacity”.

Then I built the unicode release project and it also worked! :slight_smile:
========== Build: 29 succeeded, 0 failed, 0 up-to-date, 2 skipped ==========
I went to the exe and it loaded up Audacity just like it should, I didn’t test it except for going to “about Audacity”.

What is the difference between the unicode and non-unicode versions?


Recently the (non-Unicode) Debug & Release builds have been broken. If you grab a SVN HEAD today they should build.

The non-Unicode builds are not really supported anymore and as soon as 2.0 releases should become completely extinct. The problem is that Windows98 will not run the Unicode versions and Audacity wishes to release a final stable Release version of 2.0 for Win98.

Have you ever seen a non-English word with letters like these?: [editorial aside–how do you punctuate a question mark and colon]
If you try to use Unicode characters in a non-Unicode version bad things will happen, especially when you try to save to disk or open a project someone else sends you with Unicode characters. The moral is, on any system except Win98, stick with Unicode to be safe.

Thank you! :slight_smile:

So they published the fix today. I just recompiled the debug project and it worked I also recompiled the release project and it worked.

Ok, so non-English letters require Unicode. And the Unicode release is all-around better.

I suppose I am ready to try to compile with ASIO now. Do I pretty much just need to define the “ASIOSDK_DIR” environment variable and recompile Audacity?

The only think to remember is that once you define the ASIO environmental variable and compile it is cumbersome to go back to standard. To revert, you will need to remove (or rename) the ASIO environmental variable and completely delete the entire Audacity directory into which you first SVNed the trunk. Then re-create the directory and do a new SVN checkout into it and recompile. I do not think there is anything in audacity.cfg (the configuration file) which will impact restoring to standard, but it might be a good idea to at least inspect it for ASIO related entries–if found then delete or initialize (i.e. remove all but the first line) it.

Good luck so far, keep us posted on your ASIO results. Don’t be surprised if you find pitfalls along the way and do not expect wondrous results–YMMV!

Ok, thanks. I defined the variable and recompiled the Unicode Release and it appears to have worked.
========== Build: 4 succeeded, 0 failed, 25 up-to-date, 2 skipped ==========

Is there a way to check whether Audacity has ASIO support or not?

I do not have a soundcard with ASIO support as far as I know. I wanted to build Audacity with ASIO support before spending that much money.

Thank you so much for helping me through this. :slight_smile:

I cannot be sure about checking the ASIO support but look at:
On your Device toolbar (if it is not on you may turn it on with menu View > Toolbars) try all the options–something may refer to ASIO. Next, from the menu pick Help > Audio Device Info… something there may refer to ASIO. Penultimately, just before you quit, from the menu pick Help > Show Log… something there may refer to ASIO. Finally, you could try installing ASIO4All–it might show up as an ASIO device (it does on my system).

I have no recommendations on sound cards, try https://forum.audacityteam.org/t/sound-card-reviews/8375/1 and https://forum.audacityteam.org/t/multi-channel-recording-in-audacity/15644/1 but take all there with a grain of salt! What do you wish to accomplish with Audacity, ASIO and a sound card? What is your experience level as a sound tech/engineer? Do you already have audio gear like mixers, compressor/expander/limiters etc. which you might want to integrate into the solution?

I don’t see ASIO in any of those places in Audacity.

I installed ASIO4All but it does not show up under recording devices.
Should ASIO4All be visible in device manager under “sound, video and game controllers”? It isn’t.

Thanks for the links, I’ve been to them a few times.

What do you wish to accomplish with Audacity, ASIO and a sound card?

I want to record 8-16 channels for the band at my church. A device with a USB interface would be preferred but a PCI device can also be used.

What is your experience level as a sound tech/engineer?

Well up until October I just used Audacity for light audio editing or making little sound effects but now I use it every week for my church recording and editing. I have always loved audio equipment but I never had any experience on a real soundboard till October. I guess my experience level could be classified as beginner to intermediate but I learn fast.

Do you already have audio gear like mixers, compressor/expander/limiters etc. which you might want to integrate into the solution?

Yes, we have a mixer, an MG32/14FX. No compressors, expanders, or limiters that I know of.

This does not look like you have ASIO enabled. What about the Device Info and Log? You can use <CTRL +c> in either to copy the text and paste here.

You are really jumping in the deep end, but more power to you! For what it’s worth, most any 8+ channel sound “card” (most likely going to be an external pod) will come with pro software much better suited to this than Audacity. Audacity is not a “real time” solution for mixing a live show, so you would need to do some fancy (read expensive) splitting of the mic feeds–one leg into the mixer and one into the computer. You will also need lots of horsepower and storage on your computer!

You might try recording the mixer’s stereo output (there are some tricks you can use here to get either a “dry” or “house” mix but without seeing your setup I cannot be more specific). You would not be able to do channel-by-channel editing but I use technique all the time when doing “live albums”. For studio recordings a pod would be good.

This post is going way off topic! If you want, open a new thread on one of the other forums of this board to discuss your needs in re. the church band! Very few others read/reply on this forum.

Well, I like challenges, especially when it has to do with electronics.

I figured out a way to connect my computer between the mics and the mixer but it would require me making some custom cables.(Which isn’t a problem for me) As long as I can edit the tracks in Audacity I don’t have a problem with using other software to do the actual recording as long as it is stable.

Your right, this is getting off-topic, I guess this would go best under Recording Equipment, or Techniques?

This does not look like ASIO support is compiled in; without having an ASIO enabled device installed Audacity might me smart enough to ignore ASIO–I just don’t know. We have gotten beyond my knowledge level!

As for the mod-script-pipe.dll error–ignore it; it is an experimental feature which has languished. The Log I want is from starting Audacity and then choosing menu Help > Show Log…; mine looks like this (this not from an SVN HEAD build):

08:34:59: Trying to load FFmpeg libraries...
08:34:59: Trying to load FFmpeg libraries from default path, 'D:audioAudacityFFmpeg for Audacityavformat-52.dll'.
08:34:59: Looking up PATH environment variable...
08:34:59: PATH = 'C:Program Files (x86)ATI Streambinx86_64;C:Program Files (x86)ATI Streambinx86;C:Program FilesCommon FilesMicrosoft SharedWindows Live;C:Program Files (x86)Common FilesMicrosoft SharedWindows Live;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)ATI TechnologiesATI.ACECore-Static;D:nonVista Programscvsntcvsnt;C:Python26;D:audioAudacity;D:nonVista ProgramsGnuWin32bin;C:Program Files (x86)Microsoft SQL Server100ToolsBinn;C:Program FilesMicrosoft SQL Server100ToolsBinn;C:Program FilesMicrosoft SQL Server100DTSBinn;D:nonVista ProgramsSlikSVN64bin;D:nonVista ProgramsTortoiseSVN64bin;D:nonVista ProgramsVisual Leak Detectorbin;C:Program Files (x86)Microsoft Visual Studio 8Common7IDE;C:Program Files (x86)Microsoft Visual Studio 9.0Team ToolsPerformance Toolsx64;C:Program Files (x86)Windows LiveShared;C:Program Files (x86)QuickTimeQTSystem'
08:34:59: Checking that 'D:audioAudacityFFmpeg for Audacity' is in PATH...
08:34:59: Warning: FFmpeg directory is not in PATH.
08:34:59: Temporarily appending ';D:audioAudacityFFmpeg for Audacity' to PATH...
08:35:00: Returning PATH to previous setting...
08:35:00: Retrieving FFmpeg library version numbers:
08:35:00:    AVCodec version 0x342000 - 52.32.0 (built against 0x342000 - 52.32.0)
08:35:00:    AVFormat version 0x342400 - 52.36.0 (built against 0x342400 - 52.36.0)
08:35:00:    AVUtil version 0x320300 - 50.3.0 (built against 0x320300 - 50.3.0)
08:35:00: FFmpeg libraries loaded successfully.

I split this off to:


The “Audacity Log” that I posted before was from Help->Show Log… I guess I didn’t have the right version of FFmpeg though, now I do, here is what the log looks like now:

21:54:21: Error: The module E:Building_AudacityAudacity SVNwinUnicode Releasemodulesmod-script-pipe.dll is designed to work with Audacity version 1.3.10-alpha-Mar  4 2011; it will not be loaded.
21:54:23: Trying to load FFmpeg libraries...
21:54:23: Looking up PATH environment variable...
21:54:23: PATH = 'D:WINDOWSsystem32;D:WINDOWS;D:WINDOWSSystem32Wbem;D:Program FilesMicrosoft SQL Server100ToolsBinn;D:Program FilesMicrosoft SQL Server100DTSBinn;D:Python27;D:Program FilesTortoiseSVNbin'
21:54:23: Checking that 'D:Program FilesFFmpeg for Audacity' is in PATH...
21:54:23: Warning: FFmpeg directory is not in PATH.
21:54:23: Temporarily appending ';D:Program FilesFFmpeg for Audacity' to PATH...
21:54:23: Error: Couldn't find symbol 'avutil_version' in a dynamic library (error 127: the specified procedure could not be found.)
21:54:24: Returning PATH to previous setting...
21:54:24: Retrieving FFmpeg library version numbers:
21:54:24:    AVCodec version 0x342000 - 52.32.0 (built against 0x342000 - 52.32.0)
21:54:24:    AVFormat version 0x342400 - 52.36.0 (built against 0x342400 - 52.36.0)
21:54:24:    AVUtil version 0x320300 - 50.3.0 (built against 0x320300 - 50.3.0)
21:54:24: FFmpeg libraries loaded successfully.

Ok, I’ll post over there later with information on our current setup.

One thing to try build the Unicode Release (not Unicode Debug) version. You may still run it under the debugger (right from the compiler) just say “Yes” to the “do you want to continue…” dialog. Then try the (non-Unicode) Debug and Release builds–is see not-Unicode-compliant stuff in the ASIO code.

I am fairly sure you are not compiling ASIO in. I just spent some time trying to figure out how to put a message in the Log when ASIO is compiled in, but failed. The only choice to get a message out seems to be to print to the CLI–that gets complicated for you to accomplish!

Are you getting your SVN source with TortoiseSVN (freeware http://tortoisesvn.net/downloads.html ) or using a terminal to send the svn command? The reason I ask is you might want to grab the most current SVN HEAD (r10998) or r10995 (which is the only recent one I can get to compile) and try with new source code. TortoiseSVN makes this very easy:

Sorry I haven’t gotten back here in a couple days, been really busy with other projects.

I am using TortoiseSVN. I have a folder for the latest directory which is currently at 11007 today I just made another folder for revision 10995 and I am working on compiling it.

I am trying the Unicode Release right now and I will try the non Unicode afterwards.

Thanks again for all your help. :slight_smile:

Gosh this took a long time to compile, I guess it would have been faster if I wasn’t using the computer for anything else.

Here are the Build and Debug logs.

It looks like it worked!! :smiley:

I feel that we have both put a lot of hard work into this and I want to thank you for sticking with the project! Doesn’t it feel really nice to succeed in the face of lots of difficulty–well done!

Now, if you would not mind, as the original poster you may edit the title of this post; I think it would be nice if you were to include ASIO somehow in the title and also note that it is “solved” maybe something vaguely like:
[both solved] Having a lot of trouble compiling Audacity from SVN & getting ASIO to compile in

That way others who stumble on the thread via search will not only know we dealt with two problems but that you eventually solved them both.

Congratulations on your success J,R,D.
I’ve renamed this thread to make it more visible, but feel free to rename it again if you think the title is wrong.

You’re right, and your welcome. I couldn’t have done it without your help, thanks. :slight_smile: I love the feeling of accomplishing things, especially difficult things like this. :smiley:

Yes that is a good idea, hopefully it will help someone else out as well.

Now, What files would I need to transfer to my recording PC should I choose to use Audacity with ASIO support? I don’t have to build Audacity on the PC I want to use it on right?

Thanks Steve! :smiley:

I think it is appropriately titled, except maybe (solved) should be in brackets at the front of the title unless that goes against forum naming conventions.

No thanks needed–you cannot imagine the tremendous amount of help I have gotten from others on this forum!

What files go where depends on your OS; as I am only familiar with Windows I cannot address the question on Mac & Linux. In general, what I would suggest as the safest would be to install the most current version of Audacity via the Audacity installer:
about 14 lines down the page:
Recommended Download
Windows 2000/XP/Vista (and provisional support for Windows 7):
(.exe file, 11.3 MB) - The latest version of the free Audacity audio editor, including help files.

Install this on your new computer; then from your old computer (i.e. the ASIO build) just find and copy over the Unicode Release executable (you may have to build it if you have been build Unicode Debug configuration). It will be in the winUnicode Release folder of the Audacity project folder (D:audioAudacitySVNwinUnicode Release on my system); it is called audacity.exe (you may have to turn on the display of “dot extensions”).

Copy over the ASIO installer (not the installation folder) from the old computer to the new and install ASIO on the new (you might also want/need to do the same with ASIO4All). Have a go at it!

If you are wanting to run a stripped down (no local Help, no language localization, few if any effects etc.) install of Audacity on the new computer that is another question!

That worked!

I installed the latest version of Audacity, then installed ASIO4ALL. I did not install ASIO on this pc.