mirror of
https://github.com/thestk/stk
synced 2026-01-11 12:01:52 +00:00
Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6aacd357d7 | ||
|
|
0d4bb84732 | ||
|
|
270edc855f | ||
|
|
d7d6079f6b | ||
|
|
cea6f547d2 | ||
|
|
212950d364 | ||
|
|
aeaef391ef | ||
|
|
d0345712db | ||
|
|
1cb2c81d04 | ||
|
|
b671638f99 | ||
|
|
169b005a2d | ||
|
|
73008d02a1 | ||
|
|
e364d81c8f | ||
|
|
f39c1fb06d | ||
|
|
35ca4abcb9 | ||
|
|
ce765cc391 |
@@ -11,8 +11,13 @@ endif()
|
||||
SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Release" "Debug" "RelWithDebInfo" "MinSizeRel")
|
||||
message("Build type: " ${CMAKE_BUILD_TYPE})
|
||||
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -D_STK_DEBUG_ -D__RTAUDIO_DEBUG__ -D__RTMIDI_DEBUG__")
|
||||
if(MSVC)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /O2 /DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Z7 /Ob0 /Od /RTC1 /D_ITERATOR_DEBUG_LEVEL=2 /D_STK_DEBUG_ /D__RTAUDIO_DEBUG__ /D__RTMIDI_DEBUG__")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -D_STK_DEBUG_ -D__RTAUDIO_DEBUG__ -D__RTMIDI_DEBUG__")
|
||||
endif()
|
||||
|
||||
if(${CMAKE_CXX_COMPILER_ID} STREQUAL GNU)
|
||||
message("GCC.")
|
||||
@@ -40,13 +45,54 @@ file(GLOB STK_SRC "./src/*.cpp") # GLOB instead of GLOB_RECURSE as the asio depe
|
||||
#========================================#
|
||||
if(REALTIME)
|
||||
if(ENABLE_JACK)
|
||||
find_library(JACK_LIBRARY jack) # find_package(JACK) # TODO: NEED FindJACK.cmake
|
||||
if(JACK_LIBRARY)
|
||||
message("Jack API found: ${JACK_LIBRARY}")
|
||||
link_libraries(${JACK_LIBRARY})
|
||||
# Try to find PkgConfig
|
||||
find_package(PkgConfig QUIET)
|
||||
|
||||
if(PkgConfig_FOUND)
|
||||
# PkgConfig is available, use it
|
||||
pkg_check_modules(JACK QUIET jack)
|
||||
endif()
|
||||
|
||||
if(NOT JACK_FOUND)
|
||||
# PkgConfig was not found or Jack was not found through it, try a fallback
|
||||
message(STATUS "PkgConfig not found or failed to find Jack, attempting fallback")
|
||||
|
||||
# Fallback: Search in common locations
|
||||
find_path(JACK_INCLUDE_DIR
|
||||
NAMES jack/jack.h
|
||||
HINTS
|
||||
ENV JACK_ROOT
|
||||
"$ENV{ProgramFiles}/Jack"
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
)
|
||||
|
||||
find_library(JACK_LIBRARY
|
||||
NAMES jack
|
||||
HINTS
|
||||
ENV JACK_ROOT
|
||||
"$ENV{ProgramFiles}/Jack"
|
||||
/usr/local/lib
|
||||
/usr/lib
|
||||
)
|
||||
|
||||
# Check if the fallback was successful
|
||||
if(JACK_INCLUDE_DIR AND JACK_LIBRARY)
|
||||
set(JACK_FOUND TRUE)
|
||||
set(JACK_INCLUDE_DIRS ${JACK_INCLUDE_DIR})
|
||||
set(JACK_LIBRARIES ${JACK_LIBRARY})
|
||||
message(STATUS "Found Jack (fallback):")
|
||||
message(STATUS " Includes: ${JACK_INCLUDE_DIRS}")
|
||||
message(STATUS " Libraries: ${JACK_LIBRARIES}")
|
||||
else()
|
||||
message(WARNING "Failed to find Jack library even with fallback. Please install Jack development package or ensure it is in a standard location.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(JACK_FOUND)
|
||||
include_directories(${JACK_INCLUDE_DIRS})
|
||||
link_libraries(${JACK_LIBRARIES})
|
||||
add_definitions(-D__UNIX_JACK__)
|
||||
else()
|
||||
message(WARNING "JACK support requires the jack library!")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -79,7 +125,6 @@ if(REALTIME)
|
||||
# Tested under MSYS2 with Mingw64 toolchain
|
||||
#============== WINDOWS ================#
|
||||
message("Windows DETECTED!")
|
||||
|
||||
link_libraries(winmm ole32 wsock32)
|
||||
add_definitions(-D__WINDOWS_MM__)
|
||||
|
||||
@@ -114,7 +159,7 @@ TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
|
||||
if(NOT IS_BIG_ENDIAN)
|
||||
add_definitions(-D__LITTLE_ENDIAN__)
|
||||
endif()
|
||||
|
||||
add_definitions(-D_USE_MATH_DEFINES)
|
||||
if(INSTALL_HEADERS)
|
||||
file(GLOB STK_HEADERS "include/*.h")
|
||||
install(FILES ${STK_HEADERS} DESTINATION include/stk)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
AC_INIT(STK, 5.0.0, gary.scavone@mcgill.ca, stk)
|
||||
AC_INIT([STK],[5.0.0],[gary.scavone@mcgill.ca],[stk])
|
||||
AC_CONFIG_AUX_DIR(config)
|
||||
AC_CONFIG_SRCDIR(src/Stk.cpp)
|
||||
AC_CONFIG_FILES(Makefile src/Makefile projects/demo/Makefile projects/effects/Makefile projects/ragamatic/Makefile projects/examples/Makefile projects/examples/libMakefile projects/eguitar/Makefile)
|
||||
@@ -20,13 +20,15 @@ if [[ $AR = "no" ]] ; then
|
||||
fi
|
||||
|
||||
# Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_INCLUDES_DEFAULT
|
||||
AC_PROG_EGREP
|
||||
|
||||
AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h termio.h unistd.h)
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_TYPE_SIZE_T
|
||||
AC_HEADER_TIME
|
||||
|
||||
AC_C_BIGENDIAN
|
||||
AC_EGREP_CPP(yes,
|
||||
[#ifndef WORDS_BIGENDIAN
|
||||
|
||||
@@ -2,6 +2,11 @@ The Synthesis ToolKit in C++ (STK)
|
||||
|
||||
By Perry R. Cook and Gary P. Scavone, 1995--2023.
|
||||
|
||||
v.5.0.1 (10 August 2023)
|
||||
- see github site for complete details (github.com/thestk/stk)
|
||||
- cmake updates
|
||||
- fix for demo msvc project in Windows
|
||||
|
||||
v.5.0.0 (4 August 2023)
|
||||
- see github site for complete details (github.com/thestk/stk)
|
||||
- new filter design functionality in BiQuad (thanks to Navin Kumar!)
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
/*! \page download Download and Release Notes
|
||||
|
||||
\section down Download Version 5.0.0 (4 August 2023):
|
||||
\section down Download Version 5.0.1 (10 August 2023):
|
||||
|
||||
- <A HREF="http://ccrma.stanford.edu/software/stk/release/stk-5.0.0.tar.gz">Source distribution</A>
|
||||
- <A HREF="http://ccrma.stanford.edu/software/stk/release/stk-5.0.1.tar.gz">Source distribution</A>
|
||||
|
||||
\section notes Release Notes:
|
||||
\subsection v5dot0dot1 Version 5.0.1
|
||||
- see github site for complete details (github.com/thestk/stk)
|
||||
- cmake updates
|
||||
- fix for demo msvc project in Windows
|
||||
|
||||
\subsection v5dot0dot0 Version 5.0.0
|
||||
- see github site for complete details (github.com/thestk/stk)
|
||||
- new filter design functionality in BiQuad (thanks to Navin Kumar!)
|
||||
|
||||
BIN
doc/html/ccrma.gif
Normal file
BIN
doc/html/ccrma.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.1 KiB |
BIN
doc/html/mcgill.gif
Normal file
BIN
doc/html/mcgill.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.7 KiB |
BIN
doc/html/princeton.gif
Normal file
BIN
doc/html/princeton.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
@@ -17,7 +17,7 @@ namespace stk {
|
||||
*/
|
||||
/***************************************************/
|
||||
|
||||
const int maxDelay = 5024;
|
||||
const int maxDelay = 5000; //5024;
|
||||
|
||||
class PitShift : public Effect
|
||||
{
|
||||
@@ -64,6 +64,7 @@ class PitShift : public Effect
|
||||
DelayL delayLine_;
|
||||
StkFloat delay_[2];
|
||||
StkFloat env_[2];
|
||||
StkFrames window_;
|
||||
StkFloat rate_;
|
||||
unsigned long delayLength_;
|
||||
unsigned long halfLength_;
|
||||
@@ -73,25 +74,29 @@ class PitShift : public Effect
|
||||
inline StkFloat PitShift :: tick( StkFloat input )
|
||||
{
|
||||
// Calculate the two delay length values, keeping them within the
|
||||
// range 12 to maxDelay-12.
|
||||
// range 0 to delayLength.
|
||||
delay_[0] += rate_;
|
||||
while ( delay_[0] > maxDelay-12 ) delay_[0] -= delayLength_;
|
||||
while ( delay_[0] < 12 ) delay_[0] += delayLength_;
|
||||
while ( delay_[0] >= delayLength_ ) delay_[0] -= delayLength_;
|
||||
while ( delay_[0] < 0 ) delay_[0] += delayLength_;
|
||||
|
||||
delay_[1] = delay_[0] + halfLength_;
|
||||
while ( delay_[1] > maxDelay-12 ) delay_[1] -= delayLength_;
|
||||
while ( delay_[1] < 12 ) delay_[1] += delayLength_;
|
||||
while ( delay_[1] >= delayLength_ ) delay_[1] -= delayLength_;
|
||||
while ( delay_[1] < 0 ) delay_[1] += delayLength_;
|
||||
|
||||
// Set the new delay line lengths.
|
||||
delayLine_.setDelay( delay_[0] );
|
||||
|
||||
// Calculate a triangular envelope.
|
||||
env_[1] = fabs( ( delay_[0] - halfLength_ + 12 ) * ( 1.0 / (halfLength_ + 12 ) ) );
|
||||
env_[0] = 1.0 - env_[1];
|
||||
//env_[1] = fabs( ( delay_[0] - halfLength_ ) * ( 1.0 / (halfLength_ ) ) );
|
||||
//env_[0] = 1.0 - env_[1];
|
||||
|
||||
// Or use the precomputed hanning window.
|
||||
env_[1] = window_[delay_[0]];
|
||||
env_[0] = window_[delay_[1]];
|
||||
|
||||
// Delay input and apply envelope.
|
||||
lastFrame_[0] = env_[1] * delayLine_.tapOut( delay_[1] );
|
||||
lastFrame_[0] = +env_[0] * delayLine_.tick( input );
|
||||
lastFrame_[0] += env_[0] * delayLine_.tick( input );
|
||||
|
||||
// Compute effect mix and output.
|
||||
lastFrame_[0] *= effectMix_;
|
||||
|
||||
@@ -45,11 +45,13 @@
|
||||
<OutDir>.\</OutDir>
|
||||
<IntDir>.\Release\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>stk-demo</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>.\</OutDir>
|
||||
<IntDir>.\Debug\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetName>stk-demo</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
@@ -61,7 +63,7 @@
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<AdditionalIncludeDirectories>..\..\include;..\..\src\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;__LITTLE_ENDIAN__;__WINDOWS_MM__;WIN32;_CONSOLE;__WINDOWS_DS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;__LITTLE_ENDIAN__;__WINDOWS_MM__;WIN32;_CONSOLE;__WINDOWS_DS__;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AssemblerListingLocation>.\Release\</AssemblerListingLocation>
|
||||
<PrecompiledHeaderOutputFile>.\Release\demo.pch</PrecompiledHeaderOutputFile>
|
||||
<ObjectFileName>.\Release\</ObjectFileName>
|
||||
@@ -97,7 +99,7 @@
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<AdditionalIncludeDirectories>..\..\include;..\..\src\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;__LITTLE_ENDIAN__;__WINDOWS_MM__;WIN32;_CONSOLE;__WINDOWS_DS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;__LITTLE_ENDIAN__;__WINDOWS_MM__;WIN32;_CONSOLE;__WINDOWS_DS__;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AssemblerListingLocation>.\Debug\</AssemblerListingLocation>
|
||||
<PrecompiledHeaderOutputFile>.\Debug\demo.pch</PrecompiledHeaderOutputFile>
|
||||
<ObjectFileName>.\Debug\</ObjectFileName>
|
||||
@@ -125,6 +127,8 @@
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\Iir.cpp" />
|
||||
<ClCompile Include="..\..\src\Recorder.cpp" />
|
||||
<ClCompile Include="demo.cpp" />
|
||||
<ClCompile Include="utilities.cpp" />
|
||||
<ClCompile Include="..\..\src\include\asio.cpp" />
|
||||
|
||||
@@ -248,257 +248,260 @@
|
||||
<ClCompile Include="..\..\src\Wurley.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\Recorder.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\Iir.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="utilities.h" />
|
||||
<ClInclude Include="..\..\src\include\RtAudio.h">
|
||||
<ClInclude Include="..\..\include\RtAudio.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\RtMidi.h">
|
||||
<ClInclude Include="..\..\include\ADSR.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\RtWvIn.h">
|
||||
<ClInclude Include="..\..\include\Asymp.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\RtWvOut.h">
|
||||
<ClInclude Include="..\..\include\BandedWG.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\ADSR.h">
|
||||
<ClInclude Include="..\..\include\BeeThree.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Asymp.h">
|
||||
<ClInclude Include="..\..\include\BiQuad.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\BandedWG.h">
|
||||
<ClInclude Include="..\..\include\BlowBotl.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\BeeThree.h">
|
||||
<ClInclude Include="..\..\include\BlowHole.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\BiQuad.h">
|
||||
<ClInclude Include="..\..\include\Bowed.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\BlowBotl.h">
|
||||
<ClInclude Include="..\..\include\BowTable.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\BlowHole.h">
|
||||
<ClInclude Include="..\..\include\Brass.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Bowed.h">
|
||||
<ClInclude Include="..\..\include\Clarinet.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\BowTable.h">
|
||||
<ClInclude Include="..\..\include\Delay.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Brass.h">
|
||||
<ClInclude Include="..\..\include\DelayA.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Clarinet.h">
|
||||
<ClInclude Include="..\..\include\DelayL.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Delay.h">
|
||||
<ClInclude Include="..\..\include\Drummer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\DelayA.h">
|
||||
<ClInclude Include="..\..\include\Effect.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\DelayL.h">
|
||||
<ClInclude Include="..\..\include\Envelope.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Drummer.h">
|
||||
<ClInclude Include="..\..\include\FileLoop.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Effect.h">
|
||||
<ClInclude Include="..\..\include\FileRead.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Envelope.h">
|
||||
<ClInclude Include="..\..\include\FileWrite.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\FileLoop.h">
|
||||
<ClInclude Include="..\..\include\FileWvIn.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\FileRead.h">
|
||||
<ClInclude Include="..\..\include\FileWvOut.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\FileWrite.h">
|
||||
<ClInclude Include="..\..\include\Filter.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\FileWvIn.h">
|
||||
<ClInclude Include="..\..\include\Fir.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\FileWvOut.h">
|
||||
<ClInclude Include="..\..\include\Flute.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Filter.h">
|
||||
<ClInclude Include="..\..\include\FM.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Fir.h">
|
||||
<ClInclude Include="..\..\include\FMVoices.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Flute.h">
|
||||
<ClInclude Include="..\..\include\FormSwep.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\FM.h">
|
||||
<ClInclude Include="..\..\include\Function.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\FMVoices.h">
|
||||
<ClInclude Include="..\..\include\Generator.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\FormSwep.h">
|
||||
<ClInclude Include="..\..\include\HevyMetl.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Function.h">
|
||||
<ClInclude Include="..\..\include\Instrmnt.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Generator.h">
|
||||
<ClInclude Include="..\..\include\JCRev.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\HevyMetl.h">
|
||||
<ClInclude Include="..\..\include\JetTable.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Instrmnt.h">
|
||||
<ClInclude Include="..\..\include\Mandolin.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\JCRev.h">
|
||||
<ClInclude Include="..\..\include\Mesh2D.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\JetTable.h">
|
||||
<ClInclude Include="..\..\include\Messager.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Mandolin.h">
|
||||
<ClInclude Include="..\..\include\Modal.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Mesh2D.h">
|
||||
<ClInclude Include="..\..\include\ModalBar.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Messager.h">
|
||||
<ClInclude Include="..\..\include\Modulate.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Modal.h">
|
||||
<ClInclude Include="..\..\include\Moog.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\ModalBar.h">
|
||||
<ClInclude Include="..\..\include\Mutex.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Modulate.h">
|
||||
<ClInclude Include="..\..\include\Noise.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Moog.h">
|
||||
<ClInclude Include="..\..\include\NRev.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Mutex.h">
|
||||
<ClInclude Include="..\..\include\OnePole.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Noise.h">
|
||||
<ClInclude Include="..\..\include\OneZero.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\NRev.h">
|
||||
<ClInclude Include="..\..\include\PercFlut.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\OnePole.h">
|
||||
<ClInclude Include="..\..\include\Phonemes.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\OneZero.h">
|
||||
<ClInclude Include="..\..\include\Plucked.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\PercFlut.h">
|
||||
<ClInclude Include="..\..\include\PoleZero.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Phonemes.h">
|
||||
<ClInclude Include="..\..\include\PRCRev.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Plucked.h">
|
||||
<ClInclude Include="..\..\include\ReedTable.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\PoleZero.h">
|
||||
<ClInclude Include="..\..\include\Resonate.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\PRCRev.h">
|
||||
<ClInclude Include="..\..\include\Rhodey.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\ReedTable.h">
|
||||
<ClInclude Include="..\..\include\RtMidi.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Resonate.h">
|
||||
<ClInclude Include="..\..\include\RtWvIn.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Rhodey.h">
|
||||
<ClInclude Include="..\..\include\RtWvOut.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Sampler.h">
|
||||
<ClInclude Include="..\..\include\Sampler.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Saxofony.h">
|
||||
<ClInclude Include="..\..\include\Saxofony.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Shakers.h">
|
||||
<ClInclude Include="..\..\include\Shakers.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Simple.h">
|
||||
<ClInclude Include="..\..\include\Simple.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\SineWave.h">
|
||||
<ClInclude Include="..\..\include\SineWave.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\SingWave.h">
|
||||
<ClInclude Include="..\..\include\SingWave.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Sitar.h">
|
||||
<ClInclude Include="..\..\include\Sitar.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\SKINI.h">
|
||||
<ClInclude Include="..\..\include\SKINI.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Socket.h">
|
||||
<ClInclude Include="..\..\include\Socket.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Sphere.h">
|
||||
<ClInclude Include="..\..\include\Sphere.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\StifKarp.h">
|
||||
<ClInclude Include="..\..\include\StifKarp.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Stk.h">
|
||||
<ClInclude Include="..\..\include\Stk.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\TcpServer.h">
|
||||
<ClInclude Include="..\..\include\TcpServer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Thread.h">
|
||||
<ClInclude Include="..\..\include\Thread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\TubeBell.h">
|
||||
<ClInclude Include="..\..\include\TubeBell.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Twang.h">
|
||||
<ClInclude Include="..\..\include\Twang.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\TwoPole.h">
|
||||
<ClInclude Include="..\..\include\TwoPole.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\TwoZero.h">
|
||||
<ClInclude Include="..\..\include\TwoZero.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Vector3D.h">
|
||||
<ClInclude Include="..\..\include\Vector3D.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Voicer.h">
|
||||
<ClInclude Include="..\..\include\Voicer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Whistle.h">
|
||||
<ClInclude Include="..\..\include\Whistle.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\Wurley.h">
|
||||
<ClInclude Include="..\..\include\Wurley.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\WvIn.h">
|
||||
<ClInclude Include="..\..\include\WvIn.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\include\WvOut.h">
|
||||
<ClInclude Include="..\..\include\WvOut.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="notes.txt" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -219,17 +219,17 @@ int tick( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
|
||||
|
||||
int main( int argc, char *argv[] )
|
||||
{
|
||||
// If you want to change the default sample rate (set in Stk.h), do
|
||||
// it before instantiating any objects! If the sample rate is
|
||||
// specified in the command line, it will override this setting.
|
||||
Stk::setSampleRate( 48000.0 );
|
||||
|
||||
TickData data;
|
||||
RtAudio adac;
|
||||
int i;
|
||||
|
||||
if ( argc < 2 || argc > 6 ) usage();
|
||||
|
||||
// If you want to change the default sample rate (set in Stk.h), do
|
||||
// it before instantiating any objects! If the sample rate is
|
||||
// specified in the command line, it will override this setting.
|
||||
Stk::setSampleRate( 48000.0 );
|
||||
|
||||
// Parse the command-line arguments.
|
||||
unsigned int port = 2001;
|
||||
for ( i=1; i<argc; i++ ) {
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
Control Change Numbers:
|
||||
- Stick Hardness = 2
|
||||
- Stick Position = 4
|
||||
- Vibrato Gain = 8
|
||||
- Vibrato Gain = 1
|
||||
- Vibrato Frequency = 11
|
||||
- Direct Stick Mix = 1
|
||||
- Direct Stick Mix = 8
|
||||
- Volume = 128
|
||||
- Modal Presets = 16
|
||||
- Marimba = 0
|
||||
@@ -173,9 +173,9 @@ void ModalBar :: controlChange( int number, StkFloat value )
|
||||
else if (number == __SK_ProphesyRibbon_) // 16
|
||||
this->setPreset((int) value);
|
||||
else if (number == __SK_Balance_) // 8
|
||||
vibratoGain_ = normalizedValue * 0.3;
|
||||
else if (number == __SK_ModWheel_) // 1
|
||||
directGain_ = normalizedValue;
|
||||
else if (number == __SK_ModWheel_) // 1
|
||||
vibratoGain_ = normalizedValue * 0.3;
|
||||
else if (number == __SK_ModFrequency_) // 11
|
||||
vibrato_.setFrequency( normalizedValue * 12.0 );
|
||||
else if (number == __SK_AfterTouch_Cont_) // 128
|
||||
|
||||
@@ -16,15 +16,20 @@ namespace stk {
|
||||
|
||||
PitShift :: PitShift( void )
|
||||
{
|
||||
delayLength_ = maxDelay - 24;
|
||||
delayLength_ = maxDelay;
|
||||
halfLength_ = delayLength_ / 2;
|
||||
delay_[0] = 12;
|
||||
delay_[1] = maxDelay / 2;
|
||||
delay_[0] = 0;
|
||||
delay_[1] = delayLength_ / 2;
|
||||
|
||||
delayLine_.setMaximumDelay( maxDelay );
|
||||
delayLine_.setDelay( delay_[0] );
|
||||
effectMix_ = 0.5;
|
||||
rate_ = 1.0;
|
||||
|
||||
window_.resize( delayLength_, 1 );
|
||||
StkFloat temp = TWO_PI / delayLength_;
|
||||
for ( unsigned long i=0; i<=window_.size(); i++ )
|
||||
window_[i] = (cos( i * temp ) + 1.0) / 2.0;
|
||||
}
|
||||
|
||||
void PitShift :: clear()
|
||||
|
||||
Reference in New Issue
Block a user