Release 4.2.0 tarball

This commit is contained in:
Gary Scavone
2013-09-29 23:39:37 +02:00
committed by Stephen Sinclair
parent fe20fe92a2
commit de344668dd
347 changed files with 16972 additions and 8538 deletions

337
configure vendored
View File

@@ -1,8 +1,8 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.57 for STK 4.1.2. # Generated by GNU Autoconf 2.57 for STK 4.2.0.
# #
# Report bugs to <gary@ccrma.stanford.edu>. # Report bugs to <gary@music.mcgill.ca>.
# #
# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
@@ -268,9 +268,9 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package. # Identity of this package.
PACKAGE_NAME='STK' PACKAGE_NAME='STK'
PACKAGE_TARNAME='stk' PACKAGE_TARNAME='stk'
PACKAGE_VERSION='4.1.2' PACKAGE_VERSION='4.2.0'
PACKAGE_STRING='STK 4.1.2' PACKAGE_STRING='STK 4.2.0'
PACKAGE_BUGREPORT='gary@ccrma.stanford.edu' PACKAGE_BUGREPORT='gary@music.mcgill.ca'
ac_unique_file="src/Stk.cpp" ac_unique_file="src/Stk.cpp"
# Factoring default headers for most tests. # Factoring default headers for most tests.
@@ -310,7 +310,7 @@ ac_includes_default="\
# include <unistd.h> # include <unistd.h>
#endif" #endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPP EGREP byte_order rawwaves include realtime sound_api debug cflags object_path warn build build_cpu build_vendor build_os host host_cpu host_vendor host_os audio_apis midiator frameworks LIBOBJS LTLIBOBJS' ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPP EGREP byte_order rawwaves include realtime sound_api debug cflags object_path warn build build_cpu build_vendor build_os host host_cpu host_vendor host_os audio_apis frameworks LIBOBJS LTLIBOBJS'
ac_subst_files='' ac_subst_files=''
# Initialize some variables set by options. # Initialize some variables set by options.
@@ -787,7 +787,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures STK 4.1.2 to adapt to many kinds of systems. \`configure' configures STK 4.2.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -848,7 +848,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of STK 4.1.2:";; short | recursive ) echo "Configuration of STK 4.2.0:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@@ -857,7 +857,6 @@ Optional Features:
--enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-realtime = only compile generic non-realtime classes --disable-realtime = only compile generic non-realtime classes
--enable-debug = enable various debug output --enable-debug = enable various debug output
--enable-midiator = enable native MS-124W MIDI support (linux only)
Optional Packages: Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -880,7 +879,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations. it to find libraries and programs with nonstandard names/locations.
Report bugs to <gary@ccrma.stanford.edu>. Report bugs to <gary@music.mcgill.ca>.
_ACEOF _ACEOF
fi fi
@@ -943,7 +942,7 @@ fi
test -n "$ac_init_help" && exit 0 test -n "$ac_init_help" && exit 0
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
STK configure 4.1.2 STK configure 4.2.0
generated by GNU Autoconf 2.57 generated by GNU Autoconf 2.57
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
@@ -958,7 +957,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by STK $as_me 4.1.2, which was It was created by STK $as_me 4.2.0, which was
generated by GNU Autoconf 2.57. Invocation command line was generated by GNU Autoconf 2.57. Invocation command line was
$ $0 $@ $ $0 $@
@@ -4129,14 +4128,14 @@ echo $ECHO_N "checking whether to compile debug version... $ECHO_C" >&6
# Check whether --enable-debug or --disable-debug was given. # Check whether --enable-debug or --disable-debug was given.
if test "${enable_debug+set}" = set; then if test "${enable_debug+set}" = set; then
enableval="$enable_debug" enableval="$enable_debug"
debug=-D_STK_DEBUG_ debug="-D_STK_DEBUG_ -D__RTAUDIO_DEBUG__"
cflags=-g cflags="-g -O2"
object_path=Debug object_path=Debug
echo "$as_me:$LINENO: result: yes" >&5 echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6 echo "${ECHO_T}yes" >&6
else else
debug= debug=
cflags=-O2 cflags=-O3
object_path=Release object_path=Release
echo "$as_me:$LINENO: result: no" >&5 echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6 echo "${ECHO_T}no" >&6
@@ -4144,7 +4143,7 @@ fi;
# Check compiler and use -Wall if gnu. # Check compiler and use -Wall if gnu.
if test $GXX = "yes" ; then if test $GXX = "yes" ; then
warn="-Wall -g" warn="-Wall -g -Woverloaded-virtual -D__GXX__"
fi fi
@@ -4236,6 +4235,77 @@ echo $ECHO_N "checking for audio API... $ECHO_C" >&6
sound_api=_NO_API_ sound_api=_NO_API_
# Look for ALSA library because we need it for RtMidi
echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5
echo $ECHO_N "checking for snd_pcm_open in -lasound... $ECHO_C" >&6
if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lasound $LIBS"
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char snd_pcm_open ();
int
main ()
{
snd_pcm_open ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_lib_asound_snd_pcm_open=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_asound_snd_pcm_open=no
fi
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
echo "$as_me:$LINENO: result: $ac_cv_lib_asound_snd_pcm_open" >&5
echo "${ECHO_T}$ac_cv_lib_asound_snd_pcm_open" >&6
if test $ac_cv_lib_asound_snd_pcm_open = yes; then
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBASOUND 1
_ACEOF
LIBS="-lasound $LIBS"
else
{ { echo "$as_me:$LINENO: error: STK in Linux requires the ALSA asound library for RtMidi!" >&5
echo "$as_me: error: STK in Linux requires the ALSA asound library for RtMidi!" >&2;}
{ (exit 1); exit 1; }; }
fi
audio_apis="-D__LINUX_ALSASEQ__"
# Look for Jack flag # Look for Jack flag
# Check whether --with-jack or --without-jack was given. # Check whether --with-jack or --without-jack was given.
@@ -4315,76 +4385,8 @@ echo "$as_me: error: JACK support requires the jack library!" >&2;}
{ (exit 1); exit 1; }; } { (exit 1); exit 1; }; }
fi fi
echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5
echo $ECHO_N "checking for snd_pcm_open in -lasound... $ECHO_C" >&6
if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lasound $LIBS"
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char snd_pcm_open ();
int
main ()
{
snd_pcm_open ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_lib_asound_snd_pcm_open=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_asound_snd_pcm_open=no
fi
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
echo "$as_me:$LINENO: result: $ac_cv_lib_asound_snd_pcm_open" >&5
echo "${ECHO_T}$ac_cv_lib_asound_snd_pcm_open" >&6
if test $ac_cv_lib_asound_snd_pcm_open = yes; then
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBASOUND 1
_ACEOF
LIBS="-lasound $LIBS"
else
{ { echo "$as_me:$LINENO: error: ALSA support requires the asound library!" >&5
echo "$as_me: error: ALSA support requires the asound library!" >&2;}
{ (exit 1); exit 1; }; }
fi
LIBS="`pkg-config --cflags --libs jack` $TEMP_LIBS -lasound" LIBS="`pkg-config --cflags --libs jack` $TEMP_LIBS -lasound"
audio_apis="-D__LINUX_JACK__" audio_apis="-D__LINUX_JACK__ $audio_apis"
fi fi
# Look for Alsa flag # Look for Alsa flag
@@ -4397,74 +4399,6 @@ if test "${with_alsa+set}" = set; then
echo "${ECHO_T}using ALSA" >&6 echo "${ECHO_T}using ALSA" >&6
fi; fi;
if test $sound_api = -D__LINUX_ALSA__; then if test $sound_api = -D__LINUX_ALSA__; then
echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5
echo $ECHO_N "checking for snd_pcm_open in -lasound... $ECHO_C" >&6
if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lasound $LIBS"
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char snd_pcm_open ();
int
main ()
{
snd_pcm_open ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_lib_asound_snd_pcm_open=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_asound_snd_pcm_open=no
fi
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
echo "$as_me:$LINENO: result: $ac_cv_lib_asound_snd_pcm_open" >&5
echo "${ECHO_T}$ac_cv_lib_asound_snd_pcm_open" >&6
if test $ac_cv_lib_asound_snd_pcm_open = yes; then
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBASOUND 1
_ACEOF
LIBS="-lasound $LIBS"
else
{ { echo "$as_me:$LINENO: error: ALSA support requires the asound library!" >&5
echo "$as_me: error: ALSA support requires the asound library!" >&2;}
{ (exit 1); exit 1; }; }
fi
audio_apis="-D__LINUX_ALSA__ $audio_apis" audio_apis="-D__LINUX_ALSA__ $audio_apis"
fi fi
@@ -4481,29 +4415,16 @@ fi;
audio_apis="-D__LINUX_OSS__ $audio_apis" audio_apis="-D__LINUX_OSS__ $audio_apis"
fi fi
# If no audio api flags specified, use OSS # If no audio api flags specified, use ALSA
if test $sound_api = _NO_API_; then if test $sound_api = _NO_API_; then
sound_api=-D__LINUX_OSS__ echo "$as_me:$LINENO: result: using ALSA" >&5
echo "${ECHO_T}using ALSA" >&6
echo "$as_me:$LINENO: result: using OSS" >&5 audio_apis="-D__LINUX_ALSA__ $audio_apis"
echo "${ECHO_T}using OSS" >&6
audio_apis=-D__LINUX_OSS__
fi fi
# Check whether --enable-midiator or --disable-midiator was given.
if test "${enable_midiator+set}" = set; then
enableval="$enable_midiator"
midiator=-D__MIDIATOR__
else
midiator=
fi;
;; ;;
*-sgi*) *-sgi*)
audio_apis="-D__IRIX_AL__ -LANG:std -w" audio_apis="-D__IRIX_AL__ -D__IRIX_MD__ -LANG:std -w"
echo "$as_me:$LINENO: result: using IRIX AL" >&5 echo "$as_me:$LINENO: result: using IRIX AL" >&5
echo "${ECHO_T}using IRIX AL" >&6 echo "${ECHO_T}using IRIX AL" >&6
@@ -4798,75 +4719,6 @@ done
frameworks="-framework CoreAudio -framework CoreMIDI -framework CoreFoundation" frameworks="-framework CoreAudio -framework CoreMIDI -framework CoreFoundation"
# Explicitly link with c++ library.
echo "$as_me:$LINENO: checking for printf in -lstdc++" >&5
echo $ECHO_N "checking for printf in -lstdc++... $ECHO_C" >&6
if test "${ac_cv_lib_stdcpp_printf+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lstdc++ $LIBS"
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char printf ();
int
main ()
{
printf ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_lib_stdcpp_printf=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_stdcpp_printf=no
fi
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
echo "$as_me:$LINENO: result: $ac_cv_lib_stdcpp_printf" >&5
echo "${ECHO_T}$ac_cv_lib_stdcpp_printf" >&6
if test $ac_cv_lib_stdcpp_printf = yes; then
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBSTDC__ 1
_ACEOF
LIBS="-lstdc++ $LIBS"
else
{ { echo "$as_me:$LINENO: error: Stk requires the C++ library!" >&5
echo "$as_me: error: Stk requires the C++ library!" >&2;}
{ (exit 1); exit 1; }; }
fi
;; ;;
*) *)
@@ -5407,7 +5259,7 @@ _ASBOX
} >&5 } >&5
cat >&5 <<_CSEOF cat >&5 <<_CSEOF
This file was extended by STK $as_me 4.1.2, which was This file was extended by STK $as_me 4.2.0, which was
generated by GNU Autoconf 2.57. Invocation command line was generated by GNU Autoconf 2.57. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@@ -5462,7 +5314,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\ ac_cs_version="\\
STK config.status 4.1.2 STK config.status 4.2.0
configured by $0, generated by GNU Autoconf 2.57, configured by $0, generated by GNU Autoconf 2.57,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
@@ -5683,7 +5535,6 @@ s,@host_cpu@,$host_cpu,;t t
s,@host_vendor@,$host_vendor,;t t s,@host_vendor@,$host_vendor,;t t
s,@host_os@,$host_os,;t t s,@host_os@,$host_os,;t t
s,@audio_apis@,$audio_apis,;t t s,@audio_apis@,$audio_apis,;t t
s,@midiator@,$midiator,;t t
s,@frameworks@,$frameworks,;t t s,@frameworks@,$frameworks,;t t
s,@LIBOBJS@,$LIBOBJS,;t t s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t

View File

@@ -12,8 +12,8 @@
<h1>ADSR.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>ADSR.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00016 <span class="comment">/***************************************************/</span> 00016 <span class="comment">/***************************************************/</span>
00017 00017
00018 <span class="preprocessor">#if !defined(__ADSR_H)</span> 00018 <span class="preprocessor">#ifndef STK_ADSR_H</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define __ADSR_H</span> 00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_ADSR_H</span>
00020 <span class="preprocessor"></span> 00020 <span class="preprocessor"></span>
00021 <span class="preprocessor">#include "Envelope.h"</span> 00021 <span class="preprocessor">#include "Envelope.h"</span>
00022 00022
@@ -31,44 +31,47 @@
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a3">keyOff</a>(<span class="keywordtype">void</span>); 00040 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
00041 00041
00043 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a4">setAttackRate</a>(MY_FLOAT aRate); 00043 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a4">setAttackRate</a>(StkFloat rate);
00044 00044
00046 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a5">setDecayRate</a>(MY_FLOAT aRate); 00046 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a5">setDecayRate</a>(StkFloat rate);
00047 00047
00049 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a6">setSustainLevel</a>(MY_FLOAT aLevel); 00049 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a6">setSustainLevel</a>(StkFloat level);
00050 00050
00052 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a7">setReleaseRate</a>(MY_FLOAT aRate); 00052 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a7">setReleaseRate</a>(StkFloat rate);
00053 00053
00055 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a8">setAttackTime</a>(MY_FLOAT aTime); 00055 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a8">setAttackTime</a>(StkFloat time);
00056 00056
00058 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a9">setDecayTime</a>(MY_FLOAT aTime); 00058 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a9">setDecayTime</a>(StkFloat time);
00059 00059
00061 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a10">setReleaseTime</a>(MY_FLOAT aTime); 00061 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a10">setReleaseTime</a>(StkFloat time);
00062 00062
00064 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a11">setAllTimes</a>(MY_FLOAT aTime, MY_FLOAT dTime, MY_FLOAT sLevel, MY_FLOAT rTime); 00064 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a11">setAllTimes</a>(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime);
00065 00065
00067 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a12">setTarget</a>(MY_FLOAT aTarget); 00067 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a12">setTarget</a>(StkFloat target);
00068 00068
00070 <span class="keywordtype">int</span> <a class="code" href="classADSR.html#a13">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00070 <span class="keywordtype">int</span> <a class="code" href="classADSR.html#a13">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00071 00071
00073 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a14">setValue</a>(MY_FLOAT aValue); 00073 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a14">setValue</a>(StkFloat value);
00074 00074
00076 MY_FLOAT <a class="code" href="classADSR.html#a15">tick</a>(<span class="keywordtype">void</span>); 00076 StkFloat <a class="code" href="classADSR.html#a15">tick</a>(<span class="keywordtype">void</span>);
00077 00077
00079 MY_FLOAT *<a class="code" href="classADSR.html#a15">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00079 StkFloat *<a class="code" href="classADSR.html#a15">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00080 00080
00081 <span class="keyword">protected</span>: 00082
00082 MY_FLOAT attackRate; 00088 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classADSR.html#a15">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00083 MY_FLOAT decayRate; 00089
00084 MY_FLOAT sustainLevel; 00090 <span class="keyword">protected</span>:
00085 MY_FLOAT releaseRate; 00091 StkFloat attackRate_;
00086 }; 00092 StkFloat decayRate_;
00087 00093 StkFloat sustainLevel_;
00088 <span class="preprocessor">#endif</span> 00094 StkFloat releaseRate_;
00095 };
00096
00097 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -0,0 +1,62 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>Asymp.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00024 <span class="comment">/***************************************************/</span>
00025
00026 <span class="preprocessor">#ifndef STK_ASYMP_H</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_ASYMP_H</span>
00028 <span class="preprocessor"></span>
00029 <span class="preprocessor">#include "Envelope.h"</span>
00030
00031 <span class="keyword">const</span> StkFloat TARGET_THRESHOLD = 0.000001;
00032
<a name="l00033"></a><a class="code" href="classAsymp.html">00033</a> <span class="keyword">class </span><a class="code" href="classAsymp.html">Asymp</a> : <span class="keyword">public</span> <a class="code" href="classEnvelope.html">Envelope</a>
00034 {
00035 <span class="keyword">public</span>:
00036
00038 <a class="code" href="classAsymp.html#a0">Asymp</a>(<span class="keywordtype">void</span>);
00039
00041 <a class="code" href="classAsymp.html#a1">~Asymp</a>(<span class="keywordtype">void</span>);
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
00048
00050
00056 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a4">setTau</a>(StkFloat tau);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a5">setTime</a>(StkFloat time);
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a6">setTarget</a>(StkFloat target);
00063
00065 StkFloat <a class="code" href="classAsymp.html#a7">tick</a>(<span class="keywordtype">void</span>);
00066
00068 StkFloat *<a class="code" href="classAsymp.html#a7">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00069
00071
00077 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classAsymp.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00078
00079 <span class="keyword">protected</span>:
00080 StkFloat factor_;
00081 StkFloat constant_;
00082 };
00083
00084 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -12,14 +12,14 @@
<h1>BandedWG.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>BandedWG.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00030 <span class="comment">/***************************************************/</span> 00030 <span class="comment">/***************************************************/</span>
00031 00031
00032 <span class="preprocessor">#if !defined(__BANDEDWG_H)</span> 00032 <span class="preprocessor">#ifndef STK_BANDEDWG_H</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define __BANDEDWG_H</span> 00033 <span class="preprocessor"></span><span class="preprocessor">#define STK_BANDEDWG_H</span>
00034 <span class="preprocessor"></span> 00034 <span class="preprocessor"></span>
00035 <span class="preprocessor">#define MAX_BANDED_MODES 20</span> 00035 <span class="keyword">const</span> <span class="keywordtype">int</span> MAX_BANDED_MODES = 20;
00036 <span class="preprocessor"></span> 00036
00037 <span class="preprocessor">#include "Instrmnt.h"</span> 00037 <span class="preprocessor">#include "Instrmnt.h"</span>
00038 <span class="preprocessor">#include "DelayL.h"</span> 00038 <span class="preprocessor">#include "DelayL.h"</span>
00039 <span class="preprocessor">#include "BowTabl.h"</span> 00039 <span class="preprocessor">#include "BowTable.h"</span>
00040 <span class="preprocessor">#include "ADSR.h"</span> 00040 <span class="preprocessor">#include "ADSR.h"</span>
00041 <span class="preprocessor">#include "BiQuad.h"</span> 00041 <span class="preprocessor">#include "BiQuad.h"</span>
00042 00042
@@ -32,58 +32,63 @@
00051 00051
00053 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a2">clear</a>(); 00053 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a2">clear</a>();
00054 00054
00056 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a3">setStrikePosition</a>(MY_FLOAT position); 00056 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a3">setStrikePosition</a>(StkFloat position);
00057 00057
00059 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset); 00059 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
00060 00060
00062 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a5">setFrequency</a>(MY_FLOAT frequency); 00062 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a5">setFrequency</a>(StkFloat frequency);
00063 00063
00065 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a6">startBowing</a>(MY_FLOAT amplitude, MY_FLOAT rate); 00065 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a6">startBowing</a>(StkFloat amplitude, StkFloat rate);
00066 00066
00068 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a7">stopBowing</a>(MY_FLOAT rate); 00068 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a7">stopBowing</a>(StkFloat rate);
00069 00069
00071 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a8">pluck</a>(MY_FLOAT amp); 00071 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a8">pluck</a>(StkFloat amp);
00072 00072
00074 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a9">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00074 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a9">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00075 00075
00077 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a10">noteOff</a>(MY_FLOAT amplitude); 00077 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a10">noteOff</a>(StkFloat amplitude);
00078 00078
00080 MY_FLOAT <a class="code" href="classBandedWG.html#a11">tick</a>(); 00080 StkFloat <a class="code" href="classBandedWG.html#a11">tick</a>();
00081 00081
00083 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00083 StkFloat *<a class="code" href="classBandedWG.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00084 00084
00085 <span class="keyword">protected</span>:
00086 00086
00087 <span class="keywordtype">bool</span> doPluck; 00092 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBandedWG.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00088 <span class="keywordtype">bool</span> trackVelocity; 00093
00089 <span class="keywordtype">int</span> nModes; 00095 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00090 <span class="keywordtype">int</span> presetModes; 00096
00091 <a class="code" href="classBowTabl.html">BowTabl</a> *bowTabl; 00097 <span class="keyword">protected</span>:
00092 <a class="code" href="classADSR.html">ADSR</a> *adsr; 00098
00093 <a class="code" href="classBiQuad.html">BiQuad</a> *bandpass; 00099 <span class="keywordtype">bool</span> doPluck_;
00094 <a class="code" href="classDelayL.html">DelayL</a> *delay; 00100 <span class="keywordtype">bool</span> trackVelocity_;
00095 MY_FLOAT maxVelocity; 00101 <span class="keywordtype">int</span> nModes_;
00096 MY_FLOAT modes[MAX_BANDED_MODES]; 00102 <span class="keywordtype">int</span> presetModes_;
00097 MY_FLOAT freakency; 00103 <a class="code" href="classBowTable.html">BowTable</a> bowTable_;
00098 MY_FLOAT baseGain; 00104 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00099 MY_FLOAT gains[MAX_BANDED_MODES]; 00105 <a class="code" href="classBiQuad.html">BiQuad</a> bandpass_[MAX_BANDED_MODES];
00100 MY_FLOAT basegains[MAX_BANDED_MODES]; 00106 <a class="code" href="classDelayL.html">DelayL</a> delay_[MAX_BANDED_MODES];
00101 MY_FLOAT excitation[MAX_BANDED_MODES]; 00107 StkFloat maxVelocity_;
00102 MY_FLOAT integrationConstant; 00108 StkFloat modes_[MAX_BANDED_MODES];
00103 MY_FLOAT velocityInput; 00109 StkFloat frequency_;
00104 MY_FLOAT bowVelocity; 00110 StkFloat baseGain_;
00105 MY_FLOAT bowTarget; 00111 StkFloat gains_[MAX_BANDED_MODES];
00106 MY_FLOAT bowPosition; 00112 StkFloat basegains_[MAX_BANDED_MODES];
00107 MY_FLOAT strikeAmp; 00113 StkFloat excitation_[MAX_BANDED_MODES];
00108 <span class="keywordtype">int</span> strikePosition; 00114 StkFloat integrationConstant_;
00109 00115 StkFloat velocityInput_;
00110 }; 00116 StkFloat bowVelocity_;
00111 00117 StkFloat bowTarget_;
00112 <span class="preprocessor">#endif</span> 00118 StkFloat bowPosition_;
00119 StkFloat strikeAmp_;
00120 <span class="keywordtype">int</span> strikePosition_;
00121
00122 };
00123
00124 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,28 +12,34 @@
<h1>BeeThree.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>BeeThree.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00033 <span class="comment">/***************************************************/</span> 00033 <span class="comment">/***************************************************/</span>
00034 00034
00035 <span class="preprocessor">#if !defined(__BEETHREE_H)</span> 00035 <span class="preprocessor">#ifndef STK_BEETHREE_H</span>
00036 <span class="preprocessor"></span><span class="preprocessor">#define __BEETHREE_H</span> 00036 <span class="preprocessor"></span><span class="preprocessor">#define STK_BEETHREE_H</span>
00037 <span class="preprocessor"></span> 00037 <span class="preprocessor"></span>
00038 <span class="preprocessor">#include "FM.h"</span> 00038 <span class="preprocessor">#include "FM.h"</span>
00039 00039
<a name="l00040"></a><a class="code" href="classBeeThree.html">00040</a> <span class="keyword">class </span><a class="code" href="classBeeThree.html">BeeThree</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <a name="l00040"></a><a class="code" href="classBeeThree.html">00040</a> <span class="keyword">class </span><a class="code" href="classBeeThree.html">BeeThree</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00041 { 00041 {
00042 <span class="keyword">public</span>: 00042 <span class="keyword">public</span>:
00044 <a class="code" href="classBeeThree.html#a0">BeeThree</a>(); 00044
00045 00047 <a class="code" href="classBeeThree.html#a0">BeeThree</a>();
00047 <a class="code" href="classBeeThree.html#a1">~BeeThree</a>();
00048 00048
00050 <span class="keywordtype">void</span> <a class="code" href="classBeeThree.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00050 <a class="code" href="classBeeThree.html#a1">~BeeThree</a>();
00051 00051
00053 MY_FLOAT <a class="code" href="classBeeThree.html#a3">tick</a>(); 00053 <span class="keywordtype">void</span> <a class="code" href="classBeeThree.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00054 }; 00054
00055 00056 StkFloat <a class="code" href="classBeeThree.html#a3">tick</a>();
00056 <span class="preprocessor">#endif</span> 00057
00059 StkFloat *<a class="code" href="classBeeThree.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00060
00062
00068 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBeeThree.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00069 };
00070
00071 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>BiQuad.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>BiQuad.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span> 00013 <span class="comment">/***************************************************/</span>
00014 00014
00015 <span class="preprocessor">#if !defined(__BIQUAD_H)</span> 00015 <span class="preprocessor">#ifndef STK_BIQUAD_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __BIQUAD_H</span> 00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_BIQUAD_H</span>
00017 <span class="preprocessor"></span> 00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span> 00018 <span class="preprocessor">#include "Filter.h"</span>
00019 00019
@@ -27,42 +27,45 @@
00029 00029
00031 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a2">clear</a>(<span class="keywordtype">void</span>); 00031 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a2">clear</a>(<span class="keywordtype">void</span>);
00032 00032
00034 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a3">setB0</a>(MY_FLOAT b0); 00034 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a3">setB0</a>(StkFloat b0);
00035 00035
00037 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a4">setB1</a>(MY_FLOAT b1); 00037 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a4">setB1</a>(StkFloat b1);
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a5">setB2</a>(MY_FLOAT b2); 00040 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a5">setB2</a>(StkFloat b2);
00041 00041
00043 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a6">setA1</a>(MY_FLOAT a1); 00043 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a6">setA1</a>(StkFloat a1);
00044 00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a7">setA2</a>(MY_FLOAT a2); 00046 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a7">setA2</a>(StkFloat a2);
00047 00047
00049 00049
00060 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a8">setResonance</a>(MY_FLOAT frequency, MY_FLOAT radius, <span class="keywordtype">bool</span> normalize = FALSE); 00060 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a8">setResonance</a>(StkFloat frequency, StkFloat radius, <span class="keywordtype">bool</span> normalize = <span class="keyword">false</span>);
00061 00061
00063 00063
00069 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a9">setNotch</a>(MY_FLOAT frequency, MY_FLOAT radius); 00069 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a9">setNotch</a>(StkFloat frequency, StkFloat radius);
00070 00070
00072 00072
00078 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a10">setEqualGainZeroes</a>(); 00078 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a10">setEqualGainZeroes</a>();
00079 00079
00081 00081
00085 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a11">setGain</a>(MY_FLOAT theGain); 00085 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a11">setGain</a>(StkFloat gain);
00086 00086
00088 MY_FLOAT <a class="code" href="classBiQuad.html#a12">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00088 StkFloat <a class="code" href="classBiQuad.html#a12">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00089 00089
00091 MY_FLOAT <a class="code" href="classBiQuad.html#a13">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00091 StkFloat <a class="code" href="classBiQuad.html#a13">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00092 00092
00094 MY_FLOAT <a class="code" href="classBiQuad.html#a14">tick</a>(MY_FLOAT sample); 00094 <span class="keyword">virtual</span> StkFloat <a class="code" href="classBiQuad.html#a14">tick</a>(StkFloat sample);
00095 00095
00097 MY_FLOAT *<a class="code" href="classBiQuad.html#a14">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00097 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classBiQuad.html#a14">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00098 }; 00098
00099 00100
00100 <span class="preprocessor">#endif</span> 00106 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBiQuad.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00107 };
00108
00109 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,11 +12,11 @@
<h1>BlowBotl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>BlowBotl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00017 <span class="comment">/***************************************************/</span> 00017 <span class="comment">/***************************************************/</span>
00018 00018
00019 <span class="preprocessor">#if !defined(__BOTTLE_H)</span> 00019 <span class="preprocessor">#ifndef STK_BLOWBOTL_H</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define __BOTTLE_H</span> 00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWBOTL_H</span>
00021 <span class="preprocessor"></span> 00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include "Instrmnt.h"</span> 00022 <span class="preprocessor">#include "Instrmnt.h"</span>
00023 <span class="preprocessor">#include "JetTabl.h"</span> 00023 <span class="preprocessor">#include "JetTable.h"</span>
00024 <span class="preprocessor">#include "BiQuad.h"</span> 00024 <span class="preprocessor">#include "BiQuad.h"</span>
00025 <span class="preprocessor">#include "PoleZero.h"</span> 00025 <span class="preprocessor">#include "PoleZero.h"</span>
00026 <span class="preprocessor">#include "Noise.h"</span> 00026 <span class="preprocessor">#include "Noise.h"</span>
@@ -26,45 +26,51 @@
<a name="l00030"></a><a class="code" href="classBlowBotl.html">00030</a> <span class="keyword">class </span><a class="code" href="classBlowBotl.html">BlowBotl</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00030"></a><a class="code" href="classBlowBotl.html">00030</a> <span class="keyword">class </span><a class="code" href="classBlowBotl.html">BlowBotl</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00031 { 00031 {
00032 <span class="keyword">public</span>: 00032 <span class="keyword">public</span>:
00034 <a class="code" href="classBlowBotl.html#a0">BlowBotl</a>(); 00034
00035 00037 <a class="code" href="classBlowBotl.html#a0">BlowBotl</a>();
00037 <a class="code" href="classBlowBotl.html#a1">~BlowBotl</a>();
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a2">clear</a>(); 00040 <a class="code" href="classBlowBotl.html#a1">~BlowBotl</a>();
00041 00041
00043 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a3">setFrequency</a>(MY_FLOAT frequency); 00043 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a2">clear</a>();
00044 00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a4">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate); 00046 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a3">setFrequency</a>(StkFloat frequency);
00047 00047
00049 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a5">stopBlowing</a>(MY_FLOAT rate); 00049 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00050 00050
00052 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00052 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a5">stopBlowing</a>(StkFloat rate);
00053 00053
00055 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a7">noteOff</a>(MY_FLOAT amplitude); 00055 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056 00056
00058 MY_FLOAT <a class="code" href="classBlowBotl.html#a8">tick</a>(); 00058 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a7">noteOff</a>(StkFloat amplitude);
00059 00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00061 StkFloat <a class="code" href="classBlowBotl.html#a8">tick</a>();
00062 00062
00063 <span class="keyword">protected</span>: 00064 StkFloat *<a class="code" href="classBlowBotl.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00064 <a class="code" href="classJetTabl.html">JetTabl</a> *jetTable; 00065
00065 <a class="code" href="classBiQuad.html">BiQuad</a> *resonator; 00067
00066 <a class="code" href="classPoleZero.html">PoleZero</a> *dcBlock; 00073 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBlowBotl.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00067 <a class="code" href="classNoise.html">Noise</a> *noise;
00068 <a class="code" href="classADSR.html">ADSR</a> *adsr;
00069 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00070 MY_FLOAT maxPressure;
00071 MY_FLOAT noiseGain;
00072 MY_FLOAT vibratoGain;
00073 MY_FLOAT outputGain;
00074 00074
00075 }; 00076 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00076 00077
00077 <span class="preprocessor">#endif</span> 00078 <span class="keyword">protected</span>:
00079 <a class="code" href="classJetTable.html">JetTable</a> jetTable_;
00080 <a class="code" href="classBiQuad.html">BiQuad</a> resonator_;
00081 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
00082 <a class="code" href="classNoise.html">Noise</a> noise_;
00083 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00084 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00085 StkFloat maxPressure_;
00086 StkFloat noiseGain_;
00087 StkFloat vibratoGain_;
00088 StkFloat outputGain_;
00089
00090 };
00091
00092 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,12 +12,12 @@
<h1>BlowHole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>BlowHole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00034 <span class="comment">/***************************************************/</span> 00034 <span class="comment">/***************************************************/</span>
00035 00035
00036 <span class="preprocessor">#if !defined(__BLOWHOLE_H)</span> 00036 <span class="preprocessor">#ifndef STK_BLOWHOLE_H</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define __BLOWHOLE_H</span> 00037 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWHOLE_H</span>
00038 <span class="preprocessor"></span> 00038 <span class="preprocessor"></span>
00039 <span class="preprocessor">#include "Instrmnt.h"</span> 00039 <span class="preprocessor">#include "Instrmnt.h"</span>
00040 <span class="preprocessor">#include "DelayL.h"</span> 00040 <span class="preprocessor">#include "DelayL.h"</span>
00041 <span class="preprocessor">#include "ReedTabl.h"</span> 00041 <span class="preprocessor">#include "ReedTable.h"</span>
00042 <span class="preprocessor">#include "OneZero.h"</span> 00042 <span class="preprocessor">#include "OneZero.h"</span>
00043 <span class="preprocessor">#include "PoleZero.h"</span> 00043 <span class="preprocessor">#include "PoleZero.h"</span>
00044 <span class="preprocessor">#include "Envelope.h"</span> 00044 <span class="preprocessor">#include "Envelope.h"</span>
@@ -27,56 +27,60 @@
<a name="l00048"></a><a class="code" href="classBlowHole.html">00048</a> <span class="keyword">class </span><a class="code" href="classBlowHole.html">BlowHole</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00048"></a><a class="code" href="classBlowHole.html">00048</a> <span class="keyword">class </span><a class="code" href="classBlowHole.html">BlowHole</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00049 { 00049 {
00050 <span class="keyword">public</span>: 00050 <span class="keyword">public</span>:
00052 <a class="code" href="classBlowHole.html#a0">BlowHole</a>(MY_FLOAT lowestFrequency); 00052
00053 00055 <a class="code" href="classBlowHole.html#a0">BlowHole</a>(StkFloat lowestFrequency);
00055 <a class="code" href="classBlowHole.html#a1">~BlowHole</a>();
00056 00056
00058 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a2">clear</a>(); 00058 <a class="code" href="classBlowHole.html#a1">~BlowHole</a>();
00059 00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a3">setFrequency</a>(MY_FLOAT frequency); 00061 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a2">clear</a>();
00062 00062
00064 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a4">setTonehole</a>(MY_FLOAT newValue); 00064 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a3">setFrequency</a>(StkFloat frequency);
00065 00065
00067 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a5">setVent</a>(MY_FLOAT newValue); 00067 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a4">setTonehole</a>(StkFloat newValue);
00068 00068
00070 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a6">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate); 00070 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a5">setVent</a>(StkFloat newValue);
00071 00071
00073 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a7">stopBlowing</a>(MY_FLOAT rate); 00073 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a6">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00074 00074
00076 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a8">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00076 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a7">stopBlowing</a>(StkFloat rate);
00077 00077
00079 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a9">noteOff</a>(MY_FLOAT amplitude); 00079 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00080 00080
00082 MY_FLOAT <a class="code" href="classBlowHole.html#a10">tick</a>(); 00082 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a9">noteOff</a>(StkFloat amplitude);
00083 00083
00085 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00085 StkFloat <a class="code" href="classBlowHole.html#a10">tick</a>();
00086 00086
00087 <span class="keyword">protected</span>: 00088 StkFloat *<a class="code" href="classBlowHole.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00088 <a class="code" href="classDelayL.html">DelayL</a> *delays[3]; 00089
00089 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable; 00091
00090 <a class="code" href="classOneZero.html">OneZero</a> *filter; 00097 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBlowHole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00091 <a class="code" href="classPoleZero.html">PoleZero</a> *tonehole; 00098
00092 <a class="code" href="classPoleZero.html">PoleZero</a> *vent; 00100 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00093 <a class="code" href="classEnvelope.html">Envelope</a> *envelope; 00101
00094 <a class="code" href="classNoise.html">Noise</a> *noise; 00102 <span class="keyword">protected</span>:
00095 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato; 00103 <a class="code" href="classDelayL.html">DelayL</a> delays_[3];
00096 <span class="keywordtype">long</span> length; 00104 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00097 MY_FLOAT scatter; 00105 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00098 MY_FLOAT th_coeff; 00106 <a class="code" href="classPoleZero.html">PoleZero</a> tonehole_;
00099 MY_FLOAT r_th; 00107 <a class="code" href="classPoleZero.html">PoleZero</a> vent_;
00100 MY_FLOAT rh_coeff; 00108 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00101 MY_FLOAT rh_gain; 00109 <a class="code" href="classNoise.html">Noise</a> noise_;
00102 MY_FLOAT outputGain; 00110 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00103 MY_FLOAT noiseGain; 00111 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00104 MY_FLOAT vibratoGain; 00112 StkFloat scatter_;
00105 00113 StkFloat thCoeff_;
00106 }; 00114 StkFloat rhGain_;
00107 00115 StkFloat outputGain_;
00108 <span class="preprocessor">#endif</span> 00116 StkFloat noiseGain_;
00117 StkFloat vibratoGain_;
00118
00119 };
00120
00121 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -1,56 +0,0 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>BowTabl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#if !defined(__BOWTABL_H)</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define __BOWTABL_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span>
00016
<a name="l00017"></a><a class="code" href="classBowTabl.html">00017</a> <span class="keyword">class </span><a class="code" href="classBowTabl.html">BowTabl</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classBowTabl.html#a0">BowTabl</a>();
00022
00024 <a class="code" href="classBowTabl.html#a1">~BowTabl</a>();
00025
00027
00033 <span class="keywordtype">void</span> <a class="code" href="classBowTabl.html#a2">setOffset</a>(MY_FLOAT aValue);
00034
00036
00040 <span class="keywordtype">void</span> <a class="code" href="classBowTabl.html#a3">setSlope</a>(MY_FLOAT aValue);
00041
00043 MY_FLOAT <a class="code" href="classBowTabl.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00044
00046
00050 MY_FLOAT <a class="code" href="classBowTabl.html#a5">tick</a>(<span class="keyword">const</span> MY_FLOAT input);
00051
00053 MY_FLOAT *<a class="code" href="classBowTabl.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00054
00055 <span class="keyword">protected</span>:
00056 MY_FLOAT offSet;
00057 MY_FLOAT slope;
00058 MY_FLOAT lastOutput;
00059
00060 };
00061
00062 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,56 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>BowTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_BOWTABL_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWTABL_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Function.h"</span>
00016
<a name="l00017"></a><a class="code" href="classBowTable.html">00017</a> <span class="keyword">class </span><a class="code" href="classBowTable.html">BowTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classBowTable.html#a0">BowTable</a>();
00022
00024 <a class="code" href="classBowTable.html#a1">~BowTable</a>();
00025
00027
00033 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a2">setOffset</a>(StkFloat offset);
00034
00036
00040 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a3">setSlope</a>(StkFloat slope);
00041
00043
00047 StkFloat <a class="code" href="classBowTable.html#a4">tick</a>( StkFloat input);
00048
00050 StkFloat *<a class="code" href="classBowTable.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00051
00053
00059 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBowTable.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00060
00061 <span class="keyword">protected</span>:
00062 StkFloat offset_;
00063 StkFloat slope_;
00064
00065 };
00066
00067 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -12,12 +12,12 @@
<h1>Bowed.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Bowed.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00022 <span class="comment">/***************************************************/</span> 00022 <span class="comment">/***************************************************/</span>
00023 00023
00024 <span class="preprocessor">#if !defined(__BOWED_H)</span> 00024 <span class="preprocessor">#ifndef STK_BOWED_H</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define __BOWED_H</span> 00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWED_H</span>
00026 <span class="preprocessor"></span> 00026 <span class="preprocessor"></span>
00027 <span class="preprocessor">#include "Instrmnt.h"</span> 00027 <span class="preprocessor">#include "Instrmnt.h"</span>
00028 <span class="preprocessor">#include "DelayL.h"</span> 00028 <span class="preprocessor">#include "DelayL.h"</span>
00029 <span class="preprocessor">#include "BowTabl.h"</span> 00029 <span class="preprocessor">#include "BowTable.h"</span>
00030 <span class="preprocessor">#include "OnePole.h"</span> 00030 <span class="preprocessor">#include "OnePole.h"</span>
00031 <span class="preprocessor">#include "BiQuad.h"</span> 00031 <span class="preprocessor">#include "BiQuad.h"</span>
00032 <span class="preprocessor">#include "WaveLoop.h"</span> 00032 <span class="preprocessor">#include "WaveLoop.h"</span>
@@ -26,48 +26,53 @@
<a name="l00035"></a><a class="code" href="classBowed.html">00035</a> <span class="keyword">class </span><a class="code" href="classBowed.html">Bowed</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00035"></a><a class="code" href="classBowed.html">00035</a> <span class="keyword">class </span><a class="code" href="classBowed.html">Bowed</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00036 { 00036 {
00037 <span class="keyword">public</span>: 00037 <span class="keyword">public</span>:
00039 <a class="code" href="classBowed.html#a0">Bowed</a>(MY_FLOAT lowestFrequency); 00039 <a class="code" href="classBowed.html#a0">Bowed</a>(StkFloat lowestFrequency);
00040 00040
00042 <a class="code" href="classBowed.html#a1">~Bowed</a>(); 00042 <a class="code" href="classBowed.html#a1">~Bowed</a>();
00043 00043
00045 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a2">clear</a>(); 00045 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a2">clear</a>();
00046 00046
00048 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a3">setFrequency</a>(MY_FLOAT frequency); 00048 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a3">setFrequency</a>(StkFloat frequency);
00049 00049
00051 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a4">setVibrato</a>(MY_FLOAT gain); 00051 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a4">setVibrato</a>(StkFloat gain);
00052 00052
00054 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a5">startBowing</a>(MY_FLOAT amplitude, MY_FLOAT rate); 00054 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a5">startBowing</a>(StkFloat amplitude, StkFloat rate);
00055 00055
00057 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a6">stopBowing</a>(MY_FLOAT rate); 00057 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a6">stopBowing</a>(StkFloat rate);
00058 00058
00060 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00060 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00061 00061
00063 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a8">noteOff</a>(MY_FLOAT amplitude); 00063 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a8">noteOff</a>(StkFloat amplitude);
00064 00064
00066 MY_FLOAT <a class="code" href="classBowed.html#a9">tick</a>(); 00066 StkFloat <a class="code" href="classBowed.html#a9">tick</a>();
00067 00067
00069 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00069 StkFloat *<a class="code" href="classBowed.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070 00070
00071 <span class="keyword">protected</span>: 00072
00072 <a class="code" href="classDelayL.html">DelayL</a> *neckDelay; 00078 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBowed.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00073 <a class="code" href="classDelayL.html">DelayL</a> *bridgeDelay; 00079
00074 <a class="code" href="classBowTabl.html">BowTabl</a> *bowTable; 00081 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00075 <a class="code" href="classOnePole.html">OnePole</a> *stringFilter; 00082
00076 <a class="code" href="classBiQuad.html">BiQuad</a> *bodyFilter; 00083 <span class="keyword">protected</span>:
00077 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato; 00084 <a class="code" href="classDelayL.html">DelayL</a> neckDelay_;
00078 <a class="code" href="classADSR.html">ADSR</a> *adsr; 00085 <a class="code" href="classDelayL.html">DelayL</a> bridgeDelay_;
00079 MY_FLOAT maxVelocity; 00086 <a class="code" href="classBowTable.html">BowTable</a> bowTable_;
00080 MY_FLOAT baseDelay; 00087 <a class="code" href="classOnePole.html">OnePole</a> stringFilter_;
00081 MY_FLOAT vibratoGain; 00088 <a class="code" href="classBiQuad.html">BiQuad</a> bodyFilter_;
00082 MY_FLOAT betaRatio; 00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00083 00090 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00084 }; 00091 StkFloat maxVelocity_;
00085 00092 StkFloat baseDelay_;
00086 <span class="preprocessor">#endif</span> 00093 StkFloat vibratoGain_;
00094 StkFloat betaRatio_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>Brass.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Brass.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00021 <span class="comment">/***************************************************/</span> 00021 <span class="comment">/***************************************************/</span>
00022 00022
00023 <span class="preprocessor">#if !defined(__BRASS_H)</span> 00023 <span class="preprocessor">#ifndef STK_BRASS_H</span>
00024 <span class="preprocessor"></span><span class="preprocessor">#define __BRASS_H</span> 00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_BRASS_H</span>
00025 <span class="preprocessor"></span> 00025 <span class="preprocessor"></span>
00026 <span class="preprocessor">#include "Instrmnt.h"</span> 00026 <span class="preprocessor">#include "Instrmnt.h"</span>
00027 <span class="preprocessor">#include "DelayA.h"</span> 00027 <span class="preprocessor">#include "DelayA.h"</span>
@@ -25,47 +25,53 @@
<a name="l00033"></a><a class="code" href="classBrass.html">00033</a> <span class="keyword">class </span><a class="code" href="classBrass.html">Brass</a>: <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00033"></a><a class="code" href="classBrass.html">00033</a> <span class="keyword">class </span><a class="code" href="classBrass.html">Brass</a>: <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00034 { 00034 {
00035 <span class="keyword">public</span>: 00035 <span class="keyword">public</span>:
00037 <a class="code" href="classBrass.html#a0">Brass</a>(MY_FLOAT lowestFrequency); 00037
00038 00040 <a class="code" href="classBrass.html#a0">Brass</a>(StkFloat lowestFrequency);
00040 <a class="code" href="classBrass.html#a1">~Brass</a>();
00041 00041
00043 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a2">clear</a>(); 00043 <a class="code" href="classBrass.html#a1">~Brass</a>();
00044 00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a3">setFrequency</a>(MY_FLOAT frequency); 00046 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a2">clear</a>();
00047 00047
00049 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a4">setLip</a>(MY_FLOAT frequency); 00049 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a3">setFrequency</a>(StkFloat frequency);
00050 00050
00052 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a5">startBlowing</a>(MY_FLOAT amplitude,MY_FLOAT rate); 00052 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a4">setLip</a>(StkFloat frequency);
00053 00053
00055 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a6">stopBlowing</a>(MY_FLOAT rate); 00055 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00056 00056
00058 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00058 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a6">stopBlowing</a>(StkFloat rate);
00059 00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a8">noteOff</a>(MY_FLOAT amplitude); 00061 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062 00062
00064 MY_FLOAT <a class="code" href="classBrass.html#a9">tick</a>(); 00064 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a8">noteOff</a>(StkFloat amplitude);
00065 00065
00067 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00067 StkFloat <a class="code" href="classBrass.html#a9">tick</a>();
00068 00068
00069 <span class="keyword">protected</span>: 00070 StkFloat *<a class="code" href="classBrass.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070 <a class="code" href="classDelayA.html">DelayA</a> *delayLine; 00071
00071 <a class="code" href="classBiQuad.html">BiQuad</a> *lipFilter; 00073
00072 <a class="code" href="classPoleZero.html">PoleZero</a> *dcBlock; 00079 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBrass.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00073 <a class="code" href="classADSR.html">ADSR</a> *adsr;
00074 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00075 <span class="keywordtype">long</span> length;
00076 MY_FLOAT lipTarget;
00077 MY_FLOAT slideTarget;
00078 MY_FLOAT vibratoGain;
00079 MY_FLOAT maxPressure;
00080 00080
00081 }; 00082 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00082 00083
00083 <span class="preprocessor">#endif</span> 00084 <span class="keyword">protected</span>:
00085 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00086 <a class="code" href="classBiQuad.html">BiQuad</a> lipFilter_;
00087 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
00088 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00090 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00091 StkFloat lipTarget_;
00092 StkFloat slideTarget_;
00093 StkFloat vibratoGain_;
00094 StkFloat maxPressure_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,54 +12,48 @@
<h1>Chorus.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Chorus.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00009 <span class="comment">/***************************************************/</span> 00009 <span class="comment">/***************************************************/</span>
00010 00010
00011 <span class="preprocessor">#if !defined(__CHORUS_H)</span> 00011 <span class="preprocessor">#ifndef STK_CHORUS_H</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define __CHORUS_H</span> 00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_CHORUS_H</span>
00013 <span class="preprocessor"></span> 00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#include "Stk.h"</span> 00014 <span class="preprocessor">#include "Effect.h"</span>
00015 <span class="preprocessor">#include "DelayL.h"</span> 00015 <span class="preprocessor">#include "DelayL.h"</span>
00016 <span class="preprocessor">#include "WaveLoop.h"</span> 00016 <span class="preprocessor">#include "WaveLoop.h"</span>
00017 00017
<a name="l00018"></a><a class="code" href="classChorus.html">00018</a> <span class="keyword">class </span><a class="code" href="classChorus.html">Chorus</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <a name="l00018"></a><a class="code" href="classChorus.html">00018</a> <span class="keyword">class </span><a class="code" href="classChorus.html">Chorus</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00019 { 00019 {
00020 <span class="keyword">public</span>: 00020 <span class="keyword">public</span>:
00022 <a class="code" href="classChorus.html#a0">Chorus</a>(MY_FLOAT baseDelay); 00022
00023 00025 <a class="code" href="classChorus.html#a0">Chorus</a>( StkFloat baseDelay = 6000 );
00025 <a class="code" href="classChorus.html#a1">~Chorus</a>();
00026 00026
00028 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a2">clear</a>(); 00028 <a class="code" href="classChorus.html#a1">~Chorus</a>();
00029 00029
00031 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a3">setModDepth</a>(MY_FLOAT depth); 00031 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a2">clear</a>();
00032 00032
00034 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a4">setModFrequency</a>(MY_FLOAT frequency); 00034 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a3">setModDepth</a>(StkFloat depth);
00035 00035
00037 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a5">setEffectMix</a>(MY_FLOAT mix); 00037 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a4">setModFrequency</a>(StkFloat frequency);
00038 00038
00040 MY_FLOAT <a class="code" href="classChorus.html#a6">lastOut</a>() <span class="keyword">const</span>; 00040 StkFloat <a class="code" href="classChorus.html#a5">tick</a>(StkFloat input);
00041 00041
00043 MY_FLOAT <a class="code" href="classChorus.html#a7">lastOutLeft</a>() <span class="keyword">const</span>; 00043 StkFloat *<a class="code" href="classChorus.html#a5">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00044 00044
00046 MY_FLOAT <a class="code" href="classChorus.html#a8">lastOutRight</a>() <span class="keyword">const</span>; 00046
00047 00052 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classChorus.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00049 MY_FLOAT <a class="code" href="classChorus.html#a9">tick</a>(MY_FLOAT input);
00050
00052 MY_FLOAT *<a class="code" href="classChorus.html#a9">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00053 00053
00054 <span class="keyword">protected</span>: 00054 <span class="keyword">protected</span>:
00055 <a class="code" href="classDelayL.html">DelayL</a> *delayLine[2]; 00055 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2];
00056 <a class="code" href="classWaveLoop.html">WaveLoop</a> *mods[2]; 00056 <a class="code" href="classWaveLoop.html">WaveLoop</a> *mods_[2];
00057 MY_FLOAT baseLength; 00057 StkFloat baseLength_;
00058 MY_FLOAT modDepth; 00058 StkFloat modDepth_;
00059 MY_FLOAT lastOutput[2]; 00059
00060 MY_FLOAT effectMix; 00060 };
00061 00061
00062 }; 00062 <span class="preprocessor">#endif</span>
00063 00063 <span class="preprocessor"></span>
00064 <span class="preprocessor">#endif</span>
00065 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,12 +12,12 @@
<h1>Clarinet.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Clarinet.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span> 00023 <span class="comment">/***************************************************/</span>
00024 00024
00025 <span class="preprocessor">#if !defined(__CLARINET_H)</span> 00025 <span class="preprocessor">#ifndef STK_CLARINET_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define __CLARINET_H</span> 00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_CLARINET_H</span>
00027 <span class="preprocessor"></span> 00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Instrmnt.h"</span> 00028 <span class="preprocessor">#include "Instrmnt.h"</span>
00029 <span class="preprocessor">#include "DelayL.h"</span> 00029 <span class="preprocessor">#include "DelayL.h"</span>
00030 <span class="preprocessor">#include "ReedTabl.h"</span> 00030 <span class="preprocessor">#include "ReedTable.h"</span>
00031 <span class="preprocessor">#include "OneZero.h"</span> 00031 <span class="preprocessor">#include "OneZero.h"</span>
00032 <span class="preprocessor">#include "Envelope.h"</span> 00032 <span class="preprocessor">#include "Envelope.h"</span>
00033 <span class="preprocessor">#include "Noise.h"</span> 00033 <span class="preprocessor">#include "Noise.h"</span>
@@ -26,45 +26,51 @@
<a name="l00036"></a><a class="code" href="classClarinet.html">00036</a> <span class="keyword">class </span><a class="code" href="classClarinet.html">Clarinet</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00036"></a><a class="code" href="classClarinet.html">00036</a> <span class="keyword">class </span><a class="code" href="classClarinet.html">Clarinet</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00037 { 00037 {
00038 <span class="keyword">public</span>: 00038 <span class="keyword">public</span>:
00040 <a class="code" href="classClarinet.html#a0">Clarinet</a>(MY_FLOAT lowestFrequency); 00040
00041 00043 <a class="code" href="classClarinet.html#a0">Clarinet</a>(StkFloat lowestFrequency);
00043 <a class="code" href="classClarinet.html#a1">~Clarinet</a>();
00044 00044
00046 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a2">clear</a>(); 00046 <a class="code" href="classClarinet.html#a1">~Clarinet</a>();
00047 00047
00049 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a3">setFrequency</a>(MY_FLOAT frequency); 00049 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a2">clear</a>();
00050 00050
00052 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a4">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate); 00052 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a3">setFrequency</a>(StkFloat frequency);
00053 00053
00055 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a5">stopBlowing</a>(MY_FLOAT rate); 00055 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00056 00056
00058 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00058 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a5">stopBlowing</a>(StkFloat rate);
00059 00059
00061 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a7">noteOff</a>(MY_FLOAT amplitude); 00061 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062 00062
00064 MY_FLOAT <a class="code" href="classClarinet.html#a8">tick</a>(); 00064 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a7">noteOff</a>(StkFloat amplitude);
00065 00065
00067 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00067 StkFloat <a class="code" href="classClarinet.html#a8">tick</a>();
00068 00068
00069 <span class="keyword">protected</span>: 00070 StkFloat *<a class="code" href="classClarinet.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070 <a class="code" href="classDelayL.html">DelayL</a> *delayLine; 00071
00071 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable; 00073
00072 <a class="code" href="classOneZero.html">OneZero</a> *filter; 00079 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classClarinet.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00073 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
00074 <a class="code" href="classNoise.html">Noise</a> *noise;
00075 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00076 <span class="keywordtype">long</span> length;
00077 MY_FLOAT outputGain;
00078 MY_FLOAT noiseGain;
00079 MY_FLOAT vibratoGain;
00080 00080
00081 }; 00082 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00082 00083
00083 <span class="preprocessor">#endif</span> 00084 <span class="keyword">protected</span>:
00085 <a class="code" href="classDelayL.html">DelayL</a> delayLine_;
00086 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00087 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00088 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00089 <a class="code" href="classNoise.html">Noise</a> noise_;
00090 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00091 <span class="keywordtype">long</span> length_;
00092 StkFloat outputGain_;
00093 StkFloat noiseGain_;
00094 StkFloat vibratoGain_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>DelayA.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>DelayA.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span> 00023 <span class="comment">/***************************************************/</span>
00024 00024
00025 <span class="preprocessor">#if !defined(__DelayA_h)</span> 00025 <span class="preprocessor">#ifndef STK_DELAYA_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define __DelayA_h</span> 00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYA_H</span>
00027 <span class="preprocessor"></span> 00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Delay.h"</span> 00028 <span class="preprocessor">#include "Delay.h"</span>
00029 00029
@@ -24,35 +24,40 @@
00035 <a class="code" href="classDelayA.html#a0">DelayA</a>(); 00035 <a class="code" href="classDelayA.html#a0">DelayA</a>();
00036 00036
00038 00038
00039 <a class="code" href="classDelayA.html#a0">DelayA</a>(MY_FLOAT theDelay, <span class="keywordtype">long</span> maxDelay); 00043 <a class="code" href="classDelayA.html#a0">DelayA</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00040 00044
00042 <a class="code" href="classDelayA.html#a2">~DelayA</a>(); 00046 <a class="code" href="classDelayA.html#a2">~DelayA</a>();
00043 00047
00045 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a3">clear</a>(); 00049 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a3">clear</a>();
00046 00050
00048
00051 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a4">setDelay</a>(MY_FLOAT theDelay);
00052 00052
00054 MY_FLOAT <a class="code" href="classDelayA.html#a5">getDelay</a>(<span class="keywordtype">void</span>); 00055 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a4">setDelay</a>(StkFloat delay);
00055 00056
00057 00058 StkFloat <a class="code" href="classDelayA.html#a5">getDelay</a>(<span class="keywordtype">void</span>);
00060 MY_FLOAT <a class="code" href="classDelayA.html#a6">nextOut</a>(<span class="keywordtype">void</span>); 00059
00061 00061
00063 MY_FLOAT <a class="code" href="classDelayA.html#a7">tick</a>(MY_FLOAT sample); 00064 StkFloat <a class="code" href="classDelayA.html#a6">nextOut</a>(<span class="keywordtype">void</span>);
00064 00065
00065 <span class="keyword">protected</span>: 00067 StkFloat <a class="code" href="classDelayA.html#a7">tick</a>(StkFloat sample);
00066 MY_FLOAT alpha; 00068
00067 MY_FLOAT coeff; 00070 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classDelayA.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00068 MY_FLOAT apInput; 00071
00069 MY_FLOAT nextOutput; 00073
00070 <span class="keywordtype">bool</span> doNextOut; 00079 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDelayA.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00071 }; 00080
00072 00081 <span class="keyword">protected</span>:
00073 <span class="preprocessor">#endif</span> 00082 StkFloat alpha_;
00083 StkFloat coeff_;
00084 StkFloat apInput_;
00085 StkFloat nextOutput_;
00086 <span class="keywordtype">bool</span> doNextOut_;
00087 };
00088
00089 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>DelayL.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>DelayL.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span> 00023 <span class="comment">/***************************************************/</span>
00024 00024
00025 <span class="preprocessor">#if !defined(__DELAYL_H)</span> 00025 <span class="preprocessor">#ifndef STK_DELAYL_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define __DELAYL_H</span> 00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYL_H</span>
00027 <span class="preprocessor"></span> 00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Delay.h"</span> 00028 <span class="preprocessor">#include "Delay.h"</span>
00029 00029
@@ -24,32 +24,37 @@
00035 <a class="code" href="classDelayL.html#a0">DelayL</a>(); 00035 <a class="code" href="classDelayL.html#a0">DelayL</a>();
00036 00036
00038 00038
00039 <a class="code" href="classDelayL.html#a0">DelayL</a>(MY_FLOAT theDelay, <span class="keywordtype">long</span> maxDelay); 00043 <a class="code" href="classDelayL.html#a0">DelayL</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00040 00044
00042 <a class="code" href="classDelayL.html#a2">~DelayL</a>(); 00046 <a class="code" href="classDelayL.html#a2">~DelayL</a>();
00043 00047
00045
00048 <span class="keywordtype">void</span> <a class="code" href="classDelayL.html#a3">setDelay</a>(MY_FLOAT theDelay);
00049 00049
00051 MY_FLOAT <a class="code" href="classDelayL.html#a4">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00052 <span class="keywordtype">void</span> <a class="code" href="classDelayL.html#a3">setDelay</a>(StkFloat delay);
00052 00053
00054 00055 StkFloat <a class="code" href="classDelayL.html#a4">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00057 MY_FLOAT <a class="code" href="classDelayL.html#a5">nextOut</a>(<span class="keywordtype">void</span>); 00056
00058 00058
00060 MY_FLOAT <a class="code" href="classDelayL.html#a6">tick</a>(MY_FLOAT sample); 00061 StkFloat <a class="code" href="classDelayL.html#a5">nextOut</a>(<span class="keywordtype">void</span>);
00061 00062
00062 <span class="keyword">protected</span>: 00064 StkFloat <a class="code" href="classDelayL.html#a6">tick</a>(StkFloat sample);
00063 MY_FLOAT alpha; 00065
00064 MY_FLOAT omAlpha; 00067 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classDelayL.html#a6">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00065 MY_FLOAT nextOutput;
00066 <span class="keywordtype">bool</span> doNextOut;
00067 };
00068 00068
00069 <span class="preprocessor">#endif</span> 00070
00076 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDelayL.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00077
00078 <span class="keyword">protected</span>:
00079 StkFloat alpha_;
00080 StkFloat omAlpha_;
00081 StkFloat nextOutput_;
00082 <span class="keywordtype">bool</span> doNextOut_;
00083 };
00084
00085 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>Delay.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Delay.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span> 00019 <span class="comment">/***************************************************/</span>
00020 00020
00021 <span class="preprocessor">#if !defined(__DELAY_H)</span> 00021 <span class="preprocessor">#ifndef STK_DELAY_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __DELAY_H</span> 00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAY_H</span>
00023 <span class="preprocessor"></span> 00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Filter.h"</span> 00024 <span class="preprocessor">#include "Filter.h"</span>
00025 00025
@@ -23,44 +23,50 @@
00029 00029
00031 <a class="code" href="classDelay.html#a0">Delay</a>(); 00031 <a class="code" href="classDelay.html#a0">Delay</a>();
00032 00032
00034 <a class="code" href="classDelay.html#a0">Delay</a>(<span class="keywordtype">long</span> theDelay, <span class="keywordtype">long</span> maxDelay); 00034
00035 00039 <a class="code" href="classDelay.html#a0">Delay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00037 <span class="keyword">virtual</span> <a class="code" href="classDelay.html#a2">~Delay</a>(); 00040
00038 00042 <span class="keyword">virtual</span> <a class="code" href="classDelay.html#a2">~Delay</a>();
00040 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a3">clear</a>();
00041
00043 00043
00046 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a4">setDelay</a>(<span class="keywordtype">long</span> theDelay); 00045 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a3">clear</a>();
00047 00046
00049 <span class="keywordtype">long</span> <a class="code" href="classDelay.html#a5">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00048
00050 00055 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a4">setMaximumDelay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay);
00052 MY_FLOAT <a class="code" href="classDelay.html#a6">energy</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00056
00053 00058
00055 00061 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a5">setDelay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay);
00060 MY_FLOAT <a class="code" href="classDelay.html#a7">contentsAt</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> tapDelay) <span class="keyword">const</span>; 00062
00061 00064 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classDelay.html#a6">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00063 MY_FLOAT <a class="code" href="classDelay.html#a8">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00065
00064 00067 StkFloat <a class="code" href="classDelay.html#a7">energy</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00066 00068
00069 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classDelay.html#a9">nextOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00070 00070
00072 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classDelay.html#a10">tick</a>(MY_FLOAT sample); 00075 StkFloat <a class="code" href="classDelay.html#a8">contentsAt</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> tapDelay);
00073
00075 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classDelay.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00076 00076
00077 <span class="keyword">protected</span>: 00078 StkFloat <a class="code" href="classDelay.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00078 <span class="keywordtype">long</span> inPoint; 00079
00079 <span class="keywordtype">long</span> outPoint; 00081
00080 <span class="keywordtype">long</span> length; 00084 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a10">nextOut</a>(<span class="keywordtype">void</span>);
00081 MY_FLOAT delay; 00085
00082 }; 00087 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a11">tick</a>(StkFloat sample);
00083 00088
00084 <span class="preprocessor">#endif</span> 00090 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classDelay.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00085 <span class="preprocessor"></span> 00091
00093
00099 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDelay.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00100
00101 <span class="keyword">protected</span>:
00102 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> inPoint_;
00103 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> outPoint_;
00104 StkFloat delay_;
00105 };
00106
00107 <span class="preprocessor">#endif</span>
00108 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,43 +12,48 @@
<h1>Drummer.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Drummer.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00016 <span class="comment">/***************************************************/</span> 00016 <span class="comment">/***************************************************/</span>
00017 00017
00018 <span class="preprocessor">#if !defined(__DRUMMER_H)</span> 00018 <span class="preprocessor">#ifndef STK_DRUMMER_H</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define __DRUMMER_H</span> 00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_DRUMMER_H</span>
00020 <span class="preprocessor"></span> 00020 <span class="preprocessor"></span>
00021 <span class="preprocessor">#include "Instrmnt.h"</span> 00021 <span class="preprocessor">#include "Instrmnt.h"</span>
00022 <span class="preprocessor">#include "WvIn.h"</span> 00022 <span class="preprocessor">#include "WvIn.h"</span>
00023 <span class="preprocessor">#include "OnePole.h"</span> 00023 <span class="preprocessor">#include "OnePole.h"</span>
00024 00024
00025 <span class="preprocessor">#define DRUM_NUMWAVES 11</span> 00025 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_NUMWAVES = 11;
00026 <span class="preprocessor"></span><span class="preprocessor">#define DRUM_POLYPHONY 4</span> 00026 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_POLYPHONY = 4;
00027 <span class="preprocessor"></span> 00027
<a name="l00028"></a><a class="code" href="classDrummer.html">00028</a> <span class="keyword">class </span><a class="code" href="classDrummer.html">Drummer</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00028"></a><a class="code" href="classDrummer.html">00028</a> <span class="keyword">class </span><a class="code" href="classDrummer.html">Drummer</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00029 { 00029 {
00030 <span class="keyword">public</span>: 00030 <span class="keyword">public</span>:
00032 <a class="code" href="classDrummer.html#a0">Drummer</a>(); 00032
00033 00035 <a class="code" href="classDrummer.html#a0">Drummer</a>();
00035 <a class="code" href="classDrummer.html#a1">~Drummer</a>();
00036 00036
00038 00038 <a class="code" href="classDrummer.html#a1">~Drummer</a>();
00043 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a2">noteOn</a>(MY_FLOAT instrument, MY_FLOAT amplitude); 00039
00044 00041
00046 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a3">noteOff</a>(MY_FLOAT amplitude); 00047 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a2">noteOn</a>(StkFloat instrument, StkFloat amplitude);
00047 00048
00049 MY_FLOAT <a class="code" href="classDrummer.html#a4">tick</a>(); 00050 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a3">noteOff</a>(StkFloat amplitude);
00050 00051
00051 <span class="keyword">protected</span>: 00053 StkFloat <a class="code" href="classDrummer.html#a4">tick</a>();
00052 <a class="code" href="classWvIn.html">WvIn</a> *waves[DRUM_POLYPHONY]; 00054
00053 <a class="code" href="classOnePole.html">OnePole</a> *filters[DRUM_POLYPHONY]; 00056 StkFloat *<a class="code" href="classDrummer.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00054 <span class="keywordtype">int</span> sounding[DRUM_POLYPHONY]; 00057
00055 <span class="keywordtype">int</span> nSounding; 00059
00056 00065 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDrummer.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00057 }; 00066
00058 00067 <span class="keyword">protected</span>:
00059 <span class="preprocessor">#endif</span> 00068 <a class="code" href="classWvIn.html">WvIn</a> *waves_[DRUM_POLYPHONY];
00069 <a class="code" href="classOnePole.html">OnePole</a> *filters_[DRUM_POLYPHONY];
00070 <span class="keywordtype">int</span> sounding_[DRUM_POLYPHONY];
00071 <span class="keywordtype">int</span> nSounding_;
00072 };
00073
00074 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,45 +12,45 @@
<h1>Echo.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Echo.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00009 <span class="comment">/***************************************************/</span> 00009 <span class="comment">/***************************************************/</span>
00010 00010
00011 <span class="preprocessor">#if !defined(__ECHO_H)</span> 00011 <span class="preprocessor">#ifndef STK_ECHO_H</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define __ECHO_H</span> 00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_ECHO_H</span>
00013 <span class="preprocessor"></span> 00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#include "Stk.h"</span> 00014 <span class="preprocessor">#include "Effect.h"</span>
00015 <span class="preprocessor">#include "Delay.h"</span> 00015 <span class="preprocessor">#include "Delay.h"</span>
00016 00016
<a name="l00017"></a><a class="code" href="classEcho.html">00017</a> <span class="keyword">class </span><a class="code" href="classEcho.html">Echo</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <a name="l00017"></a><a class="code" href="classEcho.html">00017</a> <span class="keyword">class </span><a class="code" href="classEcho.html">Echo</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00018 { 00018 {
00019 <span class="keyword">public</span>: 00019 <span class="keyword">public</span>:
00021 <a class="code" href="classEcho.html#a0">Echo</a>(MY_FLOAT longestDelay); 00021
00022 00024 <a class="code" href="classEcho.html#a0">Echo</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maximumDelay = (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>) <a class="code" href="classStk.html#e0">Stk::sampleRate</a>() );
00024 <a class="code" href="classEcho.html#a1">~Echo</a>();
00025 00025
00027 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a2">clear</a>(); 00027 <a class="code" href="classEcho.html#a1">~Echo</a>();
00028 00028
00030 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a3">setDelay</a>(MY_FLOAT delay); 00030 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a2">clear</a>();
00031 00031
00033 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a4">setEffectMix</a>(MY_FLOAT mix); 00033 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a3">setMaximumDelay</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay );
00034 00034
00036 MY_FLOAT <a class="code" href="classEcho.html#a5">lastOut</a>() <span class="keyword">const</span>; 00036 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a4">setDelay</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay );
00037 00037
00039 MY_FLOAT <a class="code" href="classEcho.html#a6">tick</a>(MY_FLOAT input); 00039 StkFloat <a class="code" href="classEcho.html#a5">tick</a>(StkFloat input);
00040 00040
00042 MY_FLOAT *<a class="code" href="classEcho.html#a6">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00042 StkFloat *<a class="code" href="classEcho.html#a5">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00043 00043
00044 <span class="keyword">protected</span>: 00045
00045 <a class="code" href="classDelay.html">Delay</a> *delayLine; 00051 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classEcho.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00046 <span class="keywordtype">long</span> length; 00052
00047 MY_FLOAT lastOutput; 00053 <span class="keyword">protected</span>:
00048 MY_FLOAT effectMix; 00054 <a class="code" href="classDelay.html">Delay</a> delayLine_;
00049 00055 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00050 }; 00056
00051 00057 };
00052 <span class="preprocessor">#endif</span> 00058
00053 <span class="preprocessor"></span> 00059 <span class="preprocessor">#endif</span>
00060 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -9,51 +9,54 @@
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.3.4 -->
<h1>Reverb.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Effect.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span> 00010 <span class="comment">/***************************************************/</span>
00011 00011
00012 <span class="preprocessor">#include "Stk.h"</span> 00012 <span class="preprocessor">#include "Stk.h"</span>
00013 00013
00014 <span class="preprocessor">#if !defined(__REVERB_H)</span> 00014 <span class="preprocessor">#ifndef STK_EFFECT_H</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define __REVERB_H</span> 00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_EFFECT_H</span>
00016 <span class="preprocessor"></span> 00016 <span class="preprocessor"></span>
<a name="l00017"></a><a class="code" href="classReverb.html">00017</a> <span class="keyword">class </span><a class="code" href="classReverb.html">Reverb</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <a name="l00017"></a><a class="code" href="classEffect.html">00017</a> <span class="keyword">class </span><a class="code" href="classEffect.html">Effect</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00018 { 00018 {
00019 <span class="keyword">public</span>: 00019 <span class="keyword">public</span>:
00021 <a class="code" href="classReverb.html#a0">Reverb</a>(); 00021 <a class="code" href="classEffect.html#a0">Effect</a>();
00022 00022
00024 <span class="keyword">virtual</span> <a class="code" href="classReverb.html#a1">~Reverb</a>(); 00024 <span class="keyword">virtual</span> <a class="code" href="classEffect.html#a1">~Effect</a>();
00025 00025
00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classReverb.html#a2">clear</a>() = 0; 00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a2">clear</a>() = 0;
00028 00028
00030 <span class="keywordtype">void</span> <a class="code" href="classReverb.html#a3">setEffectMix</a>(MY_FLOAT mix); 00030 <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a3">setEffectMix</a>(StkFloat mix);
00031 00031
00033 MY_FLOAT <a class="code" href="classReverb.html#a4">lastOut</a>() <span class="keyword">const</span>; 00033 StkFloat <a class="code" href="classEffect.html#a4">lastOut</a>() <span class="keyword">const</span>;
00034 00034
00036 MY_FLOAT <a class="code" href="classReverb.html#a5">lastOutLeft</a>() <span class="keyword">const</span>; 00036 StkFloat <a class="code" href="classEffect.html#a5">lastOutLeft</a>() <span class="keyword">const</span>;
00037 00037
00039 MY_FLOAT <a class="code" href="classReverb.html#a6">lastOutRight</a>() <span class="keyword">const</span>; 00039 StkFloat <a class="code" href="classEffect.html#a6">lastOutRight</a>() <span class="keyword">const</span>;
00040 00040
00042 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classReverb.html#a7">tick</a>(MY_FLOAT input) = 0; 00042 <span class="keyword">virtual</span> StkFloat <a class="code" href="classEffect.html#a7">tick</a>( StkFloat input ) = 0;
00043 00043
00045 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classReverb.html#a7">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00045 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classEffect.html#a7">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00046 00046
00047 <span class="keyword">protected</span>:
00048 00048
00049 <span class="comment">// Returns true if argument value is prime.</span> 00054 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classEffect.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00050 <span class="keywordtype">bool</span> isPrime(<span class="keywordtype">int</span> number); 00055
00051 00056 <span class="keyword">protected</span>:
00052 MY_FLOAT lastOutput[2]; 00057
00053 MY_FLOAT effectMix; 00058 <span class="comment">// Returns true if argument value is prime.</span>
00054 00059 <span class="keywordtype">bool</span> isPrime( <span class="keywordtype">int</span> number );
00055 }; 00060
00056 00061 StkFloat lastOutput_[2];
00057 <span class="preprocessor">#endif // defined(__REVERB_H)</span> 00062 StkFloat effectMix_;
00058 <span class="preprocessor"></span> 00063
00064 };
00065
00066 <span class="preprocessor">#endif</span>
00067 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,12 +12,12 @@
<h1>Envelope.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Envelope.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00014 <span class="comment">/***************************************************/</span> 00014 <span class="comment">/***************************************************/</span>
00015 00015
00016 <span class="preprocessor">#if !defined(__ENVELOPE_H)</span> 00016 <span class="preprocessor">#ifndef STK_ENVELOPE_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define __ENVELOPE_H</span> 00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_ENVELOPE_H</span>
00018 <span class="preprocessor"></span> 00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "Stk.h"</span> 00019 <span class="preprocessor">#include "Generator.h"</span>
00020 00020
<a name="l00021"></a><a class="code" href="classEnvelope.html">00021</a> <span class="keyword">class </span><a class="code" href="classEnvelope.html">Envelope</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <a name="l00021"></a><a class="code" href="classEnvelope.html">00021</a> <span class="keyword">class </span><a class="code" href="classEnvelope.html">Envelope</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00022 { 00022 {
00023 <span class="keyword">public</span>: 00023 <span class="keyword">public</span>:
00024 00024
@@ -29,34 +29,35 @@
00033 00033
00035 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a3">keyOff</a>(<span class="keywordtype">void</span>); 00035 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
00036 00036
00038 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a4">setRate</a>(MY_FLOAT aRate); 00038 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a4">setRate</a>(StkFloat rate);
00039 00039
00041 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a5">setTime</a>(MY_FLOAT aTime); 00041 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a5">setTime</a>(StkFloat time);
00042 00042
00044 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a6">setTarget</a>(MY_FLOAT aTarget); 00044 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a6">setTarget</a>(StkFloat target);
00045 00045
00047 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a7">setValue</a>(MY_FLOAT aValue); 00047 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a7">setValue</a>(StkFloat value);
00048 00048
00050 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classEnvelope.html#a8">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00050 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classEnvelope.html#a8">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00051 00051
00053 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classEnvelope.html#a9">tick</a>(<span class="keywordtype">void</span>); 00053 <span class="keyword">virtual</span> StkFloat <a class="code" href="classEnvelope.html#a9">tick</a>(<span class="keywordtype">void</span>);
00054 00054
00056 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classEnvelope.html#a9">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00056 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classEnvelope.html#a9">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00057 00057
00059 MY_FLOAT <a class="code" href="classEnvelope.html#a11">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00059
00060 00065 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classEnvelope.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00061 <span class="keyword">protected</span>: 00066
00062 MY_FLOAT value; 00067 <span class="keyword">protected</span>:
00063 MY_FLOAT target; 00068 StkFloat value_;
00064 MY_FLOAT rate; 00069 StkFloat target_;
00065 <span class="keywordtype">int</span> state; 00070 StkFloat rate_;
00066 }; 00071 <span class="keywordtype">int</span> state_;
00067 00072 };
00068 <span class="preprocessor">#endif</span> 00073
00074 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,37 +12,43 @@
<h1>FMVoices.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>FMVoices.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span> 00031 <span class="comment">/***************************************************/</span>
00032 00032
00033 <span class="preprocessor">#if !defined(__FMVOICES_H)</span> 00033 <span class="preprocessor">#ifndef STK_FMVOICES_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define __FMVOICES_H</span> 00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_FMVOICES_H</span>
00035 <span class="preprocessor"></span> 00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span> 00036 <span class="preprocessor">#include "FM.h"</span>
00037 00037
<a name="l00038"></a><a class="code" href="classFMVoices.html">00038</a> <span class="keyword">class </span><a class="code" href="classFMVoices.html">FMVoices</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <a name="l00038"></a><a class="code" href="classFMVoices.html">00038</a> <span class="keyword">class </span><a class="code" href="classFMVoices.html">FMVoices</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 { 00039 {
00040 <span class="keyword">public</span>: 00040 <span class="keyword">public</span>:
00042 <a class="code" href="classFMVoices.html#a0">FMVoices</a>(); 00042
00043 00045 <a class="code" href="classFMVoices.html#a0">FMVoices</a>();
00045 <a class="code" href="classFMVoices.html#a1">~FMVoices</a>();
00046 00046
00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a2">setFrequency</a>(MY_FLOAT frequency); 00048 <a class="code" href="classFMVoices.html#a1">~FMVoices</a>();
00049 00049
00051 <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a2">setFrequency</a>(StkFloat frequency);
00052 00052
00054 MY_FLOAT <a class="code" href="classFMVoices.html#a4">tick</a>(); 00054 <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055 00055
00057 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a5">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00057 StkFloat <a class="code" href="classFMVoices.html#a4">tick</a>();
00058 00058
00059 <span class="keyword">protected</span>: 00060 StkFloat *<a class="code" href="classFMVoices.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00060 <span class="keywordtype">int</span> currentVowel; 00061
00061 MY_FLOAT tilt[3]; 00063
00062 MY_FLOAT mods[3]; 00069 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFMVoices.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00063 }; 00070
00064 00072 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00065 <span class="preprocessor">#endif</span> 00073
00074 <span class="keyword">protected</span>:
00075 <span class="keywordtype">int</span> currentVowel_;
00076 StkFloat tilt_[3];
00077 StkFloat mods_[3];
00078 };
00079
00080 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>FM.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>FM.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00024 <span class="comment">/***************************************************/</span> 00024 <span class="comment">/***************************************************/</span>
00025 00025
00026 <span class="preprocessor">#if !defined(__FM_H)</span> 00026 <span class="preprocessor">#ifndef STK_FM_H</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define __FM_H</span> 00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_FM_H</span>
00028 <span class="preprocessor"></span> 00028 <span class="preprocessor"></span>
00029 <span class="preprocessor">#include "Instrmnt.h"</span> 00029 <span class="preprocessor">#include "Instrmnt.h"</span>
00030 <span class="preprocessor">#include "ADSR.h"</span> 00030 <span class="preprocessor">#include "ADSR.h"</span>
@@ -23,61 +23,67 @@
<a name="l00034"></a><a class="code" href="classFM.html">00034</a> <span class="keyword">class </span><a class="code" href="classFM.html">FM</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00034"></a><a class="code" href="classFM.html">00034</a> <span class="keyword">class </span><a class="code" href="classFM.html">FM</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00035 { 00035 {
00036 <span class="keyword">public</span>: 00036 <span class="keyword">public</span>:
00038 <a class="code" href="classFM.html#a0">FM</a>( <span class="keywordtype">int</span> operators = 4 ); 00038
00039 00041 <a class="code" href="classFM.html#a0">FM</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> operators = 4 );
00041 <span class="keyword">virtual</span> <a class="code" href="classFM.html#a1">~FM</a>();
00042 00042
00044 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a2">clear</a>(); 00044 <span class="keyword">virtual</span> <a class="code" href="classFM.html#a1">~FM</a>();
00045 00045
00047 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a3">loadWaves</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> **filenames); 00047 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a2">clear</a>();
00048 00048
00050 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a4">setFrequency</a>(MY_FLOAT frequency); 00050 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a3">loadWaves</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> **filenames);
00051 00051
00053 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a5">setRatio</a>(<span class="keywordtype">int</span> waveIndex, MY_FLOAT ratio); 00053 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a4">setFrequency</a>(StkFloat frequency);
00054 00054
00056 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a6">setGain</a>(<span class="keywordtype">int</span> waveIndex, MY_FLOAT gain); 00056 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a5">setRatio</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> waveIndex, StkFloat ratio);
00057 00057
00059 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a7">setModulationSpeed</a>(MY_FLOAT mSpeed); 00059 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a6">setGain</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> waveIndex, StkFloat gain);
00060 00060
00062 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a8">setModulationDepth</a>(MY_FLOAT mDepth); 00062 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a7">setModulationSpeed</a>(StkFloat mSpeed);
00063 00063
00065 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a9">setControl1</a>(MY_FLOAT cVal); 00065 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a8">setModulationDepth</a>(StkFloat mDepth);
00066 00066
00068 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a10">setControl2</a>(MY_FLOAT cVal); 00068 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a9">setControl1</a>(StkFloat cVal);
00069 00069
00071 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a11">keyOn</a>(); 00071 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a10">setControl2</a>(StkFloat cVal);
00072 00072
00074 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a12">keyOff</a>(); 00074 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a11">keyOn</a>();
00075 00075
00077 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a13">noteOff</a>(MY_FLOAT amplitude); 00077 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a12">keyOff</a>();
00078 00078
00080 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFM.html#a14">tick</a>() = 0; 00080 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a13">noteOff</a>(StkFloat amplitude);
00081 00081
00083 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a15">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00083 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFM.html#a14">tick</a>() = 0;
00084 00084
00085 <span class="keyword">protected</span>: 00086 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classFM.html#a14">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize) = 0;
00086 <a class="code" href="classADSR.html">ADSR</a> **adsr; 00087
00087 <a class="code" href="classWaveLoop.html">WaveLoop</a> **waves; 00089
00088 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato; 00095 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFM.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 ) = 0;
00089 <a class="code" href="classTwoZero.html">TwoZero</a> *twozero; 00096
00090 <span class="keywordtype">int</span> nOperators; 00098 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a17">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00091 MY_FLOAT baseFrequency; 00099
00092 MY_FLOAT *ratios; 00100 <span class="keyword">protected</span>:
00093 MY_FLOAT *gains; 00101 std::vector&lt;ADSR *&gt; adsr_;
00094 MY_FLOAT modDepth; 00102 std::vector&lt;WaveLoop *&gt; waves_;
00095 MY_FLOAT control1; 00103 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00096 MY_FLOAT control2; 00104 <a class="code" href="classTwoZero.html">TwoZero</a> twozero_;
00097 MY_FLOAT __FM_gains[100]; 00105 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nOperators_;
00098 MY_FLOAT __FM_susLevels[16]; 00106 StkFloat baseFrequency_;
00099 MY_FLOAT __FM_attTimes[32]; 00107 std::vector&lt;StkFloat&gt; ratios_;
00100 00108 std::vector&lt;StkFloat&gt; gains_;
00101 }; 00109 StkFloat modDepth_;
00102 00110 StkFloat control1_;
00103 <span class="preprocessor">#endif</span> 00111 StkFloat control2_;
00112 StkFloat fmGains_[100];
00113 StkFloat fmSusLevels_[16];
00114 StkFloat fmAttTimes_[32];
00115
00116 };
00117
00118 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,59 +12,62 @@
<h1>Filter.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Filter.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00028 <span class="comment">/***************************************************/</span> 00028 <span class="comment">/***************************************************/</span>
00029 00029
00030 <span class="preprocessor">#if !defined(__FILTER_H)</span> 00030 <span class="preprocessor">#ifndef STK_FILTER_H</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define __FILTER_H</span> 00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_FILTER_H</span>
00032 <span class="preprocessor"></span> 00032 <span class="preprocessor"></span>
00033 <span class="preprocessor">#include "Stk.h"</span> 00033 <span class="preprocessor">#include "Stk.h"</span>
00034 00034 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00035"></a><a class="code" href="classFilter.html">00035</a> <span class="keyword">class </span><a class="code" href="classFilter.html">Filter</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> 00035 <span class="preprocessor">#include &lt;valarray&gt;</span>
00036 { 00036
00037 <span class="keyword">public</span>: <a name="l00037"></a><a class="code" href="classFilter.html">00037</a> <span class="keyword">class </span><a class="code" href="classFilter.html">Filter</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00039 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">void</span>); 00038 {
00040 00039 <span class="keyword">public</span>:
00041 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">void</span>);
00042 00042
00046 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">int</span> nb, MY_FLOAT *bCoefficients, <span class="keywordtype">int</span> na, MY_FLOAT *aCoefficients); 00044
00047 00048 <a class="code" href="classFilter.html#a0">Filter</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, std::vector&lt;StkFloat&gt; &amp;aCoefficients );
00049 <span class="keyword">virtual</span> <a class="code" href="classFilter.html#a2">~Filter</a>(<span class="keywordtype">void</span>); 00049
00050 00051 <span class="keyword">virtual</span> <a class="code" href="classFilter.html#a2">~Filter</a>(<span class="keywordtype">void</span>);
00052 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a3">clear</a>(<span class="keywordtype">void</span>); 00052
00053 00054 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a3">clear</a>(<span class="keywordtype">void</span>);
00055 00055
00060 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a4">setCoefficients</a>(<span class="keywordtype">int</span> nb, MY_FLOAT *bCoefficients, <span class="keywordtype">int</span> na, MY_FLOAT *aCoefficients); 00057
00061 00063 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a4">setCoefficients</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, std::vector&lt;StkFloat&gt; &amp;aCoefficients );
00063 00064
00069 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a5">setNumerator</a>(<span class="keywordtype">int</span> nb, MY_FLOAT *bCoefficients); 00066
00070 00073 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a5">setNumerator</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients );
00072 00074
00080 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a6">setDenominator</a>(<span class="keywordtype">int</span> na, MY_FLOAT *aCoefficients); 00076
00081 00084 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a6">setDenominator</a>( std::vector&lt;StkFloat&gt; &amp;aCoefficients );
00083 00085
00087 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a7">setGain</a>(MY_FLOAT theGain); 00087
00088 00091 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a7">setGain</a>(StkFloat gain);
00090 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFilter.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00092
00091 00094 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00093 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFilter.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00095
00094 00097 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00096 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT sample); 00098
00097 00100 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a10">tick</a>(StkFloat sample);
00099 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00101
00100 00103 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classFilter.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00101 <span class="keyword">protected</span>: 00104
00102 MY_FLOAT gain; 00106
00103 <span class="keywordtype">int</span> nB; 00112 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFilter.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00104 <span class="keywordtype">int</span> nA; 00113
00105 MY_FLOAT *b; 00114 <span class="keyword">protected</span>:
00106 MY_FLOAT *a; 00115 StkFloat gain_;
00107 MY_FLOAT *outputs; 00116 std::vector&lt;StkFloat&gt; b_;
00108 MY_FLOAT *inputs; 00117 std::vector&lt;StkFloat&gt; a_;
00109 00118 std::vector&lt;StkFloat&gt; outputs_;
00110 }; 00119 std::vector&lt;StkFloat&gt; inputs_;
00111 00120
00112 <span class="preprocessor">#endif</span> 00121 };
00122
00123 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,11 +12,11 @@
<h1>Flute.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Flute.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span> 00023 <span class="comment">/***************************************************/</span>
00024 00024
00025 <span class="preprocessor">#if !defined(__FLUTE_H)</span> 00025 <span class="preprocessor">#ifndef STK_FLUTE_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define __FLUTE_H</span> 00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_FLUTE_H</span>
00027 <span class="preprocessor"></span> 00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Instrmnt.h"</span> 00028 <span class="preprocessor">#include "Instrmnt.h"</span>
00029 <span class="preprocessor">#include "JetTabl.h"</span> 00029 <span class="preprocessor">#include "JetTable.h"</span>
00030 <span class="preprocessor">#include "DelayL.h"</span> 00030 <span class="preprocessor">#include "DelayL.h"</span>
00031 <span class="preprocessor">#include "OnePole.h"</span> 00031 <span class="preprocessor">#include "OnePole.h"</span>
00032 <span class="preprocessor">#include "PoleZero.h"</span> 00032 <span class="preprocessor">#include "PoleZero.h"</span>
@@ -27,58 +27,64 @@
<a name="l00037"></a><a class="code" href="classFlute.html">00037</a> <span class="keyword">class </span><a class="code" href="classFlute.html">Flute</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00037"></a><a class="code" href="classFlute.html">00037</a> <span class="keyword">class </span><a class="code" href="classFlute.html">Flute</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00038 { 00038 {
00039 <span class="keyword">public</span>: 00039 <span class="keyword">public</span>:
00041 <a class="code" href="classFlute.html#a0">Flute</a>(MY_FLOAT lowestFrequency); 00041
00042 00044 <a class="code" href="classFlute.html#a0">Flute</a>(StkFloat lowestFrequency);
00044 <a class="code" href="classFlute.html#a1">~Flute</a>();
00045 00045
00047 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a2">clear</a>(); 00047 <a class="code" href="classFlute.html#a1">~Flute</a>();
00048 00048
00050 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a3">setFrequency</a>(MY_FLOAT frequency); 00050 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a2">clear</a>();
00051 00051
00053 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a4">setJetReflection</a>(MY_FLOAT coefficient); 00053 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a3">setFrequency</a>(StkFloat frequency);
00054 00054
00056 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a5">setEndReflection</a>(MY_FLOAT coefficient); 00056 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a4">setJetReflection</a>(StkFloat coefficient);
00057 00057
00059 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a6">setJetDelay</a>(MY_FLOAT aRatio); 00059 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a5">setEndReflection</a>(StkFloat coefficient);
00060 00060
00062 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a7">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate); 00062 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a6">setJetDelay</a>(StkFloat aRatio);
00063 00063
00065 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a8">stopBlowing</a>(MY_FLOAT rate); 00065 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a7">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00066 00066
00068 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a9">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00068 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a8">stopBlowing</a>(StkFloat rate);
00069 00069
00071 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a10">noteOff</a>(MY_FLOAT amplitude); 00071 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a9">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00072 00072
00074 MY_FLOAT <a class="code" href="classFlute.html#a11">tick</a>(); 00074 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a10">noteOff</a>(StkFloat amplitude);
00075 00075
00077 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00077 StkFloat <a class="code" href="classFlute.html#a11">tick</a>();
00078 00078
00079 <span class="keyword">protected</span>: 00080 StkFloat *<a class="code" href="classFlute.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00080 <a class="code" href="classDelayL.html">DelayL</a> *jetDelay; 00081
00081 <a class="code" href="classDelayL.html">DelayL</a> *boreDelay; 00083
00082 <a class="code" href="classJetTabl.html">JetTabl</a> *jetTable; 00089 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFlute.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00083 <a class="code" href="classOnePole.html">OnePole</a> *filter; 00090
00084 <a class="code" href="classPoleZero.html">PoleZero</a> *dcBlock; 00092 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00085 <a class="code" href="classNoise.html">Noise</a> *noise; 00093
00086 <a class="code" href="classADSR.html">ADSR</a> *adsr; 00094 <span class="keyword">protected</span>:
00087 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato; 00095 <a class="code" href="classDelayL.html">DelayL</a> jetDelay_;
00088 <span class="keywordtype">long</span> length; 00096 <a class="code" href="classDelayL.html">DelayL</a> boreDelay_;
00089 MY_FLOAT lastFrequency; 00097 <a class="code" href="classJetTable.html">JetTable</a> jetTable_;
00090 MY_FLOAT maxPressure; 00098 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00091 MY_FLOAT jetReflection; 00099 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
00092 MY_FLOAT endReflection; 00100 <a class="code" href="classNoise.html">Noise</a> noise_;
00093 MY_FLOAT noiseGain; 00101 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00094 MY_FLOAT vibratoGain; 00102 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00095 MY_FLOAT outputGain; 00103 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00096 MY_FLOAT jetRatio; 00104 StkFloat lastFrequency_;
00097 00105 StkFloat maxPressure_;
00098 }; 00106 StkFloat jetReflection_;
00099 00107 StkFloat endReflection_;
00100 <span class="preprocessor">#endif</span> 00108 StkFloat noiseGain_;
00109 StkFloat vibratoGain_;
00110 StkFloat outputGain_;
00111 StkFloat jetRatio_;
00112
00113 };
00114
00115 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>FormSwep.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>FormSwep.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span> 00013 <span class="comment">/***************************************************/</span>
00014 00014
00015 <span class="preprocessor">#if !defined(__FORMSWEP_H)</span> 00015 <span class="preprocessor">#ifndef STK_FORMSWEP_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __FORMSWEP_H</span> 00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FORMSWEP_H</span>
00017 <span class="preprocessor"></span> 00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "BiQuad.h"</span> 00018 <span class="preprocessor">#include "BiQuad.h"</span>
00019 00019
@@ -26,45 +26,48 @@
00028 <a class="code" href="classFormSwep.html#a1">~FormSwep</a>(); 00028 <a class="code" href="classFormSwep.html#a1">~FormSwep</a>();
00029 00029
00031 00031
00042 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a2">setResonance</a>(MY_FLOAT aFrequency, MY_FLOAT aRadius); 00042 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a2">setResonance</a>(StkFloat frequency, StkFloat radius);
00043 00043
00045 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a3">setStates</a>(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain = 1.0); 00045 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a3">setStates</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
00046 00046
00048 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a4">setTargets</a>(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain = 1.0); 00048 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a4">setTargets</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
00049 00049
00051 00051
00059 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a5">setSweepRate</a>(MY_FLOAT aRate); 00059 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a5">setSweepRate</a>(StkFloat rate);
00060 00060
00062 00062
00067 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a6">setSweepTime</a>(MY_FLOAT aTime); 00067 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a6">setSweepTime</a>(StkFloat time);
00068 00068
00070 MY_FLOAT <a class="code" href="classFormSwep.html#a7">tick</a>(MY_FLOAT sample); 00070 StkFloat <a class="code" href="classFormSwep.html#a7">tick</a>(StkFloat sample);
00071 00071
00073 MY_FLOAT *<a class="code" href="classFormSwep.html#a7">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00073 StkFloat *<a class="code" href="classFormSwep.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00074 00074
00075 <span class="keyword">protected</span>: 00076
00076 <span class="keywordtype">bool</span> dirty; 00082 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFormSwep.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00077 MY_FLOAT frequency; 00083
00078 MY_FLOAT radius; 00084 <span class="keyword">protected</span>:
00079 MY_FLOAT startFrequency; 00085 <span class="keywordtype">bool</span> dirty_;
00080 MY_FLOAT startRadius; 00086 StkFloat frequency_;
00081 MY_FLOAT startGain; 00087 StkFloat radius_;
00082 MY_FLOAT targetFrequency; 00088 StkFloat startFrequency_;
00083 MY_FLOAT targetRadius; 00089 StkFloat startRadius_;
00084 MY_FLOAT targetGain; 00090 StkFloat startGain_;
00085 MY_FLOAT deltaFrequency; 00091 StkFloat targetFrequency_;
00086 MY_FLOAT deltaRadius; 00092 StkFloat targetRadius_;
00087 MY_FLOAT deltaGain; 00093 StkFloat targetGain_;
00088 MY_FLOAT sweepState; 00094 StkFloat deltaFrequency_;
00089 MY_FLOAT sweepRate; 00095 StkFloat deltaRadius_;
00090 00096 StkFloat deltaGain_;
00091 }; 00097 StkFloat sweepState_;
00092 00098 StkFloat sweepRate_;
00093 <span class="preprocessor">#endif</span> 00099
00100 };
00101
00102 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -0,0 +1,52 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>Function.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span>
00012
00013 <span class="preprocessor">#include "Stk.h"</span>
00014
00015 <span class="preprocessor">#ifndef STK_FUNCTION_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FUNCTION_H</span>
00017 <span class="preprocessor"></span>
<a name="l00018"></a><a class="code" href="classFunction.html">00018</a> <span class="keyword">class </span><a class="code" href="classFunction.html">Function</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00019 {
00020 <span class="keyword">public</span>:
00022 <a class="code" href="classFunction.html#a0">Function</a>();
00023
00025 <span class="keyword">virtual</span> <a class="code" href="classFunction.html#a1">~Function</a>();
00026
<a name="l00028"></a><a class="code" href="classFunction.html#a2">00028</a> <span class="keyword">virtual</span> StkFloat <a class="code" href="classFunction.html#a2">lastOut</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutput_; };
00029
00031 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFunction.html#a3">tick</a>( StkFloat input ) = 0;
00032
00034 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classFunction.html#a3">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00035
00037
00043 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFunction.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00044
00045 <span class="keyword">protected</span>:
00046
00047 StkFloat lastOutput_;
00048
00049 };
00050
00051 <span class="preprocessor">#endif</span>
00052 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,52 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>Generator.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_GENERATOR_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_GENERATOR_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span>
00016
<a name="l00017"></a><a class="code" href="classGenerator.html">00017</a> <span class="keyword">class </span><a class="code" href="classGenerator.html">Generator</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classGenerator.html#a0">Generator</a>();
00022
00024 <span class="keyword">virtual</span> <a class="code" href="classGenerator.html#a1">~Generator</a>();
00025
<a name="l00027"></a><a class="code" href="classGenerator.html#a2">00027</a> <span class="keyword">virtual</span> StkFloat <a class="code" href="classGenerator.html#a2">lastOut</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutput_; };
00028
00030 <span class="keyword">virtual</span> StkFloat <a class="code" href="classGenerator.html#a3">tick</a>( <span class="keywordtype">void</span> ) = 0;
00031
00033 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classGenerator.html#a3">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00034
00036
00042 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classGenerator.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00043
00044 <span class="keyword">protected</span>:
00045
00046 StkFloat lastOutput_;
00047
00048 };
00049
00050 <span class="preprocessor">#endif</span>
00051 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -12,28 +12,34 @@
<h1>HevyMetl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>HevyMetl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00029 <span class="comment">/***************************************************/</span> 00029 <span class="comment">/***************************************************/</span>
00030 00030
00031 <span class="preprocessor">#if !defined(__HEVYMETL_H)</span> 00031 <span class="preprocessor">#ifndef STK_HEVYMETL_H</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define __HEVYMETL_H</span> 00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_HEVYMETL_H</span>
00033 <span class="preprocessor"></span> 00033 <span class="preprocessor"></span>
00034 <span class="preprocessor">#include "FM.h"</span> 00034 <span class="preprocessor">#include "FM.h"</span>
00035 00035
<a name="l00036"></a><a class="code" href="classHevyMetl.html">00036</a> <span class="keyword">class </span><a class="code" href="classHevyMetl.html">HevyMetl</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <a name="l00036"></a><a class="code" href="classHevyMetl.html">00036</a> <span class="keyword">class </span><a class="code" href="classHevyMetl.html">HevyMetl</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00037 { 00037 {
00038 <span class="keyword">public</span>: 00038 <span class="keyword">public</span>:
00040 <a class="code" href="classHevyMetl.html#a0">HevyMetl</a>(); 00040
00041 00043 <a class="code" href="classHevyMetl.html#a0">HevyMetl</a>();
00043 <a class="code" href="classHevyMetl.html#a1">~HevyMetl</a>();
00044 00044
00046 <span class="keywordtype">void</span> <a class="code" href="classHevyMetl.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00046 <a class="code" href="classHevyMetl.html#a1">~HevyMetl</a>();
00047 00047
00049 MY_FLOAT <a class="code" href="classHevyMetl.html#a3">tick</a>(); 00049 <span class="keywordtype">void</span> <a class="code" href="classHevyMetl.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00050 }; 00050
00051 00052 StkFloat <a class="code" href="classHevyMetl.html#a3">tick</a>();
00052 <span class="preprocessor">#endif</span> 00053
00055 StkFloat *<a class="code" href="classHevyMetl.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00056
00058
00064 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classHevyMetl.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00065 };
00066
00067 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,47 +12,49 @@
<h1>Instrmnt.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Instrmnt.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span> 00010 <span class="comment">/***************************************************/</span>
00011 00011
00012 <span class="preprocessor">#if !defined(__INSTRMNT_H)</span> 00012 <span class="preprocessor">#ifndef STK_INSTRMNT_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define __INSTRMNT_H</span> 00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_INSTRMNT_H</span>
00014 <span class="preprocessor"></span> 00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span> 00015 <span class="preprocessor">#include "Stk.h"</span>
00016 <span class="preprocessor">#include &lt;iostream&gt;</span> 00016
00017 <a name="l00017"></a><a class="code" href="classInstrmnt.html">00017</a> <span class="keyword">class </span><a class="code" href="classInstrmnt.html">Instrmnt</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
<a name="l00018"></a><a class="code" href="classInstrmnt.html">00018</a> <span class="keyword">class </span><a class="code" href="classInstrmnt.html">Instrmnt</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> 00018 {
00019 { 00019 <span class="keyword">public</span>:
00020 <span class="keyword">public</span>: 00021 <a class="code" href="classInstrmnt.html#a0">Instrmnt</a>();
00022 <a class="code" href="classInstrmnt.html#a0">Instrmnt</a>(); 00022
00023 00024 <span class="keyword">virtual</span> <a class="code" href="classInstrmnt.html#a1">~Instrmnt</a>();
00025 <span class="keyword">virtual</span> <a class="code" href="classInstrmnt.html#a1">~Instrmnt</a>(); 00025
00026 00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude) = 0;
00028 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude) = 0; 00028
00029 00030 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(StkFloat amplitude) = 0;
00031 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude) = 0; 00031
00032 00033 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(StkFloat frequency);
00034 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency); 00034
00035 00036 StkFloat <a class="code" href="classInstrmnt.html#a5">lastOut</a>() <span class="keyword">const</span>;
00037 MY_FLOAT <a class="code" href="classInstrmnt.html#a5">lastOut</a>() <span class="keyword">const</span>; 00037
00038 00039 StkFloat <a class="code" href="classInstrmnt.html#a6">lastOutLeft</a>() <span class="keyword">const</span>;
00040 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">lastOutLeft</a>() <span class="keyword">const</span>; 00040
00041 00042 StkFloat <a class="code" href="classInstrmnt.html#a7">lastOutRight</a>() <span class="keyword">const</span>;
00043 MY_FLOAT <a class="code" href="classInstrmnt.html#a7">lastOutRight</a>() <span class="keyword">const</span>; 00043
00044 00045 <span class="keyword">virtual</span> StkFloat <a class="code" href="classInstrmnt.html#a8">tick</a>() = 0;
00046 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classInstrmnt.html#a8">tick</a>() = 0; 00046
00047 00048 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classInstrmnt.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00049 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classInstrmnt.html#a8">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00049
00050 00051
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00057 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classInstrmnt.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00053
00054 <span class="keyword">protected</span>:
00055 MY_FLOAT lastOutput;
00056
00057 };
00058 00058
00059 <span class="preprocessor">#endif</span> 00060 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00061
00062 <span class="keyword">protected</span>:
00063 StkFloat lastOutput_;
00064
00065 };
00066
00067 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,39 +12,46 @@
<h1>JCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>JCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00015 <span class="comment">/***************************************************/</span> 00015 <span class="comment">/***************************************************/</span>
00016 00016
00017 <span class="preprocessor">#if !defined(__JCREV_H)</span> 00017 <span class="preprocessor">#ifndef STK_JCREV_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define __JCREV_H</span> 00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_JCREV_H</span>
00019 <span class="preprocessor"></span> 00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "Reverb.h"</span> 00020 <span class="preprocessor">#include "Effect.h"</span>
00021 <span class="preprocessor">#include "Delay.h"</span> 00021 <span class="preprocessor">#include "Delay.h"</span>
00022 00022
<a name="l00023"></a><a class="code" href="classJCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classJCRev.html">JCRev</a> : <span class="keyword">public</span> <a class="code" href="classReverb.html">Reverb</a> <a name="l00023"></a><a class="code" href="classJCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classJCRev.html">JCRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00024 { 00024 {
00025 <span class="keyword">public</span>: 00025 <span class="keyword">public</span>:
00027 <a class="code" href="classJCRev.html#a0">JCRev</a>(MY_FLOAT T60); 00027 <a class="code" href="classJCRev.html#a0">JCRev</a>( StkFloat T60 = 1.0 );
00028 00028
00030 <a class="code" href="classJCRev.html#a1">~JCRev</a>(); 00030 <a class="code" href="classJCRev.html#a1">~JCRev</a>();
00031 00031
00033 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a2">clear</a>(); 00033 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a2">clear</a>();
00034 00034
00036 MY_FLOAT <a class="code" href="classJCRev.html#a3">tick</a>(MY_FLOAT input); 00036 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a3">setT60</a>( StkFloat T60 );
00037 00037
00038 <span class="keyword">protected</span>: 00039 StkFloat <a class="code" href="classJCRev.html#a4">tick</a>(StkFloat input);
00039 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[3]; 00040
00040 <a class="code" href="classDelay.html">Delay</a> *combDelays[4]; 00042 StkFloat *<a class="code" href="classJCRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00041 <a class="code" href="classDelay.html">Delay</a> *outLeftDelay; 00043
00042 <a class="code" href="classDelay.html">Delay</a> *outRightDelay;
00043 MY_FLOAT allpassCoefficient;
00044 MY_FLOAT combCoefficient[4];
00045 00045
00046 }; 00051 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classJCRev.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00047 00052
00048 <span class="preprocessor">#endif</span> 00053 <span class="keyword">protected</span>:
00049 <span class="preprocessor"></span> 00054 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[3];
00055 <a class="code" href="classDelay.html">Delay</a> combDelays_[4];
00056 <a class="code" href="classDelay.html">Delay</a> outLeftDelay_;
00057 <a class="code" href="classDelay.html">Delay</a> outRightDelay_;
00058 StkFloat allpassCoefficient_;
00059 StkFloat combCoefficient_[4];
00060
00061 };
00062
00063 <span class="preprocessor">#endif</span>
00064 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -1,47 +0,0 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>JetTabl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00014 <span class="comment">/***************************************************/</span>
00015
00016 <span class="preprocessor">#if !defined(__JETTABL_H)</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define __JETTABL_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "Stk.h"</span>
00020
<a name="l00021"></a><a class="code" href="classJetTabl.html">00021</a> <span class="keyword">class </span><a class="code" href="classJetTabl.html">JetTabl</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00022 {
00023 <span class="keyword">public</span>:
00025 <a class="code" href="classJetTabl.html#a0">JetTabl</a>();
00026
00028 <a class="code" href="classJetTabl.html#a1">~JetTabl</a>();
00029
00031 MY_FLOAT <a class="code" href="classJetTabl.html#a2">lastOut</a>() <span class="keyword">const</span>;
00032
00034 MY_FLOAT <a class="code" href="classJetTabl.html#a3">tick</a>(MY_FLOAT input);
00035
00037 MY_FLOAT *<a class="code" href="classJetTabl.html#a3">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00038
00039 <span class="keyword">protected</span>:
00040 MY_FLOAT lastOutput;
00041
00042 };
00043
00044 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,47 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>JetTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00014 <span class="comment">/***************************************************/</span>
00015
00016 <span class="preprocessor">#ifndef STK_JETTABL_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_JETTABL_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "Function.h"</span>
00020
<a name="l00021"></a><a class="code" href="classJetTable.html">00021</a> <span class="keyword">class </span><a class="code" href="classJetTable.html">JetTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a>
00022 {
00023 <span class="keyword">public</span>:
00025 <a class="code" href="classJetTable.html#a0">JetTable</a>();
00026
00028 <a class="code" href="classJetTable.html#a1">~JetTable</a>();
00029
00031 StkFloat <a class="code" href="classJetTable.html#a2">tick</a>(StkFloat input);
00032
00034 StkFloat *<a class="code" href="classJetTable.html#a2">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00035
00037
00043 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classJetTable.html#a2">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00044
00045 <span class="keyword">protected</span>:
00046
00047 };
00048
00049 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -12,8 +12,8 @@
<h1>Mandolin.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Mandolin.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00028 <span class="comment">/***************************************************/</span> 00028 <span class="comment">/***************************************************/</span>
00029 00029
00030 <span class="preprocessor">#if !defined(__MANDOLIN_H)</span> 00030 <span class="preprocessor">#ifndef STK_MANDOLIN_H</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define __MANDOLIN_H</span> 00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_MANDOLIN_H</span>
00032 <span class="preprocessor"></span> 00032 <span class="preprocessor"></span>
00033 <span class="preprocessor">#include "PluckTwo.h"</span> 00033 <span class="preprocessor">#include "PluckTwo.h"</span>
00034 <span class="preprocessor">#include "WvIn.h"</span> 00034 <span class="preprocessor">#include "WvIn.h"</span>
@@ -21,35 +21,39 @@
<a name="l00036"></a><a class="code" href="classMandolin.html">00036</a> <span class="keyword">class </span><a class="code" href="classMandolin.html">Mandolin</a> : <span class="keyword">public</span> <a class="code" href="classPluckTwo.html">PluckTwo</a> <a name="l00036"></a><a class="code" href="classMandolin.html">00036</a> <span class="keyword">class </span><a class="code" href="classMandolin.html">Mandolin</a> : <span class="keyword">public</span> <a class="code" href="classPluckTwo.html">PluckTwo</a>
00037 { 00037 {
00038 <span class="keyword">public</span>: 00038 <span class="keyword">public</span>:
00040 <a class="code" href="classMandolin.html#a0">Mandolin</a>(MY_FLOAT lowestFrequency); 00040 <a class="code" href="classMandolin.html#a0">Mandolin</a>(StkFloat lowestFrequency);
00041 00041
00043 <span class="keyword">virtual</span> <a class="code" href="classMandolin.html#a1">~Mandolin</a>(); 00043 <a class="code" href="classMandolin.html#a1">~Mandolin</a>();
00044 00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(MY_FLOAT amplitude); 00046 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude);
00047 00047
00049 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(MY_FLOAT amplitude,MY_FLOAT position); 00049 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude,StkFloat position);
00050 00050
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a4">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00052 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a4">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00053 00053
00055 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a5">setBodySize</a>(MY_FLOAT size); 00055 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a5">setBodySize</a>(StkFloat size);
00056 00056
00058 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classMandolin.html#a6">tick</a>(); 00058 StkFloat <a class="code" href="classMandolin.html#a6">tick</a>();
00059 00059
00061 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00061 StkFloat *<a class="code" href="classMandolin.html#a6">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00062 00062
00063 <span class="keyword">protected</span>: 00064
00064 <a class="code" href="classWvIn.html">WvIn</a> *soundfile[12]; 00070 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classMandolin.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00065 MY_FLOAT directBody; 00071
00066 <span class="keywordtype">int</span> mic; 00073 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00067 <span class="keywordtype">long</span> dampTime; 00074
00068 <span class="keywordtype">bool</span> waveDone; 00075 <span class="keyword">protected</span>:
00069 }; 00076 <a class="code" href="classWvIn.html">WvIn</a> *soundfile_[12];
00070 00077 <span class="keywordtype">int</span> mic_;
00071 <span class="preprocessor">#endif</span> 00078 <span class="keywordtype">long</span> dampTime_;
00079 <span class="keywordtype">bool</span> waveDone_;
00080 };
00081
00082 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,15 +12,15 @@
<h1>Mesh2D.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Mesh2D.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00025 <span class="comment">/***************************************************/</span> 00025 <span class="comment">/***************************************************/</span>
00026 00026
00027 <span class="preprocessor">#if !defined(__MESH2D_H)</span> 00027 <span class="preprocessor">#ifndef STK_MESH2D_H</span>
00028 <span class="preprocessor"></span><span class="preprocessor">#define __MESH2D_H</span> 00028 <span class="preprocessor"></span><span class="preprocessor">#define STK_MESH2D_H</span>
00029 <span class="preprocessor"></span> 00029 <span class="preprocessor"></span>
00030 <span class="preprocessor">#include "Instrmnt.h"</span> 00030 <span class="preprocessor">#include "Instrmnt.h"</span>
00031 <span class="preprocessor">#include "OnePole.h"</span> 00031 <span class="preprocessor">#include "OnePole.h"</span>
00032 00032
00033 <span class="preprocessor">#define NXMAX ((short)(12))</span> 00033 <span class="keyword">const</span> <span class="keywordtype">short</span> NXMAX = 12;
00034 <span class="preprocessor"></span><span class="preprocessor">#define NYMAX ((short)(12))</span> 00034 <span class="keyword">const</span> <span class="keywordtype">short</span> NYMAX = 12;
00035 <span class="preprocessor"></span> 00035
<a name="l00036"></a><a class="code" href="classMesh2D.html">00036</a> <span class="keyword">class </span><a class="code" href="classMesh2D.html">Mesh2D</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00036"></a><a class="code" href="classMesh2D.html">00036</a> <span class="keyword">class </span><a class="code" href="classMesh2D.html">Mesh2D</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00037 { 00037 {
00038 <span class="keyword">public</span>: 00038 <span class="keyword">public</span>:
@@ -34,54 +34,57 @@
00050 00050
00052 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a4">setNY</a>(<span class="keywordtype">short</span> lenY); 00052 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a4">setNY</a>(<span class="keywordtype">short</span> lenY);
00053 00053
00055 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a5">setInputPosition</a>(MY_FLOAT xFactor, MY_FLOAT yFactor); 00055 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a5">setInputPosition</a>(StkFloat xFactor, StkFloat yFactor);
00056 00056
00058 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a6">setDecay</a>(MY_FLOAT decayFactor); 00058 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a6">setDecay</a>(StkFloat decayFactor);
00059 00059
00061 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00061 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062 00062
00064 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a8">noteOff</a>(MY_FLOAT amplitude); 00064 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a8">noteOff</a>(StkFloat amplitude);
00065 00065
00067 MY_FLOAT <a class="code" href="classMesh2D.html#a9">energy</a>(); 00067 StkFloat <a class="code" href="classMesh2D.html#a9">energy</a>();
00068 00068
00070 MY_FLOAT <a class="code" href="classMesh2D.html#a10">tick</a>(); 00070 StkFloat <a class="code" href="classMesh2D.html#a10">tick</a>();
00071 00071
00073 MY_FLOAT <a class="code" href="classMesh2D.html#a10">tick</a>(MY_FLOAT input); 00073 StkFloat <a class="code" href="classMesh2D.html#a10">tick</a>(StkFloat input);
00074 00074
00076 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00076 StkFloat *<a class="code" href="classMesh2D.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00077 00077
00078 <span class="keyword">protected</span>:
00079 00079
00080 MY_FLOAT tick0(); 00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classMesh2D.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00081 MY_FLOAT tick1(); 00086
00082 <span class="keywordtype">void</span> clearMesh(); 00088 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00083 00089
00084 <span class="keywordtype">short</span> NX, NY; 00090 <span class="keyword">protected</span>:
00085 <span class="keywordtype">short</span> xInput, yInput; 00091
00086 <a class="code" href="classOnePole.html">OnePole</a> *filterX[NXMAX]; 00092 StkFloat tick0();
00087 <a class="code" href="classOnePole.html">OnePole</a> *filterY[NYMAX]; 00093 StkFloat tick1();
00088 MY_FLOAT v[NXMAX-1][NYMAX-1]; <span class="comment">// junction velocities</span> 00094 <span class="keywordtype">void</span> clearMesh();
00089 MY_FLOAT vxp[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span> 00095
00090 MY_FLOAT vxm[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span> 00096 <span class="keywordtype">short</span> NX_, NY_;
00091 MY_FLOAT vyp[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span> 00097 <span class="keywordtype">short</span> xInput_, yInput_;
00092 MY_FLOAT vym[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span> 00098 <a class="code" href="classOnePole.html">OnePole</a> filterX_[NXMAX];
00093 00099 <a class="code" href="classOnePole.html">OnePole</a> filterY_[NYMAX];
00094 <span class="comment">// Alternate buffers</span> 00100 StkFloat v_[NXMAX-1][NYMAX-1]; <span class="comment">// junction velocities</span>
00095 MY_FLOAT vxp1[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span> 00101 StkFloat vxp_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
00096 MY_FLOAT vxm1[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span> 00102 StkFloat vxm_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
00097 MY_FLOAT vyp1[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span> 00103 StkFloat vyp_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
00098 MY_FLOAT vym1[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span> 00104 StkFloat vym_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
00099 00105
00100 <span class="keywordtype">int</span> counter; <span class="comment">// time in samples</span> 00106 <span class="comment">// Alternate buffers</span>
00101 00107 StkFloat vxp1_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
00102 00108 StkFloat vxm1_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
00103 }; 00109 StkFloat vyp1_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
00104 00110 StkFloat vym1_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
00105 <span class="preprocessor">#endif</span> 00111
00112 <span class="keywordtype">int</span> counter_; <span class="comment">// time in samples</span>
00113 };
00114
00115 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -10,103 +10,96 @@
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.3.4 -->
<h1>Messager.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Messager.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00034 <span class="comment">/***************************************************/</span> 00033 <span class="comment">/***************************************************/</span>
00035 00034
00036 <span class="preprocessor">#if !defined(__MESSAGER_H)</span> 00035 <span class="preprocessor">#ifndef STK_MESSAGER_H</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define __MESSSAGER_H</span> 00036 <span class="preprocessor"></span><span class="preprocessor">#define STK_MESSAGER_H</span>
00038 <span class="preprocessor"></span> 00037 <span class="preprocessor"></span>
00039 <span class="preprocessor">#include "Stk.h"</span> 00038 <span class="preprocessor">#include "Stk.h"</span>
00040 <span class="preprocessor">#include "SKINI.h"</span> 00039 <span class="preprocessor">#include "Skini.h"</span>
00040 <span class="preprocessor">#include &lt;queue&gt;</span>
00041 00041
00042 <span class="preprocessor">#define MESSAGE_LENGTH 128</span> 00042 <span class="keyword">const</span> <span class="keywordtype">int</span> DEFAULT_QUEUE_LIMIT = 200;
00043 <span class="preprocessor"></span><span class="preprocessor">#define MAX_MESSAGES 25</span> 00043
00044 <span class="preprocessor"></span><span class="preprocessor">#define STK_MIDI 0x0001</span> 00044 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00045 <span class="preprocessor"></span><span class="preprocessor">#define STK_PIPE 0x0002</span> 00045 <span class="preprocessor"></span>
00046 <span class="preprocessor"></span><span class="preprocessor">#define STK_SOCKET 0x0004</span> 00046 <span class="preprocessor">#include "Mutex.h"</span>
00047 <span class="preprocessor"></span> 00047 <span class="preprocessor">#include "Thread.h"</span>
00048 <span class="preprocessor">#if defined(__STK_REALTIME__)</span> 00048 <span class="preprocessor">#include "Socket.h"</span>
00049 <span class="preprocessor"></span> 00049 <span class="preprocessor">#include "RtMidi.h"</span>
00050 <span class="preprocessor">#include "Thread.h"</span> 00050
00051 <span class="preprocessor">#include "Socket.h"</span> 00051 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> THREAD_RETURN THREAD_TYPE stdinHandler(<span class="keywordtype">void</span> * ptr);
00052 <span class="preprocessor">#include "RtMidi.h"</span> 00052
00053 00053 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> THREAD_RETURN THREAD_TYPE socketHandler(<span class="keywordtype">void</span> * ptr);
00054 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> THREAD_RETURN THREAD_TYPE stdinHandler(<span class="keywordtype">void</span> * ptr); 00054
00055 00055 <span class="preprocessor">#endif // __STK_REALTIME__</span>
00056 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span> 00056 <span class="preprocessor"></span>
00057 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;sys/types.h&gt;</span> <a name="l00057"></a><a class="code" href="classMessager.html">00057</a> <span class="keyword">class </span><a class="code" href="classMessager.html">Messager</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00058 <span class="preprocessor"> #include &lt;sys/time.h&gt;</span> 00058 {
00059 <span class="preprocessor">#endif</span> 00059 <span class="keyword">public</span>:
00060 <span class="preprocessor"></span> 00060
00061 <span class="preprocessor">#endif // __STK_REALTIME__</span> 00061 <span class="comment">// This structure is used to share data among the various realtime</span>
00062 <span class="preprocessor"></span> 00062 <span class="comment">// messager threads. It must be public.</span>
<a name="l00063"></a><a class="code" href="classMessager.html">00063</a> <span class="keyword">class </span><a class="code" href="classMessager.html">Messager</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> 00063 <span class="keyword">struct </span>MessagerData {
00064 { 00064 <a class="code" href="classSkini.html">Skini</a> skini;
00065 <span class="keyword">public</span>: 00065 std::queue&lt;Skini::Message&gt; queue;
00067 00066 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueLimit;
00075 <a class="code" href="classMessager.html#a0">Messager</a>(<span class="keywordtype">int</span> inputMask = 0, <span class="keywordtype">int</span> port = 2001); 00067 <span class="keywordtype">int</span> sources;
00076 00068
00078 <a class="code" href="classMessager.html#a1">~Messager</a>(); 00069 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00079 00070 <span class="preprocessor"></span> <a class="code" href="classMutex.html">Mutex</a> mutex;
00071 <a class="code" href="classRtMidiIn.html">RtMidiIn</a> *midi;
00072 <a class="code" href="classSocket.html">Socket</a> *socket;
00073 std::vector&lt;int&gt; fd;
00074 fd_set mask;
00075 <span class="preprocessor">#endif</span>
00076 <span class="preprocessor"></span>
00077 <span class="comment">// Default constructor.</span>
00078 MessagerData()
00079 :queueLimit(0), sources(0) {}
00080 };
00081 00081
00087 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a2">nextMessage</a>(<span class="keywordtype">void</span>); 00083 <a class="code" href="classMessager.html#a0">Messager</a>();
00088 00084
00090 <span class="keywordtype">void</span> <a class="code" href="classMessager.html#a3">setRtDelta</a>(<span class="keywordtype">long</span> nSamples); 00086 <a class="code" href="classMessager.html#a1">~Messager</a>();
00091 00087
00093 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a4">getDelta</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00089
00094 00095 <span class="keywordtype">void</span> <a class="code" href="classMessager.html#a2">popMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00096 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a5">getType</a>() <span class="keyword">const</span>; 00096
00097 00098 <span class="keywordtype">void</span> <a class="code" href="classMessager.html#a3">pushMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00099 MY_FLOAT <a class="code" href="classMessager.html#a6">getByteTwo</a>() <span class="keyword">const</span>; 00099
00100 00101
00102 MY_FLOAT <a class="code" href="classMessager.html#a7">getByteThree</a>() <span class="keyword">const</span>; 00109 <span class="keywordtype">bool</span> <a class="code" href="classMessager.html#a4">setScoreFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* filename );
00103 00110
00105 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a8">getChannel</a>() <span class="keyword">const</span>; 00111 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00106 00112 <span class="preprocessor"></span>
00107 <span class="keyword">protected</span>: 00113
00108 00122 <span class="keywordtype">bool</span> startStdInput();
00109 <a class="code" href="classSKINI.html">SKINI</a> *skini; 00123
00110 <span class="keywordtype">long</span> type;
00111 <span class="keywordtype">long</span> channel;
00112 MY_FLOAT byte2;
00113 MY_FLOAT byte3;
00114 <span class="keywordtype">int</span> sources;
00115 <span class="keywordtype">long</span> delta;
00116 <span class="keywordtype">long</span> rtDelta;
00117 <span class="keywordtype">char</span> message[MAX_MESSAGES][MESSAGE_LENGTH];
00118 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> messageIndex;
00119 <span class="keywordtype">int</span> nMessages;
00120
00121 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00122 <span class="preprocessor"></span>
00123 <span class="comment">// Check MIDI source for new messages.</span>
00124 <span class="keywordtype">bool</span> midiMessage(<span class="keywordtype">void</span>);
00125 00125
00126 <span class="comment">// Check socket sources for new messages.</span> 00136 <span class="keywordtype">bool</span> startSocketInput( <span class="keywordtype">int</span> port=2001 );
00127 <span class="keywordtype">bool</span> socketMessage(<span class="keywordtype">void</span>); 00137
00128 00139
00129 <span class="comment">// Receive and parse socket data.</span> 00151 <span class="keywordtype">bool</span> startMidiInput( <span class="keywordtype">int</span> port=0 );
00130 <span class="keywordtype">bool</span> readSocket(<span class="keywordtype">int</span> fd); 00152
00131 00153 <span class="preprocessor">#endif</span>
00132 <a class="code" href="classRtMidi.html">RtMidi</a> *midi; 00154 <span class="preprocessor"></span>
00133 <a class="code" href="classThread.html">Thread</a> *thread; 00155 <span class="keyword">protected</span>:
00134 <a class="code" href="classSocket.html">Socket</a> *soket; 00156
00135 00157 MessagerData data_;
00136 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nSockets; 00158
00137 fd_set mask; 00159 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00138 <span class="keywordtype">int</span> maxfd; 00160 <span class="preprocessor"></span> <a class="code" href="classThread.html">Thread</a> stdinThread_;
00139 <span class="keywordtype">int</span> pipefd; 00161 <a class="code" href="classThread.html">Thread</a> socketThread_;
00140 <span class="keywordtype">int</span> fd[16]; 00162 <span class="preprocessor">#endif</span>
00141 <span class="keywordtype">char</span> error[256]; 00163 <span class="preprocessor"></span>
00142 00164 };
00143 <span class="preprocessor">#endif // __STK_REALTIME__</span> 00165
00144 <span class="preprocessor"></span> 00166 <span class="preprocessor">#endif</span>
00145 };
00146
00147 <span class="preprocessor">#endif // defined(__MESSAGER_H)</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -0,0 +1,92 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>MidiFileIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/**********************************************************************/</span>
00016 <span class="comment">/**********************************************************************/</span>
00017
00018 <span class="preprocessor">#ifndef STK_MIDIFILEIN_H</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_MIDIFILEIN_H</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor">#include "Stk.h"</span>
00022 <span class="preprocessor">#include &lt;string&gt;</span>
00023 <span class="preprocessor">#include &lt;vector&gt;</span>
00024 <span class="preprocessor">#include &lt;fstream&gt;</span>
00025 <span class="preprocessor">#include &lt;sstream&gt;</span>
00026
<a name="l00027"></a><a class="code" href="classMidiFileIn.html">00027</a> <span class="keyword">class </span><a class="code" href="classMidiFileIn.html">MidiFileIn</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00028 {
00029 <span class="keyword">public</span>:
00031
00035 <a class="code" href="classMidiFileIn.html#a0">MidiFileIn</a>( std::string fileName );
00036
00038 <a class="code" href="classMidiFileIn.html#a1">~MidiFileIn</a>();
00039
00041 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a2">getFileFormat</a>() <span class="keyword">const</span>;
00042
00044 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a3">getNumberOfTracks</a>() <span class="keyword">const</span>;
00045
00047
00052 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a4">getDivision</a>() <span class="keyword">const</span>;
00053
00055
00059 <span class="keywordtype">void</span> <a class="code" href="classMidiFileIn.html#a5">rewindTrack</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00060
00062
00069 <span class="keywordtype">double</span> <a class="code" href="classMidiFileIn.html#a6">getTickSeconds</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00070
00072
00084 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMidiFileIn.html#a7">getNextEvent</a>( std::vector&lt;unsigned char&gt; *event, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00085
00087
00097 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMidiFileIn.html#a8">getNextMidiEvent</a>( std::vector&lt;unsigned char&gt; *midiEvent, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00098
00099 <span class="keyword">protected</span>:
00100
00101 <span class="comment">// This protected class function is used for reading variable-length</span>
00102 <span class="comment">// MIDI file values. It is assumed that this function is called with</span>
00103 <span class="comment">// the file read pointer positioned at the start of a</span>
00104 <span class="comment">// variable-length value. The function returns true if the value is</span>
00105 <span class="comment">// successfully parsed. Otherwise, it returns false.</span>
00106 <span class="keywordtype">bool</span> readVariableLength( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *value );
00107
00108 std::ifstream file_;
00109 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nTracks_;
00110 <span class="keywordtype">int</span> format_;
00111 <span class="keywordtype">int</span> division_;
00112 <span class="keywordtype">bool</span> usingTimeCode_;
00113 std::vector&lt;double&gt; tickSeconds_;
00114 std::vector&lt;long&gt; trackPointers_;
00115 std::vector&lt;long&gt; trackOffsets_;
00116 std::vector&lt;long&gt; trackLengths_;
00117 std::vector&lt;char&gt; trackStatus_;
00118
00119 <span class="comment">// This structure and the following variables are used to save and</span>
00120 <span class="comment">// keep track of a format 1 tempo map (and the initial tickSeconds</span>
00121 <span class="comment">// parameter for formats 0 and 2).</span>
00122 <span class="keyword">struct </span>TempoChange {
00123 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> count;
00124 <span class="keywordtype">double</span> tickSeconds;
00125 };
00126 std::vector&lt;TempoChange&gt; tempoEvents_;
00127 std::vector&lt;unsigned long&gt; trackCounters_;
00128 std::vector&lt;unsigned int&gt; trackTempoIndex_;
00129 };
00130
00131 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -10,36 +10,36 @@
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.3.4 -->
<h1>ModalBar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>ModalBar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00028 <span class="comment">/***************************************************/</span> 00029 <span class="comment">/***************************************************/</span>
00029 00030
00030 <span class="preprocessor">#if !defined(__MODALBAR_H)</span> 00031 <span class="preprocessor">#ifndef STK_MODALBAR_H</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define __MODALBAR_H</span> 00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODALBAR_H</span>
00032 <span class="preprocessor"></span> 00033 <span class="preprocessor"></span>
00033 <span class="preprocessor">#include "Modal.h"</span> 00034 <span class="preprocessor">#include "Modal.h"</span>
00034 00035
<a name="l00035"></a><a class="code" href="classModalBar.html">00035</a> <span class="keyword">class </span><a class="code" href="classModalBar.html">ModalBar</a> : <span class="keyword">public</span> <a class="code" href="classModal.html">Modal</a> <a name="l00036"></a><a class="code" href="classModalBar.html">00036</a> <span class="keyword">class </span><a class="code" href="classModalBar.html">ModalBar</a> : <span class="keyword">public</span> <a class="code" href="classModal.html">Modal</a>
00036 { 00037 {
00037 <span class="keyword">public</span>: 00038 <span class="keyword">public</span>:
00039 <a class="code" href="classModalBar.html#a0">ModalBar</a>(); 00040 <a class="code" href="classModalBar.html#a0">ModalBar</a>();
00040 00041
00042 <a class="code" href="classModalBar.html#a1">~ModalBar</a>(); 00043 <a class="code" href="classModalBar.html#a1">~ModalBar</a>();
00043 00044
00045 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a2">setStickHardness</a>(MY_FLOAT hardness); 00046 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a2">setStickHardness</a>(StkFloat hardness);
00046 00047
00048 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a3">setStrikePosition</a>(MY_FLOAT position); 00049 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a3">setStrikePosition</a>(StkFloat position);
00049 00050
00051 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset); 00052 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
00052 00053
00054 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a5">setModulationDepth</a>(MY_FLOAT mDepth); 00055 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a5">setModulationDepth</a>(StkFloat mDepth);
00055 00056
00057 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00058 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00058 }; 00059 };
00059 00060
00060 <span class="preprocessor">#endif</span> 00061 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>Modal.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Modal.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00012 <span class="comment">/***************************************************/</span> 00012 <span class="comment">/***************************************************/</span>
00013 00013
00014 <span class="preprocessor">#if !defined(__MODAL_H)</span> 00014 <span class="preprocessor">#ifndef STK_MODAL_H</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define __MODAL_H</span> 00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODAL_H</span>
00016 <span class="preprocessor"></span> 00016 <span class="preprocessor"></span>
00017 <span class="preprocessor">#include "Instrmnt.h"</span> 00017 <span class="preprocessor">#include "Instrmnt.h"</span>
00018 <span class="preprocessor">#include "Envelope.h"</span> 00018 <span class="preprocessor">#include "Envelope.h"</span>
@@ -24,57 +24,64 @@
<a name="l00023"></a><a class="code" href="classModal.html">00023</a> <span class="keyword">class </span><a class="code" href="classModal.html">Modal</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00023"></a><a class="code" href="classModal.html">00023</a> <span class="keyword">class </span><a class="code" href="classModal.html">Modal</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00024 { 00024 {
00025 <span class="keyword">public</span>: 00025 <span class="keyword">public</span>:
00027 <a class="code" href="classModal.html#a0">Modal</a>( <span class="keywordtype">int</span> modes = 4 ); 00027
00028 00030 <a class="code" href="classModal.html#a0">Modal</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modes = 4 );
00030 <span class="keyword">virtual</span> <a class="code" href="classModal.html#a1">~Modal</a>();
00031 00031
00033 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a2">clear</a>(); 00033 <span class="keyword">virtual</span> <a class="code" href="classModal.html#a1">~Modal</a>();
00034 00034
00036 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a3">setFrequency</a>(MY_FLOAT frequency); 00036 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a2">clear</a>();
00037 00037
00039 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a4">setRatioAndRadius</a>(<span class="keywordtype">int</span> modeIndex, MY_FLOAT ratio, MY_FLOAT radius); 00039 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a3">setFrequency</a>(StkFloat frequency);
00040 00040
00042 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a5">setMasterGain</a>(MY_FLOAT aGain); 00042 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a4">setRatioAndRadius</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modeIndex, StkFloat ratio, StkFloat radius);
00043 00043
00045 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a6">setDirectGain</a>(MY_FLOAT aGain); 00045 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a5">setMasterGain</a>(StkFloat aGain);
00046 00046
00048 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a7">setModeGain</a>(<span class="keywordtype">int</span> modeIndex, MY_FLOAT gain); 00048 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a6">setDirectGain</a>(StkFloat aGain);
00049 00049
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a8">strike</a>(MY_FLOAT amplitude); 00051 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a7">setModeGain</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modeIndex, StkFloat gain);
00052 00052
00054 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a9">damp</a>(MY_FLOAT amplitude); 00054 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a8">strike</a>(StkFloat amplitude);
00055 00055
00057 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a10">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00057 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a9">damp</a>(StkFloat amplitude);
00058 00058
00060 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a11">noteOff</a>(MY_FLOAT amplitude); 00060 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a10">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00061 00061
00063 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classModal.html#a12">tick</a>(); 00063 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a11">noteOff</a>(StkFloat amplitude);
00064 00064
00066 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value) = 0; 00066 <span class="keyword">virtual</span> StkFloat <a class="code" href="classModal.html#a12">tick</a>();
00067 00067
00068 <span class="keyword">protected</span>: 00069 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classModal.html#a12">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00069 <a class="code" href="classEnvelope.html">Envelope</a> *envelope; 00070
00070 <a class="code" href="classWvIn.html">WvIn</a> *wave; 00072
00071 <a class="code" href="classBiQuad.html">BiQuad</a> **filters; 00078 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classModal.html#a12">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00072 <a class="code" href="classOnePole.html">OnePole</a> *onepole; 00079
00073 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato; 00081 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a15">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value) = 0;
00074 <span class="keywordtype">int</span> nModes; 00082
00075 MY_FLOAT vibratoGain; 00083 <span class="keyword">protected</span>:
00076 MY_FLOAT masterGain; 00084 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00077 MY_FLOAT directGain; 00085 <a class="code" href="classWvIn.html">WvIn</a> *wave_;
00078 MY_FLOAT stickHardness; 00086 <a class="code" href="classBiQuad.html">BiQuad</a> **filters_;
00079 MY_FLOAT strikePosition; 00087 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
00080 MY_FLOAT baseFrequency; 00088 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00081 MY_FLOAT *ratios; 00089
00082 MY_FLOAT *radii; 00090 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nModes_;
00083 00091 std::vector&lt;StkFloat&gt; ratios_;
00084 }; 00092 std::vector&lt;StkFloat&gt; radii_;
00085 00093
00086 <span class="preprocessor">#endif</span> 00094 StkFloat vibratoGain_;
00095 StkFloat masterGain_;
00096 StkFloat directGain_;
00097 StkFloat stickHardness_;
00098 StkFloat strikePosition_;
00099 StkFloat baseFrequency_;
00100 };
00101
00102 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,50 +12,51 @@
<h1>Modulate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Modulate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span> 00011 <span class="comment">/***************************************************/</span>
00012 00012
00013 <span class="preprocessor">#if !defined(__MODULATE_H)</span> 00013 <span class="preprocessor">#ifndef STK_MODULATE_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define __MODULATE_H</span> 00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODULATE_H</span>
00015 <span class="preprocessor"></span> 00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Stk.h"</span> 00016 <span class="preprocessor">#include "Generator.h"</span>
00017 <span class="preprocessor">#include "WaveLoop.h"</span> 00017 <span class="preprocessor">#include "WaveLoop.h"</span>
00018 <span class="preprocessor">#include "SubNoise.h"</span> 00018 <span class="preprocessor">#include "SubNoise.h"</span>
00019 <span class="preprocessor">#include "OnePole.h"</span> 00019 <span class="preprocessor">#include "OnePole.h"</span>
00020 00020
<a name="l00021"></a><a class="code" href="classModulate.html">00021</a> <span class="keyword">class </span><a class="code" href="classModulate.html">Modulate</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <a name="l00021"></a><a class="code" href="classModulate.html">00021</a> <span class="keyword">class </span><a class="code" href="classModulate.html">Modulate</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00022 { 00022 {
00023 <span class="keyword">public</span>: 00023 <span class="keyword">public</span>:
00025 <a class="code" href="classModulate.html#a0">Modulate</a>(); 00025
00026 00028 <a class="code" href="classModulate.html#a0">Modulate</a>();
00028 <a class="code" href="classModulate.html#a1">~Modulate</a>();
00029 00029
00031 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a2">reset</a>(); 00031 <a class="code" href="classModulate.html#a1">~Modulate</a>();
00032 00032
00034 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a3">setVibratoRate</a>(MY_FLOAT aRate); 00034 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a2">reset</a>();
00035 00035
00037 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a4">setVibratoGain</a>(MY_FLOAT aGain); 00037 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a3">setVibratoRate</a>(StkFloat rate);
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a5">setRandomGain</a>(MY_FLOAT aGain); 00040 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a4">setVibratoGain</a>(StkFloat gain);
00041 00041
00043 MY_FLOAT <a class="code" href="classModulate.html#a6">tick</a>(); 00043 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a5">setRandomGain</a>(StkFloat gain);
00044 00044
00046 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classModulate.html#a6">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00046 StkFloat <a class="code" href="classModulate.html#a6">tick</a>();
00047 00047
00049 MY_FLOAT <a class="code" href="classModulate.html#a8">lastOut</a>() <span class="keyword">const</span>; 00049 StkFloat *<a class="code" href="classModulate.html#a6">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00050 00050
00051 <span class="keyword">protected</span>: 00052
00052 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato; 00058 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classModulate.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00053 <a class="code" href="classSubNoise.html">SubNoise</a> *noise; 00059
00054 <a class="code" href="classOnePole.html">OnePole</a> *filter; 00060 <span class="keyword">protected</span>:
00055 MY_FLOAT vibratoGain; 00061 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00056 MY_FLOAT randomGain; 00062 <a class="code" href="classSubNoise.html">SubNoise</a> noise_;
00057 MY_FLOAT lastOutput; 00063 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00058 00064 StkFloat vibratoGain_;
00059 }; 00065 StkFloat randomGain_;
00060 00066
00061 <span class="preprocessor">#endif</span> 00067 };
00068
00069 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>Moog.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Moog.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span> 00019 <span class="comment">/***************************************************/</span>
00020 00020
00021 <span class="preprocessor">#if !defined(__MOOG_H)</span> 00021 <span class="preprocessor">#ifndef STK_MOOG_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __MOOG_H</span> 00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_MOOG_H</span>
00023 <span class="preprocessor"></span> 00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Sampler.h"</span> 00024 <span class="preprocessor">#include "Sampler.h"</span>
00025 <span class="preprocessor">#include "FormSwep.h"</span> 00025 <span class="preprocessor">#include "FormSwep.h"</span>
@@ -21,35 +21,41 @@
<a name="l00027"></a><a class="code" href="classMoog.html">00027</a> <span class="keyword">class </span><a class="code" href="classMoog.html">Moog</a> : <span class="keyword">public</span> <a class="code" href="classSampler.html">Sampler</a> <a name="l00027"></a><a class="code" href="classMoog.html">00027</a> <span class="keyword">class </span><a class="code" href="classMoog.html">Moog</a> : <span class="keyword">public</span> <a class="code" href="classSampler.html">Sampler</a>
00028 { 00028 {
00029 <span class="keyword">public</span>: 00029 <span class="keyword">public</span>:
00031 <a class="code" href="classMoog.html#a0">Moog</a>(); 00031
00032 00034 <a class="code" href="classMoog.html#a0">Moog</a>();
00034 <a class="code" href="classMoog.html#a1">~Moog</a>();
00035 00035
00037 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a2">setFrequency</a>(MY_FLOAT frequency); 00037 <a class="code" href="classMoog.html#a1">~Moog</a>();
00038 00038
00040 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00040 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a2">setFrequency</a>(StkFloat frequency);
00041 00041
00043 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a4">setModulationSpeed</a>(MY_FLOAT mSpeed); 00043 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00044 00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a5">setModulationDepth</a>(MY_FLOAT mDepth); 00046 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a4">setModulationSpeed</a>(StkFloat mSpeed);
00047 00047
00049 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classMoog.html#a6">tick</a>(); 00049 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a5">setModulationDepth</a>(StkFloat mDepth);
00050 00050
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00052 StkFloat <a class="code" href="classMoog.html#a6">tick</a>();
00053 00053
00054 <span class="keyword">protected</span>: 00055 StkFloat *<a class="code" href="classMoog.html#a6">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00055 <a class="code" href="classFormSwep.html">FormSwep</a> *filters[2]; 00056
00056 MY_FLOAT modDepth; 00058
00057 MY_FLOAT filterQ; 00064 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classMoog.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00058 MY_FLOAT filterRate; 00065
00059 00067 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00060 }; 00068
00061 00069 <span class="keyword">protected</span>:
00062 <span class="preprocessor">#endif</span> 00070 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[2];
00071 StkFloat modDepth_;
00072 StkFloat filterQ_;
00073 StkFloat filterRate_;
00074
00075 };
00076
00077 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -0,0 +1,68 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>Mutex.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00012 <span class="comment">/***************************************************/</span>
00013
00014 <span class="preprocessor">#ifndef STK_MUTEX_H</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_MUTEX_H</span>
00016 <span class="preprocessor"></span>
00017 <span class="preprocessor">#include "Stk.h"</span>
00018
00019 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor"> #include &lt;pthread.h&gt;</span>
00022 <span class="keyword">typedef</span> pthread_mutex_t MUTEX;
00023 <span class="keyword">typedef</span> pthread_cond_t CONDITION;
00024
00025 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
00026 <span class="preprocessor"></span>
00027 <span class="preprocessor"> #include &lt;windows.h&gt;</span>
00028 <span class="preprocessor"> #include &lt;process.h&gt;</span>
00029 <span class="keyword">typedef</span> CRITICAL_SECTION MUTEX;
00030 <span class="keyword">typedef</span> HANDLE CONDITION;
00031
00032 <span class="preprocessor">#endif</span>
00033 <span class="preprocessor"></span>
<a name="l00034"></a><a class="code" href="classMutex.html">00034</a> <span class="keyword">class </span><a class="code" href="classMutex.html">Mutex</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00035 {
00036 <span class="keyword">public</span>:
00038 <a class="code" href="classMutex.html#a0">Mutex</a>();
00039
00041 <a class="code" href="classMutex.html#a1">~Mutex</a>();
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a2">lock</a>(<span class="keywordtype">void</span>);
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a3">unlock</a>(<span class="keywordtype">void</span>);
00048
00050
00054 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a4">wait</a>(<span class="keywordtype">void</span>);
00055
00057
00061 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a5">signal</a>(<span class="keywordtype">void</span>);
00062
00063 <span class="keyword">protected</span>:
00064
00065 MUTEX mutex_;
00066 CONDITION condition_;
00067
00068 };
00069
00070 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -12,38 +12,45 @@
<h1>NRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>NRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00017 <span class="comment">/***************************************************/</span> 00017 <span class="comment">/***************************************************/</span>
00018 00018
00019 <span class="preprocessor">#if !defined(__NREV_H)</span> 00019 <span class="preprocessor">#ifndef STK_NREV_H</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define __NREV_H</span> 00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_NREV_H</span>
00021 <span class="preprocessor"></span> 00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include "Reverb.h"</span> 00022 <span class="preprocessor">#include "Effect.h"</span>
00023 <span class="preprocessor">#include "Delay.h"</span> 00023 <span class="preprocessor">#include "Delay.h"</span>
00024 00024
<a name="l00025"></a><a class="code" href="classNRev.html">00025</a> <span class="keyword">class </span><a class="code" href="classNRev.html">NRev</a> : <span class="keyword">public</span> <a class="code" href="classReverb.html">Reverb</a> <a name="l00025"></a><a class="code" href="classNRev.html">00025</a> <span class="keyword">class </span><a class="code" href="classNRev.html">NRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00026 { 00026 {
00027 <span class="keyword">public</span>: 00027 <span class="keyword">public</span>:
00029 <a class="code" href="classNRev.html#a0">NRev</a>(MY_FLOAT T60); 00029 <a class="code" href="classNRev.html#a0">NRev</a>( StkFloat T60 = 1.0 );
00030 00030
00032 <a class="code" href="classNRev.html#a1">~NRev</a>(); 00032 <a class="code" href="classNRev.html#a1">~NRev</a>();
00033 00033
00035 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a2">clear</a>(); 00035 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a2">clear</a>();
00036 00036
00038 MY_FLOAT <a class="code" href="classNRev.html#a3">tick</a>(MY_FLOAT input); 00038 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a3">setT60</a>( StkFloat T60 );
00039 00039
00040 <span class="keyword">protected</span>: 00041 StkFloat <a class="code" href="classNRev.html#a4">tick</a>(StkFloat input);
00041 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[8]; 00042
00042 <a class="code" href="classDelay.html">Delay</a> *combDelays[6]; 00044 StkFloat *<a class="code" href="classNRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00043 MY_FLOAT allpassCoefficient; 00045
00044 MY_FLOAT combCoefficient[6]; 00047
00045 MY_FLOAT lowpassState; 00053 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classNRev.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00046 00054
00047 }; 00055 <span class="keyword">protected</span>:
00048 00056 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[8];
00049 <span class="preprocessor">#endif</span> 00057 <a class="code" href="classDelay.html">Delay</a> combDelays_[6];
00050 <span class="preprocessor"></span> 00058 StkFloat allpassCoefficient_;
00059 StkFloat combCoefficient_[6];
00060 StkFloat lowpassState_;
00061
00062 };
00063
00064 <span class="preprocessor">#endif</span>
00065 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,12 +12,12 @@
<h1>Noise.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Noise.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span> 00011 <span class="comment">/***************************************************/</span>
00012 00012
00013 <span class="preprocessor">#if !defined(__NOISE_H)</span> 00013 <span class="preprocessor">#ifndef STK_NOISE_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define __NOISE_H</span> 00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_NOISE_H</span>
00015 <span class="preprocessor"></span> 00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Stk.h"</span> 00016 <span class="preprocessor">#include "Generator.h"</span>
00017 00017
<a name="l00018"></a><a class="code" href="classNoise.html">00018</a> <span class="keyword">class </span><a class="code" href="classNoise.html">Noise</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <a name="l00018"></a><a class="code" href="classNoise.html">00018</a> <span class="keyword">class </span><a class="code" href="classNoise.html">Noise</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00019 { 00019 {
00020 <span class="keyword">public</span>: 00020 <span class="keyword">public</span>:
00021 00021
@@ -31,23 +31,22 @@
00036 00036
00040 <span class="keywordtype">void</span> <a class="code" href="classNoise.html#a3">setSeed</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed = 0 ); 00040 <span class="keywordtype">void</span> <a class="code" href="classNoise.html#a3">setSeed</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed = 0 );
00041 00041
00043 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classNoise.html#a4">tick</a>(); 00043 <span class="keyword">virtual</span> StkFloat <a class="code" href="classNoise.html#a4">tick</a>();
00044 00044
00046 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classNoise.html#a4">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00046 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classNoise.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00047 00047
00049 MY_FLOAT <a class="code" href="classNoise.html#a6">lastOut</a>() <span class="keyword">const</span>; 00049
00050 00055 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classNoise.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00051 <span class="keyword">protected</span>:
00052
00053 MY_FLOAT lastOutput;
00054
00055 };
00056 00056
00057 <span class="preprocessor">#endif</span> 00057 <span class="keyword">protected</span>:
00058
00059 };
00060
00061 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>OnePole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>OnePole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span> 00013 <span class="comment">/***************************************************/</span>
00014 00014
00015 <span class="preprocessor">#if !defined(__ONEPOLE_H)</span> 00015 <span class="preprocessor">#ifndef STK_ONEPOLE_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __ONEPOLE_H</span> 00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEPOLE_H</span>
00017 <span class="preprocessor"></span> 00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span> 00018 <span class="preprocessor">#include "Filter.h"</span>
00019 00019
@@ -23,36 +23,40 @@
00023 00023
00025 <a class="code" href="classOnePole.html#a0">OnePole</a>(); 00025 <a class="code" href="classOnePole.html#a0">OnePole</a>();
00026 00026
00028 <a class="code" href="classOnePole.html#a0">OnePole</a>(MY_FLOAT thePole); 00028 <a class="code" href="classOnePole.html#a0">OnePole</a>(StkFloat thePole);
00029 00029
00031 <a class="code" href="classOnePole.html#a2">~OnePole</a>(); 00031 <a class="code" href="classOnePole.html#a2">~OnePole</a>();
00032 00032
00034 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a3">clear</a>(<span class="keywordtype">void</span>); 00034 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a3">clear</a>(<span class="keywordtype">void</span>);
00035 00035
00037 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a4">setB0</a>(MY_FLOAT b0); 00037 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a4">setB0</a>(StkFloat b0);
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a5">setA1</a>(MY_FLOAT a1); 00040 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a5">setA1</a>(StkFloat a1);
00041 00041
00043 00043
00050 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a6">setPole</a>(MY_FLOAT thePole); 00050 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a6">setPole</a>(StkFloat thePole);
00051 00051
00053 00053
00057 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a7">setGain</a>(MY_FLOAT theGain); 00057 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a7">setGain</a>(StkFloat gain);
00058 00058
00060 MY_FLOAT <a class="code" href="classOnePole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00060 StkFloat <a class="code" href="classOnePole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00061 00061
00063 MY_FLOAT <a class="code" href="classOnePole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00063 StkFloat <a class="code" href="classOnePole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064 00064
00066 MY_FLOAT <a class="code" href="classOnePole.html#a10">tick</a>(MY_FLOAT sample); 00066 StkFloat <a class="code" href="classOnePole.html#a10">tick</a>(StkFloat sample);
00067 00067
00069 MY_FLOAT *<a class="code" href="classOnePole.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00069 StkFloat *<a class="code" href="classOnePole.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070 }; 00070
00071 00072
00072 <span class="preprocessor">#endif</span> 00078 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classOnePole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00079
00080 };
00081
00082 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>OneZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>OneZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span> 00013 <span class="comment">/***************************************************/</span>
00014 00014
00015 <span class="preprocessor">#if !defined(__ONEZERO_H)</span> 00015 <span class="preprocessor">#ifndef STK_ONEZERO_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __ONEZERO_H</span> 00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEZERO_H</span>
00017 <span class="preprocessor"></span> 00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span> 00018 <span class="preprocessor">#include "Filter.h"</span>
00019 00019
@@ -23,36 +23,40 @@
00023 00023
00025 <a class="code" href="classOneZero.html#a0">OneZero</a>(); 00025 <a class="code" href="classOneZero.html#a0">OneZero</a>();
00026 00026
00028 <a class="code" href="classOneZero.html#a0">OneZero</a>(MY_FLOAT theZero); 00028 <a class="code" href="classOneZero.html#a0">OneZero</a>(StkFloat theZero);
00029 00029
00031 <a class="code" href="classOneZero.html#a2">~OneZero</a>(); 00031 <a class="code" href="classOneZero.html#a2">~OneZero</a>();
00032 00032
00034 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a3">clear</a>(<span class="keywordtype">void</span>); 00034 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a3">clear</a>(<span class="keywordtype">void</span>);
00035 00035
00037 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a4">setB0</a>(MY_FLOAT b0); 00037 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a4">setB0</a>(StkFloat b0);
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a5">setB1</a>(MY_FLOAT b1); 00040 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a5">setB1</a>(StkFloat b1);
00041 00041
00043 00043
00050 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a6">setZero</a>(MY_FLOAT theZero); 00050 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a6">setZero</a>(StkFloat theZero);
00051 00051
00053 00053
00057 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a7">setGain</a>(MY_FLOAT theGain); 00057 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a7">setGain</a>(StkFloat gain);
00058 00058
00060 MY_FLOAT <a class="code" href="classOneZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00060 StkFloat <a class="code" href="classOneZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00061 00061
00063 MY_FLOAT <a class="code" href="classOneZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00063 StkFloat <a class="code" href="classOneZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064 00064
00066 MY_FLOAT <a class="code" href="classOneZero.html#a10">tick</a>(MY_FLOAT sample); 00066 StkFloat <a class="code" href="classOneZero.html#a10">tick</a>(StkFloat sample);
00067 00067
00069 MY_FLOAT *<a class="code" href="classOneZero.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00069 StkFloat *<a class="code" href="classOneZero.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070 }; 00070
00071 00072
00072 <span class="preprocessor">#endif</span> 00078 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classOneZero.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00079
00080 };
00081
00082 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,37 +12,44 @@
<h1>PRCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>PRCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00015 <span class="comment">/***************************************************/</span> 00015 <span class="comment">/***************************************************/</span>
00016 00016
00017 <span class="preprocessor">#if !defined(__PRCREV_H)</span> 00017 <span class="preprocessor">#ifndef STK_PRCREV_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define __PRCREV_H</span> 00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_PRCREV_H</span>
00019 <span class="preprocessor"></span> 00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "Reverb.h"</span> 00020 <span class="preprocessor">#include "Effect.h"</span>
00021 <span class="preprocessor">#include "Delay.h"</span> 00021 <span class="preprocessor">#include "Delay.h"</span>
00022 00022
<a name="l00023"></a><a class="code" href="classPRCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classPRCRev.html">PRCRev</a> : <span class="keyword">public</span> <a class="code" href="classReverb.html">Reverb</a> <a name="l00023"></a><a class="code" href="classPRCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classPRCRev.html">PRCRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00024 { 00024 {
00025 <span class="keyword">public</span>: 00025 <span class="keyword">public</span>:
00027 <a class="code" href="classPRCRev.html#a0">PRCRev</a>(MY_FLOAT T60); 00027 <a class="code" href="classPRCRev.html#a0">PRCRev</a>( StkFloat T60 = 1.0 );
00028 00028
00030 <a class="code" href="classPRCRev.html#a1">~PRCRev</a>(); 00030 <a class="code" href="classPRCRev.html#a1">~PRCRev</a>();
00031 00031
00033 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a2">clear</a>(); 00033 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a2">clear</a>();
00034 00034
00036 MY_FLOAT <a class="code" href="classPRCRev.html#a3">tick</a>(MY_FLOAT input); 00036 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a3">setT60</a>( StkFloat T60 );
00037 00037
00038 <span class="keyword">protected</span>: 00039 StkFloat <a class="code" href="classPRCRev.html#a4">tick</a>(StkFloat input);
00039 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[2]; 00040
00040 <a class="code" href="classDelay.html">Delay</a> *combDelays[2]; 00042 StkFloat *<a class="code" href="classPRCRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00041 MY_FLOAT allpassCoefficient;
00042 MY_FLOAT combCoefficient[2];
00043 00043
00044 };
00045 00045
00046 <span class="preprocessor">#endif</span> 00051 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPRCRev.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00047 <span class="preprocessor"></span> 00052
00053 <span class="keyword">protected</span>:
00054 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[2];
00055 <a class="code" href="classDelay.html">Delay</a> combDelays_[2];
00056 StkFloat allpassCoefficient_;
00057 StkFloat combCoefficient_[2];
00058
00059 };
00060
00061 <span class="preprocessor">#endif</span>
00062 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,30 +12,36 @@
<h1>PercFlut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>PercFlut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00027 <span class="comment">/***************************************************/</span> 00027 <span class="comment">/***************************************************/</span>
00028 00028
00029 <span class="preprocessor">#if !defined(__PERCFLUT_H)</span> 00029 <span class="preprocessor">#ifndef STK_PERCFLUT_H</span>
00030 <span class="preprocessor"></span><span class="preprocessor">#define __PERCFLUT_H</span> 00030 <span class="preprocessor"></span><span class="preprocessor">#define STK_PERCFLUT_H</span>
00031 <span class="preprocessor"></span> 00031 <span class="preprocessor"></span>
00032 <span class="preprocessor">#include "FM.h"</span> 00032 <span class="preprocessor">#include "FM.h"</span>
00033 00033
<a name="l00034"></a><a class="code" href="classPercFlut.html">00034</a> <span class="keyword">class </span><a class="code" href="classPercFlut.html">PercFlut</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <a name="l00034"></a><a class="code" href="classPercFlut.html">00034</a> <span class="keyword">class </span><a class="code" href="classPercFlut.html">PercFlut</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00035 { 00035 {
00036 <span class="keyword">public</span>: 00036 <span class="keyword">public</span>:
00038 <a class="code" href="classPercFlut.html#a0">PercFlut</a>(); 00038
00039 00041 <a class="code" href="classPercFlut.html#a0">PercFlut</a>();
00041 <a class="code" href="classPercFlut.html#a1">~PercFlut</a>();
00042 00042
00044 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a2">setFrequency</a>(MY_FLOAT frequency); 00044 <a class="code" href="classPercFlut.html#a1">~PercFlut</a>();
00045 00045
00047 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00047 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a2">setFrequency</a>(StkFloat frequency);
00048 00048
00050 MY_FLOAT <a class="code" href="classPercFlut.html#a4">tick</a>(); 00050 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00051 }; 00051
00052 00053 StkFloat <a class="code" href="classPercFlut.html#a4">tick</a>();
00053 <span class="preprocessor">#endif</span> 00054
00056 StkFloat *<a class="code" href="classPercFlut.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00057
00059
00065 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPercFlut.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00066 };
00067
00068 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,12 +12,12 @@
<h1>Phonemes.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Phonemes.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span> 00011 <span class="comment">/***************************************************/</span>
00012 00012
00013 <span class="preprocessor">#if !defined(__PHONEMES_H)</span> 00013 <span class="preprocessor">#ifndef STK_PHONEMES_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define __PHONEMES_H</span> 00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_PHONEMES_H</span>
00015 <span class="preprocessor"></span> 00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Stk.h"</span> 00016 <span class="preprocessor">#include "Stk.h"</span>
00017 00017
<a name="l00018"></a><a class="code" href="classPhonemes.html">00018</a> <span class="keyword">class </span><a class="code" href="classPhonemes.html">Phonemes</a> <a name="l00018"></a><a class="code" href="classPhonemes.html">00018</a> <span class="keyword">class </span><a class="code" href="classPhonemes.html">Phonemes</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00019 { 00019 {
00020 <span class="keyword">public</span>: 00020 <span class="keyword">public</span>:
00021 00021
@@ -26,29 +26,28 @@
00024 00024
00026 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classPhonemes.html#e0">name</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index ); 00026 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classPhonemes.html#e0">name</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00027 00027
00029 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classPhonemes.html#e1">voiceGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index ); 00029 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e1">voiceGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00030 00030
00032 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classPhonemes.html#e2">noiseGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index ); 00032 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e2">noiseGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00033 00033
00035 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classPhonemes.html#e3">formantFrequency</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial ); 00035 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e3">formantFrequency</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00036 00036
00038 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classPhonemes.html#e4">formantRadius</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial ); 00038 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e4">formantRadius</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00039 00039
00041 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classPhonemes.html#e5">formantGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial ); 00041 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e5">formantGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00042 00042
00043 <span class="keyword">private</span>: 00043 <span class="keyword">private</span>:
00044 00044
00045 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> phonemeNames[][4]; 00045 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> phonemeNames[][4];
00046 <span class="keyword">static</span> <span class="keyword">const</span> MY_FLOAT phonemeGains[][2]; 00046 <span class="keyword">static</span> <span class="keyword">const</span> StkFloat phonemeGains[][2];
00047 <span class="keyword">static</span> <span class="keyword">const</span> MY_FLOAT phonemeParameters[][4][3]; 00047 <span class="keyword">static</span> <span class="keyword">const</span> StkFloat phonemeParameters[][4][3];
00048 00048 };
00049 }; 00049
00050 00050 <span class="preprocessor">#endif</span>
00051 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,13 +12,13 @@
<h1>PitShift.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>PitShift.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span> 00010 <span class="comment">/***************************************************/</span>
00011 00011
00012 <span class="preprocessor">#if !defined(__PITSHIFT_H)</span> 00012 <span class="preprocessor">#ifndef STK_PITSHIFT_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define __PITSHIFT_H</span> 00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_PITSHIFT_H</span>
00014 <span class="preprocessor"></span> 00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span> 00015 <span class="preprocessor">#include "Effect.h"</span>
00016 <span class="preprocessor">#include "DelayL.h"</span> 00016 <span class="preprocessor">#include "DelayL.h"</span>
00017 00017
<a name="l00018"></a><a class="code" href="classPitShift.html">00018</a> <span class="keyword">class </span><a class="code" href="classPitShift.html">PitShift</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <a name="l00018"></a><a class="code" href="classPitShift.html">00018</a> <span class="keyword">class </span><a class="code" href="classPitShift.html">PitShift</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00019 { 00019 {
00020 <span class="keyword">public</span>: 00020 <span class="keyword">public</span>:
00022 <a class="code" href="classPitShift.html#a0">PitShift</a>(); 00022 <a class="code" href="classPitShift.html#a0">PitShift</a>();
@@ -27,32 +27,31 @@
00026 00026
00028 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a2">clear</a>(); 00028 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a2">clear</a>();
00029 00029
00031 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a3">setShift</a>(MY_FLOAT shift); 00031 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a3">setShift</a>(StkFloat shift);
00032 00032
00034 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a4">setEffectMix</a>(MY_FLOAT mix); 00034 StkFloat <a class="code" href="classPitShift.html#a4">tick</a>(StkFloat input);
00035 00035
00037 MY_FLOAT <a class="code" href="classPitShift.html#a5">lastOut</a>() <span class="keyword">const</span>; 00037 StkFloat *<a class="code" href="classPitShift.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00038 00038
00040 MY_FLOAT <a class="code" href="classPitShift.html#a6">tick</a>(MY_FLOAT input); 00040
00041 00046 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPitShift.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00043 MY_FLOAT *<a class="code" href="classPitShift.html#a6">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00047
00044 00048 <span class="keyword">protected</span>:
00045 <span class="keyword">protected</span>: 00049 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2];
00046 <a class="code" href="classDelayL.html">DelayL</a> *delayLine[2]; 00050 StkFloat delay_[2];
00047 MY_FLOAT lastOutput; 00051 StkFloat env_[2];
00048 MY_FLOAT delay[2]; 00052 StkFloat rate_;
00049 MY_FLOAT env[2]; 00053 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delayLength;
00050 MY_FLOAT effectMix; 00054 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> halfLength;
00051 MY_FLOAT rate; 00055
00052 00056 };
00053 }; 00057
00054 00058 <span class="preprocessor">#endif</span>
00055 <span class="preprocessor">#endif</span> 00059 <span class="preprocessor"></span>
00056 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>PluckTwo.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>PluckTwo.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span> 00019 <span class="comment">/***************************************************/</span>
00020 00020
00021 <span class="preprocessor">#if !defined(__PLUCKTWO_H)</span> 00021 <span class="preprocessor">#ifndef STK_PLUCKTWO_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __PLUCKTWO_H</span> 00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKTWO_H</span>
00023 <span class="preprocessor"></span> 00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Instrmnt.h"</span> 00024 <span class="preprocessor">#include "Instrmnt.h"</span>
00025 <span class="preprocessor">#include "DelayL.h"</span> 00025 <span class="preprocessor">#include "DelayL.h"</span>
@@ -23,49 +23,55 @@
<a name="l00029"></a><a class="code" href="classPluckTwo.html">00029</a> <span class="keyword">class </span><a class="code" href="classPluckTwo.html">PluckTwo</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00029"></a><a class="code" href="classPluckTwo.html">00029</a> <span class="keyword">class </span><a class="code" href="classPluckTwo.html">PluckTwo</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00030 { 00030 {
00031 <span class="keyword">public</span>: 00031 <span class="keyword">public</span>:
00033 <a class="code" href="classPluckTwo.html#a0">PluckTwo</a>(MY_FLOAT lowestFrequency); 00033 <a class="code" href="classPluckTwo.html#a0">PluckTwo</a>(StkFloat lowestFrequency);
00034 00034
00036 <span class="keyword">virtual</span> <a class="code" href="classPluckTwo.html#a1">~PluckTwo</a>(); 00036 <span class="keyword">virtual</span> <a class="code" href="classPluckTwo.html#a1">~PluckTwo</a>();
00037 00037
00039 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a2">clear</a>(); 00039 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a2">clear</a>();
00040 00040
00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a3">setFrequency</a>(MY_FLOAT frequency); 00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a3">setFrequency</a>(StkFloat frequency);
00043 00043
00045 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a4">setDetune</a>(MY_FLOAT detune); 00045 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a4">setDetune</a>(StkFloat detune);
00046 00046
00048 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a5">setFreqAndDetune</a>(MY_FLOAT frequency, MY_FLOAT detune); 00048 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a5">setFreqAndDetune</a>(StkFloat frequency, StkFloat detune);
00049 00049
00051 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a6">setPluckPosition</a>(MY_FLOAT position); 00051 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a6">setPluckPosition</a>(StkFloat position);
00052 00052
00054 00054
00059 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a7">setBaseLoopGain</a>(MY_FLOAT aGain); 00059 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a7">setBaseLoopGain</a>(StkFloat aGain);
00060 00060
00062 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a8">noteOff</a>(MY_FLOAT amplitude); 00062 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a8">noteOff</a>(StkFloat amplitude);
00063 00063
00065 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classPluckTwo.html#a9">tick</a>() = 0; 00065 <span class="keyword">virtual</span> StkFloat <a class="code" href="classPluckTwo.html#a9">tick</a>() = 0;
00066 00066
00067 <span class="keyword">protected</span>: 00068 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classPluckTwo.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize) = 0;
00068 <a class="code" href="classDelayA.html">DelayA</a> *delayLine; 00069
00069 <a class="code" href="classDelayA.html">DelayA</a> *delayLine2; 00071
00070 <a class="code" href="classDelayL.html">DelayL</a> *combDelay; 00077 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPluckTwo.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 ) = 0;
00071 <a class="code" href="classOneZero.html">OneZero</a> *filter; 00078
00072 <a class="code" href="classOneZero.html">OneZero</a> *filter2; 00079 <span class="keyword">protected</span>:
00073 <span class="keywordtype">long</span> length; 00080 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00074 MY_FLOAT loopGain; 00081 <a class="code" href="classDelayA.html">DelayA</a> delayLine2_;
00075 MY_FLOAT baseLoopGain; 00082 <a class="code" href="classDelayL.html">DelayL</a> combDelay_;
00076 MY_FLOAT lastFrequency; 00083 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00077 MY_FLOAT lastLength; 00084 <a class="code" href="classOneZero.html">OneZero</a> filter2_;
00078 MY_FLOAT detuning; 00085
00079 MY_FLOAT pluckAmplitude; 00086 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00080 MY_FLOAT pluckPosition; 00087 StkFloat loopGain_;
00081 00088 StkFloat baseLoopGain_;
00082 }; 00089 StkFloat lastFrequency_;
00083 00090 StkFloat lastLength_;
00084 <span class="preprocessor">#endif</span> 00091 StkFloat detuning_;
00092 StkFloat pluckAmplitude_;
00093 StkFloat pluckPosition_;
00094
00095 };
00096
00097 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>Plucked.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Plucked.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span> 00018 <span class="comment">/***************************************************/</span>
00019 00019
00020 <span class="preprocessor">#if !defined(__PLUCKED_H)</span> 00020 <span class="preprocessor">#ifndef STK_PLUCKED_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __PLUCKED_H</span> 00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKED_H</span>
00022 <span class="preprocessor"></span> 00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span> 00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "DelayA.h"</span> 00024 <span class="preprocessor">#include "DelayA.h"</span>
@@ -24,38 +24,43 @@
<a name="l00029"></a><a class="code" href="classPlucked.html">00029</a> <span class="keyword">class </span><a class="code" href="classPlucked.html">Plucked</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00029"></a><a class="code" href="classPlucked.html">00029</a> <span class="keyword">class </span><a class="code" href="classPlucked.html">Plucked</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00030 { 00030 {
00031 <span class="keyword">public</span>: 00031 <span class="keyword">public</span>:
00033 <a class="code" href="classPlucked.html#a0">Plucked</a>(MY_FLOAT lowestFrequency); 00033 <a class="code" href="classPlucked.html#a0">Plucked</a>(StkFloat lowestFrequency);
00034 00034
00036 <a class="code" href="classPlucked.html#a1">~Plucked</a>(); 00036 <a class="code" href="classPlucked.html#a1">~Plucked</a>();
00037 00037
00039 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a2">clear</a>(); 00039 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a2">clear</a>();
00040 00040
00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a3">setFrequency</a>(MY_FLOAT frequency); 00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a3">setFrequency</a>(StkFloat frequency);
00043 00043
00045 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a4">pluck</a>(MY_FLOAT amplitude); 00045 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a4">pluck</a>(StkFloat amplitude);
00046 00046
00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a5">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a5">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00049 00049
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a6">noteOff</a>(MY_FLOAT amplitude); 00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a6">noteOff</a>(StkFloat amplitude);
00052 00052
00054 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classPlucked.html#a7">tick</a>(); 00054 <span class="keyword">virtual</span> StkFloat <a class="code" href="classPlucked.html#a7">tick</a>();
00055 00055
00056 <span class="keyword">protected</span>: 00057 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classPlucked.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00057 <a class="code" href="classDelayA.html">DelayA</a> *delayLine; 00058
00058 <a class="code" href="classOneZero.html">OneZero</a> *loopFilter; 00060
00059 <a class="code" href="classOnePole.html">OnePole</a> *pickFilter; 00066 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPlucked.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00060 <a class="code" href="classNoise.html">Noise</a> *noise; 00067
00061 <span class="keywordtype">long</span> length; 00068 <span class="keyword">protected</span>:
00062 MY_FLOAT loopGain; 00069 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00063 00070 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_;
00064 }; 00071 <a class="code" href="classOnePole.html">OnePole</a> pickFilter_;
00065 00072 <a class="code" href="classNoise.html">Noise</a> noise_;
00066 <span class="preprocessor">#endif</span> 00073 StkFloat loopGain_;
00067 <span class="preprocessor"></span> 00074 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00075
00076 };
00077
00078 <span class="preprocessor">#endif</span>
00079 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>PoleZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>PoleZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span> 00013 <span class="comment">/***************************************************/</span>
00014 00014
00015 <span class="preprocessor">#if !defined(__POLEZERO_H)</span> 00015 <span class="preprocessor">#ifndef STK_POLEZERO_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __POLEZERO_H</span> 00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_POLEZERO_H</span>
00017 <span class="preprocessor"></span> 00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span> 00018 <span class="preprocessor">#include "Filter.h"</span>
00019 00019
@@ -27,35 +27,39 @@
00029 00029
00031 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a2">clear</a>(<span class="keywordtype">void</span>); 00031 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a2">clear</a>(<span class="keywordtype">void</span>);
00032 00032
00034 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a3">setB0</a>(MY_FLOAT b0); 00034 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a3">setB0</a>(StkFloat b0);
00035 00035
00037 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a4">setB1</a>(MY_FLOAT b1); 00037 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a4">setB1</a>(StkFloat b1);
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a5">setA1</a>(MY_FLOAT a1); 00040 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a5">setA1</a>(StkFloat a1);
00041 00041
00043 00043
00048 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a6">setAllpass</a>(MY_FLOAT coefficient); 00048 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a6">setAllpass</a>(StkFloat coefficient);
00049 00049
00051 00051
00057 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a7">setBlockZero</a>(MY_FLOAT thePole = 0.99); 00057 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a7">setBlockZero</a>(StkFloat thePole = 0.99);
00058 00058
00060 00060
00064 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a8">setGain</a>(MY_FLOAT theGain); 00064 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a8">setGain</a>(StkFloat gain);
00065 00065
00067 MY_FLOAT <a class="code" href="classPoleZero.html#a9">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00067 StkFloat <a class="code" href="classPoleZero.html#a9">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00068 00068
00070 MY_FLOAT <a class="code" href="classPoleZero.html#a10">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00070 StkFloat <a class="code" href="classPoleZero.html#a10">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00071 00071
00073 MY_FLOAT <a class="code" href="classPoleZero.html#a11">tick</a>(MY_FLOAT sample); 00073 StkFloat <a class="code" href="classPoleZero.html#a11">tick</a>(StkFloat sample);
00074 00074
00076 MY_FLOAT *<a class="code" href="classPoleZero.html#a11">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00076 StkFloat *<a class="code" href="classPoleZero.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00077 }; 00077
00078 00079
00079 <span class="preprocessor">#endif</span> 00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPoleZero.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00086
00087 };
00088
00089 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -1,56 +0,0 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>ReedTabl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#if !defined(__REEDTABL_H)</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __REEDTABL_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Stk.h"</span>
00024
<a name="l00025"></a><a class="code" href="classReedTabl.html">00025</a> <span class="keyword">class </span><a class="code" href="classReedTabl.html">ReedTabl</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00026 {
00027 <span class="keyword">public</span>:
00029 <a class="code" href="classReedTabl.html#a0">ReedTabl</a>();
00030
00032 <a class="code" href="classReedTabl.html#a1">~ReedTabl</a>();
00033
00035
00040 <span class="keywordtype">void</span> <a class="code" href="classReedTabl.html#a2">setOffset</a>(MY_FLOAT aValue);
00041
00043
00048 <span class="keywordtype">void</span> <a class="code" href="classReedTabl.html#a3">setSlope</a>(MY_FLOAT aValue);
00049
00051 MY_FLOAT <a class="code" href="classReedTabl.html#a4">lastOut</a>() <span class="keyword">const</span>;
00052
00054
00058 MY_FLOAT <a class="code" href="classReedTabl.html#a5">tick</a>(MY_FLOAT input);
00059
00061 MY_FLOAT *<a class="code" href="classReedTabl.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00062
00063 <span class="keyword">protected</span>:
00064 MY_FLOAT offSet;
00065 MY_FLOAT slope;
00066 MY_FLOAT lastOutput;
00067
00068 };
00069
00070 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,56 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>ReedTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#ifndef STK_REEDTABLE_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_REEDTABLE_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Function.h"</span>
00024
<a name="l00025"></a><a class="code" href="classReedTable.html">00025</a> <span class="keyword">class </span><a class="code" href="classReedTable.html">ReedTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a>
00026 {
00027 <span class="keyword">public</span>:
00029 <a class="code" href="classReedTable.html#a0">ReedTable</a>();
00030
00032 <a class="code" href="classReedTable.html#a1">~ReedTable</a>();
00033
00035
00040 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a2">setOffset</a>(StkFloat offset);
00041
00043
00048 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a3">setSlope</a>(StkFloat slope);
00049
00051
00055 StkFloat <a class="code" href="classReedTable.html#a4">tick</a>(StkFloat input);
00056
00058 StkFloat *<a class="code" href="classReedTable.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00059
00061
00067 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classReedTable.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00068
00069 <span class="keyword">protected</span>:
00070 StkFloat offset_;
00071 StkFloat slope_;
00072
00073 };
00074
00075 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -12,8 +12,8 @@
<h1>Resonate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Resonate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span> 00018 <span class="comment">/***************************************************/</span>
00019 00019
00020 <span class="preprocessor">#if !defined(__RESONATE_H)</span> 00020 <span class="preprocessor">#ifndef STK_RESONATE_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __RESONATE_H</span> 00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_RESONATE_H</span>
00022 <span class="preprocessor"></span> 00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span> 00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "ADSR.h"</span> 00024 <span class="preprocessor">#include "ADSR.h"</span>
@@ -29,9 +29,9 @@
00036 00036
00038 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a2">clear</a>(); 00038 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a2">clear</a>();
00039 00039
00041 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a3">setResonance</a>(MY_FLOAT frequency, MY_FLOAT radius); 00041 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a3">setResonance</a>(StkFloat frequency, StkFloat radius);
00042 00042
00044 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a4">setNotch</a>(MY_FLOAT frequency, MY_FLOAT radius); 00044 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a4">setNotch</a>(StkFloat frequency, StkFloat radius);
00045 00045
00047 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a5">setEqualGainZeroes</a>(); 00047 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a5">setEqualGainZeroes</a>();
00048 00048
@@ -39,30 +39,35 @@
00051 00051
00053 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a7">keyOff</a>(); 00053 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a7">keyOff</a>();
00054 00054
00056 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a8">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00056 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00057 00057
00059 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a9">noteOff</a>(MY_FLOAT amplitude); 00059 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a9">noteOff</a>(StkFloat amplitude);
00060 00060
00062 MY_FLOAT <a class="code" href="classResonate.html#a10">tick</a>(); 00062 StkFloat <a class="code" href="classResonate.html#a10">tick</a>();
00063 00063
00065 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00065 StkFloat *<a class="code" href="classResonate.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00066 00066
00067 <span class="keyword">protected</span>: 00068
00068 <a class="code" href="classADSR.html">ADSR</a> *adsr; 00074 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classResonate.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00069 <a class="code" href="classBiQuad.html">BiQuad</a> *filter;
00070 <a class="code" href="classNoise.html">Noise</a> *noise;
00071 MY_FLOAT poleFrequency;
00072 MY_FLOAT poleRadius;
00073 MY_FLOAT zeroFrequency;
00074 MY_FLOAT zeroRadius;
00075 00075
00076 }; 00077 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00077 00078
00078 <span class="preprocessor">#endif</span> 00079 <span class="keyword">protected</span>:
00080 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00081 <a class="code" href="classBiQuad.html">BiQuad</a> filter_;
00082 <a class="code" href="classNoise.html">Noise</a> noise_;
00083 StkFloat poleFrequency_;
00084 StkFloat poleRadius_;
00085 StkFloat zeroFrequency_;
00086 StkFloat zeroRadius_;
00087
00088 };
00089
00090 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,30 +12,36 @@
<h1>Rhodey.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Rhodey.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span> 00031 <span class="comment">/***************************************************/</span>
00032 00032
00033 <span class="preprocessor">#if !defined(__RHODEY_H)</span> 00033 <span class="preprocessor">#ifndef STK_RHODEY_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define __RHODEY_H</span> 00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_RHODEY_H</span>
00035 <span class="preprocessor"></span> 00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span> 00036 <span class="preprocessor">#include "FM.h"</span>
00037 00037
<a name="l00038"></a><a class="code" href="classRhodey.html">00038</a> <span class="keyword">class </span><a class="code" href="classRhodey.html">Rhodey</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <a name="l00038"></a><a class="code" href="classRhodey.html">00038</a> <span class="keyword">class </span><a class="code" href="classRhodey.html">Rhodey</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 { 00039 {
00040 <span class="keyword">public</span>: 00040 <span class="keyword">public</span>:
00042 <a class="code" href="classRhodey.html#a0">Rhodey</a>(); 00042
00043 00045 <a class="code" href="classRhodey.html#a0">Rhodey</a>();
00045 <a class="code" href="classRhodey.html#a1">~Rhodey</a>();
00046 00046
00048 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a2">setFrequency</a>(MY_FLOAT frequency); 00048 <a class="code" href="classRhodey.html#a1">~Rhodey</a>();
00049 00049
00051 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00051 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a2">setFrequency</a>(StkFloat frequency);
00052 00052
00054 MY_FLOAT <a class="code" href="classRhodey.html#a4">tick</a>(); 00054 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055 }; 00055
00056 00057 StkFloat <a class="code" href="classRhodey.html#a4">tick</a>();
00057 <span class="preprocessor">#endif</span> 00058
00060 StkFloat *<a class="code" href="classRhodey.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00061
00063
00069 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRhodey.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00070 };
00071
00072 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,7 +12,7 @@
<h1>RtAudio.h</h1><div class="fragment"><pre>00001 <span class="comment">/************************************************************************/</span> <h1>RtAudio.h</h1><div class="fragment"><pre>00001 <span class="comment">/************************************************************************/</span>
00038 <span class="comment">/************************************************************************/</span> 00038 <span class="comment">/************************************************************************/</span>
00039 00039
00040 <span class="comment">// RtAudio: Version 3.0.1, 22 March 2004</span> 00040 <span class="comment">// RtAudio: Version 3.0.2, pre-release for STK 4.2.0</span>
00041 00041
00042 <span class="preprocessor">#ifndef __RTAUDIO_H</span> 00042 <span class="preprocessor">#ifndef __RTAUDIO_H</span>
00043 <span class="preprocessor"></span><span class="preprocessor">#define __RTAUDIO_H</span> 00043 <span class="preprocessor"></span><span class="preprocessor">#define __RTAUDIO_H</span>
@@ -99,440 +99,466 @@
00127 { 00127 {
00128 <span class="keyword">public</span>: 00128 <span class="keyword">public</span>:
00129 00129
00130 RtApi(); 00130 <span class="keyword">enum</span> StreamState {
00131 <span class="keyword">virtual</span> ~RtApi(); 00131 STREAM_STOPPED,
00132 <span class="keywordtype">void</span> openStream( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels, 00132 STREAM_RUNNING
00133 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels, 00133 };
00134 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate, 00134
00135 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); 00135 RtApi();
00136 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ) = 0; 00136 <span class="keyword">virtual</span> ~RtApi();
00137 <span class="keyword">virtual</span> <span class="keywordtype">void</span> cancelStreamCallback() = 0; 00137 <span class="keywordtype">void</span> openStream( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00138 <span class="keywordtype">int</span> getDeviceCount(<span class="keywordtype">void</span>); 00138 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00139 <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> getDeviceInfo( <span class="keywordtype">int</span> device ); 00139 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00140 <span class="keywordtype">char</span> * <span class="keyword">const</span> getStreamBuffer(); 00140 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00141 <span class="keyword">virtual</span> <span class="keywordtype">void</span> tickStream() = 0; 00141 <span class="keywordtype">void</span> openStream( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00142 <span class="keyword">virtual</span> <span class="keywordtype">void</span> closeStream(); 00142 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00143 <span class="keyword">virtual</span> <span class="keywordtype">void</span> startStream() = 0; 00143 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00144 <span class="keyword">virtual</span> <span class="keywordtype">void</span> stopStream() = 0; 00144 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> *numberOfBuffers );
00145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> abortStream() = 0; 00145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ) = 0;
00146 00146 <span class="keyword">virtual</span> <span class="keywordtype">void</span> cancelStreamCallback() = 0;
00147 <span class="keyword">protected</span>: 00147 <span class="keywordtype">int</span> getDeviceCount(<span class="keywordtype">void</span>);
00148 00148 <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> getDeviceInfo( <span class="keywordtype">int</span> device );
00149 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> MAX_SAMPLE_RATES; 00149 <span class="keywordtype">char</span> * <span class="keyword">const</span> getStreamBuffer();
00150 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> SAMPLE_RATES[]; 00150 RtApi::StreamState getStreamState() <span class="keyword">const</span>;
00151 00151 <span class="keyword">virtual</span> <span class="keywordtype">void</span> tickStream() = 0;
00152 <span class="keyword">enum</span> { FAILURE, SUCCESS }; 00152 <span class="keyword">virtual</span> <span class="keywordtype">void</span> closeStream();
00153 00153 <span class="keyword">virtual</span> <span class="keywordtype">void</span> startStream() = 0;
00154 <span class="keyword">enum</span> StreamMode { 00154 <span class="keyword">virtual</span> <span class="keywordtype">void</span> stopStream() = 0;
00155 OUTPUT, 00155 <span class="keyword">virtual</span> <span class="keywordtype">void</span> abortStream() = 0;
00156 INPUT, 00156
00157 DUPLEX, 00157 <span class="keyword">protected</span>:
00158 UNINITIALIZED = -75 00158
00159 }; 00159 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> MAX_SAMPLE_RATES;
00160 00160 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> SAMPLE_RATES[];
00161 <span class="keyword">enum</span> StreamState { 00161
00162 STREAM_STOPPED, 00162 <span class="keyword">enum</span> { FAILURE, SUCCESS };
00163 STREAM_RUNNING 00163
00164 }; 00164 <span class="keyword">enum</span> StreamMode {
00165 00165 OUTPUT,
00166 <span class="comment">// A protected structure for audio streams.</span> 00166 INPUT,
00167 <span class="keyword">struct </span>RtApiStream { 00167 DUPLEX,
00168 <span class="keywordtype">int</span> device[2]; <span class="comment">// Playback and record, respectively.</span> 00168 UNINITIALIZED = -75
00169 <span class="keywordtype">void</span> *apiHandle; <span class="comment">// void pointer for API specific stream handle information</span> 00169 };
00170 StreamMode mode; <span class="comment">// OUTPUT, INPUT, or DUPLEX.</span> 00170
00171 StreamState state; <span class="comment">// STOPPED or RUNNING</span> 00171 <span class="comment">// A protected structure used for buffer conversion.</span>
00172 <span class="keywordtype">char</span> *userBuffer; 00172 <span class="keyword">struct </span>ConvertInfo {
00173 <span class="keywordtype">char</span> *deviceBuffer; 00173 <span class="keywordtype">int</span> channels;
00174 <span class="keywordtype">bool</span> doConvertBuffer[2]; <span class="comment">// Playback and record, respectively.</span> 00174 <span class="keywordtype">int</span> inJump, outJump;
00175 <span class="keywordtype">bool</span> deInterleave[2]; <span class="comment">// Playback and record, respectively.</span> 00175 RtAudioFormat inFormat, outFormat;
00176 <span class="keywordtype">bool</span> doByteSwap[2]; <span class="comment">// Playback and record, respectively.</span> 00176 std::vector&lt;int&gt; inOffset;
00177 <span class="keywordtype">int</span> sampleRate; 00177 std::vector&lt;int&gt; outOffset;
00178 <span class="keywordtype">int</span> bufferSize; 00178 };
00179 <span class="keywordtype">int</span> nBuffers; 00179
00180 <span class="keywordtype">int</span> nUserChannels[2]; <span class="comment">// Playback and record, respectively.</span> 00180 <span class="comment">// A protected structure for audio streams.</span>
00181 <span class="keywordtype">int</span> nDeviceChannels[2]; <span class="comment">// Playback and record channels, respectively.</span> 00181 <span class="keyword">struct </span>RtApiStream {
00182 RtAudioFormat userFormat; 00182 <span class="keywordtype">int</span> device[2]; <span class="comment">// Playback and record, respectively.</span>
00183 RtAudioFormat deviceFormat[2]; <span class="comment">// Playback and record, respectively.</span> 00183 <span class="keywordtype">void</span> *apiHandle; <span class="comment">// void pointer for API specific stream handle information</span>
00184 StreamMutex mutex; 00184 StreamMode mode; <span class="comment">// OUTPUT, INPUT, or DUPLEX.</span>
00185 CallbackInfo callbackInfo; 00185 StreamState state; <span class="comment">// STOPPED or RUNNING</span>
00186 00186 <span class="keywordtype">char</span> *userBuffer;
00187 RtApiStream() 00187 <span class="keywordtype">char</span> *deviceBuffer;
00188 :apiHandle(0), userBuffer(0), deviceBuffer(0) {} 00188 <span class="keywordtype">bool</span> doConvertBuffer[2]; <span class="comment">// Playback and record, respectively.</span>
00189 <span class="comment">// mode(UNINITIALIZED), state(STREAM_STOPPED),</span> 00189 <span class="keywordtype">bool</span> deInterleave[2]; <span class="comment">// Playback and record, respectively.</span>
00190 }; 00190 <span class="keywordtype">bool</span> doByteSwap[2]; <span class="comment">// Playback and record, respectively.</span>
00191 00191 <span class="keywordtype">int</span> sampleRate;
00192 <span class="comment">// A protected device structure for audio devices.</span> 00192 <span class="keywordtype">int</span> bufferSize;
00193 <span class="keyword">struct </span>RtApiDevice { 00193 <span class="keywordtype">int</span> nBuffers;
00194 std::string name; 00194 <span class="keywordtype">int</span> nUserChannels[2]; <span class="comment">// Playback and record, respectively.</span>
00195 <span class="keywordtype">bool</span> probed; 00195 <span class="keywordtype">int</span> nDeviceChannels[2]; <span class="comment">// Playback and record channels, respectively.</span>
00196 <span class="keywordtype">void</span> *apiDeviceId; <span class="comment">// void pointer for API specific device information</span> 00196 RtAudioFormat userFormat;
00197 <span class="keywordtype">int</span> maxOutputChannels; 00197 RtAudioFormat deviceFormat[2]; <span class="comment">// Playback and record, respectively.</span>
00198 <span class="keywordtype">int</span> maxInputChannels; 00198 StreamMutex mutex;
00199 <span class="keywordtype">int</span> maxDuplexChannels; 00199 CallbackInfo callbackInfo;
00200 <span class="keywordtype">int</span> minOutputChannels; 00200 ConvertInfo convertInfo[2];
00201 <span class="keywordtype">int</span> minInputChannels; 00201
00202 <span class="keywordtype">int</span> minDuplexChannels; 00202 RtApiStream()
00203 <span class="keywordtype">bool</span> hasDuplexSupport; 00203 :apiHandle(0), userBuffer(0), deviceBuffer(0) {}
00204 <span class="keywordtype">bool</span> isDefault; 00204 };
00205 std::vector&lt;int&gt; sampleRates; 00205
00206 RtAudioFormat nativeFormats; 00206 <span class="comment">// A protected device structure for audio devices.</span>
00208 <span class="comment">// Default constructor.</span> 00207 <span class="keyword">struct </span>RtApiDevice {
00209 RtApiDevice() 00208 std::string name;
00210 :probed(false), apiDeviceId(0), maxOutputChannels(0), maxInputChannels(0), 00209 <span class="keywordtype">bool</span> probed;
00211 maxDuplexChannels(0), minOutputChannels(0), minInputChannels(0), 00210 <span class="keywordtype">void</span> *apiDeviceId; <span class="comment">// void pointer for API specific device information</span>
00212 minDuplexChannels(0), isDefault(false), nativeFormats(0) {} 00211 <span class="keywordtype">int</span> maxOutputChannels;
00213 }; 00212 <span class="keywordtype">int</span> maxInputChannels;
00214 00213 <span class="keywordtype">int</span> maxDuplexChannels;
00215 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> Int16; 00214 <span class="keywordtype">int</span> minOutputChannels;
00216 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> Int32; 00215 <span class="keywordtype">int</span> minInputChannels;
00217 <span class="keyword">typedef</span> <span class="keywordtype">float</span> Float32; 00216 <span class="keywordtype">int</span> minDuplexChannels;
00218 <span class="keyword">typedef</span> <span class="keywordtype">double</span> Float64; 00217 <span class="keywordtype">bool</span> hasDuplexSupport;
00219 00218 <span class="keywordtype">bool</span> isDefault;
00220 <span class="keywordtype">char</span> message_[256]; 00219 std::vector&lt;int&gt; sampleRates;
00221 <span class="keywordtype">int</span> nDevices_; 00220 RtAudioFormat nativeFormats;
00222 std::vector&lt;RtApiDevice&gt; devices_; 00222 <span class="comment">// Default constructor.</span>
00223 RtApiStream stream_; 00223 RtApiDevice()
00224 00224 :probed(false), apiDeviceId(0), maxOutputChannels(0), maxInputChannels(0),
00229 <span class="keyword">virtual</span> <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>) = 0; 00225 maxDuplexChannels(0), minOutputChannels(0), minInputChannels(0),
00230 00226 minDuplexChannels(0), isDefault(false), nativeFormats(0) {}
00239 <span class="keyword">virtual</span> <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); 00227 };
00240 00228
00249 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, 00229 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> Int16;
00250 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, 00230 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> Int32;
00251 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); 00231 <span class="keyword">typedef</span> <span class="keywordtype">float</span> Float32;
00252 00232 <span class="keyword">typedef</span> <span class="keywordtype">double</span> Float64;
00257 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>); 00233
00258 00234 <span class="keywordtype">char</span> message_[1024];
00263 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>); 00235 <span class="keywordtype">int</span> nDevices_;
00264 00236 std::vector&lt;RtApiDevice&gt; devices_;
00266 <span class="keywordtype">void</span> clearDeviceInfo( RtApiDevice *info ); 00237 RtApiStream stream_;
00267 00238
00269 <span class="keywordtype">void</span> clearStreamInfo(); 00243 <span class="keyword">virtual</span> <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>) = 0;
00270 00244
00272 <span class="keywordtype">void</span> error( RtError::Type type ); 00253 <span class="keyword">virtual</span> <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00273 00254
00278 <span class="keywordtype">void</span> verifyStream(); 00263 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00279 00264 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00284 <span class="keywordtype">void</span> convertStreamBuffer( StreamMode mode ); 00265 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00285 00266
00287 <span class="keywordtype">void</span> byteSwapBuffer( <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> samples, RtAudioFormat format ); 00271 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00288 00272
00290 <span class="keywordtype">int</span> formatBytes( RtAudioFormat format ); 00277 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00291 }; 00278
00292 00280 <span class="keywordtype">void</span> clearDeviceInfo( RtApiDevice *info );
00281
00283 <span class="keywordtype">void</span> clearStreamInfo();
00284
00286 <span class="keywordtype">void</span> error( RtError::Type type );
00287
00292 <span class="keywordtype">void</span> verifyStream();
00293 00293
00294 <span class="comment">// **************************************************************** //</span> 00298 <span class="keywordtype">void</span> convertBuffer( <span class="keywordtype">char</span> *outBuffer, <span class="keywordtype">char</span> *inBuffer, ConvertInfo &amp;info );
00295 <span class="comment">//</span> 00299
00296 <span class="comment">// RtAudio class declaration.</span> 00301 <span class="keywordtype">void</span> byteSwapBuffer( <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> samples, RtAudioFormat format );
00297 <span class="comment">//</span> 00302
00298 <span class="comment">// RtAudio is a "controller" used to select an available audio i/o</span> 00304 <span class="keywordtype">int</span> formatBytes( RtAudioFormat format );
00299 <span class="comment">// interface. It presents a common API for the user to call but all</span> 00305 };
00300 <span class="comment">// functionality is implemented by the class RtAudioApi and its</span>
00301 <span class="comment">// subclasses. RtAudio creates an instance of an RtAudioApi subclass</span>
00302 <span class="comment">// based on the user's API choice. If no choice is made, RtAudio</span>
00303 <span class="comment">// attempts to make a "logical" API selection.</span>
00304 <span class="comment">//</span>
00305 <span class="comment">// **************************************************************** //</span>
00306 00306
<a name="l00307"></a><a class="code" href="classRtAudio.html">00307</a> <span class="keyword">class </span><a class="code" href="classRtAudio.html">RtAudio</a> 00307
00308 { 00308 <span class="comment">// **************************************************************** //</span>
00309 <span class="keyword">public</span>: 00309 <span class="comment">//</span>
00310 00310 <span class="comment">// RtAudio class declaration.</span>
<a name="l00312"></a><a class="code" href="classRtAudio.html#w8">00312</a> <span class="keyword">enum</span> <a class="code" href="classRtAudio.html#w8">RtAudioApi</a> { 00311 <span class="comment">//</span>
00313 <a class="code" href="classRtAudio.html#w8w0">UNSPECIFIED</a>, 00312 <span class="comment">// RtAudio is a "controller" used to select an available audio i/o</span>
00314 <a class="code" href="classRtAudio.html#w8w1">LINUX_ALSA</a>, 00313 <span class="comment">// interface. It presents a common API for the user to call but all</span>
00315 <a class="code" href="classRtAudio.html#w8w2">LINUX_OSS</a>, 00314 <span class="comment">// functionality is implemented by the class RtAudioApi and its</span>
00316 <a class="code" href="classRtAudio.html#w8w3">LINUX_JACK</a>, 00315 <span class="comment">// subclasses. RtAudio creates an instance of an RtAudioApi subclass</span>
00317 <a class="code" href="classRtAudio.html#w8w4">MACOSX_CORE</a>, 00316 <span class="comment">// based on the user's API choice. If no choice is made, RtAudio</span>
00318 <a class="code" href="classRtAudio.html#w8w5">IRIX_AL</a>, 00317 <span class="comment">// attempts to make a "logical" API selection.</span>
00319 <a class="code" href="classRtAudio.html#w8w6">WINDOWS_ASIO</a>, 00318 <span class="comment">//</span>
00320 <a class="code" href="classRtAudio.html#w8w7">WINDOWS_DS</a> 00319 <span class="comment">// **************************************************************** //</span>
00321 }; 00320
00322 <a name="l00321"></a><a class="code" href="classRtAudio.html">00321</a> <span class="keyword">class </span><a class="code" href="classRtAudio.html">RtAudio</a>
00322 {
00323 <span class="keyword">public</span>:
00324 00324
00334 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( RtAudioApi api=UNSPECIFIED ); <a name="l00326"></a><a class="code" href="classRtAudio.html#w8">00326</a> <span class="keyword">enum</span> <a class="code" href="classRtAudio.html#w8">RtAudioApi</a> {
00335 00327 <a class="code" href="classRtAudio.html#w8w0">UNSPECIFIED</a>,
00337 00328 <a class="code" href="classRtAudio.html#w8w1">LINUX_ALSA</a>,
00348 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels, 00329 <a class="code" href="classRtAudio.html#w8w2">LINUX_OSS</a>,
00349 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels, 00330 <a class="code" href="classRtAudio.html#w8w3">LINUX_JACK</a>,
00350 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate, 00331 <a class="code" href="classRtAudio.html#w8w4">MACOSX_CORE</a>,
00351 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers, RtAudioApi api=UNSPECIFIED ); 00332 <a class="code" href="classRtAudio.html#w8w5">IRIX_AL</a>,
00352 00333 <a class="code" href="classRtAudio.html#w8w6">WINDOWS_ASIO</a>,
00354 00334 <a class="code" href="classRtAudio.html#w8w7">WINDOWS_DS</a>
00358 <a class="code" href="classRtAudio.html#a2">~RtAudio</a>(); 00335 };
00359 00336
00361 00338
00387 <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a3">openStream</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels, 00348 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( RtAudioApi api=UNSPECIFIED );
00388 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels, 00349
00389 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate, 00351
00390 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); 00362 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00391 00363 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00393 00364 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
<a name="l00412"></a><a class="code" href="classRtAudio.html#a4">00412</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a4">setStreamCallback</a>(RtAudioCallback callback, <span class="keywordtype">void</span> *userData) { rtapi_-&gt;setStreamCallback( callback, userData ); }; 00365 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers, RtAudioApi api=UNSPECIFIED );
00413 00366
00415 00368
<a name="l00422"></a><a class="code" href="classRtAudio.html#a5">00422</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a5">cancelStreamCallback</a>() { rtapi_-&gt;cancelStreamCallback(); }; 00376 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00423 00377 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
<a name="l00425"></a><a class="code" href="classRtAudio.html#a6">00425</a> <span class="keywordtype">int</span> <a class="code" href="classRtAudio.html#a6">getDeviceCount</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> rtapi_-&gt;getDeviceCount(); }; 00378 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00426 00379 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> *numberOfBuffers, RtAudioApi api=UNSPECIFIED );
00428 00380
<a name="l00436"></a><a class="code" href="classRtAudio.html#a7">00436</a> <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> <a class="code" href="classRtAudio.html#a7">getDeviceInfo</a>(<span class="keywordtype">int</span> device) { <span class="keywordflow">return</span> rtapi_-&gt;getDeviceInfo( device ); }; 00382
00437 00386 <a class="code" href="classRtAudio.html#a3">~RtAudio</a>();
00439 00387
<a name="l00444"></a><a class="code" href="classRtAudio.html#a8">00444</a> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classRtAudio.html#a8">getStreamBuffer</a>() { <span class="keywordflow">return</span> rtapi_-&gt;getStreamBuffer(); }; 00389
00445 00415 <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a4">openStream</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00447 00416 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
<a name="l00452"></a><a class="code" href="classRtAudio.html#a9">00452</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a9">tickStream</a>() { rtapi_-&gt;tickStream(); }; 00417 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00453 00418 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00419
00421
00429 <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a4">openStream</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00430 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00431 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00432 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> *numberOfBuffers );
00433
00435
<a name="l00454"></a><a class="code" href="classRtAudio.html#a6">00454</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a6">setStreamCallback</a>(RtAudioCallback callback, <span class="keywordtype">void</span> *userData) { rtapi_-&gt;setStreamCallback( callback, userData ); };
00455 00455
<a name="l00459"></a><a class="code" href="classRtAudio.html#a10">00459</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a10">closeStream</a>() { rtapi_-&gt;closeStream(); }; 00457
00460 <a name="l00464"></a><a class="code" href="classRtAudio.html#a7">00464</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a7">cancelStreamCallback</a>() { rtapi_-&gt;cancelStreamCallback(); };
00462 00465
<a name="l00466"></a><a class="code" href="classRtAudio.html#a11">00466</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a11">startStream</a>() { rtapi_-&gt;startStream(); }; <a name="l00467"></a><a class="code" href="classRtAudio.html#a8">00467</a> <span class="keywordtype">int</span> <a class="code" href="classRtAudio.html#a8">getDeviceCount</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> rtapi_-&gt;getDeviceCount(); };
00467 00468
00469 00470
<a name="l00473"></a><a class="code" href="classRtAudio.html#a12">00473</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a12">stopStream</a>() { rtapi_-&gt;stopStream(); }; <a name="l00478"></a><a class="code" href="classRtAudio.html#a9">00478</a> <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> <a class="code" href="classRtAudio.html#a9">getDeviceInfo</a>(<span class="keywordtype">int</span> device) { <span class="keywordflow">return</span> rtapi_-&gt;getDeviceInfo( device ); };
00474 00479
00476
<a name="l00480"></a><a class="code" href="classRtAudio.html#a13">00480</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a13">abortStream</a>() { rtapi_-&gt;abortStream(); };
00481 00481
00482 <a name="l00486"></a><a class="code" href="classRtAudio.html#a10">00486</a> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classRtAudio.html#a10">getStreamBuffer</a>() { <span class="keywordflow">return</span> rtapi_-&gt;getStreamBuffer(); };
00483 <span class="keyword">protected</span>: 00487
00484
00485 <span class="keywordtype">void</span> initialize( RtAudioApi api );
00486
00487 RtApi *rtapi_;
00488 };
00489 00489
00490 <a name="l00494"></a><a class="code" href="classRtAudio.html#a11">00494</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a11">tickStream</a>() { rtapi_-&gt;tickStream(); };
00491 <span class="comment">// RtApi Subclass prototypes.</span> 00495
00492 00497
00493 <span class="preprocessor">#if defined(__LINUX_ALSA__)</span> <a name="l00501"></a><a class="code" href="classRtAudio.html#a12">00501</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a12">closeStream</a>() { rtapi_-&gt;closeStream(); };
00494 <span class="preprocessor"></span> 00502
00495 <span class="keyword">class </span>RtApiAlsa: <span class="keyword">public</span> RtApi 00504
00496 { <a name="l00508"></a><a class="code" href="classRtAudio.html#a13">00508</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a13">startStream</a>() { rtapi_-&gt;startStream(); };
00497 <span class="keyword">public</span>:
00498
00499 RtApiAlsa();
00500 ~RtApiAlsa();
00501 <span class="keywordtype">void</span> tickStream();
00502 <span class="keywordtype">void</span> closeStream();
00503 <span class="keywordtype">void</span> startStream();
00504 <span class="keywordtype">void</span> stopStream();
00505 <span class="keywordtype">void</span> abortStream();
00506 <span class="keywordtype">int</span> streamWillBlock();
00507 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00508 <span class="keywordtype">void</span> cancelStreamCallback();
00509 00509
00510 <span class="keyword">private</span>:
00511 00511
00512 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); <a name="l00515"></a><a class="code" href="classRtAudio.html#a14">00515</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a14">stopStream</a>() { rtapi_-&gt;stopStream(); };
00513 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); 00516
00514 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00515 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00516 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00517 };
00518 00518
00519 <span class="preprocessor">#endif</span> <a name="l00522"></a><a class="code" href="classRtAudio.html#a15">00522</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a15">abortStream</a>() { rtapi_-&gt;abortStream(); };
00520 <span class="preprocessor"></span> 00523
00521 <span class="preprocessor">#if defined(__LINUX_JACK__)</span> 00524
00522 <span class="preprocessor"></span> 00525 <span class="keyword">protected</span>:
00523 <span class="keyword">class </span>RtApiJack: <span class="keyword">public</span> RtApi
00524 {
00525 <span class="keyword">public</span>:
00526 00526
00527 RtApiJack(); 00527 <span class="keywordtype">void</span> initialize( RtAudioApi api );
00528 ~RtApiJack(); 00528
00529 <span class="keywordtype">void</span> tickStream(); 00529 RtApi *rtapi_;
00530 <span class="keywordtype">void</span> closeStream(); 00530 };
00531 <span class="keywordtype">void</span> startStream(); 00531
00532 <span class="keywordtype">void</span> stopStream(); 00532
00533 <span class="keywordtype">void</span> abortStream(); 00533 <span class="comment">// RtApi Subclass prototypes.</span>
00534 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); 00534
00535 <span class="keywordtype">void</span> cancelStreamCallback(); 00535 <span class="preprocessor">#if defined(__LINUX_ALSA__)</span>
00536 <span class="comment">// This function is intended for internal use only. It must be</span> 00536 <span class="preprocessor"></span>
00537 <span class="comment">// public because it is called by the internal callback handler,</span> 00537 <span class="keyword">class </span>RtApiAlsa: <span class="keyword">public</span> RtApi
00538 <span class="comment">// which is not a member of RtAudio. External use of this function</span> 00538 {
00539 <span class="comment">// will most likely produce highly undesireable results!</span> 00539 <span class="keyword">public</span>:
00540 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nframes ); 00540
00541 00541 RtApiAlsa();
00542 <span class="keyword">private</span>: 00542 ~RtApiAlsa();
00543 00543 <span class="keywordtype">void</span> tickStream();
00544 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); 00544 <span class="keywordtype">void</span> closeStream();
00545 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); 00545 <span class="keywordtype">void</span> startStream();
00546 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, 00546 <span class="keywordtype">void</span> stopStream();
00547 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, 00547 <span class="keywordtype">void</span> abortStream();
00548 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); 00548 <span class="keywordtype">int</span> streamWillBlock();
00549 }; 00549 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00550 00550 <span class="keywordtype">void</span> cancelStreamCallback();
00551 <span class="preprocessor">#endif</span> 00551
00552 <span class="preprocessor"></span> 00552 <span class="keyword">private</span>:
00553 <span class="preprocessor">#if defined(__LINUX_OSS__)</span> 00553
00554 <span class="preprocessor"></span> 00554 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00555 <span class="keyword">class </span>RtApiOss: <span class="keyword">public</span> RtApi 00555 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00556 { 00556 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00557 <span class="keyword">public</span>: 00557 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00558 00558 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00559 RtApiOss(); 00559 };
00560 ~RtApiOss(); 00560
00561 <span class="keywordtype">void</span> tickStream(); 00561 <span class="preprocessor">#endif</span>
00562 <span class="keywordtype">void</span> closeStream(); 00562 <span class="preprocessor"></span>
00563 <span class="keywordtype">void</span> startStream(); 00563 <span class="preprocessor">#if defined(__LINUX_JACK__)</span>
00564 <span class="keywordtype">void</span> stopStream(); 00564 <span class="preprocessor"></span>
00565 <span class="keywordtype">void</span> abortStream(); 00565 <span class="keyword">class </span>RtApiJack: <span class="keyword">public</span> RtApi
00566 <span class="keywordtype">int</span> streamWillBlock(); 00566 {
00567 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); 00567 <span class="keyword">public</span>:
00568 <span class="keywordtype">void</span> cancelStreamCallback(); 00568
00569 00569 RtApiJack();
00570 <span class="keyword">private</span>: 00570 ~RtApiJack();
00571 00571 <span class="keywordtype">void</span> tickStream();
00572 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); 00572 <span class="keywordtype">void</span> closeStream();
00573 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); 00573 <span class="keywordtype">void</span> startStream();
00574 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, 00574 <span class="keywordtype">void</span> stopStream();
00575 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, 00575 <span class="keywordtype">void</span> abortStream();
00576 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); 00576 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00577 }; 00577 <span class="keywordtype">void</span> cancelStreamCallback();
00578 00578 <span class="comment">// This function is intended for internal use only. It must be</span>
00579 <span class="preprocessor">#endif</span> 00579 <span class="comment">// public because it is called by the internal callback handler,</span>
00580 <span class="preprocessor"></span> 00580 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
00581 <span class="preprocessor">#if defined(__MACOSX_CORE__)</span> 00581 <span class="comment">// will most likely produce highly undesireable results!</span>
00582 <span class="preprocessor"></span> 00582 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nframes );
00583 <span class="preprocessor">#include &lt;CoreAudio/AudioHardware.h&gt;</span> 00583
00584 00584 <span class="keyword">private</span>:
00585 <span class="keyword">class </span>RtApiCore: <span class="keyword">public</span> RtApi 00585
00586 { 00586 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00587 <span class="keyword">public</span>: 00587 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00588 00588 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00589 RtApiCore(); 00589 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00590 ~RtApiCore(); 00590 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00591 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>); 00591 };
00592 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>); 00592
00593 <span class="keywordtype">void</span> tickStream(); 00593 <span class="preprocessor">#endif</span>
00594 <span class="keywordtype">void</span> closeStream(); 00594 <span class="preprocessor"></span>
00595 <span class="keywordtype">void</span> startStream(); 00595 <span class="preprocessor">#if defined(__LINUX_OSS__)</span>
00596 <span class="keywordtype">void</span> stopStream(); 00596 <span class="preprocessor"></span>
00597 <span class="keywordtype">void</span> abortStream(); 00597 <span class="keyword">class </span>RtApiOss: <span class="keyword">public</span> RtApi
00598 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); 00598 {
00599 <span class="keywordtype">void</span> cancelStreamCallback(); 00599 <span class="keyword">public</span>:
00600 00600
00601 <span class="comment">// This function is intended for internal use only. It must be</span> 00601 RtApiOss();
00602 <span class="comment">// public because it is called by the internal callback handler,</span> 00602 ~RtApiOss();
00603 <span class="comment">// which is not a member of RtAudio. External use of this function</span> 00603 <span class="keywordtype">void</span> tickStream();
00604 <span class="comment">// will most likely produce highly undesireable results!</span> 00604 <span class="keywordtype">void</span> closeStream();
00605 <span class="keywordtype">void</span> callbackEvent( AudioDeviceID deviceId, <span class="keywordtype">void</span> *inData, <span class="keywordtype">void</span> *outData ); 00605 <span class="keywordtype">void</span> startStream();
00606 00606 <span class="keywordtype">void</span> stopStream();
00607 <span class="keyword">private</span>: 00607 <span class="keywordtype">void</span> abortStream();
00608 00608 <span class="keywordtype">int</span> streamWillBlock();
00609 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); 00609 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00610 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); 00610 <span class="keywordtype">void</span> cancelStreamCallback();
00611 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, 00611
00612 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, 00612 <span class="keyword">private</span>:
00613 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); 00613
00614 }; 00614 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00615 00615 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00616 <span class="preprocessor">#endif</span> 00616 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00617 <span class="preprocessor"></span> 00617 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00618 <span class="preprocessor">#if defined(__WINDOWS_DS__)</span> 00618 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00619 <span class="preprocessor"></span> 00619 };
00620 <span class="keyword">class </span>RtApiDs: <span class="keyword">public</span> RtApi 00620
00621 { 00621 <span class="preprocessor">#endif</span>
00622 <span class="keyword">public</span>: 00622 <span class="preprocessor"></span>
00623 00623 <span class="preprocessor">#if defined(__MACOSX_CORE__)</span>
00624 RtApiDs(); 00624 <span class="preprocessor"></span>
00625 ~RtApiDs(); 00625 <span class="preprocessor">#include &lt;CoreAudio/AudioHardware.h&gt;</span>
00626 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>); 00626
00627 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>); 00627 <span class="keyword">class </span>RtApiCore: <span class="keyword">public</span> RtApi
00628 <span class="keywordtype">void</span> tickStream(); 00628 {
00629 <span class="keywordtype">void</span> closeStream(); 00629 <span class="keyword">public</span>:
00630 <span class="keywordtype">void</span> startStream(); 00630
00631 <span class="keywordtype">void</span> stopStream(); 00631 RtApiCore();
00632 <span class="keywordtype">void</span> abortStream(); 00632 ~RtApiCore();
00633 <span class="keywordtype">int</span> streamWillBlock(); 00633 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00634 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); 00634 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00635 <span class="keywordtype">void</span> cancelStreamCallback(); 00635 <span class="keywordtype">void</span> tickStream();
00636 00636 <span class="keywordtype">void</span> closeStream();
00637 <span class="keyword">private</span>: 00637 <span class="keywordtype">void</span> startStream();
00638 00638 <span class="keywordtype">void</span> stopStream();
00639 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); 00639 <span class="keywordtype">void</span> abortStream();
00640 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); 00640 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00641 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, 00641 <span class="keywordtype">void</span> cancelStreamCallback();
00642 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, 00642
00643 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); 00643 <span class="comment">// This function is intended for internal use only. It must be</span>
00644 }; 00644 <span class="comment">// public because it is called by the internal callback handler,</span>
00645 00645 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
00646 <span class="preprocessor">#endif</span> 00646 <span class="comment">// will most likely produce highly undesireable results!</span>
00647 <span class="preprocessor"></span> 00647 <span class="keywordtype">void</span> callbackEvent( AudioDeviceID deviceId, <span class="keywordtype">void</span> *inData, <span class="keywordtype">void</span> *outData );
00648 <span class="preprocessor">#if defined(__WINDOWS_ASIO__)</span> 00648
00649 <span class="preprocessor"></span> 00649 <span class="keyword">private</span>:
00650 <span class="keyword">class </span>RtApiAsio: <span class="keyword">public</span> RtApi 00650
00651 { 00651 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00652 <span class="keyword">public</span>: 00652 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00653 00653 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00654 RtApiAsio(); 00654 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00655 ~RtApiAsio(); 00655 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00656 <span class="keywordtype">void</span> tickStream(); 00656 };
00657 <span class="keywordtype">void</span> closeStream(); 00657
00658 <span class="keywordtype">void</span> startStream(); 00658 <span class="preprocessor">#endif</span>
00659 <span class="keywordtype">void</span> stopStream(); 00659 <span class="preprocessor"></span>
00660 <span class="keywordtype">void</span> abortStream(); 00660 <span class="preprocessor">#if defined(__WINDOWS_DS__)</span>
00661 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); 00661 <span class="preprocessor"></span>
00662 <span class="keywordtype">void</span> cancelStreamCallback(); 00662 <span class="keyword">class </span>RtApiDs: <span class="keyword">public</span> RtApi
00663 00663 {
00664 <span class="comment">// This function is intended for internal use only. It must be</span> 00664 <span class="keyword">public</span>:
00665 <span class="comment">// public because it is called by the internal callback handler,</span> 00665
00666 <span class="comment">// which is not a member of RtAudio. External use of this function</span> 00666 RtApiDs();
00667 <span class="comment">// will most likely produce highly undesireable results!</span> 00667 ~RtApiDs();
00668 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">long</span> bufferIndex ); 00668 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00669 00669 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00670 <span class="keyword">private</span>: 00670 <span class="keywordtype">void</span> tickStream();
00671 00671 <span class="keywordtype">void</span> closeStream();
00672 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); 00672 <span class="keywordtype">void</span> startStream();
00673 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); 00673 <span class="keywordtype">void</span> stopStream();
00674 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, 00674 <span class="keywordtype">void</span> abortStream();
00675 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, 00675 <span class="keywordtype">int</span> streamWillBlock();
00676 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); 00676 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00677 }; 00677 <span class="keywordtype">void</span> cancelStreamCallback();
00678 00678
00679 <span class="preprocessor">#endif</span> 00679 <span class="keyword">private</span>:
00680 <span class="preprocessor"></span> 00680
00681 <span class="preprocessor">#if defined(__IRIX_AL__)</span> 00681 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00682 <span class="preprocessor"></span> 00682 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00683 <span class="keyword">class </span>RtApiAl: <span class="keyword">public</span> RtApi 00683 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00684 { 00684 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00685 <span class="keyword">public</span>: 00685 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00686 00686 };
00687 RtApiAl(); 00687
00688 ~RtApiAl(); 00688 <span class="preprocessor">#endif</span>
00689 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>); 00689 <span class="preprocessor"></span>
00690 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>); 00690 <span class="preprocessor">#if defined(__WINDOWS_ASIO__)</span>
00691 <span class="keywordtype">void</span> tickStream(); 00691 <span class="preprocessor"></span>
00692 <span class="keywordtype">void</span> closeStream(); 00692 <span class="keyword">class </span>RtApiAsio: <span class="keyword">public</span> RtApi
00693 <span class="keywordtype">void</span> startStream(); 00693 {
00694 <span class="keywordtype">void</span> stopStream(); 00694 <span class="keyword">public</span>:
00695 <span class="keywordtype">void</span> abortStream(); 00695
00696 <span class="keywordtype">int</span> streamWillBlock(); 00696 RtApiAsio();
00697 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ); 00697 ~RtApiAsio();
00698 <span class="keywordtype">void</span> cancelStreamCallback(); 00698 <span class="keywordtype">void</span> tickStream();
00699 00699 <span class="keywordtype">void</span> closeStream();
00700 <span class="keyword">private</span>: 00700 <span class="keywordtype">void</span> startStream();
00701 00701 <span class="keywordtype">void</span> stopStream();
00702 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>); 00702 <span class="keywordtype">void</span> abortStream();
00703 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info ); 00703 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00704 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels, 00704 <span class="keywordtype">void</span> cancelStreamCallback();
00705 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format, 00705
00706 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers ); 00706 <span class="comment">// This function is intended for internal use only. It must be</span>
00707 }; 00707 <span class="comment">// public because it is called by the internal callback handler,</span>
00708 00708 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
00709 <span class="preprocessor">#endif</span> 00709 <span class="comment">// will most likely produce highly undesireable results!</span>
00710 <span class="preprocessor"></span> 00710 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">long</span> bufferIndex );
00711 <span class="comment">// Define the following flag to have extra information spewed to stderr.</span> 00711
00712 <span class="comment">//#define __RTAUDIO_DEBUG__</span> 00712 <span class="keyword">private</span>:
00713 00713
00714 <span class="preprocessor">#endif</span> 00714 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00715 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00716 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00717 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00718 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00719 };
00720
00721 <span class="preprocessor">#endif</span>
00722 <span class="preprocessor"></span>
00723 <span class="preprocessor">#if defined(__IRIX_AL__)</span>
00724 <span class="preprocessor"></span>
00725 <span class="keyword">class </span>RtApiAl: <span class="keyword">public</span> RtApi
00726 {
00727 <span class="keyword">public</span>:
00728
00729 RtApiAl();
00730 ~RtApiAl();
00731 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00732 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00733 <span class="keywordtype">void</span> tickStream();
00734 <span class="keywordtype">void</span> closeStream();
00735 <span class="keywordtype">void</span> startStream();
00736 <span class="keywordtype">void</span> stopStream();
00737 <span class="keywordtype">void</span> abortStream();
00738 <span class="keywordtype">int</span> streamWillBlock();
00739 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00740 <span class="keywordtype">void</span> cancelStreamCallback();
00741
00742 <span class="keyword">private</span>:
00743
00744 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00745 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00746 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00747 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00748 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00749 };
00750
00751 <span class="preprocessor">#endif</span>
00752 <span class="preprocessor"></span>
00753 <span class="comment">// Define the following flag to have extra information spewed to stderr.</span>
00754 <span class="comment">//#define __RTAUDIO_DEBUG__</span>
00755
00756 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -10,58 +10,64 @@
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.3.4 -->
<h1>RtDuplex.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>RtDuplex.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00022 <span class="comment">/***************************************************/</span> 00029 <span class="comment">/***************************************************/</span>
00023 00030
00024 <span class="preprocessor">#if !defined(__RTDUPLEX_H)</span> 00031 <span class="preprocessor">#ifndef STK_RTDUPLEX_H</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define __RTDUPLEX_H</span> 00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTDUPLEX_H</span>
00026 <span class="preprocessor"></span> 00033 <span class="preprocessor"></span>
00027 <span class="preprocessor">#include "Stk.h"</span> 00034 <span class="preprocessor">#include "Stk.h"</span>
00028 <span class="preprocessor">#include "RtAudio.h"</span> 00035 <span class="preprocessor">#include "RtAudio.h"</span>
00029 00036
<a name="l00030"></a><a class="code" href="classRtDuplex.html">00030</a> <span class="keyword">class </span><a class="code" href="classRtDuplex.html">RtDuplex</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <a name="l00037"></a><a class="code" href="classRtDuplex.html">00037</a> <span class="keyword">class </span><a class="code" href="classRtDuplex.html">RtDuplex</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00031 { 00038 {
00032 <span class="keyword">public</span>: 00039 <span class="keyword">public</span>:
00034 00041
00045 <a class="code" href="classRtDuplex.html#a0">RtDuplex</a>(<span class="keywordtype">int</span> nChannels = 1, MY_FLOAT <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2); 00052 <a class="code" href="classRtDuplex.html#a0">RtDuplex</a>(<span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2);
00046 00053
00048 <a class="code" href="classRtDuplex.html#a1">~RtDuplex</a>(); 00055 <a class="code" href="classRtDuplex.html#a1">~RtDuplex</a>();
00049 00056
00051 00058
00054 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a2">start</a>(<span class="keywordtype">void</span>); 00061 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a2">start</a>(<span class="keywordtype">void</span>);
00055 00062
00057
00060 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a3">stop</a>(<span class="keywordtype">void</span>);
00061
00063 MY_FLOAT <a class="code" href="classRtDuplex.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064 00064
00066 00067 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a3">stop</a>(<span class="keywordtype">void</span>);
00069 MY_FLOAT <a class="code" href="classRtDuplex.html#a5">tick</a>(<span class="keyword">const</span> MY_FLOAT sample); 00068
00070 00070 StkFloat <a class="code" href="classRtDuplex.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00072 00071
00075 MY_FLOAT *<a class="code" href="classRtDuplex.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00073
00076 00076 StkFloat <a class="code" href="classRtDuplex.html#a5">tick</a>(<span class="keyword">const</span> StkFloat sample);
00078 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classRtDuplex.html#a7">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00077
00079 00079
00081 00082 StkFloat *<a class="code" href="classRtDuplex.html#a5">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00084 MY_FLOAT *<a class="code" href="classRtDuplex.html#a8">tickFrame</a>(MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1); 00083
00085 00085
00086 <span class="keyword">protected</span>: 00092 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtDuplex.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00087 00093
00088 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_; 00095 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtDuplex.html#a8">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00089 MY_FLOAT *data_; 00096
00090 MY_FLOAT *lastOutput_; 00098
00091 <span class="keywordtype">int</span> bufferSize_; 00101 StkFloat *<a class="code" href="classRtDuplex.html#a9">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
00092 <span class="keywordtype">bool</span> stopped_; 00102
00093 <span class="keywordtype">long</span> counter_; 00104
00094 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_; 00110 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtDuplex.html#a9">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00095 00111
00096 }; 00112 <span class="keyword">protected</span>:
00097 00113
00098 <span class="preprocessor">#endif</span> 00114 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00115 StkFloat *data_;
00116 StkFloat *lastOutput_;
00117 <span class="keywordtype">int</span> bufferSize_;
00118 <span class="keywordtype">bool</span> stopped_;
00119 <span class="keywordtype">long</span> counter_;
00120 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
00121
00122 };
00123
00124 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -57,7 +57,7 @@
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -9,51 +9,157 @@
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.3.4 -->
<h1>RtMidi.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>RtMidi.h</h1><div class="fragment"><pre>00001 <span class="comment">/**********************************************************************/</span>
00030 <span class="comment">/***************************************************/</span> 00036 <span class="comment">/**********************************************************************/</span>
00031 00037
00032 <span class="preprocessor">#if !defined(__RTMIDI_H)</span> 00038 <span class="comment">// RtMidi: Version 1.0.2, 21 September 2004</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define __RTMIDI_H</span> 00039
00034 <span class="preprocessor"></span> 00040 <span class="preprocessor">#ifndef RTMIDI_H</span>
00035 <span class="preprocessor">#include "Stk.h"</span> 00041 <span class="preprocessor"></span><span class="preprocessor">#define RTMIDI_H</span>
00036 00042 <span class="preprocessor"></span>
<a name="l00037"></a><a class="code" href="classRtMidi.html">00037</a> <span class="keyword">class </span><a class="code" href="classRtMidi.html">RtMidi</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> 00043 <span class="preprocessor">#include "RtError.h"</span>
00038 { 00044 <span class="preprocessor">#include &lt;string&gt;</span>
00039 <span class="keyword">public</span>:
00041 <a class="code" href="classRtMidi.html#a0">RtMidi</a>(<span class="keywordtype">int</span> device = 0);
00042
00044 <a class="code" href="classRtMidi.html#a1">~RtMidi</a>();
00045 00045
00047 <span class="keywordtype">void</span> <a class="code" href="classRtMidi.html#a2">printMessage</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00046"></a><a class="code" href="classRtMidi.html">00046</a> <span class="keyword">class </span><a class="code" href="classRtMidi.html">RtMidi</a>
00048 00047 {
00050 00048 <span class="keyword">protected</span>:
00053 <span class="keywordtype">int</span> <a class="code" href="classRtMidi.html#a3">nextMessage</a>(<span class="keywordtype">void</span>); 00049
00054 00050 <a class="code" href="classRtMidi.html">RtMidi</a>();
00056 <span class="keywordtype">int</span> <a class="code" href="classRtMidi.html#a4">getType</a>() <span class="keyword">const</span>; 00051
00057 00052 <span class="keyword">virtual</span> ~<a class="code" href="classRtMidi.html">RtMidi</a>() {};
00059 <span class="keywordtype">int</span> <a class="code" href="classRtMidi.html#a5">getChannel</a>() <span class="keyword">const</span>; 00053
00054 <span class="comment">// A basic error reporting function for internal use in the RtMidi</span>
00055 <span class="comment">// subclasses. The behavior of this function can be modified to</span>
00056 <span class="comment">// suit specific needs.</span>
00057 <span class="keywordtype">void</span> error( <a class="code" href="classRtError.html#w11">RtError::Type</a> type );
00058
00059 <span class="keyword">virtual</span> <span class="keywordtype">void</span> openPort( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ) = 0;
00060 00060
00062 MY_FLOAT <a class="code" href="classRtMidi.html#a6">getByteTwo</a>() <span class="keyword">const</span>; 00061 <span class="keywordtype">void</span> *apiData_;
00063 00062 <span class="keywordtype">bool</span> connected_;
00065 MY_FLOAT <a class="code" href="classRtMidi.html#a7">getByteThree</a>() <span class="keyword">const</span>; 00063 std::string errorString_;
00066 00064 };
00068 MY_FLOAT <a class="code" href="classRtMidi.html#a8">getDeltaTime</a>() <span class="keyword">const</span>; 00065
00069 00066 <span class="comment">/**********************************************************************/</span>
00070 <span class="keyword">protected</span>: 00082 <span class="comment">/**********************************************************************/</span>
00071 <span class="keywordtype">int</span> messageType; 00083
00072 <span class="keywordtype">int</span> channel; 00084 <span class="preprocessor">#include &lt;vector&gt;</span>
00073 <span class="keywordtype">float</span> byteTwo; 00085 <span class="preprocessor">#include &lt;queue&gt;</span>
00074 <span class="keywordtype">float</span> byteThree; 00086
00075 MY_FLOAT deltaTime; <a name="l00087"></a><a class="code" href="classRtMidiIn.html">00087</a> <span class="keyword">class </span><a class="code" href="classRtMidiIn.html">RtMidiIn</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a>
00076 <span class="keywordtype">int</span> readIndex; 00088 {
00077 00089 <span class="keyword">public</span>:
00078 }; 00090
00079 <a name="l00092"></a><a class="code" href="classRtMidiIn.html#w0">00092</a> <span class="keyword">typedef</span> void (*<a class="code" href="classRtMidiIn.html#w0">RtMidiCallback</a>)( <span class="keywordtype">double</span> timeStamp, std::vector&lt;unsigned char&gt; *message, <span class="keywordtype">void</span> *userData);
00080 <span class="preprocessor">#endif</span> 00093
00095
00098 <a class="code" href="classRtMidiIn.html#a0">RtMidiIn</a>();
00099
00101 <a class="code" href="classRtMidiIn.html#a1">~RtMidiIn</a>();
00102
00104
00108 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
00109
00111
00117 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a3">openVirtualPort</a>();
00118
00120
00126 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a4">setCallback</a>( <a class="code" href="classRtMidiIn.html#w0">RtMidiCallback</a> callback, <span class="keywordtype">void</span> *userData = 0 );
00127
00129
00133 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a5">cancelCallback</a>();
00134
00136 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a6">closePort</a>( <span class="keywordtype">void</span> );
00137
00139 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiIn.html#a7">getPortCount</a>();
00140
00142
00145 std::string <a class="code" href="classRtMidiIn.html#a8">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
00146
00148
00152 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a9">setQueueSizeLimit</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueSize );
00153
00155
00162 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a10">ignoreTypes</a>( <span class="keywordtype">bool</span> midiSysex = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiTime = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiSense = <span class="keyword">true</span> );
00163
00165
00172 <span class="keywordtype">double</span> <a class="code" href="classRtMidiIn.html#a11">getMessage</a>( std::vector&lt;unsigned char&gt; *message );
00173
00174 <span class="comment">// A MIDI structure used internally by the class to store incoming</span>
00175 <span class="comment">// messages. Each message represents one and only one MIDI message.</span>
00176 <span class="keyword">struct </span>MidiMessage {
00177 std::vector&lt;unsigned char&gt; bytes;
00178 <span class="keywordtype">double</span> timeStamp;
00179
00180 <span class="comment">// Default constructor.</span>
00181 MidiMessage()
00182 :bytes(3), timeStamp(0.0) {}
00183 };
00184
00185 <span class="comment">// The RtMidiInData structure is used to pass private class data to</span>
00186 <span class="comment">// the MIDI input handling function or thread.</span>
00187 <span class="keyword">struct </span>RtMidiInData {
00188 std::queue&lt;MidiMessage&gt; queue;
00189 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueLimit;
00190 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ignoreFlags;
00191 <span class="keywordtype">bool</span> doInput;
00192 <span class="keywordtype">bool</span> firstMessage;
00193 <span class="keywordtype">void</span> *apiData;
00194 <span class="keywordtype">bool</span> usingCallback;
00195 <span class="keywordtype">void</span> *userCallback;
00196 <span class="keywordtype">void</span> *userData;
00197
00198 <span class="comment">// Default constructor.</span>
00199 RtMidiInData()
00200 : queueLimit(1024), ignoreFlags(7), doInput(false), firstMessage(true),
00201 apiData(0), usingCallback(false), userCallback(0), userData(0) {}
00202 };
00203
00204 <span class="keyword">private</span>:
00205
00206 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> );
00207 RtMidiInData inputData_;
00208
00209 };
00210
00211 <span class="comment">/**********************************************************************/</span>
00223 <span class="comment">/**********************************************************************/</span>
00224
<a name="l00225"></a><a class="code" href="classRtMidiOut.html">00225</a> <span class="keyword">class </span><a class="code" href="classRtMidiOut.html">RtMidiOut</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a>
00226 {
00227 <span class="keyword">public</span>:
00228
00230
00233 <a class="code" href="classRtMidiOut.html#a0">RtMidiOut</a>();
00234
00236 <a class="code" href="classRtMidiOut.html#a1">~RtMidiOut</a>();
00237
00239
00245 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
00246
00248 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a3">closePort</a>();
00249
00251
00259 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a4">openVirtualPort</a>();
00260
00262 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiOut.html#a5">getPortCount</a>();
00263
00265
00268 std::string <a class="code" href="classRtMidiOut.html#a6">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber );
00269
00271
00275 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a7">sendMessage</a>( std::vector&lt;unsigned char&gt; *message );
00276
00277 <span class="keyword">private</span>:
00278
00279 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> );
00280 };
00281
00282 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -10,58 +10,63 @@
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.3.4 -->
<h1>RtWvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>RtWvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00020 <span class="comment">/***************************************************/</span> 00024 <span class="comment">/***************************************************/</span>
00021 00025
00022 <span class="preprocessor">#if !defined(__RTWVIN_H)</span> 00026 <span class="preprocessor">#ifndef STK_RTWVIN_H</span>
00023 <span class="preprocessor"></span><span class="preprocessor">#define __RTWVIN_H</span> 00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVIN_H</span>
00024 <span class="preprocessor"></span> 00028 <span class="preprocessor"></span>
00025 <span class="preprocessor">#include "Stk.h"</span> 00029 <span class="preprocessor">#include "WvIn.h"</span>
00026 <span class="preprocessor">#include "WvIn.h"</span> 00030 <span class="preprocessor">#include "RtAudio.h"</span>
00027 <span class="preprocessor">#include "RtAudio.h"</span> 00031
00028 <a name="l00032"></a><a class="code" href="classRtWvIn.html">00032</a> <span class="keyword">class </span><a class="code" href="classRtWvIn.html">RtWvIn</a> : <span class="keyword">protected</span> <a class="code" href="classWvIn.html">WvIn</a>
<a name="l00029"></a><a class="code" href="classRtWvIn.html">00029</a> <span class="keyword">class </span><a class="code" href="classRtWvIn.html">RtWvIn</a> : <span class="keyword">protected</span> <a class="code" href="classWvIn.html">WvIn</a> 00033 {
00030 { 00034 <span class="keyword">public</span>:
00031 <span class="keyword">public</span>: 00036
00033 00047 <a class="code" href="classRtWvIn.html#a0">RtWvIn</a>(<span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2);
00044 <a class="code" href="classRtWvIn.html#a0">RtWvIn</a>(<span class="keywordtype">int</span> nChannels = 1, MY_FLOAT <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2);
00045
00047 <a class="code" href="classRtWvIn.html#a1">~RtWvIn</a>();
00048 00048
00050 00050 <a class="code" href="classRtWvIn.html#a1">~RtWvIn</a>();
00053 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a2">start</a>(<span class="keywordtype">void</span>); 00051
00054 00053
00056 00056 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a2">start</a>(<span class="keywordtype">void</span>);
00059 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a3">stop</a>(<span class="keywordtype">void</span>); 00057
00060 00059
00062 MY_FLOAT <a class="code" href="classRtWvIn.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00062 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a3">stop</a>(<span class="keywordtype">void</span>);
00063 00063
00065 00065 StkFloat <a class="code" href="classRtWvIn.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00068 MY_FLOAT <a class="code" href="classRtWvIn.html#a5">tick</a>(<span class="keywordtype">void</span>); 00066
00069 00068
00071 00071 StkFloat <a class="code" href="classRtWvIn.html#a5">tick</a>(<span class="keywordtype">void</span>);
00074 MY_FLOAT *<a class="code" href="classRtWvIn.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00072
00075 00074
00077 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classRtWvIn.html#a7">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00077 StkFloat *<a class="code" href="classRtWvIn.html#a5">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00078 00078
00080 00080
00083 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classRtWvIn.html#a8">tickFrame</a>(<span class="keywordtype">void</span>); 00086 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtWvIn.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00084 00087
00086 00089 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtWvIn.html#a8">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00089 MY_FLOAT *<a class="code" href="classRtWvIn.html#a8">tickFrame</a>(MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00090 00090
00091 <span class="keyword">protected</span>:
00092 00092
00093 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_; 00095 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtWvIn.html#a9">tickFrame</a>(<span class="keywordtype">void</span>);
00094 <span class="keywordtype">bool</span> stopped_;
00095 <span class="keywordtype">long</span> counter_;
00096 00096
00097 };
00098 00098
00099 <span class="preprocessor">#endif</span> 00101 StkFloat *<a class="code" href="classRtWvIn.html#a9">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00102
00104
00109 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtWvIn.html#a9">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00110
00111 <span class="keyword">protected</span>:
00112
00113 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00114 <span class="keywordtype">bool</span> stopped_;
00115 <span class="keywordtype">long</span> counter_;
00116
00117 };
00118
00119 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -10,56 +10,62 @@
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.3.4 -->
<h1>RtWvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>RtWvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span> 00023 <span class="comment">/***************************************************/</span>
00020 00024
00021 <span class="preprocessor">#if !defined(__RTWVOUT_H)</span> 00025 <span class="preprocessor">#ifndef STK_RTWVOUT_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __RTWVOUT_H</span> 00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVOUT_H</span>
00023 <span class="preprocessor"></span> 00027 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "WvOut.h"</span> 00028 <span class="preprocessor">#include "WvOut.h"</span>
00025 <span class="preprocessor">#include "RtAudio.h"</span> 00029 <span class="preprocessor">#include "RtAudio.h"</span>
00026 <span class="preprocessor">#include "Thread.h"</span> 00030
00027 <a name="l00031"></a><a class="code" href="classRtWvOut.html">00031</a> <span class="keyword">class </span><a class="code" href="classRtWvOut.html">RtWvOut</a> : <span class="keyword">protected</span> <a class="code" href="classWvOut.html">WvOut</a>
<a name="l00028"></a><a class="code" href="classRtWvOut.html">00028</a> <span class="keyword">class </span><a class="code" href="classRtWvOut.html">RtWvOut</a> : <span class="keyword">protected</span> <a class="code" href="classWvOut.html">WvOut</a> 00032 {
00029 { 00033 <span class="keyword">public</span>:
00030 <span class="keyword">public</span>: 00034
00031 00036
00033 00047 <a class="code" href="classRtWvOut.html#a0">RtWvOut</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 4 );
00044 <a class="code" href="classRtWvOut.html#a0">RtWvOut</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, MY_FLOAT <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 4 );
00045
00047 <a class="code" href="classRtWvOut.html#a1">~RtWvOut</a>();
00048 00048
00050 00050 <a class="code" href="classRtWvOut.html#a1">~RtWvOut</a>();
00053 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a2">start</a>(<span class="keywordtype">void</span>); 00051
00054 00053
00056 00056 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a2">start</a>(<span class="keywordtype">void</span>);
00059 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a3">stop</a>(<span class="keywordtype">void</span>); 00057
00060 00059
00062 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classRtWvOut.html#a4">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>; 00062 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a3">stop</a>(<span class="keywordtype">void</span>);
00063 00063
00065 MY_FLOAT <a class="code" href="classRtWvOut.html#a5">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>; 00065 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classRtWvOut.html#a4">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00066 00066
00068 00068 StkFloat <a class="code" href="classRtWvOut.html#a5">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00071 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>(<span class="keyword">const</span> MY_FLOAT sample); 00069
00072 00071
00074 00074 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>( <span class="keyword">const</span> StkFloat sample );
00077 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>(<span class="keyword">const</span> MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00075
00078 00077
00080 00080 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>( <span class="keyword">const</span> StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00083 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a8">tickFrame</a>(<span class="keyword">const</span> MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1); 00081
00084 00083
00085 <span class="keyword">protected</span>: 00089 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00086
00087 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00088 <span class="keywordtype">bool</span> stopped_;
00089 <span class="keywordtype">int</span> bufferSize_;
00090 00090
00091 };
00092 00092
00093 <span class="preprocessor">#endif // defined(__RTWVOUT_H)</span> 00095 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a9">tickFrame</a>( <span class="keyword">const</span> StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1 );
00096
00098
00103 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a9">tickFrame</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00104
00105 <span class="keyword">protected</span>:
00106
00107 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00108 StkFloat *dataPtr_;
00109 <span class="keywordtype">bool</span> stopped_;
00110 <span class="keywordtype">int</span> bufferSize_;
00111
00112 };
00113
00114 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -1,103 +0,0 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>SKINI.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00026 <span class="comment">/***************************************************/</span>
00027
00028 <span class="preprocessor">#if !defined(__SKINI_H)</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define __SKINI_H</span>
00030 <span class="preprocessor"></span>
00031 <span class="preprocessor">#include "Stk.h"</span>
00032 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
00033
<a name="l00034"></a><a class="code" href="classSKINI.html">00034</a> <span class="keyword">class </span><a class="code" href="classSKINI.html">SKINI</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00035 {
00036 <span class="keyword">public</span>:
00038 <a class="code" href="classSKINI.html#a0">SKINI</a>();
00039
00041 <a class="code" href="classSKINI.html#a0">SKINI</a>(<span class="keywordtype">char</span> *fileName);
00042
00044 <a class="code" href="classSKINI.html#a2">~SKINI</a>();
00045
00047
00050 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a3">parseThis</a>(<span class="keywordtype">char</span>* aString);
00051
00053
00056 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a4">nextMessage</a>();
00057
00059 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a5">getType</a>() <span class="keyword">const</span>;
00060
00062 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a6">getChannel</a>() <span class="keyword">const</span>;
00063
00065 MY_FLOAT <a class="code" href="classSKINI.html#a7">getDelta</a>() <span class="keyword">const</span>;
00066
00068 MY_FLOAT <a class="code" href="classSKINI.html#a8">getByteTwo</a>() <span class="keyword">const</span>;
00069
00071 MY_FLOAT <a class="code" href="classSKINI.html#a9">getByteThree</a>() <span class="keyword">const</span>;
00072
00074 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a10">getByteTwoInt</a>() <span class="keyword">const</span>;
00075
00077 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a11">getByteThreeInt</a>() <span class="keyword">const</span>;
00078
00080 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a12">getRemainderString</a>();
00081
00083 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a13">getMessageTypeString</a>();
00084
00086 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a14">whatsThisType</a>(<span class="keywordtype">long</span> type);
00087
00089 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a15">whatsThisController</a>(<span class="keywordtype">long</span> number);
00090
00091 <span class="keyword">protected</span>:
00092
00093 FILE *myFile;
00094 <span class="keywordtype">long</span> messageType;
00095 <span class="keywordtype">char</span> msgTypeString[64];
00096 <span class="keywordtype">long</span> channel;
00097 MY_FLOAT deltaTime;
00098 MY_FLOAT byteTwo;
00099 MY_FLOAT byteThree;
00100 <span class="keywordtype">long</span> byteTwoInt;
00101 <span class="keywordtype">long</span> byteThreeInt;
00102 <span class="keywordtype">char</span> remainderString[1024];
00103 <span class="keywordtype">char</span> whatString[1024];
00104 };
00105
00106 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> Midi2Pitch[129] = {
00107 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25,
00108 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45,
00109 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87,
00110 32.70,34.65,36.71,38.89,41.20,43.65,46.25,49.00,
00111 51.91,55.00,58.27,61.74,65.41,69.30,73.42,77.78,
00112 82.41,87.31,92.50,98.00,103.83,110.00,116.54,123.47,
00113 130.81,138.59,146.83,155.56,164.81,174.61,185.00,196.00,
00114 207.65,220.00,233.08,246.94,261.63,277.18,293.66,311.13,
00115 329.63,349.23,369.99,392.00,415.30,440.00,466.16,493.88,
00116 523.25,554.37,587.33,622.25,659.26,698.46,739.99,783.99,
00117 830.61,880.00,932.33,987.77,1046.50,1108.73,1174.66,1244.51,
00118 1318.51,1396.91,1479.98,1567.98,1661.22,1760.00,1864.66,1975.53,
00119 2093.00,2217.46,2349.32,2489.02,2637.02,2793.83,2959.96,3135.96,
00120 3322.44,3520.00,3729.31,3951.07,4186.01,4434.92,4698.64,4978.03,
00121 5274.04,5587.65,5919.91,6271.93,6644.88,7040.00,7458.62,7902.13,
00122 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
00123 13289.75};
00124
00125 <span class="preprocessor">#endif</span>
00126 <span class="preprocessor"></span>
00127
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,147 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>SKINI.msg</h1><div class="fragment"><pre>00001 <span class="comment">/*********************************************************/</span>
00002 <span class="comment">/*</span>
00003 <span class="comment"> Definition of SKINI Message Types and Special Symbols</span>
00004 <span class="comment"> Synthesis toolKit Instrument Network Interface</span>
00005 <span class="comment"></span>
00006 <span class="comment"> These symbols should have the form:</span>
00007 <span class="comment"></span>
00008 <span class="comment"> \c __SK_&lt;name&gt;_</span>
00009 <span class="comment"></span>
00010 <span class="comment"> where &lt;name&gt; is the string used in the SKINI stream.</span>
00011 <span class="comment"></span>
00012 <span class="comment"> by Perry R. Cook, 1995 - 2004.</span>
00013 <span class="comment">*/</span>
00014 <span class="comment">/*********************************************************/</span>
00015
00016 <span class="preprocessor">#define NOPE -32767</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define YEP 1</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define SK_DBL -32766</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define SK_INT -32765</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define SK_STR -32764</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Exit_ 999</span>
00022 <span class="preprocessor"></span>
00023 <span class="comment">/***** MIDI COMPATIBLE MESSAGES *****/</span>
00024 <span class="comment">/*** (Status bytes for channel=0) ***/</span>
00025
00026 <span class="preprocessor">#define __SK_NoteOff_ 128</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NoteOn_ 144</span>
00028 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PolyPressure_ 160</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ControlChange_ 176</span>
00030 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProgramChange_ 192</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define __SK_AfterTouch_ 208</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ChannelPressure_ __SK_AfterTouch_</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchWheel_ 224</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchBend_ __SK_PitchWheel_</span>
00035 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchChange_ 49</span>
00036 <span class="preprocessor"></span>
00037 <span class="preprocessor">#define __SK_Clock_ 248</span>
00038 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SongStart_ 250</span>
00039 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Continue_ 251</span>
00040 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SongStop_ 252</span>
00041 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ActiveSensing_ 254</span>
00042 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SystemReset_ 255</span>
00043 <span class="preprocessor"></span>
00044 <span class="preprocessor">#define __SK_Volume_ 7</span>
00045 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ModWheel_ 1</span>
00046 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Modulation_ __SK_ModWheel_</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Breath_ 2</span>
00048 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FootControl_ 4</span>
00049 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Portamento_ 65</span>
00050 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Balance_ 8</span>
00051 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Pan_ 10</span>
00052 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Sustain_ 64</span>
00053 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Damper_ __SK_Sustain_</span>
00054 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Expression_ 11 </span>
00055 <span class="preprocessor"></span>
00056 <span class="preprocessor">#define __SK_AfterTouch_Cont_ 128</span>
00057 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ModFrequency_ __SK_Expression_</span>
00058 <span class="preprocessor"></span>
00059 <span class="preprocessor">#define __SK_ProphesyRibbon_ 16</span>
00060 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyWheelUp_ 2</span>
00061 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyWheelDown_ 3</span>
00062 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyPedal_ 18</span>
00063 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyKnob1_ 21</span>
00064 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyKnob2_ 22</span>
00065 <span class="preprocessor"></span>
00066 <span class="comment">/*** Instrument Family Specific ***/</span>
00067
00068 <span class="preprocessor">#define __SK_NoiseLevel_ __SK_FootControl_</span>
00069 <span class="preprocessor"></span>
00070 <span class="preprocessor">#define __SK_PickPosition_ __SK_FootControl_</span>
00071 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StringDamping_ __SK_Expression_</span>
00072 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StringDetune_ __SK_ModWheel_</span>
00073 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BodySize_ __SK_Breath_</span>
00074 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowPressure_ __SK_Breath_</span>
00075 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowPosition_ __SK_PickPosition_</span>
00076 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowBeta_ __SK_BowPosition_</span>
00077 <span class="preprocessor"></span>
00078 <span class="preprocessor">#define __SK_ReedStiffness_ __SK_Breath_</span>
00079 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ReedRestPos_ __SK_FootControl_</span>
00080 <span class="preprocessor"></span>
00081 <span class="preprocessor">#define __SK_FluteEmbouchure_ __SK_Breath_</span>
00082 <span class="preprocessor"></span><span class="preprocessor">#define __SK_JetDelay_ __SK_FluteEmbouchure_</span>
00083 <span class="preprocessor"></span>
00084 <span class="preprocessor">#define __SK_LipTension_ __SK_Breath_</span>
00085 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SlideLength_ __SK_FootControl_</span>
00086 <span class="preprocessor"></span>
00087 <span class="preprocessor">#define __SK_StrikePosition_ __SK_PickPosition_</span>
00088 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StickHardness_ __SK_Breath_</span>
00089 <span class="preprocessor"></span>
00090 <span class="preprocessor">#define __SK_TrillDepth_ 1051</span>
00091 <span class="preprocessor"></span><span class="preprocessor">#define __SK_TrillSpeed_ 1052</span>
00092 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StrumSpeed_ __SK_TrillSpeed_</span>
00093 <span class="preprocessor"></span><span class="preprocessor">#define __SK_RollSpeed_ __SK_TrillSpeed_</span>
00094 <span class="preprocessor"></span>
00095 <span class="preprocessor">#define __SK_FilterQ_ __SK_Breath_</span>
00096 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FilterFreq_ 1062</span>
00097 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FilterSweepRate_ __SK_FootControl_</span>
00098 <span class="preprocessor"></span>
00099 <span class="preprocessor">#define __SK_ShakerInst_ 1071 </span>
00100 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerEnergy_ __SK_Breath_</span>
00101 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerDamping_ __SK_ModFrequency_</span>
00102 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerNumObjects_ __SK_FootControl_</span>
00103 <span class="preprocessor"></span>
00104 <span class="preprocessor">#define __SK_Strumming_ 1090</span>
00105 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotStrumming_ 1091</span>
00106 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Trilling_ 1092</span>
00107 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotTrilling_ 1093</span>
00108 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Rolling_ __SK_Strumming_</span>
00109 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotRolling_ __SK_NotStrumming_</span>
00110 <span class="preprocessor"></span>
00111 <span class="preprocessor">#define __SK_PlayerSkill_ 2001</span>
00112 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Chord_ 2002</span>
00113 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ChordOff_ 2003</span>
00114 <span class="preprocessor"></span>
00115 <span class="preprocessor">#define __SK_SINGER_FilePath_ 3000</span>
00116 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Frequency_ 3001</span>
00117 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_NoteName_ 3002</span>
00118 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Shape_ 3003</span>
00119 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Glot_ 3004</span>
00120 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VoicedUnVoiced_ 3005</span>
00121 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Synthesize_ 3006</span>
00122 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Silence_ 3007</span>
00123 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VibratoAmt_ __SK_ModWheel_</span>
00124 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_RndVibAmt_ 3008</span>
00125 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VibFreq_ __SK_Expression_</span>
00126 <span class="preprocessor"></span>
00127
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -12,8 +12,8 @@
<h1>Sampler.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Sampler.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span> 00010 <span class="comment">/***************************************************/</span>
00011 00011
00012 <span class="preprocessor">#if !defined(__SAMPLER_H)</span> 00012 <span class="preprocessor">#ifndef STK_SAMPLER_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define __SAMPLER_H</span> 00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAMPLER_H</span>
00014 <span class="preprocessor"></span> 00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Instrmnt.h"</span> 00015 <span class="preprocessor">#include "Instrmnt.h"</span>
00016 <span class="preprocessor">#include "ADSR.h"</span> 00016 <span class="preprocessor">#include "ADSR.h"</span>
@@ -30,37 +30,41 @@
00029 00029
00031 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a2">clear</a>(); 00031 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a2">clear</a>();
00032 00032
00034 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a3">setFrequency</a>(MY_FLOAT frequency) = 0; 00034 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a3">setFrequency</a>(StkFloat frequency) = 0;
00035 00035
00037 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a4">keyOn</a>(); 00037 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a4">keyOn</a>();
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a5">keyOff</a>(); 00040 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a5">keyOff</a>();
00041 00041
00043 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a6">noteOff</a>(MY_FLOAT amplitude); 00043 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a6">noteOff</a>(StkFloat amplitude);
00044 00044
00046 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classSampler.html#a7">tick</a>(); 00046 <span class="keyword">virtual</span> StkFloat <a class="code" href="classSampler.html#a7">tick</a>() = 0;
00047 00047
00049 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a8">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value) = 0; 00049 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classSampler.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize) = 0;
00050 00050
00051 <span class="keyword">protected</span>: 00052
00052 <a class="code" href="classADSR.html">ADSR</a> *adsr; 00058 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSampler.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 ) = 0;
00053 <a class="code" href="classWvIn.html">WvIn</a> *attacks[5]; 00059
00054 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loops[5]; 00061 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value) = 0;
00055 <a class="code" href="classOnePole.html">OnePole</a> *filter;
00056 MY_FLOAT baseFrequency;
00057 MY_FLOAT attackRatios[5];
00058 MY_FLOAT loopRatios[5];
00059 MY_FLOAT attackGain;
00060 MY_FLOAT loopGain;
00061 <span class="keywordtype">int</span> whichOne;
00062 00062
00063 }; 00063 <span class="keyword">protected</span>:
00064 00064 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00065 <span class="preprocessor">#endif</span> 00065 std::vector&lt;WvIn *&gt; attacks_;
00066 std::vector&lt;WaveLoop *&gt; loops_;
00067 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00068 StkFloat baseFrequency_;
00069 std::vector&lt;StkFloat&gt; attackRatios_;
00070 std::vector&lt;StkFloat&gt; loopRatios_;
00071 StkFloat attackGain_;
00072 StkFloat loopGain_;
00073
00074 };
00075
00076 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,12 +12,12 @@
<h1>Saxofony.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Saxofony.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00036 <span class="comment">/***************************************************/</span> 00036 <span class="comment">/***************************************************/</span>
00037 00037
00038 <span class="preprocessor">#if !defined(__SAXOFONY_H)</span> 00038 <span class="preprocessor">#ifndef STK_SAXOFONY_H</span>
00039 <span class="preprocessor"></span><span class="preprocessor">#define __SAXOFONY_H</span> 00039 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAXOFONY_H</span>
00040 <span class="preprocessor"></span> 00040 <span class="preprocessor"></span>
00041 <span class="preprocessor">#include "Instrmnt.h"</span> 00041 <span class="preprocessor">#include "Instrmnt.h"</span>
00042 <span class="preprocessor">#include "DelayL.h"</span> 00042 <span class="preprocessor">#include "DelayL.h"</span>
00043 <span class="preprocessor">#include "ReedTabl.h"</span> 00043 <span class="preprocessor">#include "ReedTable.h"</span>
00044 <span class="preprocessor">#include "OneZero.h"</span> 00044 <span class="preprocessor">#include "OneZero.h"</span>
00045 <span class="preprocessor">#include "Envelope.h"</span> 00045 <span class="preprocessor">#include "Envelope.h"</span>
00046 <span class="preprocessor">#include "Noise.h"</span> 00046 <span class="preprocessor">#include "Noise.h"</span>
@@ -26,48 +26,54 @@
<a name="l00049"></a><a class="code" href="classSaxofony.html">00049</a> <span class="keyword">class </span><a class="code" href="classSaxofony.html">Saxofony</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00049"></a><a class="code" href="classSaxofony.html">00049</a> <span class="keyword">class </span><a class="code" href="classSaxofony.html">Saxofony</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00050 { 00050 {
00051 <span class="keyword">public</span>: 00051 <span class="keyword">public</span>:
00053 <a class="code" href="classSaxofony.html#a0">Saxofony</a>(MY_FLOAT lowestFrequency); 00053
00054 00056 <a class="code" href="classSaxofony.html#a0">Saxofony</a>(StkFloat lowestFrequency);
00056 <a class="code" href="classSaxofony.html#a1">~Saxofony</a>();
00057 00057
00059 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a2">clear</a>(); 00059 <a class="code" href="classSaxofony.html#a1">~Saxofony</a>();
00060 00060
00062 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a3">setFrequency</a>(MY_FLOAT frequency); 00062 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a2">clear</a>();
00063 00063
00065 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a4">setBlowPosition</a>(MY_FLOAT aPosition); 00065 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a3">setFrequency</a>(StkFloat frequency);
00066 00066
00068 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a5">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate); 00068 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a4">setBlowPosition</a>(StkFloat aPosition);
00069 00069
00071 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a6">stopBlowing</a>(MY_FLOAT rate); 00071 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00072 00072
00074 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00074 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a6">stopBlowing</a>(StkFloat rate);
00075 00075
00077 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a8">noteOff</a>(MY_FLOAT amplitude); 00077 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00078 00078
00080 MY_FLOAT <a class="code" href="classSaxofony.html#a9">tick</a>(); 00080 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a8">noteOff</a>(StkFloat amplitude);
00081 00081
00083 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00083 StkFloat <a class="code" href="classSaxofony.html#a9">tick</a>();
00084 00084
00085 <span class="keyword">protected</span>: 00086 StkFloat *<a class="code" href="classSaxofony.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00086 <a class="code" href="classDelayL.html">DelayL</a> *delays[2]; 00087
00087 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable; 00089
00088 <a class="code" href="classOneZero.html">OneZero</a> *filter; 00095 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSaxofony.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00089 <a class="code" href="classEnvelope.html">Envelope</a> *envelope; 00096
00090 <a class="code" href="classNoise.html">Noise</a> *noise; 00098 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00091 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00092 <span class="keywordtype">long</span> length;
00093 MY_FLOAT outputGain;
00094 MY_FLOAT noiseGain;
00095 MY_FLOAT vibratoGain;
00096 MY_FLOAT position;
00097
00098 };
00099 00099
00100 <span class="preprocessor">#endif</span> 00100 <span class="keyword">protected</span>:
00101 <a class="code" href="classDelayL.html">DelayL</a> delays_[2];
00102 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00103 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00104 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00105 <a class="code" href="classNoise.html">Noise</a> noise_;
00106 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00107 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00108 StkFloat outputGain_;
00109 StkFloat noiseGain_;
00110 StkFloat vibratoGain_;
00111 StkFloat position_;
00112
00113 };
00114
00115 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,14 +12,14 @@
<h1>Shakers.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Shakers.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00053 <span class="comment">/***************************************************/</span> 00053 <span class="comment">/***************************************************/</span>
00054 00054
00055 <span class="preprocessor">#if !defined(__SHAKERS_H)</span> 00055 <span class="preprocessor">#ifndef STK_SHAKERS_H</span>
00056 <span class="preprocessor"></span><span class="preprocessor">#define __SHAKERS_H</span> 00056 <span class="preprocessor"></span><span class="preprocessor">#define STK_SHAKERS_H</span>
00057 <span class="preprocessor"></span> 00057 <span class="preprocessor"></span>
00058 <span class="preprocessor">#include "Instrmnt.h"</span> 00058 <span class="preprocessor">#include "Instrmnt.h"</span>
00059 00059
00060 <span class="preprocessor">#define MAX_FREQS 8</span> 00060 <span class="keyword">const</span> <span class="keywordtype">int</span> MAX_FREQS = 8;
00061 <span class="preprocessor"></span><span class="preprocessor">#define NUM_INSTR 24</span> 00061 <span class="keyword">const</span> <span class="keywordtype">int</span> NUM_INSTR = 24;
00062 <span class="preprocessor"></span> 00062
<a name="l00063"></a><a class="code" href="classShakers.html">00063</a> <span class="keyword">class </span><a class="code" href="classShakers.html">Shakers</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00063"></a><a class="code" href="classShakers.html">00063</a> <span class="keyword">class </span><a class="code" href="classShakers.html">Shakers</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00064 { 00064 {
00065 <span class="keyword">public</span>: 00065 <span class="keyword">public</span>:
@@ -28,59 +28,63 @@
00070 <a class="code" href="classShakers.html#a1">~Shakers</a>(); 00070 <a class="code" href="classShakers.html#a1">~Shakers</a>();
00071 00071
00073 00073
00077 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a2">noteOn</a>(MY_FLOAT instrument, MY_FLOAT amplitude); 00077 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a2">noteOn</a>(StkFloat instrument, StkFloat amplitude);
00078 00078
00080 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a3">noteOff</a>(MY_FLOAT amplitude); 00080 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a3">noteOff</a>(StkFloat amplitude);
00081 00081
00083 MY_FLOAT <a class="code" href="classShakers.html#a4">tick</a>(); 00083 StkFloat <a class="code" href="classShakers.html#a4">tick</a>();
00084 00084
00086 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a5">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00086 StkFloat *<a class="code" href="classShakers.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00087 00087
00088 <span class="keyword">protected</span>:
00089 00089
00090 <span class="keywordtype">int</span> setupName(<span class="keywordtype">char</span>* instr); 00095 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classShakers.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00091 <span class="keywordtype">int</span> setupNum(<span class="keywordtype">int</span> inst); 00096
00092 <span class="keywordtype">int</span> setFreqAndReson(<span class="keywordtype">int</span> which, MY_FLOAT freq, MY_FLOAT reson); 00098 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00093 <span class="keywordtype">void</span> setDecays(MY_FLOAT sndDecay, MY_FLOAT sysDecay); 00099
00094 <span class="keywordtype">void</span> setFinalZs(MY_FLOAT z0, MY_FLOAT z1, MY_FLOAT z2); 00100 <span class="keyword">protected</span>:
00095 MY_FLOAT wuter_tick(); 00101
00096 MY_FLOAT tbamb_tick(); 00102 <span class="keywordtype">int</span> setupName(<span class="keywordtype">char</span>* instr);
00097 MY_FLOAT ratchet_tick(); 00103 <span class="keywordtype">int</span> setupNum(<span class="keywordtype">int</span> inst);
00098 00104 <span class="keywordtype">int</span> setFreqAndReson(<span class="keywordtype">int</span> which, StkFloat freq, StkFloat reson);
00099 <span class="keywordtype">int</span> instType; 00105 <span class="keywordtype">void</span> setDecays(StkFloat sndDecay, StkFloat sysDecay);
00100 <span class="keywordtype">int</span> ratchetPos, lastRatchetPos; 00106 <span class="keywordtype">void</span> setFinalZs(StkFloat z0, StkFloat z1, StkFloat z2);
00101 MY_FLOAT shakeEnergy; 00107 StkFloat wuter_tick();
00102 MY_FLOAT inputs[MAX_FREQS]; 00108 StkFloat tbamb_tick();
00103 MY_FLOAT outputs[MAX_FREQS][2]; 00109 StkFloat ratchet_tick();
00104 MY_FLOAT coeffs[MAX_FREQS][2]; 00110
00105 MY_FLOAT sndLevel; 00111 <span class="keywordtype">int</span> instType_;
00106 MY_FLOAT baseGain; 00112 <span class="keywordtype">int</span> ratchetPos_, lastRatchetPos_;
00107 MY_FLOAT gains[MAX_FREQS]; 00113 StkFloat shakeEnergy_;
00108 <span class="keywordtype">int</span> nFreqs; 00114 StkFloat inputs_[MAX_FREQS];
00109 MY_FLOAT t_center_freqs[MAX_FREQS]; 00115 StkFloat outputs_[MAX_FREQS][2];
00110 MY_FLOAT center_freqs[MAX_FREQS]; 00116 StkFloat coeffs_[MAX_FREQS][2];
00111 MY_FLOAT resons[MAX_FREQS]; 00117 StkFloat sndLevel_;
00112 MY_FLOAT freq_rand[MAX_FREQS]; 00118 StkFloat baseGain_;
00113 <span class="keywordtype">int</span> freqalloc[MAX_FREQS]; 00119 StkFloat gains_[MAX_FREQS];
00114 MY_FLOAT soundDecay; 00120 <span class="keywordtype">int</span> nFreqs_;
00115 MY_FLOAT systemDecay; 00121 StkFloat t_center_freqs_[MAX_FREQS];
00116 MY_FLOAT nObjects; 00122 StkFloat center_freqs_[MAX_FREQS];
00117 MY_FLOAT collLikely; 00123 StkFloat resons_[MAX_FREQS];
00118 MY_FLOAT totalEnergy; 00124 StkFloat freq_rand_[MAX_FREQS];
00119 MY_FLOAT ratchet,ratchetDelta; 00125 <span class="keywordtype">int</span> freqalloc_[MAX_FREQS];
00120 MY_FLOAT finalZ[3]; 00126 StkFloat soundDecay_;
00121 MY_FLOAT finalZCoeffs[3]; 00127 StkFloat systemDecay_;
00122 MY_FLOAT defObjs[NUM_INSTR]; 00128 StkFloat nObjects_;
00123 MY_FLOAT defDecays[NUM_INSTR]; 00129 StkFloat totalEnergy_;
00124 MY_FLOAT decayScale[NUM_INSTR]; 00130 StkFloat ratchet_, ratchetDelta_;
00125 00131 StkFloat finalZ_[3];
00126 }; 00132 StkFloat finalZCoeffs_[3];
00127 00133 StkFloat defObjs_[NUM_INSTR];
00128 <span class="preprocessor">#endif</span> 00134 StkFloat defDecays_[NUM_INSTR];
00135 StkFloat decayScale_[NUM_INSTR];
00136
00137 };
00138
00139 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>Simple.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Simple.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span> 00018 <span class="comment">/***************************************************/</span>
00019 00019
00020 <span class="preprocessor">#if !defined(__SIMPLE_H)</span> 00020 <span class="preprocessor">#ifndef STK_SIMPLE_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __SIMPLE_H</span> 00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SIMPLE_H</span>
00022 <span class="preprocessor"></span> 00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span> 00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "ADSR.h"</span> 00024 <span class="preprocessor">#include "ADSR.h"</span>
@@ -25,42 +25,48 @@
<a name="l00030"></a><a class="code" href="classSimple.html">00030</a> <span class="keyword">class </span><a class="code" href="classSimple.html">Simple</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00030"></a><a class="code" href="classSimple.html">00030</a> <span class="keyword">class </span><a class="code" href="classSimple.html">Simple</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00031 { 00031 {
00032 <span class="keyword">public</span>: 00032 <span class="keyword">public</span>:
00034 <a class="code" href="classSimple.html#a0">Simple</a>(); 00034
00035 00037 <a class="code" href="classSimple.html#a0">Simple</a>();
00037 <span class="keyword">virtual</span> <a class="code" href="classSimple.html#a1">~Simple</a>();
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a2">clear</a>(); 00040 <a class="code" href="classSimple.html#a1">~Simple</a>();
00041 00041
00043 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a3">setFrequency</a>(MY_FLOAT frequency); 00043 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a2">clear</a>();
00044 00044
00046 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a4">keyOn</a>(); 00046 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a3">setFrequency</a>(StkFloat frequency);
00047 00047
00049 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a5">keyOff</a>(); 00049 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a4">keyOn</a>();
00050 00050
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00052 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a5">keyOff</a>();
00053 00053
00055 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a7">noteOff</a>(MY_FLOAT amplitude); 00055 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056 00056
00058 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classSimple.html#a8">tick</a>(); 00058 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a7">noteOff</a>(StkFloat amplitude);
00059 00059
00061 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00061 StkFloat <a class="code" href="classSimple.html#a8">tick</a>();
00062 00062
00063 <span class="keyword">protected</span>: 00064 StkFloat *<a class="code" href="classSimple.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00064 <a class="code" href="classADSR.html">ADSR</a> *adsr; 00065
00065 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loop; 00067
00066 <a class="code" href="classOnePole.html">OnePole</a> *filter; 00073 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSimple.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00067 <a class="code" href="classBiQuad.html">BiQuad</a> *biquad; 00074
00068 <a class="code" href="classNoise.html">Noise</a> *noise; 00076 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00069 MY_FLOAT baseFrequency; 00077
00070 MY_FLOAT loopGain; 00078 <span class="keyword">protected</span>:
00071 00079 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00072 }; 00080 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loop_;
00073 00081 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00074 <span class="preprocessor">#endif</span> 00082 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_;
00083 <a class="code" href="classNoise.html">Noise</a> noise_;
00084 StkFloat baseFrequency_;
00085 StkFloat loopGain_;
00086
00087 };
00088
00089 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,18 +12,18 @@
<h1>SingWave.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>SingWave.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00014 <span class="comment">/***************************************************/</span> 00014 <span class="comment">/***************************************************/</span>
00015 00015
00016 <span class="preprocessor">#if !defined(__SINGWAVE_H)</span> 00016 <span class="preprocessor">#ifndef STK_SINGWAVE_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define __SINGWAVE_H</span> 00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_SINGWAVE_H</span>
00018 <span class="preprocessor"></span> 00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "WaveLoop.h"</span> 00019 <span class="preprocessor">#include "WaveLoop.h"</span>
00020 <span class="preprocessor">#include "Modulate.h"</span> 00020 <span class="preprocessor">#include "Modulate.h"</span>
00021 <span class="preprocessor">#include "Envelope.h"</span> 00021 <span class="preprocessor">#include "Envelope.h"</span>
00022 00022
<a name="l00023"></a><a class="code" href="classSingWave.html">00023</a> <span class="keyword">class </span><a class="code" href="classSingWave.html">SingWave</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <a name="l00023"></a><a class="code" href="classSingWave.html">00023</a> <span class="keyword">class </span><a class="code" href="classSingWave.html">SingWave</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00024 { 00024 {
00025 <span class="keyword">public</span>: 00025 <span class="keyword">public</span>:
00027 00027
00031 <a class="code" href="classSingWave.html#a0">SingWave</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">bool</span> raw=FALSE); 00031 <a class="code" href="classSingWave.html#a0">SingWave</a>( std::string fileName, <span class="keywordtype">bool</span> raw=<span class="keyword">false</span>);
00032 00032
00034 <a class="code" href="classSingWave.html#a1">~SingWave</a>(); 00034 <a class="code" href="classSingWave.html#a1">~SingWave</a>();
00035 00035
@@ -31,47 +31,49 @@
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>(); 00040 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>();
00041 00041
00043 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>(MY_FLOAT peak); 00043 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>(StkFloat peak);
00044 00044
00046 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a5">setFrequency</a>(MY_FLOAT frequency); 00046 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a5">setFrequency</a>(StkFloat frequency);
00047 00047
00049 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a6">setVibratoRate</a>(MY_FLOAT aRate); 00049 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a6">setVibratoRate</a>(StkFloat rate);
00050 00050
00052 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a7">setVibratoGain</a>(MY_FLOAT gain); 00052 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a7">setVibratoGain</a>(StkFloat gain);
00053 00053
00055 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a8">setRandomGain</a>(MY_FLOAT gain); 00055 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a8">setRandomGain</a>(StkFloat gain);
00056 00056
00058 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a9">setSweepRate</a>(MY_FLOAT aRate); 00058 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a9">setSweepRate</a>(StkFloat rate);
00059 00059
00061 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a10">setGainRate</a>(MY_FLOAT aRate); 00061 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a10">setGainRate</a>(StkFloat rate);
00062 00062
00064 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a11">setGainTarget</a>(MY_FLOAT target); 00064 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a11">setGainTarget</a>(StkFloat target);
00065 00065
00067 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a12">noteOn</a>(); 00067 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a12">noteOn</a>();
00068 00068
00070 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a13">noteOff</a>(); 00070 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a13">noteOff</a>();
00071 00071
00073 MY_FLOAT <a class="code" href="classSingWave.html#a14">lastOut</a>(); 00073 StkFloat <a class="code" href="classSingWave.html#a14">tick</a>();
00074 00074
00076 MY_FLOAT <a class="code" href="classSingWave.html#a15">tick</a>(); 00076 StkFloat *<a class="code" href="classSingWave.html#a14">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00077 00077
00078 <span class="keyword">protected</span>:
00079 00079
00080 <a class="code" href="classWaveLoop.html">WaveLoop</a> *wave; 00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSingWave.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00081 <a class="code" href="classModulate.html">Modulate</a> *modulator; 00086
00082 <a class="code" href="classEnvelope.html">Envelope</a> *envelope; 00087 <span class="keyword">protected</span>:
00083 <a class="code" href="classEnvelope.html">Envelope</a> *pitchEnvelope; 00088
00084 MY_FLOAT rate; 00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *wave_;
00085 MY_FLOAT sweepRate; 00090 <a class="code" href="classModulate.html">Modulate</a> *modulator_;
00086 MY_FLOAT lastOutput; 00091 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00087 00092 <a class="code" href="classEnvelope.html">Envelope</a> pitchEnvelope_;
00088 }; 00093 StkFloat rate_;
00089 00094 StkFloat sweepRate_;
00090 <span class="preprocessor">#endif</span> 00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>Sitar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Sitar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span> 00018 <span class="comment">/***************************************************/</span>
00019 00019
00020 <span class="preprocessor">#if !defined(__SITAR_H)</span> 00020 <span class="preprocessor">#ifndef STK_SITAR_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __SITAR_H</span> 00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SITAR_H</span>
00022 <span class="preprocessor"></span> 00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span> 00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "DelayA.h"</span> 00024 <span class="preprocessor">#include "DelayA.h"</span>
@@ -24,41 +24,46 @@
<a name="l00029"></a><a class="code" href="classSitar.html">00029</a> <span class="keyword">class </span><a class="code" href="classSitar.html">Sitar</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00029"></a><a class="code" href="classSitar.html">00029</a> <span class="keyword">class </span><a class="code" href="classSitar.html">Sitar</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00030 { 00030 {
00031 <span class="keyword">public</span>: 00031 <span class="keyword">public</span>:
00033 <a class="code" href="classSitar.html#a0">Sitar</a>(MY_FLOAT lowestFrequency); 00033 <a class="code" href="classSitar.html#a0">Sitar</a>( StkFloat lowestFrequency = 20 );
00034 00034
00036 <a class="code" href="classSitar.html#a1">~Sitar</a>(); 00036 <a class="code" href="classSitar.html#a1">~Sitar</a>();
00037 00037
00039 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a2">clear</a>(); 00039 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a2">clear</a>();
00040 00040
00042 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a3">setFrequency</a>(MY_FLOAT frequency); 00042 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a3">setFrequency</a>(StkFloat frequency);
00043 00043
00045 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a4">pluck</a>(MY_FLOAT amplitude); 00045 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a4">pluck</a>(StkFloat amplitude);
00046 00046
00048 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a5">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00048 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a5">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00049 00049
00051 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a6">noteOff</a>(MY_FLOAT amplitude); 00051 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a6">noteOff</a>(StkFloat amplitude);
00052 00052
00054 MY_FLOAT <a class="code" href="classSitar.html#a7">tick</a>(); 00054 StkFloat <a class="code" href="classSitar.html#a7">tick</a>();
00055 00055
00056 <span class="keyword">protected</span>: 00057 StkFloat *<a class="code" href="classSitar.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00057 <a class="code" href="classDelayA.html">DelayA</a> *delayLine; 00058
00058 <a class="code" href="classOneZero.html">OneZero</a> *loopFilter; 00060
00059 <a class="code" href="classNoise.html">Noise</a> *noise; 00066 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSitar.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00060 <a class="code" href="classADSR.html">ADSR</a> *envelope; 00067
00061 <span class="keywordtype">long</span> length; 00068 <span class="keyword">protected</span>:
00062 MY_FLOAT loopGain; 00069 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00063 MY_FLOAT amGain; 00070 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_;
00064 MY_FLOAT delay; 00071 <a class="code" href="classNoise.html">Noise</a> noise_;
00065 MY_FLOAT targetDelay; 00072 <a class="code" href="classADSR.html">ADSR</a> envelope_;
00066 00073
00067 }; 00074 StkFloat loopGain_;
00068 00075 StkFloat amGain_;
00069 <span class="preprocessor">#endif</span> 00076 StkFloat delay_;
00070 <span class="preprocessor"></span> 00077 StkFloat targetDelay_;
00078
00079 };
00080
00081 <span class="preprocessor">#endif</span>
00082 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -0,0 +1,93 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>Skini.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00026 <span class="comment">/***************************************************/</span>
00027
00028 <span class="preprocessor">#ifndef STK_SKINI_H</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_SKINI_H</span>
00030 <span class="preprocessor"></span>
00031 <span class="preprocessor">#include "Stk.h"</span>
00032 <span class="preprocessor">#include &lt;vector&gt;</span>
00033 <span class="preprocessor">#include &lt;string&gt;</span>
00034 <span class="preprocessor">#include &lt;fstream&gt;</span>
00035
<a name="l00036"></a><a class="code" href="classSkini.html">00036</a> <span class="keyword">class </span><a class="code" href="classSkini.html">Skini</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00037 {
00038 <span class="keyword">public</span>:
00039
<a name="l00041"></a><a class="code" href="structSkini_1_1Message.html">00041</a> <span class="keyword">struct </span><a class="code" href="structSkini_1_1Message.html">Message</a> {
<a name="l00042"></a><a class="code" href="structSkini_1_1Message.html#o0">00042</a> <span class="keywordtype">long</span> <a class="code" href="structSkini_1_1Message.html#o0">type</a>;
<a name="l00043"></a><a class="code" href="structSkini_1_1Message.html#o1">00043</a> <span class="keywordtype">long</span> <a class="code" href="structSkini_1_1Message.html#o1">channel</a>;
<a name="l00044"></a><a class="code" href="structSkini_1_1Message.html#o2">00044</a> StkFloat <a class="code" href="structSkini_1_1Message.html#o2">time</a>;
<a name="l00045"></a><a class="code" href="structSkini_1_1Message.html#o3">00045</a> std::vector&lt;StkFloat&gt; <a class="code" href="structSkini_1_1Message.html#o3">floatValues</a>;
<a name="l00046"></a><a class="code" href="structSkini_1_1Message.html#o4">00046</a> std::vector&lt;long&gt; <a class="code" href="structSkini_1_1Message.html#o4">intValues</a>;
<a name="l00047"></a><a class="code" href="structSkini_1_1Message.html#o5">00047</a> std::string <a class="code" href="structSkini_1_1Message.html#o5">remainder</a>;
00049 <span class="comment">// Default constructor.</span>
00050 <a class="code" href="structSkini_1_1Message.html">Message</a>()
00051 :<a class="code" href="structSkini_1_1Message.html#o0">type</a>(0), <a class="code" href="structSkini_1_1Message.html#o1">channel</a>(0), <a class="code" href="structSkini_1_1Message.html#o2">time</a>(0.0), <a class="code" href="structSkini_1_1Message.html#o3">floatValues</a>(2), <a class="code" href="structSkini_1_1Message.html#o4">intValues</a>(2) {}
00052 };
00053
00055 <a class="code" href="classSkini.html#a0">Skini</a>();
00056
00058 <a class="code" href="classSkini.html#a1">~Skini</a>();
00059
00061
00065 <span class="keywordtype">bool</span> <a class="code" href="classSkini.html#a2">setFile</a>( std::string fileName );
00066
00068
00074 <span class="keywordtype">long</span> <a class="code" href="classSkini.html#a3">nextMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00075
00077
00081 <span class="keywordtype">long</span> <a class="code" href="classSkini.html#a4">parseString</a>( std::string&amp; line, <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00082
00084 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e0">whatsThisType</a>(<span class="keywordtype">long</span> type);
00085
00087 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e1">whatsThisController</a>(<span class="keywordtype">long</span> number);
00088
00089 <span class="keyword">protected</span>:
00090
00091 <span class="keywordtype">void</span> tokenize( <span class="keyword">const</span> std::string&amp; str, std::vector&lt;std::string&gt;&amp; tokens, <span class="keyword">const</span> std::string&amp; delimiters );
00092
00093 std::ifstream file_;
00094 };
00095
00096 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> Midi2Pitch[129] = {
00097 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25,
00098 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45,
00099 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87,
00100 32.70,34.65,36.71,38.89,41.20,43.65,46.25,49.00,
00101 51.91,55.00,58.27,61.74,65.41,69.30,73.42,77.78,
00102 82.41,87.31,92.50,98.00,103.83,110.00,116.54,123.47,
00103 130.81,138.59,146.83,155.56,164.81,174.61,185.00,196.00,
00104 207.65,220.00,233.08,246.94,261.63,277.18,293.66,311.13,
00105 329.63,349.23,369.99,392.00,415.30,440.00,466.16,493.88,
00106 523.25,554.37,587.33,622.25,659.26,698.46,739.99,783.99,
00107 830.61,880.00,932.33,987.77,1046.50,1108.73,1174.66,1244.51,
00108 1318.51,1396.91,1479.98,1567.98,1661.22,1760.00,1864.66,1975.53,
00109 2093.00,2217.46,2349.32,2489.02,2637.02,2793.83,2959.96,3135.96,
00110 3322.44,3520.00,3729.31,3951.07,4186.01,4434.92,4698.64,4978.03,
00111 5274.04,5587.65,5919.91,6271.93,6644.88,7040.00,7458.62,7902.13,
00112 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
00113 13289.75};
00114
00115 <span class="preprocessor">#endif</span>
00116 <span class="preprocessor"></span>
00117
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -12,8 +12,8 @@
<h1>Socket.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Socket.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span> 00019 <span class="comment">/***************************************************/</span>
00020 00020
00021 <span class="preprocessor">#if !defined(__SOCKET_H)</span> 00021 <span class="preprocessor">#ifndef STK_SOCKET_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __SOCKET_H</span> 00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_SOCKET_H</span>
00023 <span class="preprocessor"></span> 00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Stk.h"</span> 00024 <span class="preprocessor">#include "Stk.h"</span>
00025 00025
@@ -33,7 +33,7 @@
00054 00054
00056 <span class="keywordtype">void</span> <a class="code" href="classSocket.html#a4">close</a>( <span class="keywordtype">void</span> ); 00056 <span class="keywordtype">void</span> <a class="code" href="classSocket.html#a4">close</a>( <span class="keywordtype">void</span> );
00057 00057
00059 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a5">socket</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>; 00059 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a5">id</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00060 00060
00062 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a6">port</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>; 00062 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a6">port</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00063 00063
@@ -56,18 +56,17 @@
00093 00093
00094 <span class="keyword">protected</span>: 00094 <span class="keyword">protected</span>:
00095 00095
00096 <span class="keywordtype">char</span> msg[256]; 00096 <span class="keywordtype">int</span> soket_;
00097 <span class="keywordtype">int</span> soket; 00097 <span class="keywordtype">int</span> port_;
00098 <span class="keywordtype">int</span> poort; 00098 <span class="keywordtype">bool</span> server_;
00099 <span class="keywordtype">bool</span> server; 00099
00100 00100 };
00101 }; 00101
00102 00102 <span class="preprocessor">#endif // defined(STK_SOCKET_H)</span>
00103 <span class="preprocessor">#endif // defined(__SOCKET_H)</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,55 +12,56 @@
<h1>Sphere.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Sphere.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span> 00010 <span class="comment">/***************************************************/</span>
00011 00011
00012 <span class="preprocessor">#if !defined(__SPHERE_H)</span> 00012 <span class="preprocessor">#ifndef STK_SPHERE_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define __SPHERE_H</span> 00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SPHERE_H</span>
00014 <span class="preprocessor"></span> 00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Vector3D.h"</span> 00015 <span class="preprocessor">#include "Stk.h"</span>
00016 00016 <span class="preprocessor">#include "Vector3D.h"</span>
<a name="l00017"></a><a class="code" href="classSphere.html">00017</a> <span class="keyword">class </span><a class="code" href="classSphere.html">Sphere</a> 00017
00018 { <a name="l00018"></a><a class="code" href="classSphere.html">00018</a> <span class="keyword">class </span><a class="code" href="classSphere.html">Sphere</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00019 <span class="keyword">public</span>: 00019 {
00021 <a class="code" href="classSphere.html#a0">Sphere</a>(<span class="keywordtype">double</span> initRadius); 00020 <span class="keyword">public</span>:
00022 00022 <a class="code" href="classSphere.html#a0">Sphere</a>(StkFloat radius = 1.0 );
00024 <a class="code" href="classSphere.html#a1">~Sphere</a>(); 00023
00025 00025 <a class="code" href="classSphere.html#a1">~Sphere</a>();
00027 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a2">setPosition</a>(<span class="keywordtype">double</span> anX, <span class="keywordtype">double</span> aY, <span class="keywordtype">double</span> aZ); 00026
00028 00028 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a2">setPosition</a>(StkFloat x, StkFloat y, StkFloat z);
00030 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a3">setVelocity</a>(<span class="keywordtype">double</span> anX, <span class="keywordtype">double</span> aY, <span class="keywordtype">double</span> aZ); 00029
00031 00031 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a3">setVelocity</a>(StkFloat x, StkFloat y, StkFloat z);
00033 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a4">setRadius</a>(<span class="keywordtype">double</span> aRadius); 00032
00034 00034 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a4">setRadius</a>(StkFloat radius);
00036 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a5">setMass</a>(<span class="keywordtype">double</span> aMass); 00035
00037 00037 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a5">setMass</a>(StkFloat mass);
00039 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a6">getPosition</a>(); 00038
00040 00040 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a6">getPosition</a>();
00042 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a7">getRelativePosition</a>(<a class="code" href="classVector3D.html">Vector3D</a> *aPosition); 00041
00043 00043 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a7">getRelativePosition</a>(<a class="code" href="classVector3D.html">Vector3D</a> *position);
00045 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a8">getVelocity</a>(<a class="code" href="classVector3D.html">Vector3D</a>* aVelocity); 00044
00046 00046 StkFloat <a class="code" href="classSphere.html#a8">getVelocity</a>(<a class="code" href="classVector3D.html">Vector3D</a>* velocity);
00048 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a9">isInside</a>(<a class="code" href="classVector3D.html">Vector3D</a> *aPosition); 00047
00049 00049 StkFloat <a class="code" href="classSphere.html#a9">isInside</a>(<a class="code" href="classVector3D.html">Vector3D</a> *position);
00051 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a10">getRadius</a>(); 00050
00052 00052 StkFloat <a class="code" href="classSphere.html#a10">getRadius</a>();
00054 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a11">getMass</a>(); 00053
00055 00055 StkFloat <a class="code" href="classSphere.html#a11">getMass</a>();
00057 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a12">addVelocity</a>(<span class="keywordtype">double</span> anX, <span class="keywordtype">double</span> aY, <span class="keywordtype">double</span> aZ); 00056
00058 00058 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a12">addVelocity</a>(StkFloat x, StkFloat y, StkFloat z);
00060 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a13">tick</a>(<span class="keywordtype">double</span> timeIncrement); 00059
00061 00061 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a13">tick</a>(StkFloat timeIncrement);
00062 <span class="keyword">private</span>: 00062
00063 <a class="code" href="classVector3D.html">Vector3D</a> *myPosition; 00063 <span class="keyword">private</span>:
00064 <a class="code" href="classVector3D.html">Vector3D</a> *myVelocity; 00064 <a class="code" href="classVector3D.html">Vector3D</a> position_;
00065 <a class="code" href="classVector3D.html">Vector3D</a> workingVector; 00065 <a class="code" href="classVector3D.html">Vector3D</a> velocity_;
00066 <span class="keywordtype">double</span> myRadius; 00066 <a class="code" href="classVector3D.html">Vector3D</a> workingVector_;
00067 <span class="keywordtype">double</span> myMass; 00067 StkFloat radius_;
00068 }; 00068 StkFloat mass_;
00069 00069 };
00070 <span class="preprocessor">#endif</span> 00070
00071 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>StifKarp.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>StifKarp.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00022 <span class="comment">/***************************************************/</span> 00022 <span class="comment">/***************************************************/</span>
00023 00023
00024 <span class="preprocessor">#if !defined(__StifKarp_h)</span> 00024 <span class="preprocessor">#ifndef STK_STIFKARP_H</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define __StifKarp_h</span> 00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_STIFKARP_H</span>
00026 <span class="preprocessor"></span> 00026 <span class="preprocessor"></span>
00027 <span class="preprocessor">#include "Instrmnt.h"</span> 00027 <span class="preprocessor">#include "Instrmnt.h"</span>
00028 <span class="preprocessor">#include "DelayL.h"</span> 00028 <span class="preprocessor">#include "DelayL.h"</span>
@@ -25,53 +25,59 @@
<a name="l00034"></a><a class="code" href="classStifKarp.html">00034</a> <span class="keyword">class </span><a class="code" href="classStifKarp.html">StifKarp</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00034"></a><a class="code" href="classStifKarp.html">00034</a> <span class="keyword">class </span><a class="code" href="classStifKarp.html">StifKarp</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00035 { 00035 {
00036 <span class="keyword">public</span>: 00036 <span class="keyword">public</span>:
00038 <a class="code" href="classStifKarp.html#a0">StifKarp</a>(MY_FLOAT lowestFrequency); 00038 <a class="code" href="classStifKarp.html#a0">StifKarp</a>(StkFloat lowestFrequency);
00039 00039
00041 <a class="code" href="classStifKarp.html#a1">~StifKarp</a>(); 00041 <a class="code" href="classStifKarp.html#a1">~StifKarp</a>();
00042 00042
00044 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a2">clear</a>(); 00044 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a2">clear</a>();
00045 00045
00047 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a3">setFrequency</a>(MY_FLOAT frequency); 00047 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a3">setFrequency</a>(StkFloat frequency);
00048 00048
00050 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a4">setStretch</a>(MY_FLOAT stretch); 00050 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a4">setStretch</a>(StkFloat stretch);
00051 00051
00053 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a5">setPickupPosition</a>(MY_FLOAT position); 00053 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a5">setPickupPosition</a>(StkFloat position);
00054 00054
00056 00056
00061 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a6">setBaseLoopGain</a>(MY_FLOAT aGain); 00061 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a6">setBaseLoopGain</a>(StkFloat aGain);
00062 00062
00064 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a7">pluck</a>(MY_FLOAT amplitude); 00064 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a7">pluck</a>(StkFloat amplitude);
00065 00065
00067 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a8">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00067 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00068 00068
00070 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a9">noteOff</a>(MY_FLOAT amplitude); 00070 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a9">noteOff</a>(StkFloat amplitude);
00071 00071
00073 MY_FLOAT <a class="code" href="classStifKarp.html#a10">tick</a>(); 00073 StkFloat <a class="code" href="classStifKarp.html#a10">tick</a>();
00074 00074
00076 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00076 StkFloat *<a class="code" href="classStifKarp.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00077 00077
00078 <span class="keyword">protected</span>: 00079
00079 <a class="code" href="classDelayA.html">DelayA</a> *delayLine; 00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classStifKarp.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00080 <a class="code" href="classDelayL.html">DelayL</a> *combDelay; 00086
00081 <a class="code" href="classOneZero.html">OneZero</a> *filter; 00088 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00082 <a class="code" href="classNoise.html">Noise</a> *noise; 00089
00083 <a class="code" href="classBiQuad.html">BiQuad</a> *biQuad[4]; 00090 <span class="keyword">protected</span>:
00084 <span class="keywordtype">long</span> length; 00091 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00085 MY_FLOAT loopGain; 00092 <a class="code" href="classDelayL.html">DelayL</a> combDelay_;
00086 MY_FLOAT baseLoopGain; 00093 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00087 MY_FLOAT lastFrequency; 00094 <a class="code" href="classNoise.html">Noise</a> noise_;
00088 MY_FLOAT lastLength; 00095 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_[4];
00089 MY_FLOAT stretching; 00096
00090 MY_FLOAT pluckAmplitude; 00097 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00091 MY_FLOAT pickupPosition; 00098 StkFloat loopGain_;
00092 00099 StkFloat baseLoopGain_;
00093 }; 00100 StkFloat lastFrequency_;
00094 00101 StkFloat lastLength_;
00095 <span class="preprocessor">#endif</span> 00102 StkFloat stretching_;
00103 StkFloat pluckAmplitude_;
00104 StkFloat pickupPosition_;
00105
00106 };
00107
00108 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,163 +12,214 @@
<h1>Stk.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Stk.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span> 00013 <span class="comment">/***************************************************/</span>
00014 00014
00015 <span class="preprocessor">#if !defined(__STK_H)</span> 00015 <span class="preprocessor">#ifndef STK_STK_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __STK_H</span> 00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_STK_H</span>
00017 <span class="preprocessor"></span> 00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include &lt;string&gt;</span> 00018 <span class="preprocessor">#include &lt;string&gt;</span>
00019 00019 <span class="preprocessor">#include &lt;iostream&gt;</span>
00020 <span class="comment">// Most data in STK is passed and calculated with the</span> 00020 <span class="preprocessor">#include &lt;sstream&gt;</span>
00021 <span class="comment">// following user-definable floating-point type. You</span> 00021 <span class="preprocessor">#include &lt;valarray&gt;</span>
00022 <span class="comment">// can change this to "float" if you prefer or perhaps</span> 00022
00023 <span class="comment">// a "long double" in the future.</span> 00023 <span class="comment">// Most data in STK is passed and calculated with the</span>
00024 <span class="keyword">typedef</span> <span class="keywordtype">double</span> MY_FLOAT; 00024 <span class="comment">// following user-definable floating-point type. You</span>
00025 00025 <span class="comment">// can change this to "float" if you prefer or perhaps</span>
00026 <span class="comment">// The "MY_FLOAT" type will be deprecated in STK</span> 00026 <span class="comment">// a "long double" in the future.</span>
00027 <span class="comment">// versions higher than 4.1.2 and replaced with the variable</span> 00027 <span class="keyword">typedef</span> <span class="keywordtype">double</span> StkFloat;
00028 <span class="comment">// "StkFloat".</span> 00028
00029 <span class="comment">//typedef double StkFloat;</span> 00029 <span class="comment">// The "MY_FLOAT" type was deprecated in STK</span>
00030 <span class="comment">//#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span> 00030 <span class="comment">// versions higher than 4.1.3 and replaced with the variable</span>
00031 <span class="comment">// #pragma deprecated(MY_FLOAT)</span> 00031 <span class="comment">// "StkFloat". </span>
00032 <span class="comment">//#else</span> 00032 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
00033 <span class="comment">// typedef StkFloat MY_FLOAT __attribute__ ((deprecated));</span> 00033 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT;
00034 <span class="comment">//#endif</span> 00034 <span class="preprocessor"> #pragma deprecated(MY_FLOAT)</span>
00035 00035 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__GXX__) </span>
00037 00036 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT __attribute__ ((deprecated));
<a name="l00042"></a><a class="code" href="classStkError.html">00042</a> <span class="keyword">class </span><a class="code" href="classStkError.html">StkError</a> 00037 <span class="preprocessor">#else</span>
00043 { 00038 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT; <span class="comment">// temporary</span>
00044 <span class="keyword">public</span>: 00039 <span class="preprocessor">#endif</span>
00045 <span class="keyword">enum</span> TYPE { 00040 <span class="preprocessor"></span>
00046 WARNING, 00041
00047 DEBUG_WARNING, 00043
00048 FUNCTION_ARGUMENT, <a name="l00048"></a><a class="code" href="classStkError.html">00048</a> <span class="keyword">class </span><a class="code" href="classStkError.html">StkError</a>
00049 FILE_NOT_FOUND, 00049 {
00050 FILE_UNKNOWN_FORMAT, 00050 <span class="keyword">public</span>:
00051 FILE_ERROR, 00051 <span class="keyword">enum</span> Type {
00052 PROCESS_THREAD, 00052 STATUS,
00053 PROCESS_SOCKET, 00053 WARNING,
00054 PROCESS_SOCKET_IPADDR, 00054 DEBUG_WARNING,
00055 AUDIO_SYSTEM, 00055 FUNCTION_ARGUMENT,
00056 MIDI_SYSTEM, 00056 FILE_NOT_FOUND,
00057 UNSPECIFIED 00057 FILE_UNKNOWN_FORMAT,
00058 }; 00058 FILE_ERROR,
00059 00059 PROCESS_THREAD,
00060 <span class="keyword">protected</span>: 00060 PROCESS_SOCKET,
00061 <span class="keywordtype">char</span> message[256]; 00061 PROCESS_SOCKET_IPADDR,
00062 TYPE type; 00062 AUDIO_SYSTEM,
00063 00063 MIDI_SYSTEM,
00064 <span class="keyword">public</span>: 00064 UNSPECIFIED
00066 <a class="code" href="classStkError.html#a0">StkError</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *p, TYPE tipe = StkError::UNSPECIFIED); 00065 };
00067 00066
00069 <span class="keyword">virtual</span> <a class="code" href="classStkError.html#a1">~StkError</a>(<span class="keywordtype">void</span>); 00067 <span class="keyword">protected</span>:
00068 std::string message_;
00069 Type type_;
00070 00070
00072 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classStkError.html#a2">printMessage</a>(<span class="keywordtype">void</span>); 00071 <span class="keyword">public</span>:
00073 <a name="l00073"></a><a class="code" href="classStkError.html#a0">00073</a> <a class="code" href="classStkError.html#a0">StkError</a>(<span class="keyword">const</span> std::string&amp; message, Type type = StkError::UNSPECIFIED) : message_(message), type_(type) {}
<a name="l00075"></a><a class="code" href="classStkError.html#a3">00075</a> <span class="keyword">virtual</span> <span class="keyword">const</span> TYPE&amp; <a class="code" href="classStkError.html#a3">getType</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> type; } 00074
00076 <a name="l00076"></a><a class="code" href="classStkError.html#a1">00076</a> <span class="keyword">virtual</span> <a class="code" href="classStkError.html#a1">~StkError</a>(<span class="keywordtype">void</span>) {};
<a name="l00078"></a><a class="code" href="classStkError.html#a4">00078</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classStkError.html#a4">getMessage</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> message; } 00077
00079 }; <a name="l00079"></a><a class="code" href="classStkError.html#a2">00079</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classStkError.html#a2">printMessage</a>(<span class="keywordtype">void</span>) { std::cerr &lt;&lt; <span class="charliteral">'\n'</span> &lt;&lt; message_ &lt;&lt; <span class="stringliteral">"\n\n"</span>; }
00080 00080
00081 <a name="l00082"></a><a class="code" href="classStkError.html#a3">00082</a> <span class="keyword">virtual</span> <span class="keyword">const</span> Type&amp; <a class="code" href="classStkError.html#a3">getType</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> type_; }
<a name="l00082"></a><a class="code" href="classStk.html">00082</a> <span class="keyword">class </span><a class="code" href="classStk.html">Stk</a> 00083
00083 { <a name="l00085"></a><a class="code" href="classStkError.html#a4">00085</a> <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classStkError.html#a4">getMessage</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_; }
00084 <span class="keyword">public</span>: 00086
00085 <a name="l00088"></a><a class="code" href="classStkError.html#a5">00088</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classStkError.html#a5">getMessageCString</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_.c_str(); }
00086 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> STK_FORMAT; 00089 };
<a name="l00087"></a><a class="code" href="classStk.html#s0">00087</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s0">STK_SINT8</a>; 00090
<a name="l00088"></a><a class="code" href="classStk.html#s1">00088</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s1">STK_SINT16</a>; 00091
<a name="l00089"></a><a class="code" href="classStk.html#s2">00089</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s2">STK_SINT32</a>; <a name="l00092"></a><a class="code" href="classStk.html">00092</a> <span class="keyword">class </span><a class="code" href="classStk.html">Stk</a>
<a name="l00090"></a><a class="code" href="classStk.html#s3">00090</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s3">MY_FLOAT32</a>; 00093 {
<a name="l00091"></a><a class="code" href="classStk.html#s4">00091</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s4">MY_FLOAT64</a>; 00094 <span class="keyword">public</span>:
00093
00094 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classStk.html#e0">sampleRate</a>(<span class="keywordtype">void</span>);
00095 00095
00097 00096 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> StkFormat;
00105 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e1">setSampleRate</a>(MY_FLOAT newRate); <a name="l00097"></a><a class="code" href="classStk.html#s0">00097</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s0">STK_SINT8</a>;
<a name="l00098"></a><a class="code" href="classStk.html#s1">00098</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s1">STK_SINT16</a>;
<a name="l00099"></a><a class="code" href="classStk.html#s2">00099</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s2">STK_SINT24</a>;
<a name="l00100"></a><a class="code" href="classStk.html#s3">00100</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s3">STK_SINT32</a>;
<a name="l00101"></a><a class="code" href="classStk.html#s4">00101</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s4">STK_FLOAT32</a>;
<a name="l00102"></a><a class="code" href="classStk.html#s5">00102</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s5">STK_FLOAT64</a>;
00104
<a name="l00105"></a><a class="code" href="classStk.html#e0">00105</a> <span class="keyword">static</span> StkFloat <a class="code" href="classStk.html#e0">sampleRate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> srate_; }
00106 00106
00108 <span class="keyword">static</span> std::string <a class="code" href="classStk.html#e2">rawwavePath</a>(<span class="keywordtype">void</span>); 00108
00109 <a name="l00116"></a><a class="code" href="classStk.html#e1">00116</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e1">setSampleRate</a>(StkFloat rate) { <span class="keywordflow">if</span> (rate &gt; 0.0) srate_ = rate; }
00111 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e3">setRawwavePath</a>(std::string newPath); 00117
00112 <a name="l00119"></a><a class="code" href="classStk.html#e2">00119</a> <span class="keyword">static</span> std::string <a class="code" href="classStk.html#e2">rawwavePath</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> rawwavepath_; }
00114 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e4">swap16</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr); 00120
00115 00122 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e3">setRawwavePath</a>(std::string path);
00117 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e5">swap32</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr); 00123
00118 00125 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e4">swap16</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
00120 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e6">swap64</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr); 00126
00121 00128 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e5">swap32</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
00123 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e7">sleep</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> milliseconds); 00129
00124 00131 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e6">swap64</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
00125 <span class="keyword">private</span>: 00132
00126 <span class="keyword">static</span> MY_FLOAT srate; 00134 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e7">sleep</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> milliseconds);
00127 <span class="keyword">static</span> std::string rawwavepath; 00135
00128 00137 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *message, StkError::Type type );
00129 <span class="keyword">protected</span>: 00138
00130 00140 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( std::string message, StkError::Type type );
00132 <a class="code" href="classStk.html#b0">Stk</a>(<span class="keywordtype">void</span>);
00133
00135 <span class="keyword">virtual</span> <a class="code" href="classStk.html#b1">~Stk</a>(<span class="keywordtype">void</span>);
00136
00138 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#f0">handleError</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *message, StkError::TYPE type );
00139
00140 };
00141 00141
00142 <span class="comment">// Here are a few other useful typedefs.</span> 00142 <span class="keyword">private</span>:
00143 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> SINT16; 00143 <span class="keyword">static</span> StkFloat srate_;
00144 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> SINT32; 00144 <span class="keyword">static</span> std::string rawwavepath_;
00145 <span class="keyword">typedef</span> <span class="keywordtype">float</span> FLOAT32; 00145
00146 <span class="keyword">typedef</span> <span class="keywordtype">double</span> FLOAT64; 00146 <span class="keyword">protected</span>:
00147 00147
00148 <span class="comment">// Boolean values</span> 00148 std::ostringstream errorString_;
00149 <span class="preprocessor">#define FALSE 0</span> 00149
00150 <span class="preprocessor"></span><span class="preprocessor">#define TRUE 1</span> 00151 <a class="code" href="classStk.html#b0">Stk</a>(<span class="keywordtype">void</span>);
00151 <span class="preprocessor"></span> 00152
00152 <span class="comment">// The default sampling rate.</span> 00154 <span class="keyword">virtual</span> <a class="code" href="classStk.html#b1">~Stk</a>(<span class="keywordtype">void</span>);
00153 <span class="preprocessor">#define SRATE (MY_FLOAT) 44100.0</span> 00155
00154 <span class="preprocessor"></span> 00157 <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( StkError::Type type );
00155 <span class="comment">// The default real-time audio input and output buffer size. If</span> 00158 };
00156 <span class="comment">// clicks are occuring in the input and/or output sound stream, a</span> 00159
00157 <span class="comment">// larger buffer size may help. Larger buffer sizes, however, produce</span> 00160
00158 <span class="comment">// more latency.</span> 00161 <span class="comment">/***************************************************/</span>
00159 <span class="preprocessor">#define RT_BUFFER_SIZE 512</span> 00175 <span class="comment">/***************************************************/</span>
00160 <span class="preprocessor"></span> 00176
00161 <span class="comment">// The default rawwave path value is set with the preprocessor</span> <a name="l00177"></a><a class="code" href="classStkFrames.html">00177</a> <span class="keyword">class </span><a class="code" href="classStkFrames.html">StkFrames</a>
00162 <span class="comment">// definition RAWWAVE_PATH. This can be specified as an argument to</span> 00178 {
00163 <span class="comment">// the configure script, in an integrated development environment, or</span> 00179 <span class="keyword">public</span>:
00164 <span class="comment">// below. The global STK rawwave path variable can be dynamically set</span> 00180
00165 <span class="comment">// with the Stk::setRawwavePath() function. This value is</span> 00182 <a class="code" href="classStkFrames.html#a0">StkFrames</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames = 0, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a8">interleaved</a> = <span class="keyword">true</span> );
00166 <span class="comment">// concatenated to the beginning of all references to rawwave files in</span> 00183
00167 <span class="comment">// the various STK core classes (ex. Clarinet.cpp). If you wish to</span> 00185 <a class="code" href="classStkFrames.html#a0">StkFrames</a>( <span class="keyword">const</span> StkFloat&amp; value, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels, <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a8">interleaved</a> = <span class="keyword">true</span> );
00168 <span class="comment">// move the rawwaves directory to a different location in your file</span> 00186
00169 <span class="comment">// system, you will need to set this path definition appropriately.</span> 00188
00170 <span class="preprocessor">#if !defined(RAWWAVE_PATH)</span> <a name="l00194"></a><a class="code" href="classStkFrames.html#a2">00194</a> StkFloat&amp; <a class="code" href="classStkFrames.html#a2">operator[]</a>( size_t n ) { <span class="keywordflow">return</span> data_[n]; };
00171 <span class="preprocessor"></span><span class="preprocessor"> #define RAWWAVE_PATH "../../rawwaves/"</span> 00195
00172 <span class="preprocessor"></span><span class="preprocessor">#endif</span> 00197
00173 <span class="preprocessor"></span> <a name="l00201"></a><a class="code" href="classStkFrames.html#a3">00201</a> StkFloat <a class="code" href="classStkFrames.html#a2">operator[]</a>( size_t n )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_[n]; };
00174 <span class="preprocessor">#define PI (MY_FLOAT) 3.14159265359</span> 00202
00175 <span class="preprocessor"></span><span class="preprocessor">#define TWO_PI (MY_FLOAT) (MY_FLOAT) (2 * PI)</span> <a name="l00204"></a><a class="code" href="classStkFrames.html#a4">00204</a> size_t <a class="code" href="classStkFrames.html#a4">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> size_; };
00176 <span class="preprocessor"></span> 00205
00177 <span class="preprocessor">#define ONE_OVER_128 (MY_FLOAT) 0.0078125</span> 00207
00178 <span class="preprocessor"></span> 00211 <span class="keywordtype">void</span> <a class="code" href="classStkFrames.html#a5">resize</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, StkFloat value = 0.0 );
00179 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span> 00212
00180 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_WINDOWS__</span> <a name="l00214"></a><a class="code" href="classStkFrames.html#a6">00214</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classStkFrames.html#a6">channels</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nChannels_; };
00181 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span> 00215
00182 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__) || defined(__LINUX_JACK__)</span> <a name="l00217"></a><a class="code" href="classStkFrames.html#a7">00217</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classStkFrames.html#a7">frames</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nFrames_; };
00183 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_LINUX__</span> 00218
00184 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span> <a name="l00220"></a><a class="code" href="classStkFrames.html#a8">00220</a> <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a8">interleaved</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> interleaved_; };
00185 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__IRIX_AL__)</span> 00221
00186 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_IRIX__</span> <a name="l00223"></a><a class="code" href="classStkFrames.html#a9">00223</a> <span class="keywordtype">void</span> <a class="code" href="classStkFrames.html#a9">setInterleaved</a>( <span class="keywordtype">bool</span> isInterleaved ) { interleaved_ = isInterleaved; };
00187 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span> 00224
00188 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__MACOSX_CORE__)</span> 00225 <span class="keyword">private</span>:
00189 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_MACOSX__</span> 00226 std::valarray&lt;StkFloat&gt; data_;
00190 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span> 00227 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames_;
00191 <span class="preprocessor"></span><span class="preprocessor">#endif</span> 00228 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels_;
00192 <span class="preprocessor"></span> 00229 size_t size_;
00193 <span class="comment">//#define _STK_DEBUG_</span> 00230 <span class="keywordtype">bool</span> interleaved_;
00194 00231
00195 <span class="preprocessor">#endif</span> 00232 };
00233
00234
00235 <span class="comment">// Here are a few other useful typedefs.</span>
00236 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> SINT16;
00237 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> SINT32;
00238 <span class="keyword">typedef</span> <span class="keywordtype">float</span> FLOAT32;
00239 <span class="keyword">typedef</span> <span class="keywordtype">double</span> FLOAT64;
00240
00241 <span class="comment">// The default sampling rate.</span>
00242 <span class="keyword">const</span> StkFloat SRATE = 44100.0;
00243
00244 <span class="comment">// The default real-time audio input and output buffer size. If</span>
00245 <span class="comment">// clicks are occuring in the input and/or output sound stream, a</span>
00246 <span class="comment">// larger buffer size may help. Larger buffer sizes, however, produce</span>
00247 <span class="comment">// more latency.</span>
00248 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> RT_BUFFER_SIZE = 512;
00249
00250 <span class="comment">// The default rawwave path value is set with the preprocessor</span>
00251 <span class="comment">// definition RAWWAVE_PATH. This can be specified as an argument to</span>
00252 <span class="comment">// the configure script, in an integrated development environment, or</span>
00253 <span class="comment">// below. The global STK rawwave path variable can be dynamically set</span>
00254 <span class="comment">// with the Stk::setRawwavePath() function. This value is</span>
00255 <span class="comment">// concatenated to the beginning of all references to rawwave files in</span>
00256 <span class="comment">// the various STK core classes (ex. Clarinet.cpp). If you wish to</span>
00257 <span class="comment">// move the rawwaves directory to a different location in your file</span>
00258 <span class="comment">// system, you will need to set this path definition appropriately.</span>
00259 <span class="preprocessor">#if !defined(RAWWAVE_PATH)</span>
00260 <span class="preprocessor"></span><span class="preprocessor"> #define RAWWAVE_PATH "../../rawwaves/"</span>
00261 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00262 <span class="preprocessor"></span>
00263 <span class="keyword">const</span> StkFloat PI = 3.14159265359;
00264 <span class="keyword">const</span> StkFloat TWO_PI = 2 * PI;
00265 <span class="keyword">const</span> StkFloat ONE_OVER_128 = 0.0078125;
00266
00267 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
00268 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_WINDOWS__</span>
00269 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00270 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__) || defined(__LINUX_JACK__)</span>
00271 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_LINUX__</span>
00272 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00273 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__IRIX_AL__)</span>
00274 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_IRIX__</span>
00275 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00276 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__MACOSX_CORE__)</span>
00277 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_MACOSX__</span>
00278 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00279 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00280 <span class="preprocessor"></span>
00281 <span class="comment">//#define _STK_DEBUG_</span>
00282
00283 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>SubNoise.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>SubNoise.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span> 00011 <span class="comment">/***************************************************/</span>
00012 00012
00013 <span class="preprocessor">#if !defined(__SUBNOISE_H)</span> 00013 <span class="preprocessor">#ifndef STK_SUBNOISE_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define __SUBNOISE_H</span> 00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_SUBNOISE_H</span>
00015 <span class="preprocessor"></span> 00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Noise.h"</span> 00016 <span class="preprocessor">#include "Noise.h"</span>
00017 00017
@@ -29,19 +29,24 @@
00030 00030
00032 <span class="keywordtype">void</span> <a class="code" href="classSubNoise.html#a3">setRate</a>(<span class="keywordtype">int</span> subRate); 00032 <span class="keywordtype">void</span> <a class="code" href="classSubNoise.html#a3">setRate</a>(<span class="keywordtype">int</span> subRate);
00033 00033
00035 MY_FLOAT <a class="code" href="classSubNoise.html#a4">tick</a>(); 00035 StkFloat <a class="code" href="classSubNoise.html#a4">tick</a>();
00036 00036
00037 <span class="keyword">protected</span>: 00038 StkFloat *<a class="code" href="classSubNoise.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00038 <span class="keywordtype">int</span> counter; 00039
00039 <span class="keywordtype">int</span> rate; 00041
00040 00047 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSubNoise.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00041 }; 00048
00042 00049 <span class="keyword">protected</span>:
00043 <span class="preprocessor">#endif</span> 00050 <span class="keywordtype">int</span> counter_;
00051 <span class="keywordtype">int</span> rate_;
00052
00053 };
00054
00055 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,39 +12,40 @@
<h1>Table.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Table.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00015 <span class="comment">/***************************************************/</span> 00015 <span class="comment">/***************************************************/</span>
00016 00016
00017 <span class="preprocessor">#if !defined(__TABLE_H)</span> 00017 <span class="preprocessor">#ifndef STK_TABLE_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define __TABLE_H</span> 00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_TABLE_H</span>
00019 <span class="preprocessor"></span> 00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "Stk.h"</span> 00020 <span class="preprocessor">#include "Function.h"</span>
00021 00021
<a name="l00022"></a><a class="code" href="classTable.html">00022</a> <span class="keyword">class </span><a class="code" href="classTable.html">Table</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <a name="l00022"></a><a class="code" href="classTable.html">00022</a> <span class="keyword">class </span><a class="code" href="classTable.html">Table</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a>
00023 { 00023 {
00024 <span class="keyword">public</span>: 00024 <span class="keyword">public</span>:
00026 <a class="code" href="classTable.html#a0">Table</a>(<span class="keywordtype">char</span> *fileName); 00026
00027 00030 <a class="code" href="classTable.html#a0">Table</a>( std::string fileName );
00029 <a class="code" href="classTable.html#a1">~Table</a>(); 00031
00030 00033 <a class="code" href="classTable.html#a1">~Table</a>();
00032 <span class="keywordtype">long</span> <a class="code" href="classTable.html#a2">getLength</a>() <span class="keyword">const</span>; 00034
00033 00036 <span class="keywordtype">long</span> <a class="code" href="classTable.html#a2">getLength</a>() <span class="keyword">const</span>;
00035 MY_FLOAT <a class="code" href="classTable.html#a3">lastOut</a>() <span class="keyword">const</span>; 00037
00036 00039
00038 00043 StkFloat <a class="code" href="classTable.html#a3">tick</a>(StkFloat index);
00042 MY_FLOAT <a class="code" href="classTable.html#a4">tick</a>(MY_FLOAT index); 00044
00043 00046 StkFloat *<a class="code" href="classTable.html#a3">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00045 MY_FLOAT *<a class="code" href="classTable.html#a4">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00047
00046 00049
00047 <span class="keyword">protected</span>: 00055 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTable.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00048 <span class="keywordtype">long</span> length; 00056
00049 MY_FLOAT *data; 00057 <span class="keyword">protected</span>:
00050 MY_FLOAT lastOutput; 00058 <span class="keywordtype">long</span> length_;
00051 00059 std::valarray&lt;StkFloat&gt; data_;
00052 }; 00060
00053 00061 };
00054 <span class="preprocessor">#endif // defined(__TABLE_H)</span> 00062
00063 <span class="preprocessor">#endif // defined(__TABLE_H)</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,78 +12,85 @@
<h1>TcpWvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>TcpWvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00027 <span class="comment">/***************************************************/</span> 00027 <span class="comment">/***************************************************/</span>
00028 00028
00029 <span class="preprocessor">#if !defined(__TCPWVIN_H)</span> 00029 <span class="preprocessor">#ifndef STK_TCPWVIN_H</span>
00030 <span class="preprocessor"></span><span class="preprocessor">#define __TCPWVIN_H</span> 00030 <span class="preprocessor"></span><span class="preprocessor">#define STK_TCPWVIN_H</span>
00031 <span class="preprocessor"></span> 00031 <span class="preprocessor"></span>
00032 <span class="preprocessor">#include "WvIn.h"</span> 00032 <span class="preprocessor">#include "WvIn.h"</span>
00033 <span class="preprocessor">#include "Socket.h"</span> 00033 <span class="preprocessor">#include "Socket.h"</span>
00034 <span class="preprocessor">#include "Thread.h"</span> 00034 <span class="preprocessor">#include "Thread.h"</span>
00035 00035 <span class="preprocessor">#include "Mutex.h"</span>
00036 <span class="keyword">typedef</span> <span class="keyword">struct </span>{ 00036
00037 <span class="keywordtype">bool</span> finished; 00037 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00038 <span class="keywordtype">void</span> *object; 00038 <span class="keywordtype">bool</span> finished;
00039 } thread_info; 00039 <span class="keywordtype">void</span> *object;
00040 00040 } thread_info;
<a name="l00041"></a><a class="code" href="classTcpWvIn.html">00041</a> <span class="keyword">class </span><a class="code" href="classTcpWvIn.html">TcpWvIn</a> : <span class="keyword">protected</span> <a class="code" href="classWvIn.html">WvIn</a> 00041
00042 { <a name="l00042"></a><a class="code" href="classTcpWvIn.html">00042</a> <span class="keyword">class </span><a class="code" href="classTcpWvIn.html">TcpWvIn</a> : <span class="keyword">protected</span> <a class="code" href="classWvIn.html">WvIn</a>
00043 <span class="keyword">public</span>: 00043 {
00045 00044 <span class="keyword">public</span>:
00048 <a class="code" href="classTcpWvIn.html#a0">TcpWvIn</a>( <span class="keywordtype">int</span> port = 2006 ); 00046
00049 00049 <a class="code" href="classTcpWvIn.html#a0">TcpWvIn</a>( <span class="keywordtype">int</span> port = 2006 );
00051 <a class="code" href="classTcpWvIn.html#a1">~TcpWvIn</a>(); 00050
00052 00052 <a class="code" href="classTcpWvIn.html#a1">~TcpWvIn</a>();
00054 00053
00057 <span class="keywordtype">void</span> <a class="code" href="classTcpWvIn.html#a2">listen</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, Stk::STK_FORMAT format = <a class="code" href="classStk.html#s1">STK_SINT16</a>); 00055
00058 00058 <span class="keywordtype">void</span> <a class="code" href="classTcpWvIn.html#a2">listen</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, Stk::StkFormat format = <a class="code" href="classStk.html#s1">STK_SINT16</a>);
00060 00059
00064 <span class="keywordtype">bool</span> <a class="code" href="classTcpWvIn.html#a3">isConnected</a>(<span class="keywordtype">void</span>); 00061
00065 00065 <span class="keywordtype">bool</span> <a class="code" href="classTcpWvIn.html#a3">isConnected</a>(<span class="keywordtype">void</span>);
00067 MY_FLOAT <a class="code" href="classTcpWvIn.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00066
00068 00068 StkFloat <a class="code" href="classTcpWvIn.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00070 MY_FLOAT <a class="code" href="classTcpWvIn.html#a5">tick</a>(<span class="keywordtype">void</span>); 00069
00071 00071 StkFloat <a class="code" href="classTcpWvIn.html#a5">tick</a>(<span class="keywordtype">void</span>);
00073 MY_FLOAT *<a class="code" href="classTcpWvIn.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00072
00074 00074 StkFloat *<a class="code" href="classTcpWvIn.html#a5">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00076 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classTcpWvIn.html#a7">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00075
00077 00077
00079 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classTcpWvIn.html#a8">tickFrame</a>(<span class="keywordtype">void</span>); 00083 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTcpWvIn.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00080 00084
00082 MY_FLOAT *<a class="code" href="classTcpWvIn.html#a8">tickFrame</a>(MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames); 00086 <span class="keyword">const</span> StkFloat *<a class="code" href="classTcpWvIn.html#a8">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00083 00087
00084 <span class="comment">// Called by the thread routine to receive data via the socket connection</span> 00089 <span class="keyword">const</span> StkFloat *<a class="code" href="classTcpWvIn.html#a9">tickFrame</a>(<span class="keywordtype">void</span>);
00085 <span class="comment">// and fill the socket buffer. This is not intended for general use but</span>
00086 <span class="comment">// had to be made public for access from the thread.</span>
00087 <span class="keywordtype">void</span> receive(<span class="keywordtype">void</span>);
00088
00089 <span class="keyword">protected</span>:
00090 00090
00091 <span class="comment">// Initialize class variables.</span> 00092 StkFloat *<a class="code" href="classTcpWvIn.html#a9">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00092 <span class="keywordtype">void</span> init( <span class="keywordtype">int</span> port );
00093 00093
00094 <span class="comment">// Read buffered socket data into the data buffer ... will block if none available.</span> 00095
00095 <span class="keywordtype">int</span> readData( <span class="keywordtype">void</span> ); 00100 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTcpWvIn.html#a9">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00096 00101
00097 <a class="code" href="classSocket.html">Socket</a> *soket; 00102 <span class="comment">// Called by the thread routine to receive data via the socket connection</span>
00098 <a class="code" href="classThread.html">Thread</a> *thread; 00103 <span class="comment">// and fill the socket buffer. This is not intended for general use but</span>
00099 Mutex mutex; 00104 <span class="comment">// had to be made public for access from the thread.</span>
00100 <span class="keywordtype">char</span> *buffer; 00105 <span class="keywordtype">void</span> receive(<span class="keywordtype">void</span>);
00101 <span class="keywordtype">long</span> bufferBytes; 00106
00102 <span class="keywordtype">long</span> bytesFilled; 00107 <span class="keyword">protected</span>:
00103 <span class="keywordtype">long</span> writePoint; 00108
00104 <span class="keywordtype">long</span> readPoint; 00109 <span class="comment">// Initialize class variables.</span>
00105 <span class="keywordtype">long</span> counter; 00110 <span class="keywordtype">void</span> init( <span class="keywordtype">int</span> port );
00106 <span class="keywordtype">int</span> dataSize; 00111
00107 <span class="keywordtype">bool</span> connected; 00112 <span class="comment">// Read buffered socket data into the data buffer ... will block if none available.</span>
00108 <span class="keywordtype">int</span> fd; 00113 <span class="keywordtype">int</span> readData( <span class="keywordtype">void</span> );
00109 thread_info threadInfo; 00114
00110 00115 <a class="code" href="classSocket.html">Socket</a> *soket_;
00111 }; 00116 <a class="code" href="classThread.html">Thread</a> *thread_;
00112 00117 <a class="code" href="classMutex.html">Mutex</a> mutex_;
00113 <span class="preprocessor">#endif</span> 00118 <span class="keywordtype">char</span> *buffer_;
00119 <span class="keywordtype">long</span> bufferBytes_;
00120 <span class="keywordtype">long</span> bytesFilled_;
00121 <span class="keywordtype">long</span> writePoint_;
00122 <span class="keywordtype">long</span> readPoint_;
00123 <span class="keywordtype">long</span> counter_;
00124 <span class="keywordtype">int</span> dataSize_;
00125 <span class="keywordtype">bool</span> connected_;
00126 <span class="keywordtype">int</span> fd_;
00127 thread_info threadInfo_;
00128
00129 };
00130
00131 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>TcpWvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>TcpWvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00026 <span class="comment">/***************************************************/</span> 00026 <span class="comment">/***************************************************/</span>
00027 00027
00028 <span class="preprocessor">#if !defined(__TCPWVOUT_H)</span> 00028 <span class="preprocessor">#ifndef STK_TCPWVOUT_H</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define __TCPWVOUT_H</span> 00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_TCPWVOUT_H</span>
00030 <span class="preprocessor"></span> 00030 <span class="preprocessor"></span>
00031 <span class="preprocessor">#include "WvOut.h"</span> 00031 <span class="preprocessor">#include "WvOut.h"</span>
00032 <span class="preprocessor">#include "Socket.h"</span> 00032 <span class="preprocessor">#include "Socket.h"</span>
@@ -24,44 +24,49 @@
00038 <a class="code" href="classTcpWvOut.html#a0">TcpWvOut</a>(); 00038 <a class="code" href="classTcpWvOut.html#a0">TcpWvOut</a>();
00039 00039
00041 00041
00044 <a class="code" href="classTcpWvOut.html#a0">TcpWvOut</a>(<span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname = <span class="stringliteral">"localhost"</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, Stk::STK_FORMAT format = <a class="code" href="classStk.html#s1">STK_SINT16</a>); 00044 <a class="code" href="classTcpWvOut.html#a0">TcpWvOut</a>(<span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname = <span class="stringliteral">"localhost"</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, Stk::StkFormat format = <a class="code" href="classStk.html#s1">STK_SINT16</a>);
00045 00045
00047 <a class="code" href="classTcpWvOut.html#a2">~TcpWvOut</a>(); 00047 <a class="code" href="classTcpWvOut.html#a2">~TcpWvOut</a>();
00048 00048
00050 00050
00053 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a3">connect</a>(<span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname = <span class="stringliteral">"localhost"</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, Stk::STK_FORMAT format = <a class="code" href="classStk.html#s1">STK_SINT16</a>); 00053 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a3">connect</a>(<span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname = <span class="stringliteral">"localhost"</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, Stk::StkFormat format = <a class="code" href="classStk.html#s1">STK_SINT16</a>);
00054 00054
00056 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a4">disconnect</a>(<span class="keywordtype">void</span>); 00056 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a4">disconnect</a>(<span class="keywordtype">void</span>);
00057 00057
00059 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classTcpWvOut.html#a5">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>; 00059 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classTcpWvOut.html#a5">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00060 00060
00062 MY_FLOAT <a class="code" href="classTcpWvOut.html#a6">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>; 00062 StkFloat <a class="code" href="classTcpWvOut.html#a6">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00063 00063
00065 00065
00068 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a7">tick</a>(MY_FLOAT sample); 00068 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a7">tick</a>( <span class="keyword">const</span> StkFloat sample );
00069 00069
00071 00071
00074 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a7">tick</a>(<span class="keyword">const</span> MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00074 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a7">tick</a>( <span class="keyword">const</span> StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00075 00075
00077 00077
00080 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a9">tickFrame</a>(<span class="keyword">const</span> MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1); 00083 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a7">tick</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00081 00084
00082 <span class="keyword">protected</span>:
00083
00084 <span class="comment">// Write a buffer of length \e frames via the socket connection.</span>
00085 <span class="keywordtype">void</span> writeData( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );
00086 00086
00087 <span class="keywordtype">char</span> msg[256]; 00089 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a10">tickFrame</a>( <span class="keyword">const</span> StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1 );
00088 <span class="keywordtype">char</span> *buffer; 00090
00089 <a class="code" href="classSocket.html">Socket</a> *soket;
00090 <span class="keywordtype">int</span> dataSize;
00091 };
00092 00092
00093 <span class="preprocessor">#endif // defined(__TCPWVOUT_H)</span> 00097 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a10">tickFrame</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00098
00099 <span class="keyword">protected</span>:
00100
00101 <span class="comment">// Write a buffer of length \e frames via the socket connection.</span>
00102 <span class="keywordtype">void</span> writeData( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );
00103
00104 <span class="keywordtype">char</span> *buffer_;
00105 <a class="code" href="classSocket.html">Socket</a> *soket_;
00106 <span class="keywordtype">int</span> dataSize_;
00107 };
00108
00109 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -10,77 +10,62 @@
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.3.4 -->
<h1>Thread.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Thread.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00012 <span class="comment">/***************************************************/</span> 00021 <span class="comment">/***************************************************/</span>
00013 00022
00014 <span class="preprocessor">#if !defined(__THREAD_H)</span> 00023 <span class="preprocessor">#ifndef STK_THREAD_H</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define __THREAD_H</span> 00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_THREAD_H</span>
00016 <span class="preprocessor"></span> 00025 <span class="preprocessor"></span>
00017 <span class="preprocessor">#include "Stk.h"</span> 00026 <span class="preprocessor">#include "Stk.h"</span>
00018
00019 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor"> #include &lt;pthread.h&gt;</span>
00022 <span class="preprocessor"> #define THREAD_TYPE</span>
00023 <span class="preprocessor"></span> <span class="keyword">typedef</span> pthread_t THREAD_HANDLE;
00024 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * THREAD_RETURN;
00025 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * (*THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
00026 <span class="keyword">typedef</span> pthread_mutex_t MUTEX;
00027 00027
00028 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span> 00028 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
00029 <span class="preprocessor"></span> 00029 <span class="preprocessor"></span>
00030 <span class="preprocessor"> #include &lt;windows.h&gt;</span> 00030 <span class="preprocessor"> #include &lt;pthread.h&gt;</span>
00031 <span class="preprocessor"> #include &lt;process.h&gt;</span> 00031 <span class="preprocessor"> #define THREAD_TYPE</span>
00032 <span class="preprocessor"> #define THREAD_TYPE __stdcall</span> 00032 <span class="preprocessor"></span> <span class="keyword">typedef</span> pthread_t THREAD_HANDLE;
00033 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> THREAD_HANDLE; 00033 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * THREAD_RETURN;
00034 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> THREAD_RETURN; 00034 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * (*THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
00035 <span class="keyword">typedef</span> unsigned (__stdcall *THREAD_FUNCTION)(<span class="keywordtype">void</span> *); 00035
00036 <span class="keyword">typedef</span> CRITICAL_SECTION MUTEX; 00036 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
00037 00037 <span class="preprocessor"></span>
00038 <span class="preprocessor">#endif</span> 00038 <span class="preprocessor"> #include &lt;windows.h&gt;</span>
00039 <span class="preprocessor"></span> 00039 <span class="preprocessor"> #include &lt;process.h&gt;</span>
<a name="l00040"></a><a class="code" href="classThread.html">00040</a> <span class="keyword">class </span><a class="code" href="classThread.html">Thread</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> 00040 <span class="preprocessor"> #define THREAD_TYPE __stdcall</span>
00041 { 00041 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> THREAD_HANDLE;
00042 <span class="keyword">public</span>: 00042 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> THREAD_RETURN;
00044 <a class="code" href="classThread.html#a0">Thread</a>(); 00043 <span class="keyword">typedef</span> unsigned (__stdcall *THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
00045 00044
00047 <a class="code" href="classThread.html#a1">~Thread</a>(); 00045 <span class="preprocessor">#endif</span>
00048 00046 <span class="preprocessor"></span>
00050 <a name="l00047"></a><a class="code" href="classThread.html">00047</a> <span class="keyword">class </span><a class="code" href="classThread.html">Thread</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00054 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a2">start</a>( THREAD_FUNCTION routine, <span class="keywordtype">void</span> * ptr = NULL ); 00048 {
00049 <span class="keyword">public</span>:
00051 <a class="code" href="classThread.html#a0">Thread</a>();
00052
00054 <a class="code" href="classThread.html#a1">~Thread</a>();
00055 00055
00057 00057
00063 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a3">wait</a>( <span class="keywordtype">long</span> milliseconds = -1 ); 00062 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a2">start</a>( THREAD_FUNCTION routine, <span class="keywordtype">void</span> * ptr = NULL );
00064 00063
00066 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classThread.html#e0">test</a>(<span class="keywordtype">void</span>); 00065
00067 00072 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a3">cancel</a>(<span class="keywordtype">void</span>);
00068 <span class="keyword">protected</span>:
00069
00070 THREAD_HANDLE thread;
00071
00072 };
00073 00073
00074 <span class="keyword">class </span>Mutex : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> 00075
00075 { 00078 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a4">wait</a>(<span class="keywordtype">void</span>);
00076 <span class="keyword">public</span>:
00078 Mutex();
00079 00079
00081 ~Mutex(); 00081
00082 00086 <span class="keywordtype">void</span> <a class="code" href="classThread.html#a5">testCancel</a>(<span class="keywordtype">void</span>);
00084 <span class="keywordtype">void</span> lock(<span class="keywordtype">void</span>); 00087
00085 00088 <span class="keyword">protected</span>:
00087 <span class="keywordtype">void</span> unlock(<span class="keywordtype">void</span>); 00089
00088 00090 THREAD_HANDLE thread_;
00089 <span class="keyword">protected</span>: 00091
00090 00092 };
00091 MUTEX mutex; 00093
00092 00094 <span class="preprocessor">#endif</span>
00093 };
00094
00095 <span class="preprocessor">#endif // defined(__THREAD_H)</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,28 +12,34 @@
<h1>TubeBell.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>TubeBell.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span> 00031 <span class="comment">/***************************************************/</span>
00032 00032
00033 <span class="preprocessor">#if !defined(__TUBEBELL_H)</span> 00033 <span class="preprocessor">#ifndef STK_TUBEBELL_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define __TUBEBELL_H</span> 00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_TUBEBELL_H</span>
00035 <span class="preprocessor"></span> 00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span> 00036 <span class="preprocessor">#include "FM.h"</span>
00037 00037
<a name="l00038"></a><a class="code" href="classTubeBell.html">00038</a> <span class="keyword">class </span><a class="code" href="classTubeBell.html">TubeBell</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <a name="l00038"></a><a class="code" href="classTubeBell.html">00038</a> <span class="keyword">class </span><a class="code" href="classTubeBell.html">TubeBell</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 { 00039 {
00040 <span class="keyword">public</span>: 00040 <span class="keyword">public</span>:
00042 <a class="code" href="classTubeBell.html#a0">TubeBell</a>(); 00042
00043 00045 <a class="code" href="classTubeBell.html#a0">TubeBell</a>();
00045 <a class="code" href="classTubeBell.html#a1">~TubeBell</a>();
00046 00046
00048 <span class="keywordtype">void</span> <a class="code" href="classTubeBell.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00048 <a class="code" href="classTubeBell.html#a1">~TubeBell</a>();
00049 00049
00051 MY_FLOAT <a class="code" href="classTubeBell.html#a3">tick</a>(); 00051 <span class="keywordtype">void</span> <a class="code" href="classTubeBell.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00052 }; 00052
00053 00054 StkFloat <a class="code" href="classTubeBell.html#a3">tick</a>();
00054 <span class="preprocessor">#endif</span> 00055
00057 StkFloat *<a class="code" href="classTubeBell.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00058
00060
00066 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTubeBell.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00067 };
00068
00069 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>TwoPole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>TwoPole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span> 00013 <span class="comment">/***************************************************/</span>
00014 00014
00015 <span class="preprocessor">#if !defined(__TWOPOLE_H)</span> 00015 <span class="preprocessor">#ifndef STK_TWOPOLE_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __TWOPOLE_H</span> 00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOPOLE_H</span>
00017 <span class="preprocessor"></span> 00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span> 00018 <span class="preprocessor">#include "Filter.h"</span>
00019 00019
@@ -27,32 +27,35 @@
00029 00029
00031 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a2">clear</a>(<span class="keywordtype">void</span>); 00031 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a2">clear</a>(<span class="keywordtype">void</span>);
00032 00032
00034 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a3">setB0</a>(MY_FLOAT b0); 00034 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a3">setB0</a>(StkFloat b0);
00035 00035
00037 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a4">setA1</a>(MY_FLOAT a1); 00037 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a4">setA1</a>(StkFloat a1);
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a5">setA2</a>(MY_FLOAT a2); 00040 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a5">setA2</a>(StkFloat a2);
00041 00041
00043 00043
00056 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a6">setResonance</a>(MY_FLOAT frequency, MY_FLOAT radius, <span class="keywordtype">bool</span> normalize = FALSE); 00056 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a6">setResonance</a>(StkFloat frequency, StkFloat radius, <span class="keywordtype">bool</span> normalize = <span class="keyword">false</span>);
00057 00057
00059 00059
00063 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a7">setGain</a>(MY_FLOAT theGain); 00063 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a7">setGain</a>(StkFloat gain);
00064 00064
00066 MY_FLOAT <a class="code" href="classTwoPole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00066 StkFloat <a class="code" href="classTwoPole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00067 00067
00069 MY_FLOAT <a class="code" href="classTwoPole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00069 StkFloat <a class="code" href="classTwoPole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00070 00070
00072 MY_FLOAT <a class="code" href="classTwoPole.html#a10">tick</a>(MY_FLOAT sample); 00072 StkFloat <a class="code" href="classTwoPole.html#a10">tick</a>(StkFloat sample);
00073 00073
00075 MY_FLOAT *<a class="code" href="classTwoPole.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00075 StkFloat *<a class="code" href="classTwoPole.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00076 }; 00076
00077 00078
00078 <span class="preprocessor">#endif</span> 00084 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTwoPole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00085 };
00086
00087 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>TwoZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>TwoZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span> 00013 <span class="comment">/***************************************************/</span>
00014 00014
00015 <span class="preprocessor">#if !defined(__TWOZERO_H)</span> 00015 <span class="preprocessor">#ifndef STK_TWOZERO_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __TWOZERO_H</span> 00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOZERO_H</span>
00017 <span class="preprocessor"></span> 00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span> 00018 <span class="preprocessor">#include "Filter.h"</span>
00019 00019
@@ -26,32 +26,35 @@
00028 00028
00030 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a2">clear</a>(<span class="keywordtype">void</span>); 00030 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a2">clear</a>(<span class="keywordtype">void</span>);
00031 00031
00033 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a3">setB0</a>(MY_FLOAT b0); 00033 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a3">setB0</a>(StkFloat b0);
00034 00034
00036 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a4">setB1</a>(MY_FLOAT b1); 00036 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a4">setB1</a>(StkFloat b1);
00037 00037
00039 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a5">setB2</a>(MY_FLOAT b2); 00039 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a5">setB2</a>(StkFloat b2);
00040 00040
00042 00042
00052 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a6">setNotch</a>(MY_FLOAT frequency, MY_FLOAT radius); 00052 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a6">setNotch</a>(StkFloat frequency, StkFloat radius);
00053 00053
00055 00055
00059 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a7">setGain</a>(MY_FLOAT theGain); 00059 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a7">setGain</a>(StkFloat gain);
00060 00060
00062 MY_FLOAT <a class="code" href="classTwoZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00062 StkFloat <a class="code" href="classTwoZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00063 00063
00065 MY_FLOAT <a class="code" href="classTwoZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00065 StkFloat <a class="code" href="classTwoZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00066 00066
00068 MY_FLOAT <a class="code" href="classTwoZero.html#a10">tick</a>(MY_FLOAT sample); 00068 StkFloat <a class="code" href="classTwoZero.html#a10">tick</a>(StkFloat sample);
00069 00069
00071 MY_FLOAT *<a class="code" href="classTwoZero.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00071 StkFloat *<a class="code" href="classTwoZero.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00072 }; 00072
00073 00074
00074 <span class="preprocessor">#endif</span> 00080 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTwoZero.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00081 };
00082
00083 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,43 +12,46 @@
<h1>Vector3D.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Vector3D.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00009 <span class="comment">/***************************************************/</span> 00009 <span class="comment">/***************************************************/</span>
00010 00010
00011 <span class="preprocessor">#if !defined(__VECTOR3D_H)</span> 00011 <span class="preprocessor">#ifndef STK_VECTOR3D_H</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define __VECTOR3D_H</span> 00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_VECTOR3D_H</span>
00013 <span class="preprocessor"></span> 00013 <span class="preprocessor"></span>
<a name="l00014"></a><a class="code" href="classVector3D.html">00014</a> <span class="keyword">class </span><a class="code" href="classVector3D.html">Vector3D</a> { 00014 <span class="preprocessor">#include "Stk.h"</span>
00015 00015
00016 <span class="keyword">public</span>: <a name="l00016"></a><a class="code" href="classVector3D.html">00016</a> <span class="keyword">class </span><a class="code" href="classVector3D.html">Vector3D</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00018 <a class="code" href="classVector3D.html#a0">Vector3D</a>(<span class="keywordtype">double</span> initX=0.0, <span class="keywordtype">double</span> initY=0.0, <span class="keywordtype">double</span> initZ=0.0); 00017 {
00019 00018
00021 <a class="code" href="classVector3D.html#a1">~Vector3D</a>(); 00019 <span class="keyword">public</span>:
00021 <a class="code" href="classVector3D.html#a0">Vector3D</a>(StkFloat initX=0.0, StkFloat initY=0.0, StkFloat initZ=0.0);
00022 00022
00024 <span class="keywordtype">double</span> <a class="code" href="classVector3D.html#a2">getX</a>(); 00024 <a class="code" href="classVector3D.html#a1">~Vector3D</a>();
00025 00025
00027 <span class="keywordtype">double</span> <a class="code" href="classVector3D.html#a3">getY</a>(); 00027 StkFloat <a class="code" href="classVector3D.html#a2">getX</a>();
00028 00028
00030 <span class="keywordtype">double</span> <a class="code" href="classVector3D.html#a4">getZ</a>(); 00030 StkFloat <a class="code" href="classVector3D.html#a3">getY</a>();
00031 00031
00033 <span class="keywordtype">double</span> <a class="code" href="classVector3D.html#a5">getLength</a>(); 00033 StkFloat <a class="code" href="classVector3D.html#a4">getZ</a>();
00034 00034
00036 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a6">setXYZ</a>(<span class="keywordtype">double</span> anX, <span class="keywordtype">double</span> aY, <span class="keywordtype">double</span> aZ); 00036 StkFloat <a class="code" href="classVector3D.html#a5">getLength</a>();
00037 00037
00039 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a7">setX</a>(<span class="keywordtype">double</span> aval); 00039 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a6">setXYZ</a>(StkFloat x, StkFloat y, StkFloat z);
00040 00040
00042 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a8">setY</a>(<span class="keywordtype">double</span> aval); 00042 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a7">setX</a>(StkFloat x);
00043 00043
00045 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a9">setZ</a>(<span class="keywordtype">double</span> aval); 00045 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a8">setY</a>(StkFloat y);
00046 00046
00047 <span class="keyword">protected</span>: 00048 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a9">setZ</a>(StkFloat z);
00048 <span class="keywordtype">double</span> myX; 00049
00049 <span class="keywordtype">double</span> myY; 00050 <span class="keyword">protected</span>:
00050 <span class="keywordtype">double</span> myZ; 00051 StkFloat myX_;
00051 }; 00052 StkFloat myY_;
00052 00053 StkFloat myZ_;
00053 <span class="preprocessor">#endif</span> 00054 };
00055
00056 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>VoicForm.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>VoicForm.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00026 <span class="comment">/***************************************************/</span> 00026 <span class="comment">/***************************************************/</span>
00027 00027
00028 <span class="preprocessor">#if !defined(__VOICFORM_H)</span> 00028 <span class="preprocessor">#ifndef STK_VOICFORM_H</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define __VOICFORM_H</span> 00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_VOICFORM_H</span>
00030 <span class="preprocessor"></span> 00030 <span class="preprocessor"></span>
00031 <span class="preprocessor">#include "Instrmnt.h"</span> 00031 <span class="preprocessor">#include "Instrmnt.h"</span>
00032 <span class="preprocessor">#include "Envelope.h"</span> 00032 <span class="preprocessor">#include "Envelope.h"</span>
@@ -26,51 +26,57 @@
<a name="l00039"></a><a class="code" href="classVoicForm.html">00039</a> <span class="keyword">class </span><a class="code" href="classVoicForm.html">VoicForm</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00039"></a><a class="code" href="classVoicForm.html">00039</a> <span class="keyword">class </span><a class="code" href="classVoicForm.html">VoicForm</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00040 { 00040 {
00041 <span class="keyword">public</span>: 00041 <span class="keyword">public</span>:
00043 <a class="code" href="classVoicForm.html#a0">VoicForm</a>(); 00043
00044 00046 <a class="code" href="classVoicForm.html#a0">VoicForm</a>();
00046 <a class="code" href="classVoicForm.html#a1">~VoicForm</a>();
00047 00047
00049 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a2">clear</a>(); 00049 <a class="code" href="classVoicForm.html#a1">~VoicForm</a>();
00050 00050
00052 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a3">setFrequency</a>(MY_FLOAT frequency); 00052 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a2">clear</a>();
00053 00053
00055 <span class="keywordtype">bool</span> <a class="code" href="classVoicForm.html#a4">setPhoneme</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* phoneme); 00055 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a3">setFrequency</a>(StkFloat frequency);
00056 00056
00058 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a5">setVoiced</a>(MY_FLOAT vGain); 00058 <span class="keywordtype">bool</span> <a class="code" href="classVoicForm.html#a4">setPhoneme</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* phoneme);
00059 00059
00061 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a6">setUnVoiced</a>(MY_FLOAT nGain); 00061 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a5">setVoiced</a>(StkFloat vGain);
00062 00062
00064 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a7">setFilterSweepRate</a>(<span class="keywordtype">int</span> whichOne, MY_FLOAT rate); 00064 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a6">setUnVoiced</a>(StkFloat nGain);
00065 00065
00067 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a8">setPitchSweepRate</a>(MY_FLOAT rate); 00067 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a7">setFilterSweepRate</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> whichOne, StkFloat rate);
00068 00068
00070 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a9">speak</a>(); 00070 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a8">setPitchSweepRate</a>(StkFloat rate);
00071 00071
00073 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a10">quiet</a>(); 00073 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a9">speak</a>();
00074 00074
00076 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a11">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00076 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a10">quiet</a>();
00077 00077
00079 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a12">noteOff</a>(MY_FLOAT amplitude); 00079 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a11">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00080 00080
00082 MY_FLOAT <a class="code" href="classVoicForm.html#a13">tick</a>(); 00082 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a12">noteOff</a>(StkFloat amplitude);
00083 00083
00085 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00085 StkFloat <a class="code" href="classVoicForm.html#a13">tick</a>();
00086 00086
00087 <span class="keyword">protected</span>: 00088 StkFloat *<a class="code" href="classVoicForm.html#a13">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00088 <a class="code" href="classSingWave.html">SingWave</a> *voiced; 00089
00089 <a class="code" href="classNoise.html">Noise</a> *noise; 00091
00090 <a class="code" href="classEnvelope.html">Envelope</a> *noiseEnv; 00097 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classVoicForm.html#a13">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00091 <a class="code" href="classFormSwep.html">FormSwep</a> *filters[4]; 00098
00092 <a class="code" href="classOnePole.html">OnePole</a> *onepole; 00100 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a16">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00093 <a class="code" href="classOneZero.html">OneZero</a> *onezero; 00101
00094 00102 <span class="keyword">protected</span>:
00095 }; 00103 <a class="code" href="classSingWave.html">SingWave</a> *voiced_;
00096 00104 <a class="code" href="classNoise.html">Noise</a> noise_;
00097 <span class="preprocessor">#endif</span> 00105 <a class="code" href="classEnvelope.html">Envelope</a> noiseEnv_;
00106 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[4];
00107 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
00108 <a class="code" href="classOneZero.html">OneZero</a> onezero_;
00109
00110 };
00111
00112 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,16 +12,16 @@
<h1>Voicer.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Voicer.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00030 <span class="comment">/***************************************************/</span> 00030 <span class="comment">/***************************************************/</span>
00031 00031
00032 <span class="preprocessor">#if !defined(__VOICER_H)</span> 00032 <span class="preprocessor">#ifndef STK_VOICER_H</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define __VOICER_H</span> 00033 <span class="preprocessor"></span><span class="preprocessor">#define STK_VOICER_H</span>
00034 <span class="preprocessor"></span> 00034 <span class="preprocessor"></span>
00035 <span class="preprocessor">#include "Stk.h"</span> 00035 <span class="preprocessor">#include "Instrmnt.h"</span>
00036 <span class="preprocessor">#include "Instrmnt.h"</span> 00036 <span class="preprocessor">#include &lt;vector&gt;</span>
00037 00037
<a name="l00038"></a><a class="code" href="classVoicer.html">00038</a> <span class="keyword">class </span><a class="code" href="classVoicer.html">Voicer</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <a name="l00038"></a><a class="code" href="classVoicer.html">00038</a> <span class="keyword">class </span><a class="code" href="classVoicer.html">Voicer</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00039 { 00039 {
00040 <span class="keyword">public</span>: 00040 <span class="keyword">public</span>:
00042 <a class="code" href="classVoicer.html#a0">Voicer</a>( <span class="keywordtype">int</span> maxInstruments, MY_FLOAT decayTime=0.2 ); 00042 <a class="code" href="classVoicer.html#a0">Voicer</a>( StkFloat decayTime=0.2 );
00043 00043
00045 <a class="code" href="classVoicer.html#a1">~Voicer</a>(); 00045 <a class="code" href="classVoicer.html#a1">~Voicer</a>();
00046 00046
@@ -32,66 +32,72 @@
00060 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a3">removeInstrument</a>( <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument ); 00060 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a3">removeInstrument</a>( <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument );
00061 00061
00063 00063
00071 <span class="keywordtype">long</span> <a class="code" href="classVoicer.html#a4">noteOn</a>( MY_FLOAT noteNumber, MY_FLOAT amplitude, <span class="keywordtype">int</span> channel=0 ); 00071 <span class="keywordtype">long</span> <a class="code" href="classVoicer.html#a4">noteOn</a>( StkFloat noteNumber, StkFloat amplitude, <span class="keywordtype">int</span> channel=0 );
00072 00072
00074 00074
00077 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a5">noteOff</a>( MY_FLOAT noteNumber, MY_FLOAT amplitude, <span class="keywordtype">int</span> channel=0 ); 00077 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a5">noteOff</a>( StkFloat noteNumber, StkFloat amplitude, <span class="keywordtype">int</span> channel=0 );
00078 00078
00080 00080
00083 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a5">noteOff</a>( <span class="keywordtype">long</span> tag, MY_FLOAT amplitude ); 00083 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a5">noteOff</a>( <span class="keywordtype">long</span> tag, StkFloat amplitude );
00084 00084
00086 00086
00089 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a7">setFrequency</a>( MY_FLOAT noteNumber, <span class="keywordtype">int</span> channel=0 ); 00089 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a7">setFrequency</a>( StkFloat noteNumber, <span class="keywordtype">int</span> channel=0 );
00090 00090
00092 00092
00095 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a7">setFrequency</a>( <span class="keywordtype">long</span> tag, MY_FLOAT noteNumber ); 00095 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a7">setFrequency</a>( <span class="keywordtype">long</span> tag, StkFloat noteNumber );
00096 00096
00098 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a9">pitchBend</a>( MY_FLOAT value, <span class="keywordtype">int</span> channel=0 ); 00098 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a9">pitchBend</a>( StkFloat value, <span class="keywordtype">int</span> channel=0 );
00099 00099
00101 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a9">pitchBend</a>( <span class="keywordtype">long</span> tag, MY_FLOAT value ); 00101 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a9">pitchBend</a>( <span class="keywordtype">long</span> tag, StkFloat value );
00102 00102
00104 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a11">controlChange</a>( <span class="keywordtype">int</span> number, MY_FLOAT value, <span class="keywordtype">int</span> channel=0 ); 00104 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a11">controlChange</a>( <span class="keywordtype">int</span> number, StkFloat value, <span class="keywordtype">int</span> channel=0 );
00105 00105
00107 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a11">controlChange</a>( <span class="keywordtype">long</span> tag, <span class="keywordtype">int</span> number, MY_FLOAT value ); 00107 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a11">controlChange</a>( <span class="keywordtype">long</span> tag, <span class="keywordtype">int</span> number, StkFloat value );
00108 00108
00110 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a13">silence</a>( <span class="keywordtype">void</span> ); 00110 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a13">silence</a>( <span class="keywordtype">void</span> );
00111 00111
00113 MY_FLOAT <a class="code" href="classVoicer.html#a14">tick</a>(); 00113 StkFloat <a class="code" href="classVoicer.html#a14">tick</a>();
00114 00114
00116 MY_FLOAT *<a class="code" href="classVoicer.html#a14">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00116 StkFloat *<a class="code" href="classVoicer.html#a14">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00117 00117
00119 MY_FLOAT <a class="code" href="classVoicer.html#a16">lastOut</a>() <span class="keyword">const</span>; 00119
00120 00125 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classVoicer.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00122 MY_FLOAT <a class="code" href="classVoicer.html#a17">lastOutLeft</a>() <span class="keyword">const</span>;
00123
00125 MY_FLOAT <a class="code" href="classVoicer.html#a18">lastOutRight</a>() <span class="keyword">const</span>;
00126 00126
00127 <span class="keyword">protected</span>: 00128 StkFloat <a class="code" href="classVoicer.html#a17">lastOut</a>() <span class="keyword">const</span>;
00128 00129
00129 <span class="keyword">typedef</span> <span class="keyword">struct </span>{ 00131 StkFloat <a class="code" href="classVoicer.html#a18">lastOutLeft</a>() <span class="keyword">const</span>;
00130 <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument; 00132
00131 <span class="keywordtype">long</span> tag; 00134 StkFloat <a class="code" href="classVoicer.html#a19">lastOutRight</a>() <span class="keyword">const</span>;
00132 MY_FLOAT noteNumber; 00135
00133 MY_FLOAT frequency; 00136 <span class="keyword">protected</span>:
00134 <span class="keywordtype">int</span> sounding;
00135 <span class="keywordtype">int</span> channel;
00136 } Voice;
00137 00137
00138 <span class="keywordtype">int</span> nVoices; 00138 <span class="keyword">struct </span>Voice {
00139 <span class="keywordtype">int</span> maxVoices; 00139 <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument;
00140 Voice *voices; 00140 <span class="keywordtype">long</span> tag;
00141 <span class="keywordtype">long</span> tags; 00141 StkFloat noteNumber;
00142 <span class="keywordtype">int</span> muteTime; 00142 StkFloat frequency;
00143 MY_FLOAT lastOutput; 00143 <span class="keywordtype">int</span> sounding;
00144 MY_FLOAT lastOutputLeft; 00144 <span class="keywordtype">int</span> channel;
00145 MY_FLOAT lastOutputRight; 00145
00146 }; 00146 <span class="comment">// Default constructor.</span>
00147 00147 Voice()
00148 <span class="preprocessor">#endif</span> 00148 :instrument(0), tag(0), noteNumber(-1.0), frequency(0.0),
00149 sounding(0), channel(0) {}
00150 };
00151
00152 std::vector&lt;Voice&gt; voices_;
00153 <span class="keywordtype">long</span> tags_;
00154 <span class="keywordtype">int</span> muteTime_;
00155 StkFloat lastOutput_;
00156 StkFloat lastOutputLeft_;
00157 StkFloat lastOutputRight_;
00158 };
00159
00160 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,46 +12,51 @@
<h1>WaveLoop.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>WaveLoop.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span> 00019 <span class="comment">/***************************************************/</span>
00020 00020
00021 <span class="preprocessor">#if !defined(__WAVELOOP_H)</span> 00021 <span class="preprocessor">#ifndef STK_WAVELOOP_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __WAVELOOP_H</span> 00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_WAVELOOP_H</span>
00023 <span class="preprocessor"></span> 00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "WvIn.h"</span> 00024 <span class="preprocessor">#include "WvIn.h"</span>
00025 <span class="preprocessor">#include &lt;stdio.h&gt;</span> 00025
00026 <a name="l00026"></a><a class="code" href="classWaveLoop.html">00026</a> <span class="keyword">class </span><a class="code" href="classWaveLoop.html">WaveLoop</a> : <span class="keyword">public</span> <a class="code" href="classWvIn.html">WvIn</a>
<a name="l00027"></a><a class="code" href="classWaveLoop.html">00027</a> <span class="keyword">class </span><a class="code" href="classWaveLoop.html">WaveLoop</a> : <span class="keyword">public</span> <a class="code" href="classWvIn.html">WvIn</a> 00027 {
00028 { 00028 <span class="keyword">public</span>:
00029 <span class="keyword">public</span>: 00030 <a class="code" href="classWaveLoop.html#a0">WaveLoop</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span> );
00031 <a class="code" href="classWaveLoop.html#a0">WaveLoop</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">bool</span> raw = FALSE ); 00031
00032 00033 <span class="keyword">virtual</span> <a class="code" href="classWaveLoop.html#a1">~WaveLoop</a>();
00034 <span class="keyword">virtual</span> <a class="code" href="classWaveLoop.html#a1">~WaveLoop</a>(); 00034
00035 00036
00037 00042 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a2">setFrequency</a>(StkFloat frequency);
00043 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a2">setFrequency</a>(MY_FLOAT aFrequency); 00043
00044 00045 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a3">addTime</a>(StkFloat time);
00046 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a3">addTime</a>(MY_FLOAT aTime); 00046
00047 00048
00049 00053 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a4">addPhase</a>(StkFloat angle);
00054 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a4">addPhase</a>(MY_FLOAT anAngle); 00054
00055 00056
00057 00061 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a5">addPhaseOffset</a>(StkFloat angle);
00062 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a5">addPhaseOffset</a>(MY_FLOAT anAngle); 00062
00063 00064 <span class="keyword">const</span> StkFloat *<a class="code" href="classWaveLoop.html#a6">tickFrame</a>(<span class="keywordtype">void</span>);
00065 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classWaveLoop.html#a6">tickFrame</a>(<span class="keywordtype">void</span>); 00065
00066 00067
00067 <span class="keyword">protected</span>: 00070 StkFloat *<a class="code" href="classWaveLoop.html#a6">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00068
00069 <span class="comment">// Read file data.</span>
00070 <span class="keywordtype">void</span> readData(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> index);
00071 00071
00072 MY_FLOAT phaseOffset;
00073 00073
00074 }; 00079 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWaveLoop.html#a6">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00075 00080
00076 <span class="preprocessor">#endif // defined(__WAVELOOP_H)</span> 00081 <span class="keyword">protected</span>:
00082
00083 <span class="comment">// Read file data.</span>
00084 <span class="keywordtype">void</span> readData(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> index);
00085
00086 StkFloat phaseOffset_;
00087
00088 };
00089
00090 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,8 +12,8 @@
<h1>Whistle.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Whistle.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00017 <span class="comment">/***************************************************/</span> 00017 <span class="comment">/***************************************************/</span>
00018 00018
00019 <span class="preprocessor">#if !defined(__WHISTLE_H)</span> 00019 <span class="preprocessor">#ifndef STK_WHISTLE_H</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define __WHISTLE_H</span> 00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_WHISTLE_H</span>
00021 <span class="preprocessor"></span> 00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include "Instrmnt.h"</span> 00022 <span class="preprocessor">#include "Instrmnt.h"</span>
00023 <span class="preprocessor">#include "Sphere.h"</span> 00023 <span class="preprocessor">#include "Sphere.h"</span>
@@ -26,53 +26,59 @@
<a name="l00030"></a><a class="code" href="classWhistle.html">00030</a> <span class="keyword">class </span><a class="code" href="classWhistle.html">Whistle</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <a name="l00030"></a><a class="code" href="classWhistle.html">00030</a> <span class="keyword">class </span><a class="code" href="classWhistle.html">Whistle</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00031 { 00031 {
00032 <span class="keyword">public</span>: 00032 <span class="keyword">public</span>:
00034 <a class="code" href="classWhistle.html#a0">Whistle</a>(); 00034
00035 00037 <a class="code" href="classWhistle.html#a0">Whistle</a>();
00037 <a class="code" href="classWhistle.html#a1">~Whistle</a>();
00038 00038
00040 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a2">clear</a>(); 00040 <a class="code" href="classWhistle.html#a1">~Whistle</a>();
00041 00041
00043 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a3">setFrequency</a>(MY_FLOAT frequency); 00043 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a2">clear</a>();
00044 00044
00046 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a4">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate); 00046 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a3">setFrequency</a>(StkFloat frequency);
00047 00047
00049 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a5">stopBlowing</a>(MY_FLOAT rate); 00049 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00050 00050
00052 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00052 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a5">stopBlowing</a>(StkFloat rate);
00053 00053
00055 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a7">noteOff</a>(MY_FLOAT amplitude); 00055 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056 00056
00058 MY_FLOAT <a class="code" href="classWhistle.html#a8">tick</a>(); 00058 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a7">noteOff</a>(StkFloat amplitude);
00059 00059
00061 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value); 00061 StkFloat <a class="code" href="classWhistle.html#a8">tick</a>();
00062 00062
00063 <span class="keyword">protected</span>: 00064 StkFloat *<a class="code" href="classWhistle.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00064 <a class="code" href="classVector3D.html">Vector3D</a> *tempVectorP; 00065
00065 <a class="code" href="classVector3D.html">Vector3D</a> *tempVector; 00067
00066 <a class="code" href="classOnePole.html">OnePole</a> onepole; 00073 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWhistle.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00067 <a class="code" href="classNoise.html">Noise</a> noise; 00074
00068 <a class="code" href="classEnvelope.html">Envelope</a> envelope; 00076 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00069 <a class="code" href="classSphere.html">Sphere</a> *can; <span class="comment">// Declare a Spherical "can".</span> 00077
00070 <a class="code" href="classSphere.html">Sphere</a> *pea, *bumper; <span class="comment">// One spherical "pea", and a spherical "bumper".</span> 00078 <span class="keyword">protected</span>:
00071 00079
00072 <a class="code" href="classWaveLoop.html">WaveLoop</a> *sine; 00080 <a class="code" href="classVector3D.html">Vector3D</a> *tempVectorP_;
00073 00081 <a class="code" href="classVector3D.html">Vector3D</a> tempVector_;
00074 MY_FLOAT baseFrequency; 00082 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
00075 MY_FLOAT maxPressure; 00083 <a class="code" href="classNoise.html">Noise</a> noise_;
00076 MY_FLOAT noiseGain; 00084 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00077 MY_FLOAT fippleFreqMod; 00085 <a class="code" href="classSphere.html">Sphere</a> can_; <span class="comment">// Declare a Spherical "can".</span>
00078 MY_FLOAT fippleGainMod; 00086 <a class="code" href="classSphere.html">Sphere</a> pea_, bumper_; <span class="comment">// One spherical "pea", and a spherical "bumper".</span>
00079 MY_FLOAT blowFreqMod; 00087
00080 MY_FLOAT tickSize; 00088 <a class="code" href="classWaveLoop.html">WaveLoop</a> *sine_;
00081 MY_FLOAT canLoss; 00089
00082 <span class="keywordtype">int</span> subSample, subSampCount; 00090 StkFloat baseFrequency_;
00083 }; 00091 StkFloat noiseGain_;
00084 00092 StkFloat fippleFreqMod_;
00085 <span class="preprocessor">#endif</span> 00093 StkFloat fippleGainMod_;
00094 StkFloat blowFreqMod_;
00095 StkFloat tickSize_;
00096 StkFloat canLoss_;
00097 <span class="keywordtype">int</span> subSample_, subSampCount_;
00098 };
00099
00100 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,30 +12,36 @@
<h1>Wurley.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>Wurley.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span> 00031 <span class="comment">/***************************************************/</span>
00032 00032
00033 <span class="preprocessor">#if !defined(__WURLEY_H)</span> 00033 <span class="preprocessor">#ifndef STK_WURLEY_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define __WURLEY_H</span> 00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_WURLEY_H</span>
00035 <span class="preprocessor"></span> 00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span> 00036 <span class="preprocessor">#include "FM.h"</span>
00037 00037
<a name="l00038"></a><a class="code" href="classWurley.html">00038</a> <span class="keyword">class </span><a class="code" href="classWurley.html">Wurley</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <a name="l00038"></a><a class="code" href="classWurley.html">00038</a> <span class="keyword">class </span><a class="code" href="classWurley.html">Wurley</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 { 00039 {
00040 <span class="keyword">public</span>: 00040 <span class="keyword">public</span>:
00042 <a class="code" href="classWurley.html#a0">Wurley</a>(); 00042
00043 00045 <a class="code" href="classWurley.html#a0">Wurley</a>();
00045 <a class="code" href="classWurley.html#a1">~Wurley</a>();
00046 00046
00048 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a2">setFrequency</a>(MY_FLOAT frequency); 00048 <a class="code" href="classWurley.html#a1">~Wurley</a>();
00049 00049
00051 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude); 00051 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a2">setFrequency</a>(StkFloat frequency);
00052 00052
00054 MY_FLOAT <a class="code" href="classWurley.html#a4">tick</a>(); 00054 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055 }; 00055
00056 00057 StkFloat <a class="code" href="classWurley.html#a4">tick</a>();
00057 <span class="preprocessor">#endif</span> 00058
00060 StkFloat *<a class="code" href="classWurley.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00061
00063
00069 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWurley.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00070 };
00071
00072 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -10,125 +10,129 @@
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.3.4 -->
<h1>WvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>WvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00037 <span class="comment">/***************************************************/</span> 00043 <span class="comment">/***************************************************/</span>
00038 00044
00039 <span class="preprocessor">#if !defined(__WVIN_H)</span> 00045 <span class="preprocessor">#ifndef STK_WVIN_H</span>
00040 <span class="preprocessor"></span><span class="preprocessor">#define __WVIN_H</span> 00046 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVIN_H</span>
00041 <span class="preprocessor"></span> 00047 <span class="preprocessor"></span>
00042 <span class="comment">// Files larger than CHUNK_THRESHOLD will be copied into memory</span> 00048 <span class="comment">// Files larger than CHUNK_THRESHOLD will be copied into memory</span>
00043 <span class="comment">// in CHUNK_SIZE increments, rather than completely loaded into</span> 00049 <span class="comment">// in CHUNK_SIZE increments, rather than completely loaded into</span>
00044 <span class="comment">// a buffer at once.</span> 00050 <span class="comment">// a buffer at once.</span>
00045
00046 <span class="preprocessor">#define CHUNK_THRESHOLD 5000000 // 5 Mb</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#define CHUNK_SIZE 1024 // sample frames</span>
00048 <span class="preprocessor"></span>
00049 <span class="preprocessor">#include "Stk.h"</span>
00050 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
00051 00051
<a name="l00052"></a><a class="code" href="classWvIn.html">00052</a> <span class="keyword">class </span><a class="code" href="classWvIn.html">WvIn</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> 00052 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> CHUNK_THRESHOLD = 5000000; <span class="comment">// 5 Mb</span>
00053 { 00053 <span class="keyword">const</span> <span class="keywordtype">long</span> CHUNK_SIZE = 1024; <span class="comment">// sample frames</span>
00054 <span class="keyword">public</span>: 00054
00056 <a class="code" href="classWvIn.html#a0">WvIn</a>(); 00055 <span class="preprocessor">#include "Stk.h"</span>
00057 00056
00059 <a name="l00057"></a><a class="code" href="classWvIn.html">00057</a> <span class="keyword">class </span><a class="code" href="classWvIn.html">WvIn</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00063 <a class="code" href="classWvIn.html#a0">WvIn</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">bool</span> raw = FALSE, <span class="keywordtype">bool</span> doNormalize = TRUE ); 00058 {
00059 <span class="keyword">public</span>:
00061 <a class="code" href="classWvIn.html#a0">WvIn</a>();
00062
00064 00064
00066 <span class="keyword">virtual</span> <a class="code" href="classWvIn.html#a2">~WvIn</a>(); 00068 <a class="code" href="classWvIn.html#a0">WvIn</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span> );
00067
00069 00069
00073 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a3">openFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">bool</span> raw = FALSE, <span class="keywordtype">bool</span> doNormalize = TRUE ); 00071 <span class="keyword">virtual</span> <a class="code" href="classWvIn.html#a2">~WvIn</a>();
00072
00074 00074
00076 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a4">closeFile</a>(<span class="keywordtype">void</span>); 00078 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a3">openFile</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span> );
00077 00079
00079 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a5">reset</a>(<span class="keywordtype">void</span>); 00081 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a4">closeFile</a>(<span class="keywordtype">void</span>);
00080
00082 00082
00088 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(<span class="keywordtype">void</span>); 00084 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a5">reset</a>(<span class="keywordtype">void</span>);
00089 00085
00091 00087
00097 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(MY_FLOAT peak); 00093 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(<span class="keywordtype">void</span>);
00098 00094
00100 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classWvIn.html#a8">getSize</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00096
00101 00102 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(StkFloat peak);
00103 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classWvIn.html#a9">getChannels</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00103
00104 00105 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classWvIn.html#a8">getSize</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00106 00106
00111 MY_FLOAT <a class="code" href="classWvIn.html#a10">getFileRate</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00108 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classWvIn.html#a9">getChannels</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00112 00109
00114 <span class="keywordtype">bool</span> <a class="code" href="classWvIn.html#a11">isFinished</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00111
00115 00116 StkFloat <a class="code" href="classWvIn.html#a10">getFileRate</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00117 00117
00120 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a12">setRate</a>(MY_FLOAT aRate); 00119 <span class="keywordtype">bool</span> <a class="code" href="classWvIn.html#a11">isFinished</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00121 00120
00123 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a13">addTime</a>(MY_FLOAT aTime); 00122
00124 00125 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a12">setRate</a>(StkFloat aRate);
00126 00126
00132 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a14">setInterpolate</a>(<span class="keywordtype">bool</span> doInterpolate); 00128 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a13">addTime</a>(StkFloat aTime);
00133 00129
00135 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classWvIn.html#a15">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00131
00136 00137 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a14">setInterpolate</a>(<span class="keywordtype">bool</span> doInterpolate);
00138 00138
00141 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classWvIn.html#a16">tick</a>(<span class="keywordtype">void</span>); 00140 <span class="keyword">virtual</span> StkFloat <a class="code" href="classWvIn.html#a15">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00142 00141
00144 00143
00147 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classWvIn.html#a16">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00146 <span class="keyword">virtual</span> StkFloat <a class="code" href="classWvIn.html#a16">tick</a>(<span class="keywordtype">void</span>);
00148 00147
00150 <span class="keyword">virtual</span> <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classWvIn.html#a18">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00149
00151 00152 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classWvIn.html#a16">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00153 00153
00156 <span class="keyword">virtual</span> <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classWvIn.html#a19">tickFrame</a>(<span class="keywordtype">void</span>); 00155
00157 00162 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a16">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00159
00162 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classWvIn.html#a19">tickFrame</a>(MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00163 00163
00164 <span class="keyword">protected</span>: 00165 <span class="keyword">virtual</span> <span class="keyword">const</span> StkFloat *<a class="code" href="classWvIn.html#a19">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00165 00166
00166 <span class="comment">// Initialize class variables.</span>
00167 <span class="keywordtype">void</span> init( <span class="keywordtype">void</span> );
00168 00168
00169 <span class="comment">// Read file data.</span> 00171 <span class="keyword">virtual</span> <span class="keyword">const</span> StkFloat *<a class="code" href="classWvIn.html#a20">tickFrame</a>(<span class="keywordtype">void</span>);
00170 <span class="keyword">virtual</span> <span class="keywordtype">void</span> readData(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> index); 00172
00171
00172 <span class="comment">// Get STK RAW file information.</span>
00173 <span class="keywordtype">bool</span> getRawInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00174 00174
00175 <span class="comment">// Get WAV file header information.</span> 00177 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classWvIn.html#a20">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00176 <span class="keywordtype">bool</span> getWavInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName ); 00178
00177
00178 <span class="comment">// Get SND (AU) file header information.</span>
00179 <span class="keywordtype">bool</span> getSndInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00180 00180
00181 <span class="comment">// Get AIFF file header information.</span> 00186 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a20">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00182 <span class="keywordtype">bool</span> getAifInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName ); 00187
00183 00188 <span class="keyword">protected</span>:
00184 <span class="comment">// Get MAT-file header information.</span> 00189
00185 <span class="keywordtype">bool</span> getMatInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName ); 00190 <span class="comment">// Initialize class variables.</span>
00186 00191 <span class="keywordtype">void</span> init( <span class="keywordtype">void</span> );
00187 <span class="keywordtype">char</span> msg[256]; 00192
00188 FILE *fd; 00193 <span class="comment">// Read file data.</span>
00189 MY_FLOAT *data; 00194 <span class="keyword">virtual</span> <span class="keywordtype">void</span> readData(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> index);
00190 MY_FLOAT *lastOutput; 00195
00191 <span class="keywordtype">bool</span> chunking; 00196 <span class="comment">// Get STK RAW file information.</span>
00192 <span class="keywordtype">bool</span> finished; 00197 <span class="keywordtype">bool</span> getRawInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00193 <span class="keywordtype">bool</span> interpolate; 00198
00194 <span class="keywordtype">bool</span> byteswap; 00199 <span class="comment">// Get WAV file header information.</span>
00195 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> fileSize; 00200 <span class="keywordtype">bool</span> getWavInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00196 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bufferSize; 00201
00197 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> dataOffset; 00202 <span class="comment">// Get SND (AU) file header information.</span>
00198 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels; 00203 <span class="keywordtype">bool</span> getSndInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00199 <span class="keywordtype">long</span> chunkPointer; 00204
00200 STK_FORMAT dataType; 00205 <span class="comment">// Get AIFF file header information.</span>
00201 MY_FLOAT fileRate; 00206 <span class="keywordtype">bool</span> getAifInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00202 MY_FLOAT gain; 00207
00203 MY_FLOAT time; 00208 <span class="comment">// Get MAT-file header information.</span>
00204 MY_FLOAT rate; 00209 <span class="keywordtype">bool</span> getMatInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00205 }; 00210
00206 00211 FILE *fd_;
00207 <span class="preprocessor">#endif // defined(__WVIN_H)</span> 00212 StkFloat *data_;
00213 StkFloat *lastOutputs_;
00214 <span class="keywordtype">bool</span> chunking_;
00215 <span class="keywordtype">bool</span> finished_;
00216 <span class="keywordtype">bool</span> interpolate_;
00217 <span class="keywordtype">bool</span> byteswap_;
00218 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> fileSize_;
00219 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bufferSize_;
00220 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> dataOffset_;
00221 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
00222 <span class="keywordtype">long</span> chunkPointer_;
00223 StkFormat dataType_;
00224 StkFloat fileRate_;
00225 StkFloat gain_;
00226 StkFloat time_;
00227 StkFloat rate_;
00228 };
00229
00230 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,104 +12,116 @@
<h1>WvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <h1>WvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00034 <span class="comment">/***************************************************/</span> 00034 <span class="comment">/***************************************************/</span>
00035 00035
00036 <span class="preprocessor">#if !defined(__WVOUT_H)</span> 00036 <span class="preprocessor">#ifndef STK_WVOUT_H</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define __WVOUT_H</span> 00037 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVOUT_H</span>
00038 <span class="preprocessor"></span> 00038 <span class="preprocessor"></span>
00039 <span class="preprocessor">#include "Stk.h"</span> 00039 <span class="preprocessor">#include "Stk.h"</span>
00040 <span class="preprocessor">#include &lt;stdio.h&gt;</span> 00040
00041 00041 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> BUFFER_SIZE = 1024; <span class="comment">// sample frames</span>
00042 <span class="preprocessor">#define BUFFER_SIZE 1024 // sample frames</span> 00042
00043 <span class="preprocessor"></span> <a name="l00043"></a><a class="code" href="classWvOut.html">00043</a> <span class="keyword">class </span><a class="code" href="classWvOut.html">WvOut</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
<a name="l00044"></a><a class="code" href="classWvOut.html">00044</a> <span class="keyword">class </span><a class="code" href="classWvOut.html">WvOut</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> 00044 {
00045 { 00045 <span class="keyword">public</span>:
00046 <span class="keyword">public</span>: 00046
00047 00047 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> FILE_TYPE;
00048 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> FILE_TYPE; 00048
00049 <a name="l00049"></a><a class="code" href="classWvOut.html#s0">00049</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s0">WVOUT_RAW</a>;
<a name="l00050"></a><a class="code" href="classWvOut.html#s0">00050</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s0">WVOUT_RAW</a>; <a name="l00050"></a><a class="code" href="classWvOut.html#s1">00050</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s1">WVOUT_WAV</a>;
<a name="l00051"></a><a class="code" href="classWvOut.html#s1">00051</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s1">WVOUT_WAV</a>; <a name="l00051"></a><a class="code" href="classWvOut.html#s2">00051</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s2">WVOUT_SND</a>;
<a name="l00052"></a><a class="code" href="classWvOut.html#s2">00052</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s2">WVOUT_SND</a>; <a name="l00052"></a><a class="code" href="classWvOut.html#s3">00052</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s3">WVOUT_AIF</a>;
<a name="l00053"></a><a class="code" href="classWvOut.html#s3">00053</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s3">WVOUT_AIF</a>; <a name="l00053"></a><a class="code" href="classWvOut.html#s4">00053</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s4">WVOUT_MAT</a>;
<a name="l00054"></a><a class="code" href="classWvOut.html#s4">00054</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s4">WVOUT_MAT</a>; 00055
00056 00056 <a class="code" href="classWvOut.html#a0">WvOut</a>();
00057 <a class="code" href="classWvOut.html#a0">WvOut</a>(); 00057
00058 00059
00060 00062 <a class="code" href="classWvOut.html#a0">WvOut</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, FILE_TYPE type = WVOUT_WAV, Stk::StkFormat format = STK_SINT16 );
00063 <a class="code" href="classWvOut.html#a0">WvOut</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, FILE_TYPE type = WVOUT_WAV, Stk::STK_FORMAT format = STK_SINT16 ); 00063
00064 00065 <span class="keyword">virtual</span> <a class="code" href="classWvOut.html#a2">~WvOut</a>();
00066 <span class="keyword">virtual</span> <a class="code" href="classWvOut.html#a2">~WvOut</a>(); 00066
00067 00068
00069 00071 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a3">openFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1,
00072 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a3">openFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, 00072 WvOut::FILE_TYPE type = WVOUT_WAV, Stk::StkFormat format = STK_SINT16 );
00073 WvOut::FILE_TYPE type = WVOUT_WAV, Stk::STK_FORMAT format = STK_SINT16 ); 00073
00074 00075 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a4">closeFile</a>( <span class="keywordtype">void</span> );
00076 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a4">closeFile</a>( <span class="keywordtype">void</span> ); 00076
00077 00078 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classWvOut.html#a5">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00079 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classWvOut.html#a5">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>; 00079
00080 00081 StkFloat <a class="code" href="classWvOut.html#a6">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00082 MY_FLOAT <a class="code" href="classWvOut.html#a6">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>; 00082
00083 <a name="l00084"></a><a class="code" href="classWvOut.html#a7">00084</a> <span class="keywordtype">bool</span> <a class="code" href="classWvOut.html#a7">getClipStatus</a>( <span class="keywordtype">void</span> ) { <span class="keywordflow">return</span> clipping_; };
00085 00085
00088 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a7">tick</a>(<span class="keyword">const</span> MY_FLOAT sample); <a name="l00087"></a><a class="code" href="classWvOut.html#a8">00087</a> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a8">resetClipStatus</a>( <span class="keywordtype">void</span> ) { clipping_ = <span class="keyword">false</span>; };
00089 00088
00091 00090
00094 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a7">tick</a>(<span class="keyword">const</span> MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); 00093 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a9">tick</a>(<span class="keyword">const</span> StkFloat sample);
00095 00094
00097 00096
00100 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a9">tickFrame</a>(<span class="keyword">const</span> MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1); 00099 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a9">tick</a>( <span class="keyword">const</span> StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00101 00100
00102 <span class="keyword">protected</span>: 00102
00103 00108 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a9">tick</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00104 <span class="comment">// Initialize class variables.</span>
00105 <span class="keywordtype">void</span> init( <span class="keywordtype">void</span> );
00106
00107 <span class="comment">// Write data to output file;</span>
00108 <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeData( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );
00109 00109
00110 <span class="comment">// Write STK RAW file header.</span> 00111
00111 <span class="keywordtype">bool</span> setRawFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName ); 00114 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a12">tickFrame</a>( <span class="keyword">const</span> StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
00112
00113 <span class="comment">// Write WAV file header.</span>
00114 <span class="keywordtype">bool</span> setWavFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00115 00115
00116 <span class="comment">// Close WAV file, updating the header.</span> 00117
00117 <span class="keywordtype">void</span> closeWavFile( <span class="keywordtype">void</span> ); 00122 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a12">tickFrame</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00118 00123
00119 <span class="comment">// Write SND (AU) file header.</span> 00124 <span class="keyword">protected</span>:
00120 <span class="keywordtype">bool</span> setSndFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName ); 00125
00121 00126 <span class="comment">// Initialize class variables.</span>
00122 <span class="comment">// Close SND file, updating the header.</span> 00127 <span class="keywordtype">void</span> init( <span class="keywordtype">void</span> );
00123 <span class="keywordtype">void</span> closeSndFile( <span class="keywordtype">void</span> ); 00128
00124 00129 <span class="comment">// Write data to output file;</span>
00125 <span class="comment">// Write AIFF file header.</span> 00130 <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeData( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );
00126 <span class="keywordtype">bool</span> setAifFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName ); 00131
00127 00132 <span class="comment">// Check for sample clipping and clamp.</span>
00128 <span class="comment">// Close AIFF file, updating the header.</span> 00133 <span class="keywordtype">void</span> clipTest( StkFloat&amp; sample );
00129 <span class="keywordtype">void</span> closeAifFile( <span class="keywordtype">void</span> ); 00134
00130 00135 <span class="comment">// Write STK RAW file header.</span>
00131 <span class="comment">// Write MAT-file header.</span> 00136 <span class="keywordtype">bool</span> setRawFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00132 <span class="keywordtype">bool</span> setMatFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName ); 00137
00133 00138 <span class="comment">// Write WAV file header.</span>
00134 <span class="comment">// Close MAT-file, updating the header.</span> 00139 <span class="keywordtype">bool</span> setWavFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00135 <span class="keywordtype">void</span> closeMatFile( <span class="keywordtype">void</span> ); 00140
00136 00141 <span class="comment">// Close WAV file, updating the header.</span>
00137 <span class="keywordtype">char</span> msg[256]; 00142 <span class="keywordtype">void</span> closeWavFile( <span class="keywordtype">void</span> );
00138 FILE *fd; 00143
00139 MY_FLOAT *data; 00144 <span class="comment">// Write SND (AU) file header.</span>
00140 FILE_TYPE fileType; 00145 <span class="keywordtype">bool</span> setSndFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00141 STK_FORMAT dataType;
00142 <span class="keywordtype">bool</span> byteswap;
00143 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels;
00144 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter;
00145 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> totalCount;
00146 00146
00147 }; 00147 <span class="comment">// Close SND file, updating the header.</span>
00148 00148 <span class="keywordtype">void</span> closeSndFile( <span class="keywordtype">void</span> );
00149 <span class="preprocessor">#endif // defined(__WVOUT_H)</span> 00149
00150 <span class="comment">// Write AIFF file header.</span>
00151 <span class="keywordtype">bool</span> setAifFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00152
00153 <span class="comment">// Close AIFF file, updating the header.</span>
00154 <span class="keywordtype">void</span> closeAifFile( <span class="keywordtype">void</span> );
00155
00156 <span class="comment">// Write MAT-file header.</span>
00157 <span class="keywordtype">bool</span> setMatFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00158
00159 <span class="comment">// Close MAT-file, updating the header.</span>
00160 <span class="keywordtype">void</span> closeMatFile( <span class="keywordtype">void</span> );
00161
00162 FILE *fd_;
00163 std::valarray&lt;StkFloat&gt; data_;
00164 FILE_TYPE fileType_;
00165 StkFormat dataType_;
00166 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
00167 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter_;
00168 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> totalCount_;
00169 <span class="keywordtype">bool</span> byteswap_;
00170 <span class="keywordtype">bool</span> clipping_;
00171
00172 };
00173
00174 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -11,13 +11,14 @@
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.3.4 -->
<h1>STK Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table> <h1>STK Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="classADSR.html">ADSR</a></td><td class="indexvalue">STK ADSR envelope class </td></tr> <tr><td class="indexkey"><a class="el" href="classADSR.html">ADSR</a></td><td class="indexvalue">STK ADSR envelope class </td></tr>
<tr><td class="indexkey"><a class="el" href="classAsymp.html">Asymp</a></td><td class="indexvalue">STK asymptotic curve envelope class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBandedWG.html">BandedWG</a></td><td class="indexvalue">Banded waveguide modeling class </td></tr> <tr><td class="indexkey"><a class="el" href="classBandedWG.html">BandedWG</a></td><td class="indexvalue">Banded waveguide modeling class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBeeThree.html">BeeThree</a></td><td class="indexvalue">STK Hammond-oid organ <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr> <tr><td class="indexkey"><a class="el" href="classBeeThree.html">BeeThree</a></td><td class="indexvalue">STK Hammond-oid organ <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classBiQuad.html">BiQuad</a></td><td class="indexvalue">STK biquad (two-pole, two-zero) filter class </td></tr> <tr><td class="indexkey"><a class="el" href="classBiQuad.html">BiQuad</a></td><td class="indexvalue">STK biquad (two-pole, two-zero) filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td class="indexvalue">STK blown bottle instrument class </td></tr> <tr><td class="indexkey"><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td class="indexvalue">STK blown bottle instrument class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBlowHole.html">BlowHole</a></td><td class="indexvalue">STK clarinet physical model with one register hole and one tonehole </td></tr> <tr><td class="indexkey"><a class="el" href="classBlowHole.html">BlowHole</a></td><td class="indexvalue">STK clarinet physical model with one register hole and one tonehole </td></tr>
<tr><td class="indexkey"><a class="el" href="classBowed.html">Bowed</a></td><td class="indexvalue">STK bowed string instrument class </td></tr> <tr><td class="indexkey"><a class="el" href="classBowed.html">Bowed</a></td><td class="indexvalue">STK bowed string instrument class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBowTabl.html">BowTabl</a></td><td class="indexvalue">STK bowed string table class </td></tr> <tr><td class="indexkey"><a class="el" href="classBowTable.html">BowTable</a></td><td class="indexvalue">STK bowed string table class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBrass.html">Brass</a></td><td class="indexvalue">STK simple brass instrument class </td></tr> <tr><td class="indexkey"><a class="el" href="classBrass.html">Brass</a></td><td class="indexvalue">STK simple brass instrument class </td></tr>
<tr><td class="indexkey"><a class="el" href="classChorus.html">Chorus</a></td><td class="indexvalue">STK chorus effect class </td></tr> <tr><td class="indexkey"><a class="el" href="classChorus.html">Chorus</a></td><td class="indexvalue">STK chorus effect class </td></tr>
<tr><td class="indexkey"><a class="el" href="classClarinet.html">Clarinet</a></td><td class="indexvalue">STK clarinet physical model class </td></tr> <tr><td class="indexkey"><a class="el" href="classClarinet.html">Clarinet</a></td><td class="indexvalue">STK clarinet physical model class </td></tr>
@@ -26,23 +27,28 @@
<tr><td class="indexkey"><a class="el" href="classDelayL.html">DelayL</a></td><td class="indexvalue">STK linear interpolating delay line class </td></tr> <tr><td class="indexkey"><a class="el" href="classDelayL.html">DelayL</a></td><td class="indexvalue">STK linear interpolating delay line class </td></tr>
<tr><td class="indexkey"><a class="el" href="classDrummer.html">Drummer</a></td><td class="indexvalue">STK drum sample player class </td></tr> <tr><td class="indexkey"><a class="el" href="classDrummer.html">Drummer</a></td><td class="indexvalue">STK drum sample player class </td></tr>
<tr><td class="indexkey"><a class="el" href="classEcho.html">Echo</a></td><td class="indexvalue">STK echo effect class </td></tr> <tr><td class="indexkey"><a class="el" href="classEcho.html">Echo</a></td><td class="indexvalue">STK echo effect class </td></tr>
<tr><td class="indexkey"><a class="el" href="classEffect.html">Effect</a></td><td class="indexvalue">STK abstract effects parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="classEnvelope.html">Envelope</a></td><td class="indexvalue">STK envelope base class </td></tr> <tr><td class="indexkey"><a class="el" href="classEnvelope.html">Envelope</a></td><td class="indexvalue">STK envelope base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFilter.html">Filter</a></td><td class="indexvalue">STK filter class </td></tr> <tr><td class="indexkey"><a class="el" href="classFilter.html">Filter</a></td><td class="indexvalue">STK filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFlute.html">Flute</a></td><td class="indexvalue">STK flute physical model class </td></tr> <tr><td class="indexkey"><a class="el" href="classFlute.html">Flute</a></td><td class="indexvalue">STK flute physical model class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFM.html">FM</a></td><td class="indexvalue">STK abstract FM synthesis base class </td></tr> <tr><td class="indexkey"><a class="el" href="classFM.html">FM</a></td><td class="indexvalue">STK abstract FM synthesis base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFMVoices.html">FMVoices</a></td><td class="indexvalue">STK singing <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr> <tr><td class="indexkey"><a class="el" href="classFMVoices.html">FMVoices</a></td><td class="indexvalue">STK singing <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classFormSwep.html">FormSwep</a></td><td class="indexvalue">STK sweepable formant filter class </td></tr> <tr><td class="indexkey"><a class="el" href="classFormSwep.html">FormSwep</a></td><td class="indexvalue">STK sweepable formant filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFunction.html">Function</a></td><td class="indexvalue">STK abstract function parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="classGenerator.html">Generator</a></td><td class="indexvalue">STK abstract unit generator parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="classHevyMetl.html">HevyMetl</a></td><td class="indexvalue">STK heavy metal <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr> <tr><td class="indexkey"><a class="el" href="classHevyMetl.html">HevyMetl</a></td><td class="indexvalue">STK heavy metal <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td class="indexvalue">STK instrument abstract base class </td></tr> <tr><td class="indexkey"><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td class="indexvalue">STK instrument abstract base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classJCRev.html">JCRev</a></td><td class="indexvalue">John Chowning's reverberator class </td></tr> <tr><td class="indexkey"><a class="el" href="classJCRev.html">JCRev</a></td><td class="indexvalue">John Chowning's reverberator class </td></tr>
<tr><td class="indexkey"><a class="el" href="classJetTabl.html">JetTabl</a></td><td class="indexvalue">STK jet table class </td></tr> <tr><td class="indexkey"><a class="el" href="classJetTable.html">JetTable</a></td><td class="indexvalue">STK jet table class </td></tr>
<tr><td class="indexkey"><a class="el" href="classMandolin.html">Mandolin</a></td><td class="indexvalue">STK mandolin instrument model class </td></tr> <tr><td class="indexkey"><a class="el" href="classMandolin.html">Mandolin</a></td><td class="indexvalue">STK mandolin instrument model class </td></tr>
<tr><td class="indexkey"><a class="el" href="classMesh2D.html">Mesh2D</a></td><td class="indexvalue">Two-dimensional rectilinear waveguide mesh class </td></tr> <tr><td class="indexkey"><a class="el" href="classMesh2D.html">Mesh2D</a></td><td class="indexvalue">Two-dimensional rectilinear waveguide mesh class </td></tr>
<tr><td class="indexkey"><a class="el" href="classMessager.html">Messager</a></td><td class="indexvalue">STK input control message parser </td></tr> <tr><td class="indexkey"><a class="el" href="classMessager.html">Messager</a></td><td class="indexvalue">STK input control message parser </td></tr>
<tr><td class="indexkey"><a class="el" href="classMidiFileIn.html">MidiFileIn</a></td><td class="indexvalue">A standard MIDI file reading/parsing class </td></tr>
<tr><td class="indexkey"><a class="el" href="classModal.html">Modal</a></td><td class="indexvalue">STK resonance model instrument </td></tr> <tr><td class="indexkey"><a class="el" href="classModal.html">Modal</a></td><td class="indexvalue">STK resonance model instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classModalBar.html">ModalBar</a></td><td class="indexvalue">STK resonant bar instrument class </td></tr> <tr><td class="indexkey"><a class="el" href="classModalBar.html">ModalBar</a></td><td class="indexvalue">STK resonant bar instrument class </td></tr>
<tr><td class="indexkey"><a class="el" href="classModulate.html">Modulate</a></td><td class="indexvalue">STK periodic/random modulator </td></tr> <tr><td class="indexkey"><a class="el" href="classModulate.html">Modulate</a></td><td class="indexvalue">STK periodic/random modulator </td></tr>
<tr><td class="indexkey"><a class="el" href="classMoog.html">Moog</a></td><td class="indexvalue">STK moog-like swept filter sampling synthesis class </td></tr> <tr><td class="indexkey"><a class="el" href="classMoog.html">Moog</a></td><td class="indexvalue">STK moog-like swept filter sampling synthesis class </td></tr>
<tr><td class="indexkey"><a class="el" href="classMutex.html">Mutex</a></td><td class="indexvalue">STK mutex class </td></tr>
<tr><td class="indexkey"><a class="el" href="classNoise.html">Noise</a></td><td class="indexvalue">STK noise generator </td></tr> <tr><td class="indexkey"><a class="el" href="classNoise.html">Noise</a></td><td class="indexvalue">STK noise generator </td></tr>
<tr><td class="indexkey"><a class="el" href="classNRev.html">NRev</a></td><td class="indexvalue">CCRMA's NRev reverberator class </td></tr> <tr><td class="indexkey"><a class="el" href="classNRev.html">NRev</a></td><td class="indexvalue">CCRMA's NRev reverberator class </td></tr>
<tr><td class="indexkey"><a class="el" href="classOnePole.html">OnePole</a></td><td class="indexvalue">STK one-pole filter class </td></tr> <tr><td class="indexkey"><a class="el" href="classOnePole.html">OnePole</a></td><td class="indexvalue">STK one-pole filter class </td></tr>
@@ -54,29 +60,32 @@
<tr><td class="indexkey"><a class="el" href="classPluckTwo.html">PluckTwo</a></td><td class="indexvalue">STK enhanced plucked string model class </td></tr> <tr><td class="indexkey"><a class="el" href="classPluckTwo.html">PluckTwo</a></td><td class="indexvalue">STK enhanced plucked string model class </td></tr>
<tr><td class="indexkey"><a class="el" href="classPoleZero.html">PoleZero</a></td><td class="indexvalue">STK one-pole, one-zero filter class </td></tr> <tr><td class="indexkey"><a class="el" href="classPoleZero.html">PoleZero</a></td><td class="indexvalue">STK one-pole, one-zero filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classPRCRev.html">PRCRev</a></td><td class="indexvalue">Perry's simple reverberator class </td></tr> <tr><td class="indexkey"><a class="el" href="classPRCRev.html">PRCRev</a></td><td class="indexvalue">Perry's simple reverberator class </td></tr>
<tr><td class="indexkey"><a class="el" href="classReedTabl.html">ReedTabl</a></td><td class="indexvalue">STK reed table class </td></tr> <tr><td class="indexkey"><a class="el" href="classReedTable.html">ReedTable</a></td><td class="indexvalue">STK reed table class </td></tr>
<tr><td class="indexkey"><a class="el" href="classResonate.html">Resonate</a></td><td class="indexvalue">STK noise driven formant filter </td></tr> <tr><td class="indexkey"><a class="el" href="classResonate.html">Resonate</a></td><td class="indexvalue">STK noise driven formant filter </td></tr>
<tr><td class="indexkey"><a class="el" href="classReverb.html">Reverb</a></td><td class="indexvalue">STK abstract reverberator parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRhodey.html">Rhodey</a></td><td class="indexvalue">STK Fender Rhodes electric piano <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr> <tr><td class="indexkey"><a class="el" href="classRhodey.html">Rhodey</a></td><td class="indexvalue">STK Fender Rhodes electric piano <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtAudio.html">RtAudio</a></td><td class="indexvalue">Realtime audio i/o C++ classes </td></tr> <tr><td class="indexkey"><a class="el" href="classRtAudio.html">RtAudio</a></td><td class="indexvalue">Realtime audio i/o C++ classes </td></tr>
<tr><td class="indexkey"><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td class="indexvalue">The public device information structure for returning queried values </td></tr> <tr><td class="indexkey"><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td class="indexvalue">The public device information structure for returning queried values </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtDuplex.html">RtDuplex</a></td><td class="indexvalue">STK realtime audio input/output class </td></tr> <tr><td class="indexkey"><a class="el" href="classRtDuplex.html">RtDuplex</a></td><td class="indexvalue">STK realtime audio (blocking) input/output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtError.html">RtError</a></td><td class="indexvalue">Exception handling class for <a class="el" href="classRtAudio.html">RtAudio</a> &amp; <a class="el" href="classRtMidi.html">RtMidi</a> </td></tr> <tr><td class="indexkey"><a class="el" href="classRtError.html">RtError</a></td><td class="indexvalue">Exception handling class for <a class="el" href="classRtAudio.html">RtAudio</a> &amp; <a class="el" href="classRtMidi.html">RtMidi</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtMidi.html">RtMidi</a></td><td class="indexvalue">STK realtime MIDI class </td></tr> <tr><td class="indexkey"><a class="el" href="classRtMidi.html">RtMidi</a></td><td class="indexvalue">An abstract base class for realtime MIDI input/output </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtWvIn.html">RtWvIn</a></td><td class="indexvalue">STK realtime audio input class </td></tr> <tr><td class="indexkey"><a class="el" href="classRtMidiIn.html">RtMidiIn</a></td><td class="indexvalue">A realtime MIDI input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtWvOut.html">RtWvOut</a></td><td class="indexvalue">STK realtime audio output class </td></tr> <tr><td class="indexkey"><a class="el" href="classRtMidiOut.html">RtMidiOut</a></td><td class="indexvalue">A realtime MIDI output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtWvIn.html">RtWvIn</a></td><td class="indexvalue">STK realtime audio (blocking) input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtWvOut.html">RtWvOut</a></td><td class="indexvalue">STK realtime audio (blocking) output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSampler.html">Sampler</a></td><td class="indexvalue">STK sampling synthesis abstract base class </td></tr> <tr><td class="indexkey"><a class="el" href="classSampler.html">Sampler</a></td><td class="indexvalue">STK sampling synthesis abstract base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSaxofony.html">Saxofony</a></td><td class="indexvalue">STK faux conical bore reed instrument class </td></tr> <tr><td class="indexkey"><a class="el" href="classSaxofony.html">Saxofony</a></td><td class="indexvalue">STK faux conical bore reed instrument class </td></tr>
<tr><td class="indexkey"><a class="el" href="classShakers.html">Shakers</a></td><td class="indexvalue">PhISEM and PhOLIES class </td></tr> <tr><td class="indexkey"><a class="el" href="classShakers.html">Shakers</a></td><td class="indexvalue">PhISEM and PhOLIES class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSimple.html">Simple</a></td><td class="indexvalue">STK wavetable/noise instrument </td></tr> <tr><td class="indexkey"><a class="el" href="classSimple.html">Simple</a></td><td class="indexvalue">STK wavetable/noise instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classSingWave.html">SingWave</a></td><td class="indexvalue">STK "singing" looped soundfile class </td></tr> <tr><td class="indexkey"><a class="el" href="classSingWave.html">SingWave</a></td><td class="indexvalue">STK "singing" looped soundfile class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSitar.html">Sitar</a></td><td class="indexvalue">STK sitar string model class </td></tr> <tr><td class="indexkey"><a class="el" href="classSitar.html">Sitar</a></td><td class="indexvalue">STK sitar string model class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSKINI.html">SKINI</a></td><td class="indexvalue">STK SKINI parsing class </td></tr> <tr><td class="indexkey"><a class="el" href="classSkini.html">Skini</a></td><td class="indexvalue">STK SKINI parsing class </td></tr>
<tr><td class="indexkey"><a class="el" href="structSkini_1_1Message.html">Skini::Message</a></td><td class="indexvalue">A message structure to store and pass parsed SKINI messages </td></tr>
<tr><td class="indexkey"><a class="el" href="classSocket.html">Socket</a></td><td class="indexvalue">STK TCP socket client/server class </td></tr> <tr><td class="indexkey"><a class="el" href="classSocket.html">Socket</a></td><td class="indexvalue">STK TCP socket client/server class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSphere.html">Sphere</a></td><td class="indexvalue">STK sphere class </td></tr> <tr><td class="indexkey"><a class="el" href="classSphere.html">Sphere</a></td><td class="indexvalue">STK sphere class </td></tr>
<tr><td class="indexkey"><a class="el" href="classStifKarp.html">StifKarp</a></td><td class="indexvalue">STK plucked stiff string instrument </td></tr> <tr><td class="indexkey"><a class="el" href="classStifKarp.html">StifKarp</a></td><td class="indexvalue">STK plucked stiff string instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classStk.html">Stk</a></td><td class="indexvalue">STK base class </td></tr> <tr><td class="indexkey"><a class="el" href="classStk.html">Stk</a></td><td class="indexvalue">STK base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classStkError.html">StkError</a></td><td class="indexvalue">STK error handling class </td></tr> <tr><td class="indexkey"><a class="el" href="classStkError.html">StkError</a></td><td class="indexvalue">STK error handling class </td></tr>
<tr><td class="indexkey"><a class="el" href="classStkFrames.html">StkFrames</a></td><td class="indexvalue">An STK class to handle vectorized audio data </td></tr>
<tr><td class="indexkey"><a class="el" href="classSubNoise.html">SubNoise</a></td><td class="indexvalue">STK sub-sampled noise generator </td></tr> <tr><td class="indexkey"><a class="el" href="classSubNoise.html">SubNoise</a></td><td class="indexvalue">STK sub-sampled noise generator </td></tr>
<tr><td class="indexkey"><a class="el" href="classTable.html">Table</a></td><td class="indexvalue">STK table lookup class </td></tr> <tr><td class="indexkey"><a class="el" href="classTable.html">Table</a></td><td class="indexvalue">STK table lookup class </td></tr>
<tr><td class="indexkey"><a class="el" href="classTcpWvIn.html">TcpWvIn</a></td><td class="indexvalue">STK internet streaming input class </td></tr> <tr><td class="indexkey"><a class="el" href="classTcpWvIn.html">TcpWvIn</a></td><td class="indexvalue">STK internet streaming input class </td></tr>
@@ -97,7 +106,7 @@
<HR> <HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -12,46 +12,52 @@
<h1>ADSR Member List</h1>This is the complete list of members for <a class="el" href="classADSR.html">ADSR</a>, including all inherited members.<table> <h1>ADSR Member List</h1>This is the complete list of members for <a class="el" href="classADSR.html">ADSR</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classADSR.html#a0">ADSR</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a0">ADSR</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a0">Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classEnvelope.html#a0">Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a0">Generator</a>()</td><td><a class="el" href="classGenerator.html">Generator</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a13">getState</a>(void) const </td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a13">getState</a>(void) const </td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#f0">handleError</a>(const char *message, StkError::TYPE type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e8">handleError</a>(const char *message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e9">handleError</a>(std::string message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b2">handleError</a>(StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a3">keyOff</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a3">keyOff</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a2">keyOn</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a2">keyOn</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a11">lastOut</a>(void) const </td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classGenerator.html#a2">lastOut</a>() const </td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [inline, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s3">MY_FLOAT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e2">rawwavePath</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s4">MY_FLOAT64</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e0">sampleRate</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e2">rawwavePath</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a11">setAllTimes</a>(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e0">sampleRate</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a4">setAttackRate</a>(StkFloat rate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a11">setAllTimes</a>(MY_FLOAT aTime, MY_FLOAT dTime, MY_FLOAT sLevel, MY_FLOAT rTime)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a8">setAttackTime</a>(StkFloat time)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a4">setAttackRate</a>(MY_FLOAT aRate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a5">setDecayRate</a>(StkFloat rate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a8">setAttackTime</a>(MY_FLOAT aTime)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a9">setDecayTime</a>(StkFloat time)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a5">setDecayRate</a>(MY_FLOAT aRate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classEnvelope.html#a4">setRate</a>(StkFloat rate)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a9">setDecayTime</a>(MY_FLOAT aTime)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string path)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a4">setRate</a>(MY_FLOAT aRate)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a7">setReleaseRate</a>(StkFloat rate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string newPath)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a10">setReleaseTime</a>(StkFloat time)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a7">setReleaseRate</a>(MY_FLOAT aRate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e1">setSampleRate</a>(StkFloat rate)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a10">setReleaseTime</a>(MY_FLOAT aTime)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a6">setSustainLevel</a>(StkFloat level)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e1">setSampleRate</a>(MY_FLOAT newRate)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a12">setTarget</a>(StkFloat target)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a6">setSustainLevel</a>(MY_FLOAT aLevel)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classEnvelope.html#a5">setTime</a>(StkFloat time)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a12">setTarget</a>(MY_FLOAT aTarget)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a14">setValue</a>(StkFloat value)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a5">setTime</a>(MY_FLOAT aTime)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a14">setValue</a>(MY_FLOAT aValue)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e7">sleep</a>(unsigned long milliseconds)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e7">sleep</a>(unsigned long milliseconds)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b0">Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#b0">Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s4">STK_FLOAT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s5">STK_FLOAT64</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s1">STK_SINT16</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#s1">STK_SINT16</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s2">STK_SINT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#s2">STK_SINT24</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s3">STK_SINT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s0">STK_SINT8</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#s0">STK_SINT8</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e4">swap16</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e4">swap16</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e5">swap32</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e5">swap32</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e6">swap64</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e6">swap64</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a15">tick</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a15">tick</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a16">tick</a>(MY_FLOAT *vector, unsigned int vectorSize)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a16">tick</a>(StkFloat *vector, unsigned int vectorSize)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a17">tick</a>(StkFrames &amp;frames, unsigned int channel=1)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a1">~ADSR</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classADSR.html#a1">~ADSR</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a1">~Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classEnvelope.html#a1">~Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a1">~Generator</a>()</td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b1">~Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#b1">~Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, virtual]</code></td></tr>
</table><HR> </table><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

View File

@@ -9,18 +9,24 @@
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.3.4 -->
<h1>ADSR Class Reference</h1>STK ADSR envelope class. <h1>ADSR Class Reference</h1><code>#include &lt;<a class="el" href="ADSR_8h-source.html">ADSR.h</a>&gt;</code>
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="ADSR_8h-source.html">ADSR.h</a>&gt;</code>
<p> <p>
<p>Inheritance diagram for ADSR: <p>Inheritance diagram for ADSR:
<p><center><img src="classADSR.png" usemap="#ADSR_map" border="0" alt=""></center> <p><center><img src="classADSR.png" usemap="#ADSR_map" border="0" alt=""></center>
<map name="ADSR_map"> <map name="ADSR_map">
<area href="classEnvelope.html" alt="Envelope" shape="rect" coords="0,56,65,80"> <area href="classEnvelope.html" alt="Envelope" shape="rect" coords="0,112,69,136">
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,65,24"> <area href="classGenerator.html" alt="Generator" shape="rect" coords="0,56,69,80">
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,69,24">
</map> </map>
<a href="classADSR-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> <a href="classADSR-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
STK ADSR envelope class.
<p>
This <a class="el" href="classEnvelope.html">Envelope</a> subclass implements a traditional ADSR (Attack, Decay, Sustain, Release) envelope. It responds to simple keyOn and keyOff messages, keeping track of its state. The <em>state</em> = ADSR::DONE after the envelope value reaches 0.0 in the ADSR::RELEASE state.<p>
by Perry R. Cook and Gary P. Scavone, 1995 - 2004.
<p>
<p>
Definition at line <a class="el" href="ADSR_8h-source.html#l00023">23</a> of file <a class="el" href="ADSR_8h-source.html">ADSR.h</a>.<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr> <tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Types</h2></td></tr> <tr><td colspan=2><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom></td></tr>
@@ -44,39 +50,39 @@ void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classA
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set target = 0, state = <em>ADSR::RELEASE</em>. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set target = 0, state = <em>ADSR::RELEASE</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="ADSR::setAttackRate" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="ADSR::setAttackRate" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a4">setAttackRate</a> (MY_FLOAT aRate)</td></tr> void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a4">setAttackRate</a> (StkFloat rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the attack rate. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the attack rate. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="ADSR::setDecayRate" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="ADSR::setDecayRate" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a5">setDecayRate</a> (MY_FLOAT aRate)</td></tr> void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a5">setDecayRate</a> (StkFloat rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the decay rate. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the decay rate. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a6" doxytag="ADSR::setSustainLevel" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a6" doxytag="ADSR::setSustainLevel" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a6">setSustainLevel</a> (MY_FLOAT aLevel)</td></tr> void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a6">setSustainLevel</a> (StkFloat level)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the sustain level. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the sustain level. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a7" doxytag="ADSR::setReleaseRate" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a7" doxytag="ADSR::setReleaseRate" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a7">setReleaseRate</a> (MY_FLOAT aRate)</td></tr> void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a7">setReleaseRate</a> (StkFloat rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the release rate. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the release rate. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a8" doxytag="ADSR::setAttackTime" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a8" doxytag="ADSR::setAttackTime" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a8">setAttackTime</a> (MY_FLOAT aTime)</td></tr> void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a8">setAttackTime</a> (StkFloat time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the attack rate based on a time duration. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the attack rate based on a time duration. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="ADSR::setDecayTime" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="ADSR::setDecayTime" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a9">setDecayTime</a> (MY_FLOAT aTime)</td></tr> void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a9">setDecayTime</a> (StkFloat time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the decay rate based on a time duration. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the decay rate based on a time duration. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a10" doxytag="ADSR::setReleaseTime" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a10" doxytag="ADSR::setReleaseTime" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a10">setReleaseTime</a> (MY_FLOAT aTime)</td></tr> void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a10">setReleaseTime</a> (StkFloat time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the release rate based on a time duration. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the release rate based on a time duration. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a11" doxytag="ADSR::setAllTimes" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a11" doxytag="ADSR::setAllTimes" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a11">setAllTimes</a> (MY_FLOAT aTime, MY_FLOAT dTime, MY_FLOAT sLevel, MY_FLOAT rTime)</td></tr> void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a11">setAllTimes</a> (StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set sustain level and attack, decay, and release state rates based on time durations. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set sustain level and attach, decay, and release time durations. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a12" doxytag="ADSR::setTarget" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a12" doxytag="ADSR::setTarget" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a12">setTarget</a> (MY_FLOAT aTarget)</td></tr> void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a12">setTarget</a> (StkFloat target)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the target value. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the target value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a13" doxytag="ADSR::getState" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a13" doxytag="ADSR::getState" ></a>
@@ -84,32 +90,70 @@ int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAD
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current envelope <em>state</em> (ATTACK, DECAY, SUSTAIN, RELEASE, DONE). <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current envelope <em>state</em> (ATTACK, DECAY, SUSTAIN, RELEASE, DONE). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a14" doxytag="ADSR::setValue" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a14" doxytag="ADSR::setValue" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a14">setValue</a> (MY_FLOAT aValue)</td></tr> void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a14">setValue</a> (StkFloat value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set to state = ADSR::SUSTAIN with current and target values of <em>aValue</em>. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set to state = ADSR::SUSTAIN with current and target values of <em>aValue</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a15" doxytag="ADSR::tick" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a15" doxytag="ADSR::tick" ></a>
MY_FLOAT&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a15">tick</a> (void)</td></tr> StkFloat&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a15">tick</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return one envelope output value. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return one envelope output value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a16" doxytag="ADSR::tick" ></a> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a16" doxytag="ADSR::tick" ></a>
MY_FLOAT *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a16">tick</a> (MY_FLOAT *vector, unsigned int vectorSize)</td></tr> StkFloat *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a16">tick</a> (StkFloat *vector, unsigned int vectorSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return <em>vectorSize</em> envelope outputs in <em>vector</em>. <br><br></td></tr> <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute <em>vectorSize</em> outputs and return them in <em>vector</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a17">tick</a> (<a class="el" href="classStkFrames.html">StkFrames</a> &amp;frames, unsigned int channel=1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs. </em> <a href="#a17"></a><em><br><br></td></tr>
</table> </table>
<hr><a name="_details"></a><h2>Detailed Description</h2> <hr><h2>Member Function Documentation</h2>
STK ADSR envelope class. <a class="anchor" name="a17" doxytag="ADSR::tick" ></a><p>
<p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
This <a class="el" href="classEnvelope.html">Envelope</a> subclass implements a traditional ADSR (Attack, Decay, Sustain, Release) envelope. It responds to simple keyOn and keyOff messages, keeping track of its state. The <em>state</em> = ADSR::DONE after the envelope value reaches 0.0 in the ADSR::RELEASE state.<p> <tr>
by Perry R. Cook and Gary P. Scavone, 1995 - 2002. <td class="mdRow">
<p> <table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="classStkFrames.html">StkFrames</a>&amp; ADSR::tick </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>frames</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>unsigned int&nbsp;</td>
<td class="mdname" nowrap> <em>channel</em> = 1</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p> <p>
Definition at line <a class="el" href="ADSR_8h-source.html#l00023">23</a> of file <a class="el" href="ADSR_8h-source.html">ADSR.h</a>.<hr>The documentation for this class was generated from the following file:<ul> Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs.
<p>
The <code>channel</code> argument should be one or greater (the first channel is specified by 1). An <a class="el" href="classStkError.html">StkError</a> will be thrown if the <code>channel</code> argument is zero or it is greater than the number of channels in the <a class="el" href="classStkFrames.html">StkFrames</a> object.
<p>
Reimplemented from <a class="el" href="classEnvelope.html#a11">Envelope</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ADSR_8h-source.html">ADSR.h</a></ul> <li><a class="el" href="ADSR_8h-source.html">ADSR.h</a></ul>
<HR> <HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 366 B

After

Width:  |  Height:  |  Size: 472 B

View File

@@ -0,0 +1,58 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>Asymp Member List</h1>This is the complete list of members for <a class="el" href="classAsymp.html">Asymp</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a0">Asymp</a>(void)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a0">Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a0">Generator</a>()</td><td><a class="el" href="classGenerator.html">Generator</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a8">getState</a>(void) const </td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e8">handleError</a>(const char *message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e9">handleError</a>(std::string message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b2">handleError</a>(StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a3">keyOff</a>(void)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a2">keyOn</a>(void)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a2">lastOut</a>() const </td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [inline, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e2">rawwavePath</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e0">sampleRate</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a4">setRate</a>(StkFloat rate)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string path)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e1">setSampleRate</a>(StkFloat rate)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a6">setTarget</a>(StkFloat target)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a4">setTau</a>(StkFloat tau)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a5">setTime</a>(StkFloat time)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a7">setValue</a>(StkFloat value)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e7">sleep</a>(unsigned long milliseconds)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b0">Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s4">STK_FLOAT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s5">STK_FLOAT64</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s1">STK_SINT16</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s2">STK_SINT24</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s3">STK_SINT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s0">STK_SINT8</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e4">swap16</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e5">swap32</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e6">swap64</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a7">tick</a>(void)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a8">tick</a>(StkFloat *vector, unsigned int vectorSize)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a9">tick</a>(StkFrames &amp;frames, unsigned int channel=1)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a1">~Asymp</a>(void)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a1">~Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a1">~Generator</a>()</td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b1">~Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, virtual]</code></td></tr>
</table><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

157
doc/html/classAsymp.html Normal file
View File

@@ -0,0 +1,157 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>Asymp Class Reference</h1><code>#include &lt;<a class="el" href="Asymp_8h-source.html">Asymp.h</a>&gt;</code>
<p>
<p>Inheritance diagram for Asymp:
<p><center><img src="classAsymp.png" usemap="#Asymp_map" border="0" alt=""></center>
<map name="Asymp_map">
<area href="classEnvelope.html" alt="Envelope" shape="rect" coords="0,112,69,136">
<area href="classGenerator.html" alt="Generator" shape="rect" coords="0,56,69,80">
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,69,24">
</map>
<a href="classAsymp-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
STK asymptotic curve envelope class.
<p>
This class implements a simple envelope generator which asymptotically approaches a target value. The algorithm used is of the form:<p>
x[n] = a x[n-1] + (1-a) target,<p>
where a = exp(-T/tau), T is the sample period, and tau is a time constant. The user can set the time constant (default value = 0.3) and target value. Theoretically, this recursion never reaches its target, though the calculations in this class are stopped when the current value gets within a small threshold value of the target (at which time the current value is set to the target). It responds to <em>keyOn</em> and <em>keyOff</em> messages by ramping to 1.0 on keyOn and to 0.0 on keyOff.<p>
by Perry R. Cook and Gary P. Scavone, 1995 - 2004.
<p>
<p>
Definition at line <a class="el" href="Asymp_8h-source.html#l00033">33</a> of file <a class="el" href="Asymp_8h-source.html">Asymp.h</a>.<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="Asymp::Asymp" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a0">Asymp</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="Asymp::~Asymp" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a1">~Asymp</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class destructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="Asymp::keyOn" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a2">keyOn</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set target = 1. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="Asymp::keyOff" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a3">keyOff</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set target = 0. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a4">setTau</a> (StkFloat tau)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the asymptotic rate via the time factor <em>tau</em> (must be &gt; 0). </em> <a href="#a4"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="Asymp::setTime" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a5">setTime</a> (StkFloat time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the asymptotic rate based on a time duration (must be &gt; 0). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a6" doxytag="Asymp::setTarget" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a6">setTarget</a> (StkFloat target)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the target value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a7" doxytag="Asymp::tick" ></a>
StkFloat&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a7">tick</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return one envelope output value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a8" doxytag="Asymp::tick" ></a>
StkFloat *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a8">tick</a> (StkFloat *vector, unsigned int vectorSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute <em>vectorSize</em> outputs and return them in <em>vector</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a9">tick</a> (<a class="el" href="classStkFrames.html">StkFrames</a> &amp;frames, unsigned int channel=1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs. </em> <a href="#a9"></a><em><br><br></td></tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a4" doxytag="Asymp::setTau" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void Asymp::setTau </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">StkFloat&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>tau</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Set the asymptotic rate via the time factor <em>tau</em> (must be &gt; 0).
<p>
The rate is computed as described above. The value of <em>tau</em> must be greater than zero. Values of <em>tau</em> close to zero produce fast approach rates, while values greater than 1.0 produce rather slow rates. </td>
</tr>
</table>
<a class="anchor" name="a9" doxytag="Asymp::tick" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="classStkFrames.html">StkFrames</a>&amp; Asymp::tick </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>frames</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>unsigned int&nbsp;</td>
<td class="mdname" nowrap> <em>channel</em> = 1</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs.
<p>
The <code>channel</code> argument should be one or greater (the first channel is specified by 1). An <a class="el" href="classStkError.html">StkError</a> will be thrown if the <code>channel</code> argument is zero or it is greater than the number of channels in the <a class="el" href="classStkFrames.html">StkFrames</a> object.
<p>
Reimplemented from <a class="el" href="classEnvelope.html#a11">Envelope</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="Asymp_8h-source.html">Asymp.h</a></ul>
<HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

BIN
doc/html/classAsymp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

View File

@@ -12,43 +12,47 @@
<h1>BandedWG Member List</h1>This is the complete list of members for <a class="el" href="classBandedWG.html">BandedWG</a>, including all inherited members.<table> <h1>BandedWG Member List</h1>This is the complete list of members for <a class="el" href="classBandedWG.html">BandedWG</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a0">BandedWG</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a0">BandedWG</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a2">clear</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a2">clear</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a12">controlChange</a>(int number, MY_FLOAT value)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a14">controlChange</a>(int number, StkFloat value)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#f0">handleError</a>(const char *message, StkError::TYPE type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e8">handleError</a>(const char *message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e9">handleError</a>(std::string message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b2">handleError</a>(StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a0">Instrmnt</a>()</td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classInstrmnt.html#a0">Instrmnt</a>()</td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a5">lastOut</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classInstrmnt.html#a5">lastOut</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a6">lastOutLeft</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classInstrmnt.html#a6">lastOutLeft</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a7">lastOutRight</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classInstrmnt.html#a7">lastOutRight</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s3">MY_FLOAT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a10">noteOff</a>(StkFloat amplitude)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s4">MY_FLOAT64</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a9">noteOn</a>(StkFloat frequency, StkFloat amplitude)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a10">noteOff</a>(MY_FLOAT amplitude)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a8">pluck</a>(StkFloat amp)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a9">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e2">rawwavePath</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a8">pluck</a>(MY_FLOAT amp)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e0">sampleRate</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e2">rawwavePath</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a5">setFrequency</a>(StkFloat frequency)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e0">sampleRate</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a5">setFrequency</a>(MY_FLOAT frequency)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a4">setPreset</a>(int preset)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a4">setPreset</a>(int preset)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string newPath)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string path)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e1">setSampleRate</a>(MY_FLOAT newRate)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e1">setSampleRate</a>(StkFloat rate)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a3">setStrikePosition</a>(MY_FLOAT position)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a3">setStrikePosition</a>(StkFloat position)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e7">sleep</a>(unsigned long milliseconds)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e7">sleep</a>(unsigned long milliseconds)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a6">startBowing</a>(MY_FLOAT amplitude, MY_FLOAT rate)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a6">startBowing</a>(StkFloat amplitude, StkFloat rate)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b0">Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#b0">Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s4">STK_FLOAT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s5">STK_FLOAT64</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s1">STK_SINT16</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#s1">STK_SINT16</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s2">STK_SINT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#s2">STK_SINT24</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s3">STK_SINT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s0">STK_SINT8</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#s0">STK_SINT8</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a7">stopBowing</a>(MY_FLOAT rate)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a7">stopBowing</a>(StkFloat rate)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e4">swap16</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e4">swap16</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e5">swap32</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e5">swap32</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e6">swap64</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#e6">swap64</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a11">tick</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a11">tick</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a9">Instrmnt::tick</a>(MY_FLOAT *vector, unsigned int vectorSize)</td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a12">tick</a>(StkFloat *vector, unsigned int vectorSize)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a13">tick</a>(StkFrames &amp;frames, unsigned int channel=1)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a1">~BandedWG</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr> <tr class="memlist"><td><a class="el" href="classBandedWG.html#a1">~BandedWG</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a1">~Instrmnt</a>()</td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td><code> [virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classInstrmnt.html#a1">~Instrmnt</a>()</td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b1">~Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, virtual]</code></td></tr> <tr class="memlist"><td><a class="el" href="classStk.html#b1">~Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, virtual]</code></td></tr>
</table><HR> </table><HR>
<table> <table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>

Some files were not shown because too many files have changed in this diff Show More