These are two separate issue related to time stretching. I'm currently using the develop branch.
First, the PitchAndTimeDemo CMakeLists.txt is missing the preprocessor definitions to enable time stretching, and the demo hangs when it attempts to apply time stretching. The PIP file for the PitchAndTimeDemo, however, does have the correct preprocessor definitions.
Second, Rubberband support does not compile on Windows using either a statically linked library or building from source because of the way Rubberband uses calls to std::min and std::max. This post describes the issue. Basically, windows.h has defined min/max macros since before C++ standardization so they collide in this case.
Here is the fix:
/**
Avoids collisions of windows.h 'min' and 'max' macros with Rubberband's
use of 'std::min' and 'std::max'.
*/
#if JUCE_WINDOWS
#define NOMINMAX
#endif
Placing the above snippet at the top of tracktion_TimeStretch.h fixes the issue.
These are two separate issue related to time stretching. I'm currently using the
develop
branch.First, the PitchAndTimeDemo CMakeLists.txt is missing the preprocessor definitions to enable time stretching, and the demo hangs when it attempts to apply time stretching. The PIP file for the PitchAndTimeDemo, however, does have the correct preprocessor definitions.
Current cmake prepocessor definitions:
cmake preprocessor definitions should be:
Second, Rubberband support does not compile on Windows using either a statically linked library or building from source because of the way Rubberband uses calls to
std::min
andstd::max
. This post describes the issue. Basically,windows.h
has defined min/max macros since before C++ standardization so they collide in this case.Here is the fix:
Placing the above snippet at the top of
tracktion_TimeStretch.h
fixes the issue.Cheers.