Compiling audacity - Visual studio 2012.

Hi,

I want to use audacity to compare two audio files (network socket sends an audio file and the receiving socket puts the file together and compares with the source’s audio file). Based on the audacity documentation, the scripting functionality can compare audio files and return a value based on thresholds and that is what I want to achieve.

Now the painful issue I am facing is to compile audacity. I have been going at it for over 32 hours in the last two days and I can barely type this message. I mean no offense to anybody, I am new to this whole thing. I really hope somebody can help me . I have been following the documentation in the audacity website and other websites.

Here is what I have done so far,

  1. With Visual Studio 2012, I have compiled wxWidgets 2.8.12 with all the configurations, release/debug/unicode release/unicode debug and I have all the .dll files (C:UserskrisDocumentsVisual Studio 2012ProjectswxWidgets-2.8.12libvc_dll)
  2. Using SVN downloaded audacity Version 2.0.6 , and trying to compile audacity on visual 2012 with the audacity.sln in C:UserskrisDocumentsVisual Studio 2012Projectsaudacitywinaudacity.sln
  3. Visual studio 2012 spits out,

Error 1 error MSB4023: Cannot evaluate the item metadata “%(Extension)”. The item metadata “%(Extension)” cannot be applied to the path ““C:UserskrisDocumentsVisual Studio 2012ProjectsaudacitywinDebugAudacity.vcxprojadjustable-fade.ny””. Illegal characters in path. C:UserskrisDocumentsVisual Studio 2012Projectsaudacitywinny.targets 65 5 Audacity

Can somebody please help me ?? I have visual studio 2008 too, but I read somewhere edgar’s response that both wxwidget and audacity needs to be compiled with the same Visual studio version.
Can somebody please help me compile audacity with whichever version of visual studio ? Any response is appreciated, thanks very much.
Please let me know if further information is needed.

Thanks,
Kris

Audacity 2.0.6 will need to be compiled with Visual Studio 2008. First you must compile wxWidgets also with Visual Studio 2008 then use those libraries.|Make sure your wxWidgets environmental variable (WXWIN) points to the folder which contains the wxWidgets which you build with Visual Studio 2008. Make sure you are not trying to compile SVN HEAD, you want revision 13340 or any of the next couple of revisions.

Hi Edgar,

Thanks for the reply, that helped. I can now compile audacity in debug and when i open audacity.exe, it opens up, but when I compile audacity in release, i have the following error,

2>Performing Pre-Build Event...
1>Compiling zh_TW locale
1>'msgfmt' is not recognized as an internal or external command,
1>operable program or batch file.
1>Project : error PRJ0019: A tool returned an error code from "Compiling zh_TW locale"
1>Build log was saved at "file://c:audacitywinProjectslocaleReleaseBuildLog.htm"
1>locale - 1 error(s), 0 warning(s)
2>0 File(s) copied
2>Build log was saved at "file://c:audacitywinProjectshelpReleaseBuildLog.htm"
2>help - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 1 failed, 24 up-to-date, 0 skipped ==========

Since I can build debug build that is still good i guess ?, my ultimate goal to get the scripting part working, which leads me to my next issue,

  1. I try to open mod-script-pipe.sln and it cannot be opened in VS2008, looks like it needs VS2013. Should i compile it in VS2013 ? would that not conflict with audacity and wxwidgets which are both compiled in VS2008 ?

Appreciate your help. Thanks,

Kris

That only matters if you want to build the Languages folder containing languages other than English.

If you do, obtain msgfmt.exe from http://audacityteam.org/files/msgfmt.zip. Add the location of the directory containing msgfmt.exe to your Path environment variable. Alternatively, put msgfmt.exe somewhere already in the Path, such as C:Windows.

I don’t know for sure about the compatibility issue but have you tried right-click over the “Audacity” top level in Solution Explorer, Add > Existing Project and select mod-script-pipe.vcproj? If you only have mod-script-pipe.vcxproj then that part of the tree is too recent to compile with VS2008.


Gale

Gale’s suggestion about downloading and installing msgfmt should solve the Release build failure (but as he says you may ignore it, Release Audacity.exe should run just fine for you unless you need alternate language support).

mod-script-pipe is outside my comfort zone. I don’t really know anything about it, but one possible way to get it to compile might be to use Batch Build and find its entries (either two or four, I cannot remember if 2.0.6 had both Release & Unicode Release etc.) and turn them on or just Select All and Build everything that way.

Hi Edgar/Gale,

Thanks for the response. I was able to get audacity.exe (i ignored the failure).
I cant compile mod-script-pipe in VS2008 as it requires VS2013. So I compiled in 2013 and placed the dll in the modules directory inside the debug/release folder. When i start audacity.exe, it says it found it and pops up to ask if i want to load it.
If yes, there are no error and audacity opens, but from the help>log I see that it says cannot load because it could not find the dll. I assume maybe its because mod-script-pipe is compiled in VS2013.

I just want to compare two audio files and say with a fair reliability that they are the same. I am new to audio details, I always took RTP (audio) for granted but now that I am sending audio (RTP) through a socket and assembling it on the other side, I realize how complicated it is to verify/compare audio files. Much respect for all you guys and others out there.

Any ideas or thoughts on how i can with some certainty say two audio files are “similar” or in other words “not very different”, the “very” could be a threshold. Any thoughts will help. Thanks.

Kris

You might need to go all the way back to Audacity 2.0.5 (SVN checkout revision 12701) to find a version of mod-script-pipe which will compile in VS2008.

I am mainly a GUI programmer and do not do much audio-specific coding so I cannot offer you any advice on your challenge.

Thanks for that. Not a problem, you and others have helped a lot already especially with the speed of response. I am a fan.
I am just reading up and researching, if you guys think of something , I would appreciate the thoughts.

Thanks,
Kris

FWIW, mod-script-pipe in the current SVN builds OK on Linux.

mod-script-pipe.vcproj (which is explicitly compatible with or upgradable by VS2008) wasn’t deleted from SVN until 26 October, so I am not sure what the problem was.

What’s the exact error? The DLL has to be built the same day as Audacity, if that’s not the case the error should say that.

I think the more meaningful test may be to test the recorded files rather than compare original and recorded.

If scripting actually helps you and the incompatible mod-script-pipe.DLL is a problem, then you may better to accept any bugs in 2.1.0-alpha and build that version of Audacity with VS2013.

Gale