Compiling Audacity

Windows 8.1
wxWidgets-3.0.2
Visual Studio 2105
Audacity 2.1.2
Build Instructions: https://github.com/audacity/audacity/blob/master/win/compile.txt
Audacity Source Code: https://github.com/audacity/audacity/
Audacity Change: C:\Audacity\audacity-master\src\effects TimeScale.cpp
FloatingPointValidator
vldRatePercentChangeStart(6, &m_RatePercentChangeStart

My intent is to change the number of decimals of the %change of each input from 3 decimals to 6 to allow much more precise tempo or pitch changes.

I am having the following error while building the solution:
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1357,5): warning MSB8012: TargetPath(C:\wxWidgets\build\msw.....\lib\vc_lib\wxexpat.lib) does not match the Library’s OutputFile property value (C:\wxWidgets\lib\vc_lib\wxexpatd.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1359,5): warning MSB8012: TargetName(wxexpat) does not match the Library’s OutputFile property value (wxexpatd). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).

2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1357,5): warning MSB8012: TargetPath(C:\wxWidgets\build\msw.....\lib\vc_lib\wxregex.lib) does not match the Library’s OutputFile property value (C:\wxWidgets\lib\vc_lib\wxregexud.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1359,5): warning MSB8012: TargetName(wxregex) does not match the Library’s OutputFile property value (wxregexud). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).

etc…

I appreciate any help you might be able to offer. Thanks

The supported version of Microsoft Visual Studio is 2013.
Apparently it is ‘possible’ to build with later versions, but you’re pretty much on your own if you choose to do so as there is no documentation (and I’m on Linux so I can’t offer any help with MVS). Missing features - Audacity Support

6 decimal places sounds a bit over the top - it would certainly be over the top for Audacity versions prior to 2.1.3 as the SoundTouch library is not precise enough. A bit more precision may be justifiable now that SBSMS is available, but 6 decimal places still sounds like overkill, so out of interest, why such precision?

At 3 decimals, an edited thirteen minute track is approximately 0.133 seconds off compared to a Finale Songwriter 2012 music file at 4 beats per second (Quarter Note = 60 tempo). It is enough to cause a noticeable difference in the mix. Thanks for the feedback.

I’m intrigued. Can you give me an actual example.
Here’s one example:
Start with a 12 minute 47 second track and stretch it to 13 minutes (780 seconds):
-1.666 % ‘should’ give 779.995 seconds
-1.667 % ‘should’ give 780.003 seconds
-1.668 % ‘should’ give 780.011 seconds

In Audacity 2.1.2 and earlier, the actual length will not be as calculated above due to lack of precision with the “SoundTouch” stretching algorithm, but three decimal places are enough to define the new length to within 3 milliseconds in this case (much better than the 133 milliseconds that you quote).

In Audacity 2.1.3, the new “High Quality” option uses the SBSMS algorithm for stretching, which produces the correct (the calculated) length, so now you can actually get 780.003 seconds with the Change Tempo effect, even with ‘only’ three decimal places.

If even greater duration precision is required, you can use the Change Speed effect after (High Quality) Change Tempo, and stretch the sound to exactly 780.0000 seconds.

Thanks Steve. You were correct about the 2.1.3 version. It worked perfectly. With 2.1.2 the Sliding Time Scale/Pitch effect never seemed to line up correctly. A .001 second adjustment often made little difference, but a 0.002 adjustment might be too much. The new alpha version was much more precise with the outcome more predictable. Thanks again.

Just for interest, the relevant changes can be seen here:
Change Tempo: https://github.com/audacity/audacity/commit/8e0089c5522
Change Pitch: https://github.com/audacity/audacity/commit/90e400b0a7