diff --git a/configure b/configure index bae505d..9955aaf 100755 --- a/configure +++ b/configure @@ -1,27 +1,84 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for STK 4.3. +# Generated by GNU Autoconf 2.63 for STK 4.4. # # Report bugs to . # -# Copyright (C) 2003 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## -# Be Bourne compatible +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi -DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then @@ -31,33 +88,60 @@ else fi +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + # Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE # Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false @@ -65,157 +149,391 @@ fi # Name of the executable. -as_me=`$as_basename "$0" || +as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no fi + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in + case $as_dir in /*) - if ("$as_dir/$as_base" -c ' + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( as_lineno_1=$LINENO as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell bug-autoconf@gnu.org about your system, + echo including any error possibly output before this message. + echo This can help us improve future autoconf versions. + echo Configuration will now proceed without shell functions. +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop - s,-$,, - s,^['$as_cr_digits']*\n,, + s/-\n.*// ' >$as_me.lineno && - chmod +x $as_me.lineno || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" # Exit status is that of the last command. exit } -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -if expr a : '\(a\)' >/dev/null 2>&1; then +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.file +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: @@ -224,7 +542,28 @@ else as_mkdir_p=false fi -as_executable_p="test -f" +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -233,90 +572,175 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH +exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -exec 6>&1 - # # Initializations. # ac_default_prefix=/usr/local +ac_clean_files= ac_config_libobj_dir=. +LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} - # Identity of this package. PACKAGE_NAME='STK' PACKAGE_TARNAME='stk' -PACKAGE_VERSION='4.3' -PACKAGE_STRING='STK 4.3' +PACKAGE_VERSION='4.4' +PACKAGE_STRING='STK 4.4' PACKAGE_BUGREPORT='gary@music.mcgill.ca' ac_unique_file="src/Stk.cpp" # Factoring default headers for most tests. ac_includes_default="\ #include -#if HAVE_SYS_TYPES_H +#ifdef HAVE_SYS_TYPES_H # include #endif -#if HAVE_SYS_STAT_H +#ifdef HAVE_SYS_STAT_H # include #endif -#if STDC_HEADERS +#ifdef STDC_HEADERS # include # include #else -# if HAVE_STDLIB_H +# ifdef HAVE_STDLIB_H # include # endif #endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif -#if HAVE_STRINGS_H +#ifdef HAVE_STRINGS_H # include #endif -#if HAVE_INTTYPES_H +#ifdef HAVE_INTTYPES_H # include -#else -# if HAVE_STDINT_H -# include -# endif #endif -#if HAVE_UNISTD_H +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H # include #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 GXX 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 frameworks audio_apis objects LIBOBJS LTLIBOBJS' +ac_subst_vars='LTLIBOBJS +LIBOBJS +objects +api +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +object_path +cxxflag +cppflag +sound_api +realtime +include +rawwaves +byte_order +EGREP +GREP +CPP +ac_ct_CC +CFLAGS +CC +AR +RANLIB +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +GXX +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_realtime +enable_debug +with_jack +with_alsa +with_oss +with_core +with_asio +with_ds +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CC +CFLAGS +CPP' + # Initialize some variables set by options. ac_init_help= ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null @@ -339,34 +763,48 @@ x_libraries=NONE # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' +datarootdir='${prefix}/share' +datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' ac_prev= +ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" + eval $ac_prev=\$ac_option ac_prev= continue fi - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_option in + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; @@ -388,33 +826,61 @@ do --config-cache | -C) cache_file=config.cache ;; - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) + -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; esac - eval "enable_$ac_feature='$ac_optarg'" ;; + eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -441,6 +907,12 @@ do -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; @@ -465,13 +937,16 @@ do | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) + | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) @@ -536,6 +1011,16 @@ do | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; @@ -586,26 +1071,38 @@ do ac_init_version=: ;; -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; esac - eval "with_$ac_package='$ac_optarg'" ;; + eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. @@ -625,7 +1122,7 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { echo "$as_me: error: unrecognized option: $ac_option + -*) { $as_echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; @@ -634,17 +1131,16 @@ Try \`$0 --help' for more information." >&2 ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" + eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; @@ -653,31 +1149,39 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 + { $as_echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 + { (exit 1); exit 1; }; } ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac -done +fi -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir do - eval ac_val=$`echo $ac_var` + eval ac_val=\$$ac_var + # Remove trailing slashes. case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' @@ -691,7 +1195,7 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes @@ -704,82 +1208,76 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { $as_echo "$as_me: error: working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_confdir=`(dirname "$0") 2>/dev/null || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then + if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } - fi fi -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || - { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CXX_set=${CXX+set} -ac_env_CXX_value=$CXX -ac_cv_env_CXX_set=${CXX+set} -ac_cv_env_CXX_value=$CXX -ac_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_env_CXXFLAGS_value=$CXXFLAGS -ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_cv_env_CXXFLAGS_value=$CXXFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done # # Report the --help message. @@ -788,7 +1286,7 @@ if test "$ac_init_help" = "long"; then # 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. cat <<_ACEOF -\`configure' configures STK 4.3 to adapt to many kinds of systems. +\`configure' configures STK 4.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -808,14 +1306,11 @@ Configuration: -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] -_ACEOF - - cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -825,18 +1320,25 @@ for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data [PREFIX/share] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [PREFIX/info] - --mandir=DIR man documentation [PREFIX/man] + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/stk] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF @@ -849,11 +1351,12 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of STK 4.3:";; + short | recursive ) echo "Configuration of STK 4.4:";; esac cat <<\_ACEOF Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-realtime = only compile generic non-realtime classes @@ -862,7 +1365,7 @@ Optional Features: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-jack = choose JACK server support (linux only) + --with-jack = choose JACK server support (mac and linux only) --with-alsa = choose native ALSA API support (linux only) --with-oss = choose OSS API support (linux only) --with-jack = choose JACK server support (unix only) @@ -871,14 +1374,15 @@ Optional Packages: --with-ds = choose DirectSound API support (windoze only) Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CC C compiler command + CFLAGS C compiler flags CPP C preprocessor Use these variables to override the choices made by `configure' or to help @@ -886,120 +1390,88 @@ it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF +ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. - ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d $ac_dir || continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue ac_builddir=. -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix case $srcdir in - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac - - cd $ac_dir - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_srcdir/configure.gnu; then - echo - $SHELL $ac_srcdir/configure.gnu --help=recursive - elif test -f $ac_srcdir/configure; then - echo - $SHELL $ac_srcdir/configure --help=recursive - elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then - echo - $ac_configure --help + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi - cd $ac_popdir + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } done fi -test -n "$ac_init_help" && exit 0 +test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -STK configure 4.3 -generated by GNU Autoconf 2.59 +STK configure 4.4 +generated by GNU Autoconf 2.63 -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF - exit 0 + exit fi -exec 5>config.log -cat >&5 <<_ACEOF +cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by STK $as_me 4.3, which was -generated by GNU Autoconf 2.59. Invocation command line was +It was created by STK $as_me 4.4, which was +generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ _ACEOF +exec 5>>config.log { cat <<_ASUNAME ## --------- ## @@ -1018,7 +1490,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` @@ -1030,8 +1502,9 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" + $as_echo "PATH: $as_dir" done +IFS=$as_save_IFS } >&5 @@ -1053,7 +1526,6 @@ _ACEOF ac_configure_args= ac_configure_args0= ac_configure_args1= -ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do @@ -1064,8 +1536,8 @@ do -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; @@ -1086,9 +1558,7 @@ do -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. - ac_sep=" " + ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done @@ -1099,8 +1569,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_ # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. -# WARNING: Be sure not to use single quotes in there, as some shells, -# such as our DU 5.0 friend, will then `close' the trap. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { @@ -1113,20 +1583,35 @@ trap 'exit_status=$? _ASBOX echo # The following way of writing the cache mishandles newlines in values, -{ +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} + esac | + sort +) echo cat <<\_ASBOX @@ -1137,22 +1622,28 @@ _ASBOX echo for ac_var in $ac_subst_vars do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX -## ------------- ## -## Output files. ## -## ------------- ## +## ------------------- ## +## File substitutions. ## +## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi @@ -1164,26 +1655,24 @@ _ASBOX ## ----------- ## _ASBOX echo - sed "/^$/d" confdefs.h | sort + cat confdefs.h echo fi test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" } >&5 - rm -f core *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status - ' 0 +' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h +rm -f -r conftest* confdefs.h # Predefined preprocessor variables. @@ -1213,18 +1702,24 @@ _ACEOF # Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + ac_site_file1=$CONFIG_SITE +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site fi -for ac_site_file in $CONFIG_SITE; do +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} + { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi @@ -1234,54 +1729,61 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} + { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; esac fi else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} + { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do +for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in @@ -1291,13 +1793,39 @@ echo "$as_me: current value: $ac_new_val" >&2;} fi done if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi + + + + + + + + + + + + + + + + + + + + + + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -1305,33 +1833,39 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +$as_echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - - - - - - - - - - - - - - - - - - - - - - - ac_config_files="$ac_config_files src/Makefile projects/demo/Makefile projects/effects/Makefile projects/ragamatic/Makefile projects/examples/Makefile projects/examples/libMakefile" +ac_config_files="$ac_config_files src/Makefile projects/demo/Makefile projects/effects/Makefile projects/ragamatic/Makefile projects/examples/Makefile projects/examples/libMakefile" # Fill GXX with something before test. @@ -1339,238 +1873,27 @@ GXX="no" # Checks for programs. -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -1578,41 +1901,43 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:$LINENO: result: $CXX" >&5 +$as_echo "$CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - test -n "$CC" && break + + test -n "$CXX" && break done fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -1620,58 +1945,81 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - test -n "$ac_ct_CC" && break + + test -n "$ac_ct_CXX" && break done - CC=$ac_ct_CC + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi fi + fi fi - - -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - # Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 +$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF @@ -1690,111 +2038,150 @@ main () } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. +{ $as_echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +$as_echo_n "checking for C++ compiler default output file name... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -# Be careful to initialize this variable, since it used to be cached. -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. -ac_cv_exeext= -# b.out is created by i960 compilers. -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) - ;; - conftest.$ac_ext ) - # This is the source file. + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool, - # but it would be cool to find out if it's true. Does anybody - # maintain Libtool? --akim. - export ac_cv_exeext + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. break;; * ) break;; esac done +test "$ac_cv_exeext" = no && ac_cv_exeext= + else - echo "$as_me: failed program was:" >&5 + ac_file='' +fi + +{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +if test -z "$ac_file"; then + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C++ compiler cannot create executables See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables +$as_echo "$as_me: error: C++ compiler cannot create executables See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } fi ac_exeext=$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 -# Check the compiler produces executables we can run. If not, either +# Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +$as_echo_n "checking whether the C++ compiler works... " >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C compiled programs. +$as_echo "$as_me: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi fi fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } -rm -f a.out a.exe conftest$ac_cv_exeext b.out +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either +# Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 +{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } -echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 +{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will @@ -1803,32 +2190,33 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext break;; * ) break;; esac done else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -1846,39 +2234,48 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile +$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -1899,50 +2296,54 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes else - cat >conftest.$ac_ext <<_ACEOF + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -1958,38 +2359,828 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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_prog_cc_g=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_prog_cc_g=no + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +# Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_AR+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $AR in + [\\/]* | ?:[\\/]*) + ac_cv_path_AR="$AR" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_AR" && ac_cv_path_AR="no" + ;; +esac +fi +AR=$ac_cv_path_AR +if test -n "$AR"; then + { $as_echo "$as_me:$LINENO: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if [ $AR = "no" ] ; then + { { $as_echo "$as_me:$LINENO: error: \"Could not find ar - needed to create a library\"" >&5 +$as_echo "$as_me: error: \"Could not find ar - needed to create a library\"" >&2;} + { (exit 1); exit 1; }; }; +fi + +# Checks for header files. +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } + +# Provide some information about the compiler. +$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then @@ -2005,12 +3196,12 @@ else CFLAGS= fi fi -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + $as_echo_n "(cached) " >&6 else - ac_cv_prog_cc_stdc=no + ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -2044,12 +3235,17 @@ static char *f (char * (*g) (char **, int), char **p, ...) /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std1 is added to get + as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std1. */ + that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; @@ -2064,914 +3260,57 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; return 0; } _ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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_prog_cc_stdc=$ac_arg -break + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break done -rm -f conftest.$ac_ext conftest.$ac_objext +rm -f conftest.$ac_ext CC=$ac_save_CC fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:$LINENO: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:$LINENO: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; *) - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 - for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -#include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ CC c++ cxx - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in $CCC g++ CC c++ cxx -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CXX" && break -done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - - CXX=$ac_ct_CXX -fi - - -# Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cxx_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -#include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CXX" && break -done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - - CXX=$ac_ct_CXX -fi - - -# Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cxx_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -#include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -2980,22 +3319,20 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -# Checks for header files. - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" @@ -3022,35 +3359,35 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -3060,34 +3397,34 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -3105,8 +3442,8 @@ fi else ac_cv_prog_CPP=$CPP fi -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 +{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +$as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do @@ -3129,35 +3466,35 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -3167,34 +3504,34 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -3203,11 +3540,13 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi ac_ext=c @@ -3217,25 +3556,144 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 -if test "${ac_cv_prog_egrep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + $as_echo_n "(cached) " >&6 else - if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done +done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } + fi +else + ac_cv_path_GREP=$GREP fi -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6 - EGREP=$ac_cv_prog_egrep + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done +done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -3257,35 +3715,32 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_header_stdc=no + ac_cv_header_stdc=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. @@ -3341,6 +3796,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include +#include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) @@ -3360,36 +3816,50 @@ main () for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); + return 2; + return 0; } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + fi fi -fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF @@ -3411,11 +3881,11 @@ fi for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -3428,41 +3898,42 @@ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -eval "$as_ac_Header=no" + eval "$as_ac_Header=no" fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi @@ -3477,19 +3948,21 @@ done for ac_header in fcntl.h sys/ioctl.h sys/time.h termio.h unistd.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } else # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -3500,41 +3973,38 @@ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } # Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -3543,81 +4013,83 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX ## ----------------------------------- ## ## Report this to gary@music.mcgill.ca ## ## ----------------------------------- ## _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 + ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi @@ -3626,10 +4098,10 @@ done # Checks for typedefs, structures, and compiler characteristics. -echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -3645,10 +4117,10 @@ main () #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; - const charset x; + const charset cs; /* SunOS 4.1.1 cc rejects this. */ - char const *const *ccp; - char **p; + char const *const *pcpcc; + char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; @@ -3657,16 +4129,17 @@ main () an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; - ccp = &g + (g ? g-g : 0); + pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ - ++ccp; - p = (char**) ccp; - ccp = (char const *const *) p; + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; + if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; @@ -3685,7 +4158,9 @@ main () } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; + if (!foo) return 0; } + return !cs[0] && !zero.x; #endif ; @@ -3693,51 +4168,83 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_c_const=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_c_const=no + ac_cv_c_const=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF -#define const +#define const /**/ _ACEOF fi -echo "$as_me:$LINENO: checking for size_t" >&5 -echo $ECHO_N "checking for size_t... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for size_t" >&5 +$as_echo_n "checking for size_t... " >&6; } if test "${ac_cv_type_size_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else + ac_cv_type_size_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof (size_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -3748,61 +4255,64 @@ $ac_includes_default int main () { -if ((size_t *) 0) - return 0; -if (sizeof (size_t)) - return 0; +if (sizeof ((size_t))) + return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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_type_size_t=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_type_size_t=no + ac_cv_type_size_t=yes fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -echo "${ECHO_T}$ac_cv_type_size_t" >&6 -if test $ac_cv_type_size_t = yes; then + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +$as_echo "$ac_cv_type_size_t" >&6; } +if test "x$ac_cv_type_size_t" = x""yes; then : else cat >>confdefs.h <<_ACEOF -#define size_t unsigned +#define size_t unsigned int _ACEOF fi -echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 -echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 +$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } if test "${ac_cv_header_time+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -3824,38 +4334,35 @@ return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_header_time=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_header_time=no + ac_cv_header_time=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 -echo "${ECHO_T}$ac_cv_header_time" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 +$as_echo "$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then cat >>confdefs.h <<\_ACEOF @@ -3864,172 +4371,324 @@ _ACEOF fi -echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 -echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 + + { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } if test "${ac_cv_c_bigendian+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else - # See if sys/param.h defines the BYTE_ORDER macro. -cat >conftest.$ac_ext <<_ACEOF + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + + # Check for potential -arch flags. It is not universal unless + # there are some -arch flags. Note that *ppc* also matches + # ppc64. This check is also rather less than ideal. + case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #( + *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;; + esac +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include -#include + #include int main () { -#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN - bogus endian macros -#endif +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then # It does; now see whether it defined to BIG_ENDIAN or not. -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include -#include + #include int main () { #if BYTE_ORDER != BIG_ENDIAN - not big endian -#endif + not big endian + #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_c_bigendian=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_c_bigendian=no + ac_cv_c_bigendian=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -# It does not; compile a test program. -if test "$cross_compiling" = yes; then - # try to guess the endianness by grepping values into an object file - ac_cv_c_bigendian=unknown - cat >conftest.$ac_ext <<_ACEOF + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; -short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; -void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } -short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; -short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; -void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } +#include + int main () { - _ascii (); _ebcdic (); +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 - if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_c_bigendian=yes -fi -if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi -fi else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_c_bigendian=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then + # Try to guess by grepping values from an object file. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -4037,62 +4696,86 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +$ac_includes_default int main () { - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long l; - char c[sizeof (long)]; - } u; - u.l = 1; - exit (u.c[sizeof (long) - 1] == 1); + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=no else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_bigendian=yes fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 -echo "${ECHO_T}$ac_cv_c_bigendian" >&6 -case $ac_cv_c_bigendian in - yes) -cat >>confdefs.h <<\_ACEOF + + fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + cat >>confdefs.h <<\_ACEOF #define WORDS_BIGENDIAN 1 _ACEOF - ;; - no) - ;; - *) - { { echo "$as_me:$LINENO: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&5 -echo "$as_me: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} +;; #( + no) + ;; #( + universal) + +cat >>confdefs.h <<\_ACEOF +#define AC_APPLE_UNIVERSAL_BUILD 1 +_ACEOF + + ;; #( + *) + { { $as_echo "$as_me:$LINENO: error: unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" >&5 +$as_echo "$as_me: error: unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} { (exit 1); exit 1; }; } ;; -esac + esac cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -4113,42 +4796,42 @@ fi rm -f conftest* -echo "$as_me:$LINENO: checking for RAWWAVE_PATH argument" >&5 -echo $ECHO_N "checking for RAWWAVE_PATH argument... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for RAWWAVE_PATH argument" >&5 +$as_echo_n "checking for RAWWAVE_PATH argument... " >&6; } rawwaves=$RAWWAVE_PATH -echo "$as_me:$LINENO: result: $RAWWAVE_PATH" >&5 -echo "${ECHO_T}$RAWWAVE_PATH" >&6 +{ $as_echo "$as_me:$LINENO: result: $RAWWAVE_PATH" >&5 +$as_echo "$RAWWAVE_PATH" >&6; } -echo "$as_me:$LINENO: checking for INCLUDE_PATH argument" >&5 -echo $ECHO_N "checking for INCLUDE_PATH argument... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for INCLUDE_PATH argument" >&5 +$as_echo_n "checking for INCLUDE_PATH argument... " >&6; } include=$INCLUDE_PATH -echo "$as_me:$LINENO: result: $INCLUDE_PATH" >&5 -echo "${ECHO_T}$INCLUDE_PATH" >&6 +{ $as_echo "$as_me:$LINENO: result: $INCLUDE_PATH" >&5 +$as_echo "$INCLUDE_PATH" >&6; } # Check for realtime support disable -echo "$as_me:$LINENO: checking whether to compile realtime support" >&5 -echo $ECHO_N "checking whether to compile realtime support... $ECHO_C" >&6 -# Check whether --enable-realtime or --disable-realtime was given. +{ $as_echo "$as_me:$LINENO: checking whether to compile realtime support" >&5 +$as_echo_n "checking whether to compile realtime support... " >&6; } +# Check whether --enable-realtime was given. if test "${enable_realtime+set}" = set; then - enableval="$enable_realtime" - realtime=no + enableval=$enable_realtime; realtime=no sound_api= else realtime=yes -fi; -echo "$as_me:$LINENO: result: $realtime" >&5 -echo "${ECHO_T}$realtime" >&6 +fi + +{ $as_echo "$as_me:$LINENO: result: $realtime" >&5 +$as_echo "$realtime" >&6; } # Check for math library -echo "$as_me:$LINENO: checking for cos in -lm" >&5 -echo $ECHO_N "checking for cos in -lm... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for cos in -lm" >&5 +$as_echo_n "checking for cos in -lm... " >&6; } if test "${ac_cv_lib_m_cos+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" @@ -4159,57 +4842,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #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 cos (); int main () { -cos (); +return cos (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { 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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_m_cos=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_m_cos=no + ac_cv_lib_m_cos=no fi -rm -f conftest.err conftest.$ac_objext \ + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_m_cos" >&5 -echo "${ECHO_T}$ac_cv_lib_m_cos" >&6 -if test $ac_cv_lib_m_cos = yes; then +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_cos" >&5 +$as_echo "$ac_cv_lib_m_cos" >&6; } +if test "x$ac_cv_lib_m_cos" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF @@ -4217,23 +4901,42 @@ _ACEOF LIBS="-lm $LIBS" else - { { echo "$as_me:$LINENO: error: math library is needed!" >&5 -echo "$as_me: error: math library is needed!" >&2;} + { { $as_echo "$as_me:$LINENO: error: math library is needed!" >&5 +$as_echo "$as_me: error: math library is needed!" >&2;} { (exit 1); exit 1; }; } fi +# Check for debug +{ $as_echo "$as_me:$LINENO: checking whether to compile debug version" >&5 +$as_echo_n "checking whether to compile debug version... " >&6; } +# Check whether --enable-debug was given. +if test "${enable_debug+set}" = set; then + enableval=$enable_debug; cppflag="-D_STK_DEBUG_ -D__RTAUDIO_DEBUG__ -D__RTMIDI_DEBUG__" + cxxflag="-g" + object_path=Debug + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + cppflag= + cxxflag=-O3 + object_path=Release + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + # Checks for functions if test $realtime = yes; then for ac_func in select socket do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -4258,80 +4961,79 @@ cat >>conftest.$ac_ext <<_ACEOF #undef $ac_func -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #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 $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +#if defined __stub_$ac_func || defined __stub___$ac_func choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} #endif int main () { -return f != $ac_func; +return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { 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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then eval "$as_ac_var=yes" else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -eval "$as_ac_var=no" + eval "$as_ac_var=no" fi -rm -f conftest.err conftest.$ac_objext \ + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done - echo "$as_me:$LINENO: checking for gettimeofday" >&5 -echo $ECHO_N "checking for gettimeofday... $ECHO_C" >&6 + { $as_echo "$as_me:$LINENO: checking for gettimeofday" >&5 +$as_echo_n "checking for gettimeofday... " >&6; } if test "${ac_cv_func_gettimeofday+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -4356,193 +5058,263 @@ cat >>conftest.$ac_ext <<_ACEOF #undef gettimeofday -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #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 gettimeofday (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_gettimeofday) || defined (__stub___gettimeofday) +#if defined __stub_gettimeofday || defined __stub___gettimeofday choke me -#else -char (*f) () = gettimeofday; -#endif -#ifdef __cplusplus -} #endif int main () { -return f != gettimeofday; +return gettimeofday (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { 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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_func_gettimeofday=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_func_gettimeofday=no + ac_cv_func_gettimeofday=no fi -rm -f conftest.err conftest.$ac_objext \ + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_func_gettimeofday" >&5 -echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6 -if test $ac_cv_func_gettimeofday = yes; then - cflags=$cflags" -DHAVE_GETTIMEOFDAY" +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_gettimeofday" >&5 +$as_echo "$ac_cv_func_gettimeofday" >&6; } +if test "x$ac_cv_func_gettimeofday" = x""yes; then + cppflag="$cppflag -DHAVE_GETTIMEOFDAY" fi fi -# Check for debug -echo "$as_me:$LINENO: checking whether to compile debug version" >&5 -echo $ECHO_N "checking whether to compile debug version... $ECHO_C" >&6 -# Check whether --enable-debug or --disable-debug was given. -if test "${enable_debug+set}" = set; then - enableval="$enable_debug" - debug="-D_STK_DEBUG_ -D__RTAUDIO_DEBUG__" - cflags="-g -O2" - object_path=Debug - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - debug= - cflags=-O3 - object_path=Release - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi; +# For -I and -D flags +CPPFLAGS="$CPPFLAGS $cppflag" + +# For debugging and optimization ... overwrite default because it has both -g and -O2 +CXXFLAGS="$cxxflag" # Check compiler and use -Wall if gnu. if test $GXX = "yes" ; then - warn="-Wall -g -D__GXX__" + cxxflag=-Wall fi +CXXFLAGS="$CXXFLAGS $cxxflag" + if test $realtime = yes; then # Checks for package options and external software - ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f $ac_dir/shtool; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} - { (exit 1); exit 1; }; } -fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. - -# Make sure we can run config.sub. -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} + # Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } -echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi -echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +$as_echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } +fi fi -echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +$as_echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - echo "$as_me:$LINENO: checking for audio API" >&5 -echo $ECHO_N "checking for audio API... $ECHO_C" >&6 + { $as_echo "$as_me:$LINENO: checking for audio API" >&5 +$as_echo_n "checking for audio API... " >&6; } case $host in *-*-linux*) - sound_api=_NO_API_ + +# Check whether --with-jack was given. +if test "${with_jack+set}" = set; then + withval=$with_jack; + api="$api -D__UNIX_JACK__" + { $as_echo "$as_me:$LINENO: result: using JACK" >&5 +$as_echo "using JACK" >&6; } + +{ $as_echo "$as_me:$LINENO: checking for jack_client_open in -ljack" >&5 +$as_echo_n "checking for jack_client_open in -ljack... " >&6; } +if test "${ac_cv_lib_jack_jack_client_open+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ljack $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char jack_client_open (); +int +main () +{ +return jack_client_open (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_jack_jack_client_open=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_jack_jack_client_open=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_jack_jack_client_open" >&5 +$as_echo "$ac_cv_lib_jack_jack_client_open" >&6; } +if test "x$ac_cv_lib_jack_jack_client_open" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBJACK 1 +_ACEOF + + LIBS="-ljack $LIBS" + +else + { { $as_echo "$as_me:$LINENO: error: JACK support requires the jack library!" >&5 +$as_echo "$as_me: error: JACK support requires the jack library!" >&2;} + { (exit 1); exit 1; }; } +fi - # 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 +{ $as_echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5 +$as_echo_n "checking for snd_pcm_open in -lasound... " >&6; } if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lasound $LIBS" @@ -4553,57 +5325,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #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 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>conftest.er1 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { 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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_asound_snd_pcm_open=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_asound_snd_pcm_open=no + ac_cv_lib_asound_snd_pcm_open=no fi -rm -f conftest.err conftest.$ac_objext \ + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_asound_snd_pcm_open" >&5 +$as_echo "$ac_cv_lib_asound_snd_pcm_open" >&6; } +if test "x$ac_cv_lib_asound_snd_pcm_open" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBASOUND 1 _ACEOF @@ -4611,32 +5384,30 @@ _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;} + { { $as_echo "$as_me:$LINENO: error: Jack support also requires the asound library!" >&5 +$as_echo "$as_me: error: Jack support also requires the asound library!" >&2;} { (exit 1); exit 1; }; } fi - audio_apis="-D__LINUX_ALSASEQ__" +fi - # Look for Jack flag -# Check whether --with-jack or --without-jack was given. -if test "${with_jack+set}" = set; then - withval="$with_jack" - sound_api=-D__UNIX_JACK__ - echo "$as_me:$LINENO: result: using JACK" >&5 -echo "${ECHO_T}using JACK" >&6 -fi; - if test $sound_api = -D__UNIX_JACK__; then - TEMP_LIBS=$LIBS + # Look for ALSA flag -echo "$as_me:$LINENO: checking for jack_client_new in -ljack" >&5 -echo $ECHO_N "checking for jack_client_new in -ljack... $ECHO_C" >&6 -if test "${ac_cv_lib_jack_jack_client_new+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +# Check whether --with-alsa was given. +if test "${with_alsa+set}" = set; then + withval=$with_alsa; + api="$api -D__LINUX_ALSA__" + { $as_echo "$as_me:$LINENO: result: using ALSA" >&5 +$as_echo "using ALSA" >&6; } + +{ $as_echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5 +$as_echo_n "checking for snd_pcm_open in -lasound... " >&6; } +if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-ljack $LIBS" +LIBS="-lasound $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -4644,111 +5415,258 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #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 jack_client_new (); +char snd_pcm_open (); int main () { -jack_client_new (); +return 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>conftest.er1 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { 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_jack_jack_client_new=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_asound_snd_pcm_open=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_jack_jack_client_new=no + ac_cv_lib_asound_snd_pcm_open=no fi -rm -f conftest.err conftest.$ac_objext \ + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_jack_jack_client_new" >&5 -echo "${ECHO_T}$ac_cv_lib_jack_jack_client_new" >&6 -if test $ac_cv_lib_jack_jack_client_new = yes; then +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_asound_snd_pcm_open" >&5 +$as_echo "$ac_cv_lib_asound_snd_pcm_open" >&6; } +if test "x$ac_cv_lib_asound_snd_pcm_open" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_LIBJACK 1 +#define HAVE_LIBASOUND 1 _ACEOF - LIBS="-ljack $LIBS" + LIBS="-lasound $LIBS" else - { { echo "$as_me:$LINENO: error: JACK support requires the jack library!" >&5 -echo "$as_me: error: JACK support requires the jack library!" >&2;} + { { $as_echo "$as_me:$LINENO: error: ALSA support requires the asound library!" >&5 +$as_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" - audio_apis="-D__UNIX_JACK__ $audio_apis" - fi +fi - # Look for Alsa flag - -# Check whether --with-alsa or --without-alsa was given. -if test "${with_alsa+set}" = set; then - withval="$with_alsa" - sound_api=-D__LINUX_ALSA__ - echo "$as_me:$LINENO: result: using ALSA" >&5 -echo "${ECHO_T}using ALSA" >&6 -fi; - if test $sound_api = -D__LINUX_ALSA__; then - audio_apis="-D__LINUX_ALSA__ $audio_apis" - fi # Look for OSS flag -# Check whether --with-oss or --without-oss was given. +# Check whether --with-oss was given. if test "${with_oss+set}" = set; then - withval="$with_oss" - sound_api=-D__LINUX_OSS__ - echo "$as_me:$LINENO: result: using OSS" >&5 -echo "${ECHO_T}using OSS" >&6 -fi; - if test $sound_api = -D__LINUX_OSS__; then - audio_apis="-D__LINUX_OSS__ $audio_apis" - fi + withval=$with_oss; + api="$api -D__LINUX_OSS__" + { $as_echo "$as_me:$LINENO: result: using OSS" >&5 +$as_echo "using OSS" >&6; } +fi + # If no audio api flags specified, use ALSA - if test $sound_api = _NO_API_; then - echo "$as_me:$LINENO: result: using ALSA" >&5 -echo "${ECHO_T}using ALSA" >&6 - audio_apis="-D__LINUX_ALSA__ $audio_apis" + if test "$api" == ""; then + { $as_echo "$as_me:$LINENO: result: using ALSA" >&5 +$as_echo "using ALSA" >&6; } + api=-D__LINUX_ALSA__ + + +{ $as_echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5 +$as_echo_n "checking for snd_pcm_open in -lasound... " >&6; } +if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lasound $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char snd_pcm_open (); +int +main () +{ +return snd_pcm_open (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_asound_snd_pcm_open=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_asound_snd_pcm_open=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_asound_snd_pcm_open" >&5 +$as_echo "$ac_cv_lib_asound_snd_pcm_open" >&6; } +if test "x$ac_cv_lib_asound_snd_pcm_open" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBASOUND 1 +_ACEOF + + LIBS="-lasound $LIBS" + +else + { { $as_echo "$as_me:$LINENO: error: ALSA support requires the asound library!" >&5 +$as_echo "$as_me: error: ALSA support requires the asound library!" >&2;} + { (exit 1); exit 1; }; } +fi + fi + # Look for ALSA library because we need it for RtMidi -echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5 -echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5 +$as_echo_n "checking for snd_pcm_open in -lasound... " >&6; } +if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lasound $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char snd_pcm_open (); +int +main () +{ +return snd_pcm_open (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_asound_snd_pcm_open=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_asound_snd_pcm_open=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_asound_snd_pcm_open" >&5 +$as_echo "$ac_cv_lib_asound_snd_pcm_open" >&6; } +if test "x$ac_cv_lib_asound_snd_pcm_open" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBASOUND 1 +_ACEOF + + LIBS="-lasound $LIBS" + +else + { { $as_echo "$as_me:$LINENO: error: STK in Linux requires the ALSA asound library for RtMidi!" >&5 +$as_echo "$as_me: error: STK in Linux requires the ALSA asound library for RtMidi!" >&2;} + { (exit 1); exit 1; }; } +fi + + api="$api -D__LINUX_ALSASEQ__" + + +{ $as_echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5 +$as_echo_n "checking for pthread_create in -lpthread... " >&6; } if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" @@ -4759,57 +5677,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #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 pthread_create (); int main () { -pthread_create (); +return pthread_create (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { 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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_pthread_pthread_create=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_pthread_pthread_create=no + ac_cv_lib_pthread_pthread_create=no fi -rm -f conftest.err conftest.$ac_objext \ + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5 -echo "${ECHO_T}$ac_cv_lib_pthread_pthread_create" >&6 -if test $ac_cv_lib_pthread_pthread_create = yes; then +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5 +$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } +if test "x$ac_cv_lib_pthread_pthread_create" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBPTHREAD 1 _ACEOF @@ -4817,32 +5736,26 @@ _ACEOF LIBS="-lpthread $LIBS" else - { { echo "$as_me:$LINENO: error: realtime support requires the pthread library!" >&5 -echo "$as_me: error: realtime support requires the pthread library!" >&2;} + { { $as_echo "$as_me:$LINENO: error: realtime support requires the pthread library!" >&5 +$as_echo "$as_me: error: realtime support requires the pthread library!" >&2;} { (exit 1); exit 1; }; } fi ;; *-apple*) - sound_api=_NO_API_ - - # Look for JACK flag - -# Check whether --with-jack or --without-jack was given. +# Check whether --with-jack was given. if test "${with_jack+set}" = set; then - withval="$with_jack" - sound_api=-D__UNIX_JACK__ - echo "$as_me:$LINENO: result: using JACK" >&5 -echo "${ECHO_T}using JACK" >&6 -fi; - if test $sound_api = -D__UNIX_JACK__; then + withval=$with_jack; + api="$api -D__UNIX_JACK__" + { $as_echo "$as_me:$LINENO: result: using JACK" >&5 +$as_echo "using JACK" >&6; } -echo "$as_me:$LINENO: checking for jack_client_new in -ljack" >&5 -echo $ECHO_N "checking for jack_client_new in -ljack... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for jack_client_new in -ljack" >&5 +$as_echo_n "checking for jack_client_new in -ljack... " >&6; } if test "${ac_cv_lib_jack_jack_client_new+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ljack $LIBS" @@ -4853,57 +5766,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #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 jack_client_new (); int main () { -jack_client_new (); +return jack_client_new (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { 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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_jack_jack_client_new=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_jack_jack_client_new=no + ac_cv_lib_jack_jack_client_new=no fi -rm -f conftest.err conftest.$ac_objext \ + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_jack_jack_client_new" >&5 -echo "${ECHO_T}$ac_cv_lib_jack_jack_client_new" >&6 -if test $ac_cv_lib_jack_jack_client_new = yes; then +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_jack_jack_client_new" >&5 +$as_echo "$ac_cv_lib_jack_jack_client_new" >&6; } +if test "x$ac_cv_lib_jack_jack_client_new" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBJACK 1 _ACEOF @@ -4911,36 +5825,34 @@ _ACEOF LIBS="-ljack $LIBS" else - { { echo "$as_me:$LINENO: error: JACK support requires the jack library!" >&5 -echo "$as_me: error: JACK support requires the jack library!" >&2;} + { { $as_echo "$as_me:$LINENO: error: JACK support requires the jack library!" >&5 +$as_echo "$as_me: error: JACK support requires the jack library!" >&2;} { (exit 1); exit 1; }; } fi - audio_apis="-D__UNIX_JACK__" - fi +fi + # Look for Core flag -# Check whether --with-core or --without-core was given. +# Check whether --with-core was given. if test "${with_core+set}" = set; then - withval="$with_core" - sound_api=-D__MACOSX_CORE__ - echo "$as_me:$LINENO: result: using CoreAudio" >&5 -echo "${ECHO_T}using CoreAudio" >&6 -fi; - if test $sound_api = -D__MACOSX_CORE__; then - if test "${ac_cv_header_CoreAudio_CoreAudio_h+set}" = set; then - echo "$as_me:$LINENO: checking for CoreAudio/CoreAudio.h" >&5 -echo $ECHO_N "checking for CoreAudio/CoreAudio.h... $ECHO_C" >&6 + withval=$with_core; + api="$api -D__MACOSX_CORE__" + { $as_echo "$as_me:$LINENO: result: using CoreAudio" >&5 +$as_echo "using CoreAudio" >&6; } + if test "${ac_cv_header_CoreAudio_CoreAudio_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for CoreAudio/CoreAudio.h" >&5 +$as_echo_n "checking for CoreAudio/CoreAudio.h... " >&6; } if test "${ac_cv_header_CoreAudio_CoreAudio_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -echo "$as_me:$LINENO: result: $ac_cv_header_CoreAudio_CoreAudio_h" >&5 -echo "${ECHO_T}$ac_cv_header_CoreAudio_CoreAudio_h" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_CoreAudio_CoreAudio_h" >&5 +$as_echo "$ac_cv_header_CoreAudio_CoreAudio_h" >&6; } else # Is the header compilable? -echo "$as_me:$LINENO: checking CoreAudio/CoreAudio.h usability" >&5 -echo $ECHO_N "checking CoreAudio/CoreAudio.h usability... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking CoreAudio/CoreAudio.h usability" >&5 +$as_echo_n "checking CoreAudio/CoreAudio.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -4951,41 +5863,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } # Is the header present? -echo "$as_me:$LINENO: checking CoreAudio/CoreAudio.h presence" >&5 -echo $ECHO_N "checking CoreAudio/CoreAudio.h presence... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking CoreAudio/CoreAudio.h presence" >&5 +$as_echo_n "checking CoreAudio/CoreAudio.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -4994,110 +5903,107 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX ## ----------------------------------- ## ## Report this to gary@music.mcgill.ca ## ## ----------------------------------- ## _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 + ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac -echo "$as_me:$LINENO: checking for CoreAudio/CoreAudio.h" >&5 -echo $ECHO_N "checking for CoreAudio/CoreAudio.h... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for CoreAudio/CoreAudio.h" >&5 +$as_echo_n "checking for CoreAudio/CoreAudio.h... " >&6; } if test "${ac_cv_header_CoreAudio_CoreAudio_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_CoreAudio_CoreAudio_h=$ac_header_preproc fi -echo "$as_me:$LINENO: result: $ac_cv_header_CoreAudio_CoreAudio_h" >&5 -echo "${ECHO_T}$ac_cv_header_CoreAudio_CoreAudio_h" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_CoreAudio_CoreAudio_h" >&5 +$as_echo "$ac_cv_header_CoreAudio_CoreAudio_h" >&6; } fi -if test $ac_cv_header_CoreAudio_CoreAudio_h = yes; then +if test "x$ac_cv_header_CoreAudio_CoreAudio_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: CoreAudio header files not found!" >&5 -echo "$as_me: error: CoreAudio header files not found!" >&2;} + { { $as_echo "$as_me:$LINENO: error: CoreAudio header files not found!" >&5 +$as_echo "$as_me: error: CoreAudio header files not found!" >&2;} { (exit 1); exit 1; }; } fi - frameworks="-framework CoreAudio -framework CoreFoundation -framework CoreMidi" + LIBS="$LIBS -framework CoreAudio -framework CoreFoundation -framework CoreMidi" +fi - audio_apis="-D__MACOSX_CORE__ $audio_apis" - fi # If no audio api flags specified, use CoreAudio - if test $sound_api = _NO_API_; then - sound_api=-D__MACOSX_CORE__ + if test "$api" == ""; then + api=-D__MACOSX_CORE__ - echo "$as_me:$LINENO: result: using CoreAudio" >&5 -echo "${ECHO_T}using CoreAudio" >&6 + { $as_echo "$as_me:$LINENO: result: using CoreAudio" >&5 +$as_echo "using CoreAudio" >&6; } if test "${ac_cv_header_CoreAudio_CoreAudio_h+set}" = set; then - echo "$as_me:$LINENO: checking for CoreAudio/CoreAudio.h" >&5 -echo $ECHO_N "checking for CoreAudio/CoreAudio.h... $ECHO_C" >&6 + { $as_echo "$as_me:$LINENO: checking for CoreAudio/CoreAudio.h" >&5 +$as_echo_n "checking for CoreAudio/CoreAudio.h... " >&6; } if test "${ac_cv_header_CoreAudio_CoreAudio_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -echo "$as_me:$LINENO: result: $ac_cv_header_CoreAudio_CoreAudio_h" >&5 -echo "${ECHO_T}$ac_cv_header_CoreAudio_CoreAudio_h" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_CoreAudio_CoreAudio_h" >&5 +$as_echo "$ac_cv_header_CoreAudio_CoreAudio_h" >&6; } else # Is the header compilable? -echo "$as_me:$LINENO: checking CoreAudio/CoreAudio.h usability" >&5 -echo $ECHO_N "checking CoreAudio/CoreAudio.h usability... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking CoreAudio/CoreAudio.h usability" >&5 +$as_echo_n "checking CoreAudio/CoreAudio.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -5108,41 +6014,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { ac_try='test -s conftest.$ac_objext' - { (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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } # Is the header present? -echo "$as_me:$LINENO: checking CoreAudio/CoreAudio.h presence" >&5 -echo $ECHO_N "checking CoreAudio/CoreAudio.h presence... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking CoreAudio/CoreAudio.h presence" >&5 +$as_echo_n "checking CoreAudio/CoreAudio.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -5151,97 +6054,94 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: CoreAudio/CoreAudio.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX ## ----------------------------------- ## ## Report this to gary@music.mcgill.ca ## ## ----------------------------------- ## _ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 + ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac -echo "$as_me:$LINENO: checking for CoreAudio/CoreAudio.h" >&5 -echo $ECHO_N "checking for CoreAudio/CoreAudio.h... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for CoreAudio/CoreAudio.h" >&5 +$as_echo_n "checking for CoreAudio/CoreAudio.h... " >&6; } if test "${ac_cv_header_CoreAudio_CoreAudio_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_CoreAudio_CoreAudio_h=$ac_header_preproc fi -echo "$as_me:$LINENO: result: $ac_cv_header_CoreAudio_CoreAudio_h" >&5 -echo "${ECHO_T}$ac_cv_header_CoreAudio_CoreAudio_h" >&6 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_CoreAudio_CoreAudio_h" >&5 +$as_echo "$ac_cv_header_CoreAudio_CoreAudio_h" >&6; } fi -if test $ac_cv_header_CoreAudio_CoreAudio_h = yes; then - audio_apis=-D__MACOSX_CORE__ - +if test "x$ac_cv_header_CoreAudio_CoreAudio_h" = x""yes; then + : else - { { echo "$as_me:$LINENO: error: CoreAudio header files not found!" >&5 -echo "$as_me: error: CoreAudio header files not found!" >&2;} + { { $as_echo "$as_me:$LINENO: error: CoreAudio header files not found!" >&5 +$as_echo "$as_me: error: CoreAudio header files not found!" >&2;} { (exit 1); exit 1; }; } fi - frameworks="-framework CoreAudio -framework CoreFoundation -framework CoreMidi" + LIBS="-framework CoreAudio -framework CoreFoundation -framework CoreMidi" fi -echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5 -echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5 +$as_echo_n "checking for pthread_create in -lpthread... " >&6; } if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" @@ -5252,57 +6152,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #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 pthread_create (); int main () { -pthread_create (); +return pthread_create (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { 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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_pthread_pthread_create=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_pthread_pthread_create=no + ac_cv_lib_pthread_pthread_create=no fi -rm -f conftest.err conftest.$ac_objext \ + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5 -echo "${ECHO_T}$ac_cv_lib_pthread_pthread_create" >&6 -if test $ac_cv_lib_pthread_pthread_create = yes; then +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5 +$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } +if test "x$ac_cv_lib_pthread_pthread_create" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBPTHREAD 1 _ACEOF @@ -5310,221 +6211,62 @@ _ACEOF LIBS="-lpthread $LIBS" else - { { echo "$as_me:$LINENO: error: realtime support requires the pthread library!" >&5 -echo "$as_me: error: realtime support requires the pthread library!" >&2;} + { { $as_echo "$as_me:$LINENO: error: RtAudio requires the pthread library!" >&5 +$as_echo "$as_me: error: RtAudio requires the pthread library!" >&2;} { (exit 1); exit 1; }; } fi ;; *-mingw32*) - sound_api=_NO_API_ - -# Check whether --with-asio or --without-asio was given. +# Check whether --with-asio was given. if test "${with_asio+set}" = set; then - withval="$with_asio" - sound_api=-D__WINDOWS_ASIO__ - echo "$as_me:$LINENO: result: using ASIO" >&5 -echo "${ECHO_T}using ASIO" >&6 -fi; - if test $sound_api = -D__WINDOWS_ASIO__; then - audio_apis="-D__WINDOWS_ASIO__" - objects="asio.o asiodrivers.o asiolist.o iasiothiscallresolver.o" + withval=$with_asio; + api="$api -D__WINDOWS_ASIO__" + { $as_echo "$as_me:$LINENO: result: using ASIO" >&5 +$as_echo "using ASIO" >&6; } + objects="asio.o asiodrivers.o asiolist.o iasiothiscallresolver.o" + +fi - fi # Look for DirectSound flag -# Check whether --with-ds or --without-ds was given. +# Check whether --with-ds was given. if test "${with_ds+set}" = set; then - withval="$with_ds" - sound_api=-D__WINDOWS_DS__ - echo "$as_me:$LINENO: result: using DirectSound" >&5 -echo "${ECHO_T}using DirectSound" >&6 -fi; - if test $sound_api = -D__WINDOWS_DS__; then - audio_apis="-D__WINDOWS_DS__ $audio_apis" - LIBS="-ldsound $LIBS" - fi + withval=$with_ds; + api="$api -D__WINDOWS_DS__" + { $as_echo "$as_me:$LINENO: result: using DirectSound" >&5 +$as_echo "using DirectSound" >&6; } + LIBS="-ldsound -lwinmm $LIBS" +fi + # If no audio api flags specified, use DirectSound - if test $sound_api = _NO_API_; then - sound_api=-D__WINDOWS_DS__ + if test "$api" == ""; then + api=-D__WINDOWS_DS__ - echo "$as_me:$LINENO: result: using DirectSound" >&5 -echo "${ECHO_T}using DirectSound" >&6 - audio_apis="-D__WINDOWS_DS__" - LIBS="-ldsound $LIBS" + { $as_echo "$as_me:$LINENO: result: using DirectSound" >&5 +$as_echo "using DirectSound" >&6; } + LIBS="-ldsound -lwinmm $LIBS" fi - audio_apis="-D__WINDOWS_MM__ $audio_apis" + api="$api -D__WINDOWS_MM__" LIBS="-lole32 -lwinmm -lWsock32 $LIBS" ;; *) # Default case for unknown realtime systems. - { { echo "$as_me:$LINENO: error: Unknown system type for realtime support ... try --disable-realtime argument!" >&5 -echo "$as_me: error: Unknown system type for realtime support ... try --disable-realtime argument!" >&2;} + { { $as_echo "$as_me:$LINENO: error: Unknown system type for realtime support ... try --disable-realtime argument!" >&5 +$as_echo "$as_me: error: Unknown system type for realtime support ... try --disable-realtime argument!" >&2;} { (exit 1); exit 1; }; } ;; esac + +CPPFLAGS="$CPPFLAGS $api" fi -# Checks for library functions. -if test $ac_cv_c_compiler_gnu = yes; then - echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 -echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 -if test "${ac_cv_prog_gcc_traditional+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_pattern="Autoconf.*'x'" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -Autoconf TIOCGETP -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then - ac_cv_prog_gcc_traditional=yes -else - ac_cv_prog_gcc_traditional=no -fi -rm -f conftest* - - - if test $ac_cv_prog_gcc_traditional = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -Autoconf TCGETA -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then - ac_cv_prog_gcc_traditional=yes -fi -rm -f conftest* - - fi -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 -echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 - if test $ac_cv_prog_gcc_traditional = yes; then - CC="$CC -traditional" - fi -fi - - -for ac_func in strstr -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* 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 $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (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); }; } && - { 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 - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -5543,39 +6285,59 @@ _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. +# So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. -{ +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; + ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} | + esac | + sort +) | sed ' + /^ac_cv_env_/b end t clear - : clear + :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if diff $cache_file confcache >/dev/null 2>&1; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else - echo "not updating unwritable cache $cache_file" + { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -5584,63 +6346,54 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that -# take arguments), then we branch to the quote section. Otherwise, +# take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. -cat >confdef2opt.sed <<\_ACEOF +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote -d -: quote -s,[ `~#$^&*(){}\\|;'"<>?],\\&,g -s,\[,\\&,g -s,\],\\&,g -s,\$,$$,g -p -_ACEOF -# We use echo to avoid assuming a particular line-breaking character. -# The extra dot is to prevent the shell from consuming trailing -# line-breaks from the sub-command output. A line-break within -# single-quotes doesn't work because, if this script is created in a -# platform that uses two characters for line-breaks (e.g., DOS), tr -# would break. -ac_LF_and_DOT=`echo; echo .` -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` -rm -f confdef2opt.sed +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. - ac_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -5648,12 +6401,14 @@ LTLIBOBJS=$ac_ltlibobjs + : ${CONFIG_STATUS=./config.status} +ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF +{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -5666,22 +6421,78 @@ ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## -# Be Bourne compatible +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi -DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then @@ -5691,33 +6502,60 @@ else fi +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + # Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE # Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false @@ -5725,159 +6563,122 @@ fi # Name of the executable. -as_me=`$as_basename "$0" || +as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` +# CDPATH. +$as_unset CDPATH -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi as_lineno_1=$LINENO as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop - s,-$,, - s,^['$as_cr_digits']*\n,, + s/-\n.*// ' >$as_me.lineno && - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" # Exit status is that of the last command. exit } -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -if expr a : '\(a\)' >/dev/null 2>&1; then +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.file +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: @@ -5886,7 +6687,28 @@ else as_mkdir_p=false fi -as_executable_p="test -f" +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -5895,31 +6717,14 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - exec 6>&1 -# Open the log real soon, to keep \$[0] and so on meaningful, and to +# Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX -} >&5 -cat >&5 <<_CSEOF - -This file was extended by STK $as_me 4.3, which was -generated by GNU Autoconf 2.59. Invocation command line was +# values after options handling. +ac_log=" +This file was extended by STK $as_me 4.4, which was +generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -5927,124 +6732,106 @@ generated by GNU Autoconf 2.59. Invocation command line was CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + _ACEOF +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi +config_files="$ac_config_files" -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi - -cat >>$CONFIG_STATUS <<\_ACEOF +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. -Usage: $0 [OPTIONS] [FILE]... +Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages + -V, --version print version number and configuration settings, then exit + -q, --quiet, --silent + do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE Configuration files: $config_files Report bugs to ." + _ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -STK config.status 4.3 -configured by $0, generated by GNU Autoconf 2.59, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" +STK config.status 4.4 +configured by $0, generated by GNU Autoconf 2.63, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright (C) 2008 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." -srcdir=$srcdir + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +test -n "\$AWK" || AWK=awk _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; - -*) + *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_option=$1 - ac_need_defaults=false;; esac case $ac_option in # Handling of the options. -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} + -*) { $as_echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; - *) ac_config_targets="$ac_config_targets $1" ;; + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; esac shift @@ -6058,35 +6845,51 @@ if $ac_cs_silent; then fi _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" fi _ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - - -cat >>$CONFIG_STATUS <<\_ACEOF +# Handling of arguments. for ac_config_target in $ac_config_targets do - case "$ac_config_target" in - # Handling of arguments. - "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "projects/demo/Makefile" ) CONFIG_FILES="$CONFIG_FILES projects/demo/Makefile" ;; - "projects/effects/Makefile" ) CONFIG_FILES="$CONFIG_FILES projects/effects/Makefile" ;; - "projects/ragamatic/Makefile" ) CONFIG_FILES="$CONFIG_FILES projects/ragamatic/Makefile" ;; - "projects/examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES projects/examples/Makefile" ;; - "projects/examples/libMakefile" ) CONFIG_FILES="$CONFIG_FILES projects/examples/libMakefile" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + case $ac_config_target in + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "projects/demo/Makefile") CONFIG_FILES="$CONFIG_FILES projects/demo/Makefile" ;; + "projects/effects/Makefile") CONFIG_FILES="$CONFIG_FILES projects/effects/Makefile" ;; + "projects/ragamatic/Makefile") CONFIG_FILES="$CONFIG_FILES projects/ragamatic/Makefile" ;; + "projects/examples/Makefile") CONFIG_FILES="$CONFIG_FILES projects/examples/Makefile" ;; + "projects/examples/libMakefile") CONFIG_FILES="$CONFIG_FILES projects/examples/libMakefile" ;; + + *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done + # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely @@ -6096,350 +6899,464 @@ if $ac_need_defaults; then fi # Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason to put it here, and in addition, +# simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. -# Create a temporary directory, and hook for its removal unless debugging. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. $debug || { - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } - # Create a (secure) tmp directory for tmp files. { - tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { - tmp=./confstat$$-$RANDOM - (umask 077 && mkdir $tmp) + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") } || { - echo "$me: cannot create a temporary directory in ." >&2 + $as_echo "$as_me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=' ' +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -# -# CONFIG_FILES section. -# +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@DEFS@,$DEFS,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@LIBS@,$LIBS,;t t -s,@GXX@,$GXX,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@CXX@,$CXX,;t t -s,@CXXFLAGS@,$CXXFLAGS,;t t -s,@ac_ct_CXX@,$ac_ct_CXX,;t t -s,@CPP@,$CPP,;t t -s,@EGREP@,$EGREP,;t t -s,@byte_order@,$byte_order,;t t -s,@rawwaves@,$rawwaves,;t t -s,@include@,$include,;t t -s,@realtime@,$realtime,;t t -s,@sound_api@,$sound_api,;t t -s,@debug@,$debug,;t t -s,@cflags@,$cflags,;t t -s,@object_path@,$object_path,;t t -s,@warn@,$warn,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@frameworks@,$frameworks,;t t -s,@audio_apis@,$audio_apis,;t t -s,@objects@,$objects,;t t -s,@LIBOBJS@,$LIBOBJS,;t t -s,@LTLIBOBJS@,$LTLIBOBJS,;t t -CEOF - -_ACEOF - - cat >>$CONFIG_STATUS <<\_ACEOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\).*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\).*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 +$as_echo "$as_me: error: could not setup config files machinery" >&2;} + { (exit 1); exit 1; }; } +_ACEOF + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; + +eval set X " :F $CONFIG_FILES " +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + ac_file_inputs="$ac_file_inputs '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; + esac + ;; esac - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || + ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } - ac_builddir=. -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix case $srcdir in - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + case $ac_mode in + :F) + # + # CONFIG_FILE + # - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - configure_input= - else - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo "$f";; - *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub $extrasub _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@abs_srcdir@,$ac_abs_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t -s,@builddir@,$ac_builddir,;t t -s,@abs_builddir@,$ac_abs_builddir,;t t -s,@top_builddir@,$ac_top_builddir,;t t -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } -done -_ACEOF +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + ;; + + + + esac + +done # for ac_tag -cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save +test $ac_write_fail = 0 || + { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. @@ -6461,4 +7378,8 @@ if test "$no_create" != yes; then # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi diff --git a/doc/html/ADSR_8h-source.html b/doc/html/ADSR_8h-source.html index 8bc6b94..a473e1a 100644 --- a/doc/html/ADSR_8h-source.html +++ b/doc/html/ADSR_8h-source.html @@ -8,70 +8,144 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

ADSR.h

00001 /***************************************************/
-00016 /***************************************************/
-00017 
-00018 #ifndef STK_ADSR_H
-00019 #define STK_ADSR_H
-00020 
-00021 #include "Envelope.h"
-00022 
-00023 class ADSR : public Envelope
-00024 {
-00025  public:
-00026 
-00028   enum { ATTACK, DECAY, SUSTAIN, RELEASE, DONE };
-00029 
-00031   ADSR(void);
-00032 
-00034   ~ADSR(void);
-00035 
-00037   void keyOn(void);
-00038 
-00040   void keyOff(void);
-00041 
-00043   void setAttackRate(StkFloat rate);
-00044 
-00046   void setDecayRate(StkFloat rate);
-00047 
-00049   void setSustainLevel(StkFloat level);
-00050 
-00052   void setReleaseRate(StkFloat rate);
-00053 
-00055   void setAttackTime(StkFloat time);
-00056 
-00058   void setDecayTime(StkFloat time);
-00059 
-00061   void setReleaseTime(StkFloat time);
-00062 
-00064   void setAllTimes(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime);
-00065 
-00067   void setTarget(StkFloat target);
-00068 
-00070   int getState(void) const;
-00071 
-00073   void setValue(StkFloat value);
-00074 
-00075  protected:  
-00076 
-00077   StkFloat computeSample( void );
-00078   void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
-00079 
-00080   StkFloat attackRate_;
-00081   StkFloat decayRate_;
-00082   StkFloat sustainLevel_;
-00083   StkFloat releaseRate_;
-00084 };
-00085 
-00086 #endif
-

+ + +
+

ADSR.h

00001 #ifndef STK_ADSR_H
+00002 #define STK_ADSR_H
+00003 
+00004 #include "Generator.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00019 /***************************************************/
+00020 
+00021 class ADSR : public Generator
+00022 {
+00023  public:
+00024 
+00026   enum {
+00027     ATTACK,   
+00028     DECAY,    
+00029     SUSTAIN,  
+00030     RELEASE,  
+00031     DONE      
+00032   };
+00033 
+00035   ADSR( void );
+00036 
+00038   ~ADSR( void );
+00039 
+00041   void keyOn( void );
+00042 
+00044   void keyOff( void );
+00045 
+00047   void setAttackRate( StkFloat rate );
+00048 
+00050   void setDecayRate( StkFloat rate );
+00051 
+00053   void setSustainLevel( StkFloat level );
+00054 
+00056   void setReleaseRate( StkFloat rate );
+00057 
+00059   void setAttackTime( StkFloat time );
+00060 
+00062   void setDecayTime( StkFloat time );
+00063 
+00065   void setReleaseTime( StkFloat time );
+00066 
+00068   void setAllTimes( StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime );
+00069 
+00071   void setTarget( StkFloat target );
+00072 
+00074   int getState( void ) const { return state_; };
+00075 
+00077   void setValue( StkFloat value );
+00078 
+00080   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00081 
+00083   StkFloat tick( void );
+00084 
+00086 
+00093   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00094 
+00095  protected:  
+00096 
+00097   void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+00098 
+00099   int state_;
+00100   StkFloat value_;
+00101   StkFloat target_;
+00102   StkFloat attackRate_;
+00103   StkFloat decayRate_;
+00104   StkFloat releaseRate_;
+00105   StkFloat sustainLevel_;
+00106 };
+00107 
+00108 inline StkFloat ADSR :: tick( void )
+00109 {
+00110   switch ( state_ ) {
+00111 
+00112   case ATTACK:
+00113     value_ += attackRate_;
+00114     if ( value_ >= target_ ) {
+00115       value_ = target_;
+00116       target_ = sustainLevel_;
+00117              state_ = DECAY;
+00118     }
+00119     lastFrame_[0] = value_;
+00120     break;
+00121 
+00122   case DECAY:
+00123     value_ -= decayRate_;
+00124     if ( value_ <= sustainLevel_ ) {
+00125       value_ = sustainLevel_;
+00126       state_ = SUSTAIN;
+00127     }
+00128     lastFrame_[0] = value_;
+00129     break;
+00130 
+00131   case RELEASE:
+00132     value_ -= releaseRate_;
+00133     if ( value_ <= 0.0 ) {
+00134       value_ = (StkFloat) 0.0;
+00135       state_ = DONE;
+00136     }
+00137     lastFrame_[0] = value_;
+00138 
+00139   }
+00140 
+00141   return value_;
+00142 }
+00143 
+00144 inline StkFrames& ADSR :: tick( StkFrames& frames, unsigned int channel )
+00145 {
+00146 #if defined(_STK_DEBUG_)
+00147   if ( channel >= frames.channels() ) {
+00148     errorString_ << "ADSR::tick(): channel and StkFrames arguments are incompatible!";
+00149     handleError( StkError::FUNCTION_ARGUMENT );
+00150   }
+00151 #endif
+00152 
+00153   StkFloat *samples = &frames[channel];
+00154   unsigned int hop = frames.channels();
+00155   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop )
+00156     *samples = ADSR::tick();
+00157 
+00158   return frames;
+00159 }
+00160 
+00161 } // stk namespace
+00162 
+00163 #endif
+
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Asymp_8h-source.html b/doc/html/Asymp_8h-source.html index fd8836c..2820201 100644 --- a/doc/html/Asymp_8h-source.html +++ b/doc/html/Asymp_8h-source.html @@ -8,53 +8,114 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Asymp.h

00001 /***************************************************/
-00024 /***************************************************/
-00025 
-00026 #ifndef STK_ASYMP_H
-00027 #define STK_ASYMP_H
-00028 
-00029 #include "Envelope.h"
-00030 
-00031 const StkFloat TARGET_THRESHOLD = 0.000001;
+
+  
+
+

Asymp.h

00001 #ifndef STK_ASYMP_H
+00002 #define STK_ASYMP_H
+00003 
+00004 #include "Generator.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00031 /***************************************************/
 00032 
-00033 class Asymp : public Envelope
-00034 {
-00035  public:
-00036 
-00038   Asymp(void);
-00039 
-00041   ~Asymp(void);
-00042 
-00044   void keyOn(void);
-00045 
-00047   void keyOff(void);
-00048 
+00033 const StkFloat TARGET_THRESHOLD = 0.000001;
+00034 
+00035 class Asymp : public Generator
+00036 {
+00037  public:
+00038 
+00040   Asymp( void );
+00041 
+00043   ~Asymp( void );
+00044 
+00046   void keyOn( void );
+00047 
+00049   void keyOff( void );
 00050 
-00056   void setTau(StkFloat tau);
-00057 
-00059   void setTime(StkFloat time);
-00060 
-00062   void setTarget(StkFloat target);
-00063 
-00064  protected:
+00052 
+00058   void setTau( StkFloat tau );
+00059 
+00061   void setTime( StkFloat time );
+00062 
+00064   void setTarget( StkFloat target );
 00065 
-00066   StkFloat computeSample( void );
-00067   void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+00067   void setValue( StkFloat value );
 00068 
-00069   StkFloat factor_;
-00070   StkFloat constant_;
-00071 };
-00072 
-00073 #endif
-

+00070 int getState( void ) const { return state_; }; +00071 +00073 StkFloat lastOut( void ) const { return lastFrame_[0]; }; +00074 +00076 StkFloat tick( void ); +00077 +00079 +00086 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00087 +00088 protected: +00089 +00090 void sampleRateChanged( StkFloat newRate, StkFloat oldRate ); +00091 +00092 StkFloat value_; +00093 StkFloat target_; +00094 StkFloat factor_; +00095 StkFloat constant_; +00096 int state_; +00097 }; +00098 +00099 inline StkFloat Asymp :: tick( void ) +00100 { +00101 if ( state_ ) { +00102 +00103 value_ = factor_ * value_ + constant_; +00104 +00105 // Check threshold. +00106 if ( target_ > value_ ) { +00107 if ( target_ - value_ <= TARGET_THRESHOLD ) { +00108 value_ = target_; +00109 state_ = 0; +00110 } +00111 } +00112 else { +00113 if ( value_ - target_ <= TARGET_THRESHOLD ) { +00114 value_ = target_; +00115 state_ = 0; +00116 } +00117 } +00118 lastFrame_[0] = value_; +00119 } +00120 +00121 return value_; +00122 } +00123 +00124 inline StkFrames& Asymp :: tick( StkFrames& frames, unsigned int channel ) +00125 { +00126 #if defined(_STK_DEBUG_) +00127 if ( channel >= frames.channels() ) { +00128 errorString_ << "Asymp::tick(): channel and StkFrames arguments are incompatible!"; +00129 handleError( StkError::FUNCTION_ARGUMENT ); +00130 } +00131 #endif +00132 +00133 StkFloat *samples = &frames[channel]; +00134 unsigned int hop = frames.channels(); +00135 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) +00136 *samples = Asymp::tick(); +00137 +00138 return frames; +00139 } +00140 +00141 } // stk namespace +00142 +00143 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BandedWG_8h-source.html b/doc/html/BandedWG_8h-source.html index 8e0cecf..6f55560 100644 --- a/doc/html/BandedWG_8h-source.html +++ b/doc/html/BandedWG_8h-source.html @@ -8,85 +8,91 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

BandedWG.h

00001 /***************************************************/
-00030 /***************************************************/
-00031 
-00032 #ifndef STK_BANDEDWG_H
-00033 #define STK_BANDEDWG_H
-00034 
-00035 const int MAX_BANDED_MODES = 20;
-00036 
-00037 #include "Instrmnt.h"
-00038 #include "DelayL.h"
-00039 #include "BowTable.h"
-00040 #include "ADSR.h"
-00041 #include "BiQuad.h"
+
+  
+
+

BandedWG.h

00001 #ifndef STK_BANDEDWG_H
+00002 #define STK_BANDEDWG_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayL.h"
+00006 #include "BowTable.h"
+00007 #include "ADSR.h"
+00008 #include "BiQuad.h"
+00009 
+00010 namespace stk {
+00011 
+00012 /***************************************************/
+00041 /***************************************************/
 00042 
-00043 class BandedWG : public Instrmnt
-00044 {
-00045  public:
-00047   BandedWG();
-00048 
-00050   ~BandedWG();
-00051 
-00053   void clear();
-00054 
-00056   void setStrikePosition(StkFloat position);
-00057 
-00059   void setPreset(int preset);
-00060 
-00062   void setFrequency(StkFloat frequency);
-00063 
-00065   void startBowing(StkFloat amplitude, StkFloat rate);
-00066 
-00068   void stopBowing(StkFloat rate);
-00069 
-00071   void pluck(StkFloat amp);
-00072 
-00074   void noteOn(StkFloat frequency, StkFloat amplitude);
-00075 
-00077   void noteOff(StkFloat amplitude);
-00078 
-00080   void controlChange(int number, StkFloat value);
-00081 
-00082  protected:
+00043 const int MAX_BANDED_MODES = 20;
+00044 
+00045 class BandedWG : public Instrmnt
+00046 {
+00047  public:
+00049   BandedWG( void );
+00050 
+00052   ~BandedWG( void );
+00053 
+00055   void clear( void );
+00056 
+00058   void setStrikePosition( StkFloat position );
+00059 
+00061   void setPreset( int preset );
+00062 
+00064   void setFrequency( StkFloat frequency );
+00065 
+00067   void startBowing( StkFloat amplitude, StkFloat rate );
+00068 
+00070   void stopBowing( StkFloat rate );
+00071 
+00073   void pluck( StkFloat amp );
+00074 
+00076   void noteOn( StkFloat frequency, StkFloat amplitude );
+00077 
+00079   void noteOff( StkFloat amplitude );
+00080 
+00082   void controlChange( int number, StkFloat value );
 00083 
-00084   StkFloat computeSample( void );
-00085 
-00086   bool doPluck_;
-00087   bool trackVelocity_;
-00088   int nModes_;
-00089   int presetModes_;
-00090   BowTable bowTable_;
-00091   ADSR     adsr_;
-00092   BiQuad   bandpass_[MAX_BANDED_MODES];
-00093   DelayL   delay_[MAX_BANDED_MODES];
-00094   StkFloat maxVelocity_;
-00095   StkFloat modes_[MAX_BANDED_MODES];
-00096   StkFloat frequency_;
-00097   StkFloat baseGain_;
-00098   StkFloat gains_[MAX_BANDED_MODES];
-00099   StkFloat basegains_[MAX_BANDED_MODES];
-00100   StkFloat excitation_[MAX_BANDED_MODES];
-00101   StkFloat integrationConstant_;
-00102   StkFloat velocityInput_;
-00103   StkFloat bowVelocity_;
-00104   StkFloat bowTarget_;
-00105   StkFloat bowPosition_;
-00106   StkFloat strikeAmp_;
-00107   int strikePosition_;
-00108 
-00109 };
-00110 
-00111 #endif
-

+00085 StkFloat tick( unsigned int channel = 0 ); +00086 +00087 protected: +00088 +00089 bool doPluck_; +00090 bool trackVelocity_; +00091 int nModes_; +00092 int presetModes_; +00093 BowTable bowTable_; +00094 ADSR adsr_; +00095 BiQuad bandpass_[MAX_BANDED_MODES]; +00096 DelayL delay_[MAX_BANDED_MODES]; +00097 StkFloat maxVelocity_; +00098 StkFloat modes_[MAX_BANDED_MODES]; +00099 StkFloat frequency_; +00100 StkFloat baseGain_; +00101 StkFloat gains_[MAX_BANDED_MODES]; +00102 StkFloat basegains_[MAX_BANDED_MODES]; +00103 StkFloat excitation_[MAX_BANDED_MODES]; +00104 StkFloat integrationConstant_; +00105 StkFloat velocityInput_; +00106 StkFloat bowVelocity_; +00107 StkFloat bowTarget_; +00108 StkFloat bowPosition_; +00109 StkFloat strikeAmp_; +00110 int strikePosition_; +00111 +00112 }; +00113 +00114 } // stk namespace +00115 +00116 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BeeThree_8h-source.html b/doc/html/BeeThree_8h-source.html index df9e349..9315c81 100644 --- a/doc/html/BeeThree_8h-source.html +++ b/doc/html/BeeThree_8h-source.html @@ -8,38 +8,69 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

BeeThree.h

00001 /***************************************************/
-00033 /***************************************************/
-00034 
-00035 #ifndef STK_BEETHREE_H
-00036 #define STK_BEETHREE_H
-00037 
-00038 #include "FM.h"
-00039 
-00040 class BeeThree : public FM
-00041 {
-00042  public:
-00044 
-00047   BeeThree();
-00048 
-00050   ~BeeThree();
-00051 
-00053   void noteOn(StkFloat frequency, StkFloat amplitude);
-00054 
-00055  protected:
+
+  
+
+

BeeThree.h

00001 #ifndef STK_BEETHREE_H
+00002 #define STK_BEETHREE_H
+00003 
+00004 #include "FM.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00040 /***************************************************/
+00041 
+00042 class BeeThree : public FM
+00043 {
+00044  public:
+00046 
+00049   BeeThree( void );
+00050 
+00052   ~BeeThree( void );
+00053 
+00055   void noteOn( StkFloat frequency, StkFloat amplitude );
 00056 
-00057   StkFloat computeSample( void );
-00058 };
+00058   StkFloat tick( unsigned int channel = 0 );
 00059 
-00060 #endif
-

+00060 protected: +00061 +00062 }; +00063 +00064 inline StkFloat BeeThree :: tick( unsigned int ) +00065 { +00066 register StkFloat temp; +00067 +00068 if ( modDepth_ > 0.0 ) { +00069 temp = 1.0 + ( modDepth_ * vibrato_.tick() * 0.1 ); +00070 waves_[0]->setFrequency( baseFrequency_ * temp * ratios_[0] ); +00071 waves_[1]->setFrequency( baseFrequency_ * temp * ratios_[1] ); +00072 waves_[2]->setFrequency( baseFrequency_ * temp * ratios_[2] ); +00073 waves_[3]->setFrequency( baseFrequency_ * temp * ratios_[3] ); +00074 } +00075 +00076 waves_[3]->addPhaseOffset( twozero_.lastOut() ); +00077 temp = control1_ * 2.0 * gains_[3] * adsr_[3]->tick() * waves_[3]->tick(); +00078 twozero_.tick( temp ); +00079 +00080 temp += control2_ * 2.0 * gains_[2] * adsr_[2]->tick() * waves_[2]->tick(); +00081 temp += gains_[1] * adsr_[1]->tick() * waves_[1]->tick(); +00082 temp += gains_[0] * adsr_[0]->tick() * waves_[0]->tick(); +00083 +00084 lastFrame_[0] = temp * 0.125; +00085 return lastFrame_[0]; +00086 } +00087 +00088 } // stk namespace +00089 +00090 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BiQuad_8h-source.html b/doc/html/BiQuad_8h-source.html index 5c0974b..11a7a0f 100644 --- a/doc/html/BiQuad_8h-source.html +++ b/doc/html/BiQuad_8h-source.html @@ -8,97 +8,140 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

BiQuad.h

00001 /***************************************************/
-00013 /***************************************************/
-00014 
-00015 #ifndef STK_BIQUAD_H
-00016 #define STK_BIQUAD_H
-00017 
-00018 #include "Filter.h"
+
+  
+
+

BiQuad.h

00001 #ifndef STK_BIQUAD_H
+00002 #define STK_BIQUAD_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
 00019 
-00020 class BiQuad : protected Filter
+00020 class BiQuad : public Filter
 00021 {
 00022 public:
 00023 
-00025   BiQuad();
+00025   BiQuad();
 00026 
-00028   virtual ~BiQuad();
+00028   ~BiQuad();
 00029 
-00031   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
+00031   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
 00032 
-00034   void clear(void);
+00034   void setCoefficients( StkFloat b0, StkFloat b1, StkFloat b2, StkFloat a1, StkFloat a2, bool clearState = false );
 00035 
-00037   void setB0(StkFloat b0);
+00037   void setB0( StkFloat b0 ) { b_[0] = b0; };
 00038 
-00040   void setB1(StkFloat b1);
+00040   void setB1( StkFloat b1 ) { b_[1] = b1; };
 00041 
-00043   void setB2(StkFloat b2);
+00043   void setB2( StkFloat b2 ) { b_[2] = b2; };
 00044 
-00046   void setA1(StkFloat a1);
+00046   void setA1( StkFloat a1 ) { a_[1] = a1; };
 00047 
-00049   void setA2(StkFloat a2);
+00049   void setA2( StkFloat a2 ) { a_[2] = a2; };
 00050 
 00052 
-00063   void setResonance(StkFloat frequency, StkFloat radius, bool normalize = false);
+00063   void setResonance( StkFloat frequency, StkFloat radius, bool normalize = false );
 00064 
 00066 
-00072   void setNotch(StkFloat frequency, StkFloat radius);
+00072   void setNotch( StkFloat frequency, StkFloat radius );
 00073 
 00075 
-00081   void setEqualGainZeroes();
+00081   void setEqualGainZeroes( void );
 00082 
-00084 
-00088   void setGain(StkFloat gain);
-00089 
-00091   StkFloat getGain(void) const;
-00092 
-00094   StkFloat lastOut(void) const;
-00095 
-00097   virtual StkFloat tick(StkFloat sample);
-00098 
-00100 
-00106   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
-00107 
-00108  protected:
-00109 
-00110   // This function must be implemented in all subclasses. It is used
-00111   // to get around a C++ problem with overloaded virtual functions.
-00112   virtual StkFloat computeSample( StkFloat input );
+00084   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00085 
+00087   StkFloat tick( StkFloat input );
+00088 
+00090 
+00098   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00099 
+00101 
+00109   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00110 
+00111  protected:
+00112 
 00113   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
 00114 };
 00115 
-00116 inline StkFloat BiQuad :: computeSample( StkFloat input )
+00116 inline StkFloat BiQuad :: tick( StkFloat input )
 00117 {
 00118   inputs_[0] = gain_ * input;
-00119   outputs_[0] = b_[0] * inputs_[0] + b_[1] * inputs_[1] + b_[2] * inputs_[2];
-00120   outputs_[0] -= a_[2] * outputs_[2] + a_[1] * outputs_[1];
+00119   lastFrame_[0] = b_[0] * inputs_[0] + b_[1] * inputs_[1] + b_[2] * inputs_[2];
+00120   lastFrame_[0] -= a_[2] * outputs_[2] + a_[1] * outputs_[1];
 00121   inputs_[2] = inputs_[1];
 00122   inputs_[1] = inputs_[0];
 00123   outputs_[2] = outputs_[1];
-00124   outputs_[1] = outputs_[0];
+00124   outputs_[1] = lastFrame_[0];
 00125 
-00126   return outputs_[0];
+00126   return lastFrame_[0];
 00127 }
 00128 
-00129 inline StkFloat BiQuad :: tick( StkFloat input )
+00129 inline StkFrames& BiQuad :: tick( StkFrames& frames, unsigned int channel )
 00130 {
-00131   return this->computeSample( input );
-00132 }
-00133 
-00134 inline StkFrames& BiQuad :: tick( StkFrames& frames, unsigned int channel )
-00135 {
-00136   return Filter::tick( frames, channel );
-00137 }
-00138 
-00139 #endif
-

+00131 #if defined(_STK_DEBUG_) +00132 if ( channel >= frames.channels() ) { +00133 errorString_ << "BiQuad::tick(): channel and StkFrames arguments are incompatible!"; +00134 handleError( StkError::FUNCTION_ARGUMENT ); +00135 } +00136 #endif +00137 +00138 StkFloat *samples = &frames[channel]; +00139 unsigned int hop = frames.channels(); +00140 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00141 inputs_[0] = gain_ * *samples; +00142 *samples = b_[0] * inputs_[0] + b_[1] * inputs_[1] + b_[2] * inputs_[2]; +00143 *samples -= a_[2] * outputs_[2] + a_[1] * outputs_[1]; +00144 inputs_[2] = inputs_[1]; +00145 inputs_[1] = inputs_[0]; +00146 outputs_[2] = outputs_[1]; +00147 outputs_[1] = *samples; +00148 } +00149 +00150 lastFrame_[0] = outputs_[1]; +00151 return frames; +00152 } +00153 +00154 inline StkFrames& BiQuad :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00155 { +00156 #if defined(_STK_DEBUG_) +00157 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00158 errorString_ << "BiQuad::tick(): channel and StkFrames arguments are incompatible!"; +00159 handleError( StkError::FUNCTION_ARGUMENT ); +00160 } +00161 #endif +00162 +00163 StkFloat *iSamples = &iFrames[iChannel]; +00164 StkFloat *oSamples = &oFrames[oChannel]; +00165 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00166 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00167 inputs_[0] = gain_ * *iSamples; +00168 *oSamples = b_[0] * inputs_[0] + b_[1] * inputs_[1] + b_[2] * inputs_[2]; +00169 *oSamples -= a_[2] * outputs_[2] + a_[1] * outputs_[1]; +00170 inputs_[2] = inputs_[1]; +00171 inputs_[1] = inputs_[0]; +00172 outputs_[2] = outputs_[1]; +00173 outputs_[1] = *oSamples; +00174 } +00175 +00176 lastFrame_[0] = outputs_[1]; +00177 return iFrames; +00178 } +00179 +00180 } // stk namespace +00181 +00182 #endif +00183 +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BlitSaw_8h-source.html b/doc/html/BlitSaw_8h-source.html index b07968a..fb31f6f 100644 --- a/doc/html/BlitSaw_8h-source.html +++ b/doc/html/BlitSaw_8h-source.html @@ -8,53 +8,121 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

BlitSaw.h

00001 /***************************************************/
-00020 /***************************************************/
-00021 
-00022 #ifndef STK_BLITSAW_H
-00023 #define STK_BLITSAW_H
-00024 
-00025 #include "Generator.h"
-00026 
-00027 class BlitSaw: public Generator
-00028 {
-00029  public:
-00031   BlitSaw( StkFloat frequency = 220.0 );
-00032 
-00034   ~BlitSaw();
-00035 
-00037   void reset();
-00038 
-00040   void setFrequency( StkFloat frequency );
-00041 
-00043 
-00055   void setHarmonics( unsigned int nHarmonics = 0 );
-00056 
-00057  protected:
-00058 
-00059   void updateHarmonics( void );
-00060   StkFloat computeSample( void );
-00061 
-00062   unsigned int nHarmonics_;
-00063   unsigned int m_;
-00064   StkFloat rate_;
-00065   StkFloat phase_;
-00066   StkFloat p_;
-00067   StkFloat C2_;
-00068   StkFloat a_;
-00069   StkFloat state_;
-00070 
-00071 };
-00072 
-00073 #endif
-

+ + +
+

BlitSaw.h

00001 #ifndef STK_BLITSAW_H
+00002 #define STK_BLITSAW_H
+00003 
+00004 #include "Generator.h"
+00005 #include <cmath>
+00006 #include <limits>
+00007 
+00008 namespace stk {
+00009 
+00010 /***************************************************/
+00029 /***************************************************/
+00030 
+00031 class BlitSaw: public Generator
+00032 {
+00033  public:
+00035   BlitSaw( StkFloat frequency = 220.0 );
+00036 
+00038   ~BlitSaw();
+00039 
+00041   void reset();
+00042 
+00044   void setFrequency( StkFloat frequency );
+00045 
+00047 
+00059   void setHarmonics( unsigned int nHarmonics = 0 );
+00060 
+00062   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00063 
+00065   StkFloat tick( void );
+00066 
+00068 
+00075   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00076 
+00077  protected:
+00078 
+00079   void updateHarmonics( void );
+00080 
+00081   unsigned int nHarmonics_;
+00082   unsigned int m_;
+00083   StkFloat rate_;
+00084   StkFloat phase_;
+00085   StkFloat p_;
+00086   StkFloat C2_;
+00087   StkFloat a_;
+00088   StkFloat state_;
+00089 
+00090 };
+00091 
+00092 inline StkFloat BlitSaw :: tick( void )
+00093 {
+00094   // The code below implements the BLIT algorithm of Stilson and
+00095   // Smith, followed by a summation and filtering operation to produce
+00096   // a sawtooth waveform.  After experimenting with various approaches
+00097   // to calculate the average value of the BLIT over one period, I
+00098   // found that an estimate of C2_ = 1.0 / period (in samples) worked
+00099   // most consistently.  A "leaky integrator" is then applied to the
+00100   // difference of the BLIT output and C2_. (GPS - 1 October 2005)
+00101 
+00102   // A fully  optimized version of this code would replace the two sin 
+00103   // calls with a pair of fast sin oscillators, for which stable fast 
+00104   // two-multiply algorithms are well known. In the spirit of STK,
+00105   // which favors clarity over performance, the optimization has 
+00106   // not been made here.
+00107 
+00108   // Avoid a divide by zero, or use of a denormalized divisor 
+00109   // at the sinc peak, which has a limiting value of m_ / p_.
+00110   StkFloat tmp, denominator = sin( phase_ );
+00111   if ( fabs(denominator) <= std::numeric_limits<StkFloat>::epsilon() )
+00112     tmp = a_;
+00113   else {
+00114     tmp =  sin( m_ * phase_ );
+00115     tmp /= p_ * denominator;
+00116   }
+00117 
+00118   tmp += state_ - C2_;
+00119   state_ = tmp * 0.995;
+00120 
+00121   phase_ += rate_;
+00122   if ( phase_ >= PI ) phase_ -= PI;
+00123     
+00124   lastFrame_[0] = tmp;
+00125          return lastFrame_[0];
+00126 }
+00127 
+00128 inline StkFrames& BlitSaw :: tick( StkFrames& frames, unsigned int channel )
+00129 {
+00130 #if defined(_STK_DEBUG_)
+00131   if ( channel >= frames.channels() ) {
+00132     errorString_ << "BlitSaw::tick(): channel and StkFrames arguments are incompatible!";
+00133     handleError( StkError::FUNCTION_ARGUMENT );
+00134   }
+00135 #endif
+00136 
+00137 
+00138   StkFloat *samples = &frames[channel];
+00139   unsigned int hop = frames.channels();
+00140   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop )
+00141     *samples = BlitSaw::tick();
+00142 
+00143   return frames;
+00144 }
+00145 
+00146 } // stk namespace
+00147 
+00148 #endif
+
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BlitSquare_8h-source.html b/doc/html/BlitSquare_8h-source.html index 736064f..07cb19f 100644 --- a/doc/html/BlitSquare_8h-source.html +++ b/doc/html/BlitSquare_8h-source.html @@ -8,58 +8,126 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

BlitSquare.h

00001 /***************************************************/
-00031 /***************************************************/
-00032 
-00033 #ifndef STK_BLITSQUARE_H
-00034 #define STK_BLITSQUARE_H
-00035 
-00036 #include "Generator.h"
-00037 
-00038 class BlitSquare: public Generator
-00039 {
-00040  public:
-00042   BlitSquare( StkFloat frequency = 220.0 );
-00043 
-00045   ~BlitSquare();
-00046 
-00048   void reset();
-00049 
-00051 
-00054   void setPhase( StkFloat phase ) { phase_ = PI * phase; };
+
+  
+
+

BlitSquare.h

00001 #ifndef STK_BLITSQUARE_H
+00002 #define STK_BLITSQUARE_H
+00003 
+00004 #include "Generator.h"
+00005 #include <cmath>
+00006 #include <limits>
+00007 
+00008 namespace stk {
+00009 
+00010 /***************************************************/
+00040 /***************************************************/
+00041 
+00042 class BlitSquare: public Generator
+00043 {
+00044  public:
+00046   BlitSquare( StkFloat frequency = 220.0 );
+00047 
+00049   ~BlitSquare();
+00050 
+00052   void reset();
+00053 
 00055 
-00057 
-00060   StkFloat getPhase() const { return phase_ / PI; };
+00058   void setPhase( StkFloat phase ) { phase_ = PI * phase; };
+00059 
 00061 
-00063   void setFrequency( StkFloat frequency );
-00064 
-00066 
-00078   void setHarmonics( unsigned int nHarmonics = 0 );
-00079 
-00080  protected:
-00081 
-00082   void updateHarmonics( void );
-00083   StkFloat computeSample( void );
-00084 
-00085   unsigned int nHarmonics_;
-00086   unsigned int m_;
-00087   StkFloat rate_;
-00088   StkFloat phase_;
-00089   StkFloat p_;
-00090   StkFloat a_;
-00091   StkFloat lastBlitOutput_;
-00092   StkFloat dcbState_;
-00093 };
-00094 
-00095 #endif
-

+00064 StkFloat getPhase() const { return phase_ / PI; }; +00065 +00067 void setFrequency( StkFloat frequency ); +00068 +00070 +00082 void setHarmonics( unsigned int nHarmonics = 0 ); +00083 +00085 StkFloat lastOut( void ) const { return lastFrame_[0]; }; +00086 +00088 StkFloat tick( void ); +00089 +00091 +00098 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00099 +00100 protected: +00101 +00102 void updateHarmonics( void ); +00103 +00104 unsigned int nHarmonics_; +00105 unsigned int m_; +00106 StkFloat rate_; +00107 StkFloat phase_; +00108 StkFloat p_; +00109 StkFloat a_; +00110 StkFloat lastBlitOutput_; +00111 StkFloat dcbState_; +00112 }; +00113 +00114 inline StkFloat BlitSquare :: tick( void ) +00115 { +00116 StkFloat temp = lastBlitOutput_; +00117 +00118 // A fully optimized version of this would replace the two sin calls +00119 // with a pair of fast sin oscillators, for which stable fast +00120 // two-multiply algorithms are well known. In the spirit of STK, +00121 // which favors clarity over performance, the optimization has +00122 // not been made here. +00123 +00124 // Avoid a divide by zero, or use of a denomralized divisor +00125 // at the sinc peak, which has a limiting value of 1.0. +00126 StkFloat denominator = sin( phase_ ); +00127 if ( fabs( denominator ) < std::numeric_limits<StkFloat>::epsilon() ) { +00128 // Inexact comparison safely distinguishes betwen *close to zero*, and *close to PI*. +00129 if ( phase_ < 0.1f || phase_ > TWO_PI - 0.1f ) +00130 lastBlitOutput_ = a_; +00131 else +00132 lastBlitOutput_ = -a_; +00133 } +00134 else { +00135 lastBlitOutput_ = sin( m_ * phase_ ); +00136 lastBlitOutput_ /= p_ * denominator; +00137 } +00138 +00139 lastBlitOutput_ += temp; +00140 +00141 // Now apply DC blocker. +00142 lastFrame_[0] = lastBlitOutput_ - dcbState_ + 0.999 * lastFrame_[0]; +00143 dcbState_ = lastBlitOutput_; +00144 +00145 phase_ += rate_; +00146 if ( phase_ >= TWO_PI ) phase_ -= TWO_PI; +00147 +00148 return lastFrame_[0]; +00149 } +00150 +00151 inline StkFrames& BlitSquare :: tick( StkFrames& frames, unsigned int channel ) +00152 { +00153 #if defined(_STK_DEBUG_) +00154 if ( channel >= frames.channels() ) { +00155 errorString_ << "BlitSquare::tick(): channel and StkFrames arguments are incompatible!"; +00156 handleError( StkError::FUNCTION_ARGUMENT ); +00157 } +00158 #endif +00159 +00160 StkFloat *samples = &frames[channel]; +00161 unsigned int hop = frames.channels(); +00162 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) +00163 *samples = BlitSquare::tick(); +00164 +00165 return frames; +00166 } +00167 +00168 } // stk namespace +00169 +00170 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Blit_8h-source.html b/doc/html/Blit_8h-source.html index 8d49922..125233c 100644 --- a/doc/html/Blit_8h-source.html +++ b/doc/html/Blit_8h-source.html @@ -8,56 +8,116 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Blit.h

00001 /***************************************************/
-00022 /***************************************************/
-00023 
-00024 #ifndef STK_BLIT_H
-00025 #define STK_BLIT_H
-00026 
-00027 #include "Generator.h"
-00028 
-00029 class Blit: public Generator
-00030 {
-00031  public:
-00033   Blit( StkFloat frequency = 220.0 );
-00034 
-00036   ~Blit();
-00037 
-00039   void reset();
-00040 
-00042 
-00045   void setPhase( StkFloat phase ) { phase_ = PI * phase; };
+
+  
+
+

Blit.h

00001 #ifndef STK_BLIT_H
+00002 #define STK_BLIT_H
+00003 
+00004 #include "Generator.h"
+00005 #include <cmath>
+00006 #include <limits>
+00007 
+00008 namespace stk {
+00009 
+00010 /***************************************************/
+00031 /***************************************************/
+00032 
+00033 class Blit: public Generator
+00034 {
+00035  public:
+00037   Blit( StkFloat frequency = 220.0 );
+00038 
+00040   ~Blit();
+00041 
+00043   void reset();
+00044 
 00046 
-00048 
-00051   StkFloat getPhase() const { return phase_ / PI; };
+00049   void setPhase( StkFloat phase ) { phase_ = PI * phase; };
+00050 
 00052 
-00054   void setFrequency( StkFloat frequency );
-00055 
-00057 
-00069   void setHarmonics( unsigned int nHarmonics = 0 );
-00070 
-00071  protected:
-00072 
-00073   void updateHarmonics( void );
-00074   StkFloat computeSample( void );
-00075 
-00076   unsigned int nHarmonics_;
-00077   unsigned int m_;
-00078   StkFloat rate_;
-00079   StkFloat phase_;
-00080   StkFloat p_;
-00081 
-00082 };
-00083 
-00084 #endif
-

+00055 StkFloat getPhase() const { return phase_ / PI; }; +00056 +00058 void setFrequency( StkFloat frequency ); +00059 +00061 +00073 void setHarmonics( unsigned int nHarmonics = 0 ); +00074 +00076 StkFloat lastOut( void ) const { return lastFrame_[0]; }; +00077 +00079 StkFloat tick( void ); +00080 +00082 +00089 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00090 +00091 protected: +00092 +00093 void updateHarmonics( void ); +00094 +00095 unsigned int nHarmonics_; +00096 unsigned int m_; +00097 StkFloat rate_; +00098 StkFloat phase_; +00099 StkFloat p_; +00100 +00101 }; +00102 +00103 inline StkFloat Blit :: tick( void ) +00104 { +00105 // The code below implements the SincM algorithm of Stilson and +00106 // Smith with an additional scale factor of P / M applied to +00107 // normalize the output. +00108 +00109 // A fully optimized version of this code would replace the two sin +00110 // calls with a pair of fast sin oscillators, for which stable fast +00111 // two-multiply algorithms are well known. In the spirit of STK, +00112 // which favors clarity over performance, the optimization has not +00113 // been made here. +00114 +00115 // Avoid a divide by zero at the sinc peak, which has a limiting +00116 // value of 1.0. +00117 StkFloat tmp, denominator = sin( phase_ ); +00118 if ( denominator <= std::numeric_limits<StkFloat>::epsilon() ) +00119 tmp = 1.0; +00120 else { +00121 tmp = sin( m_ * phase_ ); +00122 tmp /= m_ * denominator; +00123 } +00124 +00125 phase_ += rate_; +00126 if ( phase_ >= PI ) phase_ -= PI; +00127 +00128 lastFrame_[0] = tmp; +00129 return lastFrame_[0]; +00130 } +00131 +00132 inline StkFrames& Blit :: tick( StkFrames& frames, unsigned int channel ) +00133 { +00134 #if defined(_STK_DEBUG_) +00135 if ( channel >= frames.channels() ) { +00136 errorString_ << "Blit::tick(): channel and StkFrames arguments are incompatible!"; +00137 handleError( StkError::FUNCTION_ARGUMENT ); +00138 } +00139 #endif +00140 +00141 StkFloat *samples = &frames[channel]; +00142 unsigned int hop = frames.channels(); +00143 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) +00144 *samples = Blit::tick(); +00145 +00146 return frames; +00147 } +00148 +00149 } // stk namespace +00150 +00151 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BlowBotl_8h-source.html b/doc/html/BlowBotl_8h-source.html index c202e97..b4f0738 100644 --- a/doc/html/BlowBotl_8h-source.html +++ b/doc/html/BlowBotl_8h-source.html @@ -8,68 +8,96 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

BlowBotl.h

00001 /***************************************************/
-00017 /***************************************************/
-00018 
-00019 #ifndef STK_BLOWBOTL_H
-00020 #define STK_BLOWBOTL_H
-00021 
-00022 #include "Instrmnt.h"
-00023 #include "JetTable.h"
-00024 #include "BiQuad.h"
-00025 #include "PoleZero.h"
-00026 #include "Noise.h"
-00027 #include "ADSR.h"
-00028 #include "SineWave.h"
-00029 
-00030 class BlowBotl : public Instrmnt
-00031 {
-00032  public:
-00034 
-00037   BlowBotl();
-00038 
-00040   ~BlowBotl();
-00041 
-00043   void clear();
-00044 
-00046   void setFrequency(StkFloat frequency);
-00047 
-00049   void startBlowing(StkFloat amplitude, StkFloat rate);
-00050 
-00052   void stopBlowing(StkFloat rate);
-00053 
-00055   void noteOn(StkFloat frequency, StkFloat amplitude);
-00056 
-00058   void noteOff(StkFloat amplitude);
-00059 
-00061   void controlChange(int number, StkFloat value);
-00062 
-00063  protected:
+
+  
+
+

BlowBotl.h

00001 #ifndef STK_BLOWBOTL_H
+00002 #define STK_BLOWBOTL_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "JetTable.h"
+00006 #include "BiQuad.h"
+00007 #include "PoleZero.h"
+00008 #include "Noise.h"
+00009 #include "ADSR.h"
+00010 #include "SineWave.h"
+00011 
+00012 namespace stk {
+00013 
+00014 /***************************************************/
+00030 /***************************************************/
+00031 
+00032 class BlowBotl : public Instrmnt
+00033 {
+00034  public:
+00036 
+00039   BlowBotl( void );
+00040 
+00042   ~BlowBotl( void );
+00043 
+00045   void clear( void );
+00046 
+00048   void setFrequency( StkFloat frequency );
+00049 
+00051   void startBlowing( StkFloat amplitude, StkFloat rate );
+00052 
+00054   void stopBlowing( StkFloat rate );
+00055 
+00057   void noteOn( StkFloat frequency, StkFloat amplitude );
+00058 
+00060   void noteOff( StkFloat amplitude );
+00061 
+00063   void controlChange( int number, StkFloat value );
 00064 
-00065   StkFloat computeSample( void );
-00066   
-00067   JetTable jetTable_;
-00068   BiQuad resonator_;
-00069   PoleZero dcBlock_;
-00070   Noise noise_;
-00071   ADSR adsr_;
-00072   SineWave vibrato_;
-00073   StkFloat maxPressure_;
-00074   StkFloat noiseGain_;
-00075   StkFloat vibratoGain_;
-00076   StkFloat outputGain_;
-00077 
-00078 };
-00079 
-00080 #endif
-

+00066 StkFloat tick( unsigned int channel = 0 ); +00067 +00068 protected: +00069 +00070 JetTable jetTable_; +00071 BiQuad resonator_; +00072 PoleZero dcBlock_; +00073 Noise noise_; +00074 ADSR adsr_; +00075 SineWave vibrato_; +00076 StkFloat maxPressure_; +00077 StkFloat noiseGain_; +00078 StkFloat vibratoGain_; +00079 StkFloat outputGain_; +00080 +00081 }; +00082 +00083 inline StkFloat BlowBotl :: tick( unsigned int ) +00084 { +00085 StkFloat breathPressure; +00086 StkFloat randPressure; +00087 StkFloat pressureDiff; +00088 +00089 // Calculate the breath pressure (envelope + vibrato) +00090 breathPressure = maxPressure_ * adsr_.tick(); +00091 breathPressure += vibratoGain_ * vibrato_.tick(); +00092 +00093 pressureDiff = breathPressure - resonator_.lastOut(); +00094 +00095 randPressure = noiseGain_ * noise_.tick(); +00096 randPressure *= breathPressure; +00097 randPressure *= (1.0 + pressureDiff); +00098 +00099 resonator_.tick( breathPressure + randPressure - ( jetTable_.tick( pressureDiff ) * pressureDiff ) ); +00100 lastFrame_[0] = 0.2 * outputGain_ * dcBlock_.tick( pressureDiff ); +00101 +00102 return lastFrame_[0]; +00103 } +00104 +00105 } // stk namespace +00106 +00107 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BlowHole_8h-source.html b/doc/html/BlowHole_8h-source.html index 6b99b99..48f2648 100644 --- a/doc/html/BlowHole_8h-source.html +++ b/doc/html/BlowHole_8h-source.html @@ -8,78 +8,119 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

BlowHole.h

00001 /***************************************************/
-00034 /***************************************************/
-00035 
-00036 #ifndef STK_BLOWHOLE_H
-00037 #define STK_BLOWHOLE_H
-00038 
-00039 #include "Instrmnt.h"
-00040 #include "DelayL.h"
-00041 #include "ReedTable.h"
-00042 #include "OneZero.h"
-00043 #include "PoleZero.h"
-00044 #include "Envelope.h"
-00045 #include "Noise.h"
-00046 #include "SineWave.h"
-00047 
-00048 class BlowHole : public Instrmnt
-00049 {
-00050  public:
-00052 
-00055   BlowHole(StkFloat lowestFrequency);
-00056 
-00058   ~BlowHole();
-00059 
-00061   void clear();
-00062 
-00064   void setFrequency(StkFloat frequency);
-00065 
-00067   void setTonehole(StkFloat newValue);
-00068 
-00070   void setVent(StkFloat newValue);
-00071 
-00073   void startBlowing(StkFloat amplitude, StkFloat rate);
-00074 
-00076   void stopBlowing(StkFloat rate);
-00077 
-00079   void noteOn(StkFloat frequency, StkFloat amplitude);
-00080 
-00082   void noteOff(StkFloat amplitude);
-00083 
-00085   void controlChange(int number, StkFloat value);
-00086 
-00087  protected:
+
+  
+
+

BlowHole.h

00001 #ifndef STK_BLOWHOLE_H
+00002 #define STK_BLOWHOLE_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayL.h"
+00006 #include "ReedTable.h"
+00007 #include "OneZero.h"
+00008 #include "PoleZero.h"
+00009 #include "Envelope.h"
+00010 #include "Noise.h"
+00011 #include "SineWave.h"
+00012 
+00013 namespace stk {
+00014 
+00015 /***************************************************/
+00048 /***************************************************/
+00049 
+00050 class BlowHole : public Instrmnt
+00051 {
+00052  public:
+00054 
+00057   BlowHole( StkFloat lowestFrequency );
+00058 
+00060   ~BlowHole( void );
+00061 
+00063   void clear( void );
+00064 
+00066   void setFrequency( StkFloat frequency );
+00067 
+00069   void setTonehole( StkFloat newValue );
+00070 
+00072   void setVent( StkFloat newValue );
+00073 
+00075   void startBlowing( StkFloat amplitude, StkFloat rate );
+00076 
+00078   void stopBlowing( StkFloat rate );
+00079 
+00081   void noteOn( StkFloat frequency, StkFloat amplitude );
+00082 
+00084   void noteOff( StkFloat amplitude );
+00085 
+00087   void controlChange( int number, StkFloat value );
 00088 
-00089   StkFloat computeSample( void );
-00090 
-00091   DelayL    delays_[3];
-00092   ReedTable reedTable_;
-00093   OneZero   filter_;
-00094   PoleZero  tonehole_;
-00095   PoleZero  vent_;
-00096   Envelope  envelope_;
-00097   Noise     noise_;
-00098   SineWave vibrato_;
-00099   unsigned long length_;
-00100   StkFloat scatter_;
-00101   StkFloat thCoeff_;
-00102   StkFloat rhGain_;
-00103   StkFloat outputGain_;
-00104   StkFloat noiseGain_;
-00105   StkFloat vibratoGain_;
-00106 
-00107 };
-00108 
-00109 #endif
-

+00090 StkFloat tick( unsigned int channel = 0 ); +00091 +00092 protected: +00093 +00094 DelayL delays_[3]; +00095 ReedTable reedTable_; +00096 OneZero filter_; +00097 PoleZero tonehole_; +00098 PoleZero vent_; +00099 Envelope envelope_; +00100 Noise noise_; +00101 SineWave vibrato_; +00102 unsigned long length_; +00103 StkFloat scatter_; +00104 StkFloat thCoeff_; +00105 StkFloat rhGain_; +00106 StkFloat outputGain_; +00107 StkFloat noiseGain_; +00108 StkFloat vibratoGain_; +00109 +00110 }; +00111 +00112 inline StkFloat BlowHole :: tick( unsigned int ) +00113 { +00114 StkFloat pressureDiff; +00115 StkFloat breathPressure; +00116 StkFloat temp; +00117 +00118 // Calculate the breath pressure (envelope + noise + vibrato) +00119 breathPressure = envelope_.tick(); +00120 breathPressure += breathPressure * noiseGain_ * noise_.tick(); +00121 breathPressure += breathPressure * vibratoGain_ * vibrato_.tick(); +00122 +00123 // Calculate the differential pressure = reflected - mouthpiece pressures +00124 pressureDiff = delays_[0].lastOut() - breathPressure; +00125 +00126 // Do two-port junction scattering for register vent +00127 StkFloat pa = breathPressure + pressureDiff * reedTable_.tick( pressureDiff ); +00128 StkFloat pb = delays_[1].lastOut(); +00129 vent_.tick( pa+pb ); +00130 +00131 lastFrame_[0] = delays_[0].tick( vent_.lastOut()+pb ); +00132 lastFrame_[0] *= outputGain_; +00133 +00134 // Do three-port junction scattering (under tonehole) +00135 pa += vent_.lastOut(); +00136 pb = delays_[2].lastOut(); +00137 StkFloat pth = tonehole_.lastOut(); +00138 temp = scatter_ * (pa + pb - 2 * pth); +00139 +00140 delays_[2].tick( filter_.tick(pa + temp) * -0.95 ); +00141 delays_[1].tick( pb + temp ); +00142 tonehole_.tick( pa + pb - pth + temp ); +00143 +00144 return lastFrame_[0]; +00145 } +00146 +00147 } // stk namespace +00148 +00149 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BowTable_8h-source.html b/doc/html/BowTable_8h-source.html index f217f66..19fa0fa 100644 --- a/doc/html/BowTable_8h-source.html +++ b/doc/html/BowTable_8h-source.html @@ -8,45 +8,120 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

BowTable.h

00001 /***************************************************/
-00010 /***************************************************/
-00011 
-00012 #ifndef STK_BOWTABL_H
-00013 #define STK_BOWTABL_H
-00014 
-00015 #include "Function.h"
-00016 
-00017 class BowTable : public Function
-00018 {
-00019 public:
-00021   BowTable();
-00022 
-00024   ~BowTable();
+
+  
+
+

BowTable.h

00001 #ifndef STK_BOWTABL_H
+00002 #define STK_BOWTABL_H
+00003 
+00004 #include "Function.h"
+00005 #include <cmath>
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class BowTable : public Function
+00021 {
+00022 public:
+00024   BowTable( void ) : offset_(0.0), slope_(0.1) {};
 00025 
 00027 
-00033   void setOffset(StkFloat offset);
+00033   void setOffset( StkFloat offset ) { offset_ = offset; };
 00034 
 00036 
-00040   void setSlope(StkFloat slope);
+00040   void setSlope( StkFloat slope ) { slope_ = slope; };
 00041 
-00042 protected:
-00043 
-00044   StkFloat computeSample( StkFloat input );
-00045 
-00046   StkFloat offset_;
-00047   StkFloat slope_;
-00048 
-00049 };
-00050 
-00051 #endif
-

+00043 StkFloat tick( StkFloat input ); +00044 +00046 +00054 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00055 +00057 +00065 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00066 +00067 protected: +00068 +00069 StkFloat offset_; +00070 StkFloat slope_; +00071 +00072 }; +00073 +00074 inline StkFloat BowTable :: tick( StkFloat input ) +00075 { +00076 // The input represents differential string vs. bow velocity. +00077 StkFloat sample = input + offset_; // add bias to input +00078 sample *= slope_; // then scale it +00079 lastFrame_[0] = (StkFloat) fabs( (double) sample ) + (StkFloat) 0.75; +00080 lastFrame_[0] = (StkFloat) pow( lastFrame_[0], (StkFloat) -4.0 ); +00081 +00082 // Set minimum friction to 0.0 +00083 // if ( lastFrame_[0] < 0.0 ) lastFrame_[0] = 0.0; +00084 +00085 // Set maximum friction to 1.0. +00086 if ( lastFrame_[0] > 1.0 ) lastFrame_[0] = (StkFloat) 1.0; +00087 +00088 return lastFrame_[0]; +00089 } +00090 +00091 inline StkFrames& BowTable :: tick( StkFrames& frames, unsigned int channel ) +00092 { +00093 #if defined(_STK_DEBUG_) +00094 if ( channel >= frames.channels() ) { +00095 errorString_ << "BowTable::tick(): channel and StkFrames arguments are incompatible!"; +00096 handleError( StkError::FUNCTION_ARGUMENT ); +00097 } +00098 #endif +00099 +00100 StkFloat *samples = &frames[channel]; +00101 unsigned int hop = frames.channels(); +00102 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00103 *samples = *samples + offset_; +00104 *samples *= slope_; +00105 *samples = (StkFloat) fabs( (double) *samples ) + 0.75; +00106 *samples = (StkFloat) pow( *samples, (StkFloat) -4.0 ); +00107 if ( *samples > 1.0) *samples = 1.0; +00108 } +00109 +00110 lastFrame_[0] = *(samples-hop); +00111 return frames; +00112 } +00113 +00114 inline StkFrames& BowTable :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00115 { +00116 #if defined(_STK_DEBUG_) +00117 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00118 errorString_ << "BowTable::tick(): channel and StkFrames arguments are incompatible!"; +00119 handleError( StkError::FUNCTION_ARGUMENT ); +00120 } +00121 #endif +00122 +00123 StkFloat *iSamples = &iFrames[iChannel]; +00124 StkFloat *oSamples = &oFrames[oChannel]; +00125 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00126 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00127 *oSamples = *iSamples + offset_; +00128 *oSamples *= slope_; +00129 *oSamples = (StkFloat) fabs( (double) *oSamples ) + 0.75; +00130 *oSamples = (StkFloat) pow( *oSamples, (StkFloat) -4.0 ); +00131 if ( *oSamples > 1.0) *oSamples = 1.0; +00132 } +00133 +00134 lastFrame_[0] = *(oSamples-oHop); +00135 return iFrames; +00136 } +00137 +00138 } // stk namespace +00139 +00140 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Bowed_8h-source.html b/doc/html/Bowed_8h-source.html index cb20d9e..c015872 100644 --- a/doc/html/Bowed_8h-source.html +++ b/doc/html/Bowed_8h-source.html @@ -8,70 +8,97 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Bowed.h

00001 /***************************************************/
-00022 /***************************************************/
-00023 
-00024 #ifndef STK_BOWED_H
-00025 #define STK_BOWED_H
-00026 
-00027 #include "Instrmnt.h"
-00028 #include "DelayL.h"
-00029 #include "BowTable.h"
-00030 #include "OnePole.h"
-00031 #include "BiQuad.h"
-00032 #include "SineWave.h"
-00033 #include "ADSR.h"
-00034 
-00035 class Bowed : public Instrmnt
-00036 {
-00037  public:
-00039   Bowed(StkFloat lowestFrequency);
-00040 
-00042   ~Bowed();
-00043 
-00045   void clear();
-00046 
-00048   void setFrequency(StkFloat frequency);
-00049 
-00051   void setVibrato(StkFloat gain);
-00052 
-00054   void startBowing(StkFloat amplitude, StkFloat rate);
-00055 
-00057   void stopBowing(StkFloat rate);
-00058 
-00060   void noteOn(StkFloat frequency, StkFloat amplitude);
-00061 
-00063   void noteOff(StkFloat amplitude);
-00064 
-00066   void controlChange(int number, StkFloat value);
-00067 
-00068  protected:
+
+  
+
+

Bowed.h

00001 #ifndef STK_BOWED_H
+00002 #define STK_BOWED_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayL.h"
+00006 #include "BowTable.h"
+00007 #include "OnePole.h"
+00008 #include "BiQuad.h"
+00009 #include "SineWave.h"
+00010 #include "ADSR.h"
+00011 
+00012 namespace stk {
+00013 
+00014 /***************************************************/
+00035 /***************************************************/
+00036 
+00037 class Bowed : public Instrmnt
+00038 {
+00039  public:
+00041   Bowed( StkFloat lowestFrequency );
+00042 
+00044   ~Bowed( void );
+00045 
+00047   void clear( void );
+00048 
+00050   void setFrequency( StkFloat frequency );
+00051 
+00053   void setVibrato( StkFloat gain );
+00054 
+00056   void startBowing( StkFloat amplitude, StkFloat rate );
+00057 
+00059   void stopBowing( StkFloat rate );
+00060 
+00062   void noteOn( StkFloat frequency, StkFloat amplitude );
+00063 
+00065   void noteOff( StkFloat amplitude );
+00066 
+00068   void controlChange( int number, StkFloat value );
 00069 
-00070   StkFloat computeSample( void );
-00071 
-00072   DelayL   neckDelay_;
-00073   DelayL   bridgeDelay_;
-00074   BowTable bowTable_;
-00075   OnePole  stringFilter_;
-00076   BiQuad   bodyFilter_;
-00077   SineWave vibrato_;
-00078   ADSR     adsr_;
-00079   StkFloat maxVelocity_;
-00080   StkFloat baseDelay_;
-00081   StkFloat vibratoGain_;
-00082   StkFloat betaRatio_;
-00083 
-00084 };
-00085 
-00086 #endif
-

+00071 StkFloat tick( unsigned int channel = 0 ); +00072 +00073 protected: +00074 +00075 DelayL neckDelay_; +00076 DelayL bridgeDelay_; +00077 BowTable bowTable_; +00078 OnePole stringFilter_; +00079 BiQuad bodyFilter_; +00080 SineWave vibrato_; +00081 ADSR adsr_; +00082 StkFloat maxVelocity_; +00083 StkFloat baseDelay_; +00084 StkFloat vibratoGain_; +00085 StkFloat betaRatio_; +00086 +00087 }; +00088 +00089 inline StkFloat Bowed :: tick( unsigned int ) +00090 { +00091 StkFloat bowVelocity = maxVelocity_ * adsr_.tick(); +00092 StkFloat bridgeRefl = -stringFilter_.tick( bridgeDelay_.lastOut() ); +00093 StkFloat nutRefl = -neckDelay_.lastOut(); +00094 StkFloat stringVel = bridgeRefl + nutRefl; // Sum is string velocity +00095 StkFloat velDiff = bowVelocity - stringVel; // Differential velocity +00096 StkFloat newVel = velDiff * bowTable_.tick( velDiff ); // Non-Linear bow function +00097 neckDelay_.tick(bridgeRefl + newVel); // Do string propagations +00098 bridgeDelay_.tick(nutRefl + newVel); +00099 +00100 if ( vibratoGain_ > 0.0 ) { +00101 neckDelay_.setDelay( (baseDelay_ * (1.0 - betaRatio_) ) + +00102 (baseDelay_ * vibratoGain_ * vibrato_.tick()) ); +00103 } +00104 +00105 lastFrame_[0] = bodyFilter_.tick( bridgeDelay_.lastOut() ); +00106 +00107 return lastFrame_[0]; +00108 } +00109 +00110 } // stk namespace +00111 +00112 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Brass_8h-source.html b/doc/html/Brass_8h-source.html index f4b2300..0d0bcb2 100644 --- a/doc/html/Brass_8h-source.html +++ b/doc/html/Brass_8h-source.html @@ -8,69 +8,94 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Brass.h

00001 /***************************************************/
-00021 /***************************************************/
-00022 
-00023 #ifndef STK_BRASS_H
-00024 #define STK_BRASS_H
-00025 
-00026 #include "Instrmnt.h"
-00027 #include "DelayA.h"
-00028 #include "BiQuad.h"
-00029 #include "PoleZero.h"
-00030 #include "ADSR.h"
-00031 #include "SineWave.h"
-00032 
-00033 class Brass: public Instrmnt
-00034 {
-00035  public:
-00037 
-00040   Brass(StkFloat lowestFrequency);
-00041 
-00043   ~Brass();
-00044 
-00046   void clear();
-00047 
-00049   void setFrequency(StkFloat frequency);
-00050 
-00052   void setLip(StkFloat frequency);
-00053 
-00055   void startBlowing(StkFloat amplitude, StkFloat rate);
-00056 
-00058   void stopBlowing(StkFloat rate);
-00059 
-00061   void noteOn(StkFloat frequency, StkFloat amplitude);
-00062 
-00064   void noteOff(StkFloat amplitude);
-00065 
-00067   void controlChange(int number, StkFloat value);
-00068 
-00069  protected:
+
+  
+
+

Brass.h

00001 #ifndef STK_BRASS_H
+00002 #define STK_BRASS_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayA.h"
+00006 #include "BiQuad.h"
+00007 #include "PoleZero.h"
+00008 #include "ADSR.h"
+00009 #include "SineWave.h"
+00010 
+00011 namespace stk {
+00012 
+00013 /***************************************************/
+00033 /***************************************************/
+00034 
+00035 class Brass: public Instrmnt
+00036 {
+00037  public:
+00039 
+00042   Brass( StkFloat lowestFrequency );
+00043 
+00045   ~Brass(  );
+00046 
+00048   void clear(  );
+00049 
+00051   void setFrequency( StkFloat frequency );
+00052 
+00054   void setLip( StkFloat frequency );
+00055 
+00057   void startBlowing( StkFloat amplitude, StkFloat rate );
+00058 
+00060   void stopBlowing( StkFloat rate );
+00061 
+00063   void noteOn( StkFloat frequency, StkFloat amplitude );
+00064 
+00066   void noteOff( StkFloat amplitude );
+00067 
+00069   void controlChange( int number, StkFloat value );
 00070 
-00071   StkFloat computeSample( void );
-00072 
-00073   DelayA   delayLine_;
-00074   BiQuad   lipFilter_;
-00075   PoleZero dcBlock_;
-00076   ADSR     adsr_;
-00077   SineWave vibrato_;
-00078   unsigned long length_;
-00079   StkFloat lipTarget_;
-00080   StkFloat slideTarget_;
-00081   StkFloat vibratoGain_;
-00082   StkFloat maxPressure_;
-00083 
-00084 };
-00085 
-00086 #endif
-

+00072 StkFloat tick( unsigned int channel = 0 ); +00073 +00074 protected: +00075 +00076 DelayA delayLine_; +00077 BiQuad lipFilter_; +00078 PoleZero dcBlock_; +00079 ADSR adsr_; +00080 SineWave vibrato_; +00081 unsigned long length_; +00082 StkFloat lipTarget_; +00083 StkFloat slideTarget_; +00084 StkFloat vibratoGain_; +00085 StkFloat maxPressure_; +00086 +00087 }; +00088 +00089 inline StkFloat Brass :: tick( unsigned int ) +00090 { +00091 StkFloat breathPressure = maxPressure_ * adsr_.tick(); +00092 breathPressure += vibratoGain_ * vibrato_.tick(); +00093 +00094 StkFloat mouthPressure = 0.3 * breathPressure; +00095 StkFloat borePressure = 0.85 * delayLine_.lastOut(); +00096 StkFloat deltaPressure = mouthPressure - borePressure; // Differential pressure. +00097 deltaPressure = lipFilter_.tick( deltaPressure ); // Force - > position. +00098 deltaPressure *= deltaPressure; // Basic position to area mapping. +00099 if ( deltaPressure > 1.0 ) deltaPressure = 1.0; // Non-linear saturation. +00100 +00101 // The following input scattering assumes the mouthPressure = area. +00102 lastFrame_[0] = deltaPressure * mouthPressure + ( 1.0 - deltaPressure) * borePressure; +00103 lastFrame_[0] = delayLine_.tick( dcBlock_.tick( lastFrame_[0] ) ); +00104 +00105 return lastFrame_[0]; +00106 } +00107 +00108 } // stk namespace +00109 +00110 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Chorus_8h-source.html b/doc/html/Chorus_8h-source.html index 9f3a36d..5df6002 100644 --- a/doc/html/Chorus_8h-source.html +++ b/doc/html/Chorus_8h-source.html @@ -8,51 +8,137 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Chorus.h

00001 /***************************************************/
-00009 /***************************************************/
-00010 
-00011 #ifndef STK_CHORUS_H
-00012 #define STK_CHORUS_H
-00013 
-00014 #include "Effect.h" 
-00015 #include "DelayL.h" 
-00016 #include "SineWave.h" 
-00017 
-00018 class Chorus : public Effect
-00019 {
-00020  public:
-00022 
-00025   Chorus( StkFloat baseDelay = 6000 );
-00026 
-00028   ~Chorus();
+
+  
+
+

Chorus.h

00001 #ifndef STK_CHORUS_H
+00002 #define STK_CHORUS_H
+00003 
+00004 #include "Effect.h"
+00005 #include "DelayL.h"
+00006 #include "SineWave.h"
+00007 
+00008 namespace stk {
+00009 
+00010 /***************************************************/
+00019 /***************************************************/
+00020 
+00021 class Chorus : public Effect
+00022 {
+00023  public:
+00025 
+00028   Chorus( StkFloat baseDelay = 6000 );
 00029 
-00031   void clear();
+00031   void clear( void );
 00032 
-00034   void setModDepth(StkFloat depth);
+00034   void setModDepth( StkFloat depth ) { modDepth_ = depth; };
 00035 
-00037   void setModFrequency(StkFloat frequency);
+00037   void setModFrequency( StkFloat frequency );
 00038 
-00039  protected:
 00040 
-00041   StkFloat computeSample( StkFloat input );
-00042 
-00043   DelayL delayLine_[2];
-00044   SineWave mods_[2];
-00045   StkFloat baseLength_;
-00046   StkFloat modDepth_;
-00047 
-00048 };
+00048   StkFloat lastOut( unsigned int channel = 0 );
 00049 
-00050 #endif
-00051 
-

+00051 +00058 StkFloat tick( StkFloat input, unsigned int channel = 0 ); +00059 +00061 +00070 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00071 +00073 +00082 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00083 +00084 protected: +00085 +00086 DelayL delayLine_[2]; +00087 SineWave mods_[2]; +00088 StkFloat baseLength_; +00089 StkFloat modDepth_; +00090 +00091 }; +00092 +00093 inline StkFloat Chorus :: lastOut( unsigned int channel ) +00094 { +00095 #if defined(_STK_DEBUG_) +00096 if ( channel > 1 ) { +00097 errorString_ << "Chorus::lastOut(): channel argument must be less than 2!"; +00098 handleError( StkError::FUNCTION_ARGUMENT ); +00099 } +00100 #endif +00101 +00102 return lastFrame_[channel]; +00103 } +00104 +00105 inline StkFloat Chorus :: tick( StkFloat input, unsigned int channel ) +00106 { +00107 #if defined(_STK_DEBUG_) +00108 if ( channel > 1 ) { +00109 errorString_ << "Chorus::tick(): channel argument must be less than 2!"; +00110 handleError( StkError::FUNCTION_ARGUMENT ); +00111 } +00112 #endif +00113 +00114 delayLine_[0].setDelay( baseLength_ * 0.707 * ( 1.0 + modDepth_ * mods_[0].tick() ) ); +00115 delayLine_[1].setDelay( baseLength_ * 0.5 * ( 1.0 - modDepth_ * mods_[1].tick() ) ); +00116 lastFrame_[0] = effectMix_ * ( delayLine_[0].tick( input ) - input ) + input; +00117 lastFrame_[1] = effectMix_ * ( delayLine_[1].tick( input ) - input ) + input; +00118 return lastFrame_[channel]; +00119 } +00120 +00121 inline StkFrames& Chorus :: tick( StkFrames& frames, unsigned int channel ) +00122 { +00123 #if defined(_STK_DEBUG_) +00124 if ( channel >= frames.channels() - 1 ) { +00125 errorString_ << "Chorus::tick(): channel and StkFrames arguments are incompatible!"; +00126 handleError( StkError::FUNCTION_ARGUMENT ); +00127 } +00128 #endif +00129 +00130 StkFloat *samples = &frames[channel]; +00131 unsigned int hop = frames.channels() - 1; +00132 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00133 *samples = effectMix_ * ( delayLine_[0].tick( *samples ) - *samples ) + *samples; +00134 samples++; +00135 *samples = effectMix_ * ( delayLine_[1].tick( *samples ) - *samples ) + *samples; +00136 } +00137 +00138 lastFrame_[0] = *(samples-hop); +00139 lastFrame_[1] = *(samples-hop+1); +00140 return frames; +00141 } +00142 +00143 inline StkFrames& Chorus :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00144 { +00145 #if defined(_STK_DEBUG_) +00146 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() - 1 ) { +00147 errorString_ << "Chorus::tick(): channel and StkFrames arguments are incompatible!"; +00148 handleError( StkError::FUNCTION_ARGUMENT ); +00149 } +00150 #endif +00151 +00152 StkFloat *iSamples = &iFrames[iChannel]; +00153 StkFloat *oSamples = &oFrames[oChannel]; +00154 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00155 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00156 *oSamples++ = effectMix_ * ( delayLine_[0].tick( *iSamples ) - *iSamples ) + *iSamples; +00157 *oSamples = effectMix_ * ( delayLine_[1].tick( *iSamples ) - *iSamples ) + *iSamples; +00158 } +00159 +00160 lastFrame_[0] = *(oSamples-oHop); +00161 lastFrame_[1] = *(oSamples-oHop+1); +00162 return iFrames; +00163 } +00164 +00165 } // stk namespace +00166 +00167 #endif +00168 +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Clarinet_8h-source.html b/doc/html/Clarinet_8h-source.html index 1b14f42..01bc30e 100644 --- a/doc/html/Clarinet_8h-source.html +++ b/doc/html/Clarinet_8h-source.html @@ -8,68 +8,99 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Clarinet.h

00001 /***************************************************/
-00023 /***************************************************/
-00024 
-00025 #ifndef STK_CLARINET_H
-00026 #define STK_CLARINET_H
-00027 
-00028 #include "Instrmnt.h"
-00029 #include "DelayL.h"
-00030 #include "ReedTable.h"
-00031 #include "OneZero.h"
-00032 #include "Envelope.h"
-00033 #include "Noise.h"
-00034 #include "SineWave.h"
-00035 
-00036 class Clarinet : public Instrmnt
-00037 {
-00038  public:
-00040 
-00043   Clarinet(StkFloat lowestFrequency);
-00044 
-00046   ~Clarinet();
-00047 
-00049   void clear();
-00050 
-00052   void setFrequency(StkFloat frequency);
-00053 
-00055   void startBlowing(StkFloat amplitude, StkFloat rate);
-00056 
-00058   void stopBlowing(StkFloat rate);
-00059 
-00061   void noteOn(StkFloat frequency, StkFloat amplitude);
-00062 
-00064   void noteOff(StkFloat amplitude);
-00065 
-00067   void controlChange(int number, StkFloat value);
-00068 
-00069  protected:
+
+  
+
+

Clarinet.h

00001 #ifndef STK_CLARINET_H
+00002 #define STK_CLARINET_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayL.h"
+00006 #include "ReedTable.h"
+00007 #include "OneZero.h"
+00008 #include "Envelope.h"
+00009 #include "Noise.h"
+00010 #include "SineWave.h"
+00011 
+00012 namespace stk {
+00013 
+00014 /***************************************************/
+00036 /***************************************************/
+00037 
+00038 class Clarinet : public Instrmnt
+00039 {
+00040  public:
+00042 
+00045   Clarinet( StkFloat lowestFrequency );
+00046 
+00048   ~Clarinet( void );
+00049 
+00051   void clear( void );
+00052 
+00054   void setFrequency( StkFloat frequency );
+00055 
+00057   void startBlowing( StkFloat amplitude, StkFloat rate );
+00058 
+00060   void stopBlowing( StkFloat rate );
+00061 
+00063   void noteOn( StkFloat frequency, StkFloat amplitude );
+00064 
+00066   void noteOff( StkFloat amplitude );
+00067 
+00069   void controlChange( int number, StkFloat value );
 00070 
-00071   StkFloat computeSample( void );
-00072 
-00073   DelayL delayLine_;
-00074   ReedTable reedTable_;
-00075   OneZero filter_;
-00076   Envelope envelope_;
-00077   Noise noise_;
-00078   SineWave vibrato_;
-00079   long length_;
-00080   StkFloat outputGain_;
-00081   StkFloat noiseGain_;
-00082   StkFloat vibratoGain_;
-00083 
-00084 };
-00085 
-00086 #endif
-

+00072 StkFloat tick( unsigned int channel = 0 ); +00073 +00074 protected: +00075 +00076 DelayL delayLine_; +00077 ReedTable reedTable_; +00078 OneZero filter_; +00079 Envelope envelope_; +00080 Noise noise_; +00081 SineWave vibrato_; +00082 long length_; +00083 StkFloat outputGain_; +00084 StkFloat noiseGain_; +00085 StkFloat vibratoGain_; +00086 +00087 }; +00088 +00089 inline StkFloat Clarinet :: tick( unsigned int ) +00090 { +00091 StkFloat pressureDiff; +00092 StkFloat breathPressure; +00093 +00094 // Calculate the breath pressure (envelope + noise + vibrato) +00095 breathPressure = envelope_.tick(); +00096 breathPressure += breathPressure * noiseGain_ * noise_.tick(); +00097 breathPressure += breathPressure * vibratoGain_ * vibrato_.tick(); +00098 +00099 // Perform commuted loss filtering. +00100 pressureDiff = -0.95 * filter_.tick( delayLine_.lastOut() ); +00101 +00102 // Calculate pressure difference of reflected and mouthpiece pressures. +00103 pressureDiff = pressureDiff - breathPressure; +00104 +00105 // Perform non-linear scattering using pressure difference in reed function. +00106 lastFrame_[0] = delayLine_.tick(breathPressure + pressureDiff * reedTable_.tick(pressureDiff)); +00107 +00108 // Apply output gain. +00109 lastFrame_[0] *= outputGain_; +00110 +00111 return lastFrame_[0]; +00112 } +00113 +00114 } // stk namespace +00115 +00116 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/DelayA_8h-source.html b/doc/html/DelayA_8h-source.html index ea7acfd..87e688e 100644 --- a/doc/html/DelayA_8h-source.html +++ b/doc/html/DelayA_8h-source.html @@ -8,55 +8,156 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

DelayA.h

00001 /***************************************************/
-00020 /***************************************************/
-00021 
-00022 #ifndef STK_DELAYA_H
-00023 #define STK_DELAYA_H
-00024 
-00025 #include "Delay.h"
-00026 
-00027 class DelayA : public Delay
-00028 {
-00029 public:
-00030 
-00032   DelayA();
+
+  
+
+

DelayA.h

00001 #ifndef STK_DELAYA_H
+00002 #define STK_DELAYA_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00026 /***************************************************/
+00027 
+00028 class DelayA : public Filter
+00029 {
+00030 public:
+00031 
 00033 
-00035 
-00040   DelayA(StkFloat delay, unsigned long maxDelay);
-00041 
-00043   ~DelayA();
-00044 
-00046   void clear();
+00038   DelayA( StkFloat delay = 0.5, unsigned long maxDelay = 4095 );
+00039 
+00041   ~DelayA();
+00042 
+00044   void clear( void );
+00045   
 00047 
-00049 
-00052   void setDelay(StkFloat delay);
-00053 
-00055   StkFloat getDelay(void) const;
-00056 
-00058 
-00061   StkFloat nextOut(void);
-00062 
-00063 protected:  
+00054   void setMaximumDelay( unsigned long delay );
+00055 
+00057 
+00060   void setDelay( StkFloat delay );
+00061 
+00063   StkFloat getDelay( void ) const { return delay_; };
 00064 
-00065   StkFloat computeSample( StkFloat input );
 00066 
-00067   StkFloat alpha_;
-00068   StkFloat coeff_;
-00069   StkFloat apInput_;
-00070   StkFloat nextOutput_;
-00071   bool doNextOut_;
-00072 };
-00073 
-00074 #endif
-

+00071 StkFloat contentsAt( unsigned long tapDelay ); +00072 +00074 StkFloat lastOut( void ) const { return lastFrame_[0]; }; +00075 +00077 +00080 StkFloat nextOut( void ); +00081 +00083 StkFloat tick( StkFloat input ); +00084 +00086 +00094 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00095 +00097 +00105 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00106 +00107 protected: +00108 +00109 unsigned long inPoint_; +00110 unsigned long outPoint_; +00111 StkFloat delay_; +00112 StkFloat alpha_; +00113 StkFloat coeff_; +00114 StkFloat apInput_; +00115 StkFloat nextOutput_; +00116 bool doNextOut_; +00117 }; +00118 +00119 inline StkFloat DelayA :: nextOut( void ) +00120 { +00121 if ( doNextOut_ ) { +00122 // Do allpass interpolation delay. +00123 nextOutput_ = -coeff_ * lastFrame_[0]; +00124 nextOutput_ += apInput_ + ( coeff_ * inputs_[outPoint_] ); +00125 doNextOut_ = false; +00126 } +00127 +00128 return nextOutput_; +00129 } +00130 +00131 inline StkFloat DelayA :: tick( StkFloat input ) +00132 { +00133 inputs_[inPoint_++] = input * gain_; +00134 +00135 // Increment input pointer modulo length. +00136 if ( inPoint_ == inputs_.size() ) +00137 inPoint_ = 0; +00138 +00139 lastFrame_[0] = nextOut(); +00140 doNextOut_ = true; +00141 +00142 // Save the allpass input and increment modulo length. +00143 apInput_ = inputs_[outPoint_++]; +00144 if ( outPoint_ == inputs_.size() ) +00145 outPoint_ = 0; +00146 +00147 return lastFrame_[0]; +00148 } +00149 +00150 inline StkFrames& DelayA :: tick( StkFrames& frames, unsigned int channel ) +00151 { +00152 #if defined(_STK_DEBUG_) +00153 if ( channel >= frames.channels() ) { +00154 errorString_ << "DelayA::tick(): channel and StkFrames arguments are incompatible!"; +00155 handleError( StkError::FUNCTION_ARGUMENT ); +00156 } +00157 #endif +00158 +00159 StkFloat *samples = &frames[channel]; +00160 unsigned int hop = frames.channels(); +00161 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00162 inputs_[inPoint_++] = *samples * gain_; +00163 if ( inPoint_ == inputs_.size() ) inPoint_ = 0; +00164 *samples = nextOut(); +00165 lastFrame_[0] = *samples; +00166 doNextOut_ = true; +00167 apInput_ = inputs_[outPoint_++]; +00168 if ( outPoint_ == inputs_.size() ) outPoint_ = 0; +00169 } +00170 +00171 return frames; +00172 } +00173 +00174 inline StkFrames& DelayA :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00175 { +00176 #if defined(_STK_DEBUG_) +00177 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00178 errorString_ << "DelayA::tick(): channel and StkFrames arguments are incompatible!"; +00179 handleError( StkError::FUNCTION_ARGUMENT ); +00180 } +00181 #endif +00182 +00183 StkFloat *iSamples = &iFrames[iChannel]; +00184 StkFloat *oSamples = &oFrames[oChannel]; +00185 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00186 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00187 inputs_[inPoint_++] = *iSamples * gain_; +00188 if ( inPoint_ == inputs_.size() ) inPoint_ = 0; +00189 *oSamples = nextOut(); +00190 lastFrame_[0] = *oSamples; +00191 doNextOut_ = true; +00192 apInput_ = inputs_[outPoint_++]; +00193 if ( outPoint_ == inputs_.size() ) outPoint_ = 0; +00194 } +00195 +00196 return iFrames; +00197 } +00198 +00199 } // stk namespace +00200 +00201 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/DelayL_8h-source.html b/doc/html/DelayL_8h-source.html index 4d1782b..af90b56 100644 --- a/doc/html/DelayL_8h-source.html +++ b/doc/html/DelayL_8h-source.html @@ -8,52 +8,154 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

DelayL.h

00001 /***************************************************/
-00023 /***************************************************/
-00024 
-00025 #ifndef STK_DELAYL_H
-00026 #define STK_DELAYL_H
-00027 
-00028 #include "Delay.h"
-00029 
-00030 class DelayL : public Delay
-00031 {
-00032 public:
-00033 
-00035   DelayL();
-00036 
+
+  
+
+

DelayL.h

00001 #ifndef STK_DELAYL_H
+00002 #define STK_DELAYL_H
+00003 
+00004 #include "Delay.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00025 /***************************************************/
+00026 
+00027 class DelayL : public Filter
+00028 {
+00029 public:
+00030 
+00032 
+00037   DelayL( StkFloat delay = 0.0, unsigned long maxDelay = 4095 );
 00038 
-00043   DelayL(StkFloat delay, unsigned long maxDelay);
-00044 
-00046   ~DelayL();
-00047 
-00049 
-00052   void setDelay(StkFloat delay);
+00040   ~DelayL();
+00041 
+00043 
+00050   void setMaximumDelay( unsigned long delay );
+00051 
 00053 
-00055   StkFloat getDelay(void) const;
-00056 
-00058 
-00061   StkFloat nextOut(void);
+00056   void setDelay( StkFloat delay );
+00057 
+00059   StkFloat getDelay( void ) const { return delay_; };
+00060 
 00062 
-00063  protected:
-00064 
-00065   StkFloat computeSample( StkFloat input );
-00066 
-00067   StkFloat alpha_;
-00068   StkFloat omAlpha_;
-00069   StkFloat nextOutput_;
-00070   bool doNextOut_;
-00071 };
-00072 
-00073 #endif
-

+00067 StkFloat contentsAt( unsigned long tapDelay ); +00068 +00070 StkFloat lastOut( void ) const { return lastFrame_[0]; }; +00071 +00073 +00076 StkFloat nextOut( void ); +00077 +00079 StkFloat tick( StkFloat input ); +00080 +00082 +00090 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00091 +00093 +00101 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00102 +00103 protected: +00104 +00105 unsigned long inPoint_; +00106 unsigned long outPoint_; +00107 StkFloat delay_; +00108 StkFloat alpha_; +00109 StkFloat omAlpha_; +00110 StkFloat nextOutput_; +00111 bool doNextOut_; +00112 }; +00113 +00114 inline StkFloat DelayL :: nextOut( void ) +00115 { +00116 if ( doNextOut_ ) { +00117 // First 1/2 of interpolation +00118 nextOutput_ = inputs_[outPoint_] * omAlpha_; +00119 // Second 1/2 of interpolation +00120 if (outPoint_+1 < inputs_.size()) +00121 nextOutput_ += inputs_[outPoint_+1] * alpha_; +00122 else +00123 nextOutput_ += inputs_[0] * alpha_; +00124 doNextOut_ = false; +00125 } +00126 +00127 return nextOutput_; +00128 } +00129 +00130 inline StkFloat DelayL :: tick( StkFloat input ) +00131 { +00132 inputs_[inPoint_++] = input * gain_; +00133 +00134 // Increment input pointer modulo length. +00135 if ( inPoint_ == inputs_.size() ) +00136 inPoint_ = 0; +00137 +00138 lastFrame_[0] = nextOut(); +00139 doNextOut_ = true; +00140 +00141 // Increment output pointer modulo length. +00142 if ( ++outPoint_ == inputs_.size() ) +00143 outPoint_ = 0; +00144 +00145 return lastFrame_[0]; +00146 } +00147 +00148 inline StkFrames& DelayL :: tick( StkFrames& frames, unsigned int channel ) +00149 { +00150 #if defined(_STK_DEBUG_) +00151 if ( channel >= frames.channels() ) { +00152 errorString_ << "DelayL::tick(): channel and StkFrames arguments are incompatible!"; +00153 handleError( StkError::FUNCTION_ARGUMENT ); +00154 } +00155 #endif +00156 +00157 StkFloat *samples = &frames[channel]; +00158 unsigned int hop = frames.channels(); +00159 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00160 inputs_[inPoint_++] = *samples * gain_; +00161 if ( inPoint_ == inputs_.size() ) inPoint_ = 0; +00162 *samples = nextOut(); +00163 doNextOut_ = true; +00164 if ( ++outPoint_ == inputs_.size() ) outPoint_ = 0; +00165 } +00166 +00167 lastFrame_[0] = *(samples-hop); +00168 return frames; +00169 } +00170 +00171 inline StkFrames& DelayL :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00172 { +00173 #if defined(_STK_DEBUG_) +00174 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00175 errorString_ << "DelayL::tick(): channel and StkFrames arguments are incompatible!"; +00176 handleError( StkError::FUNCTION_ARGUMENT ); +00177 } +00178 #endif +00179 +00180 StkFloat *iSamples = &iFrames[iChannel]; +00181 StkFloat *oSamples = &oFrames[oChannel]; +00182 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00183 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00184 inputs_[inPoint_++] = *iSamples * gain_; +00185 if ( inPoint_ == inputs_.size() ) inPoint_ = 0; +00186 *oSamples = nextOut(); +00187 doNextOut_ = true; +00188 if ( ++outPoint_ == inputs_.size() ) outPoint_ = 0; +00189 } +00190 +00191 lastFrame_[0] = *(oSamples-oHop); +00192 return iFrames; +00193 } +00194 +00195 } // stk namespace +00196 +00197 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Delay_8h-source.html b/doc/html/Delay_8h-source.html index 45fe41c..3c02e82 100644 --- a/doc/html/Delay_8h-source.html +++ b/doc/html/Delay_8h-source.html @@ -8,71 +8,133 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Delay.h

00001 /***************************************************/
-00019 /***************************************************/
-00020 
-00021 #ifndef STK_DELAY_H
-00022 #define STK_DELAY_H
-00023 
-00024 #include "Filter.h"
-00025 
-00026 class Delay : protected Filter
-00027 {
-00028 public:
+
+  
+
+

Delay.h

00001 #ifndef STK_DELAY_H
+00002 #define STK_DELAY_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00022 /***************************************************/
+00023 
+00024 class Delay : public Filter
+00025 {
+00026 public:
+00027 
 00029 
-00031   Delay();
-00032 
-00034 
-00039   Delay(unsigned long delay, unsigned long maxDelay);
+00034   Delay( unsigned long delay = 0, unsigned long maxDelay = 4095 );
+00035 
+00037   ~Delay();
+00038 
 00040 
-00042   virtual ~Delay();
-00043 
-00045   void clear();
-00046 
+00047   void setMaximumDelay( unsigned long delay );
 00048 
-00055   void setMaximumDelay(unsigned long delay);
-00056 
-00058 
-00061   void setDelay(unsigned long delay);
-00062 
-00064   unsigned long getDelay(void) const;
+00050 
+00053   void setDelay( unsigned long delay );
+00054 
+00056   unsigned long getDelay( void ) const { return delay_; };
+00057 
+00059 
+00064   StkFloat contentsAt( unsigned long tapDelay );
 00065 
-00067   StkFloat energy(void) const;
+00067   StkFloat lastOut( void ) const { return lastFrame_[0]; };
 00068 
 00070 
-00075   StkFloat contentsAt(unsigned long tapDelay);
-00076 
-00078   StkFloat lastOut(void) const;
-00079 
-00081 
-00084   virtual StkFloat nextOut(void);
-00085 
-00087   virtual StkFloat tick(StkFloat sample);
-00088 
-00090 
-00096   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
-00097 
-00098 protected:
-00099 
-00100   // This function must be implemented in all subclasses. It is used
-00101   // to get around a C++ problem with overloaded virtual functions.
-00102   virtual StkFloat computeSample( StkFloat input );
-00103 
-00104   unsigned long inPoint_;
-00105   unsigned long outPoint_;
-00106   StkFloat delay_;
-00107 };
-00108 
-00109 #endif
-00110 
-

+00073 StkFloat nextOut( void ) { return inputs_[outPoint_]; }; +00074 +00076 StkFloat energy( void ) const; +00077 +00079 StkFloat tick( StkFloat input ); +00080 +00082 +00090 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00091 +00093 +00101 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00102 +00103 protected: +00104 +00105 unsigned long inPoint_; +00106 unsigned long outPoint_; +00107 unsigned long delay_; +00108 }; +00109 +00110 inline StkFloat Delay :: tick( StkFloat input ) +00111 { +00112 inputs_[inPoint_++] = input * gain_; +00113 +00114 // Check for end condition +00115 if ( inPoint_ == inputs_.size() ) +00116 inPoint_ = 0; +00117 +00118 // Read out next value +00119 lastFrame_[0] = inputs_[outPoint_++]; +00120 +00121 if ( outPoint_ == inputs_.size() ) +00122 outPoint_ = 0; +00123 +00124 return lastFrame_[0]; +00125 } +00126 +00127 inline StkFrames& Delay :: tick( StkFrames& frames, unsigned int channel ) +00128 { +00129 #if defined(_STK_DEBUG_) +00130 if ( channel >= frames.channels() ) { +00131 errorString_ << "Delay::tick(): channel and StkFrames arguments are incompatible!"; +00132 handleError( StkError::FUNCTION_ARGUMENT ); +00133 } +00134 #endif +00135 +00136 StkFloat *samples = &frames[channel]; +00137 unsigned int hop = frames.channels(); +00138 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00139 inputs_[inPoint_++] = *samples * gain_; +00140 if ( inPoint_ == inputs_.size() ) inPoint_ = 0; +00141 *samples = inputs_[outPoint_++]; +00142 if ( outPoint_ == inputs_.size() ) outPoint_ = 0; +00143 } +00144 +00145 lastFrame_[0] = *(samples-hop); +00146 return frames; +00147 } +00148 +00149 inline StkFrames& Delay :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00150 { +00151 #if defined(_STK_DEBUG_) +00152 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00153 errorString_ << "Delay::tick(): channel and StkFrames arguments are incompatible!"; +00154 handleError( StkError::FUNCTION_ARGUMENT ); +00155 } +00156 #endif +00157 +00158 StkFloat *iSamples = &iFrames[iChannel]; +00159 StkFloat *oSamples = &oFrames[oChannel]; +00160 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00161 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00162 inputs_[inPoint_++] = *iSamples * gain_; +00163 if ( inPoint_ == inputs_.size() ) inPoint_ = 0; +00164 *oSamples = inputs_[outPoint_++]; +00165 if ( outPoint_ == inputs_.size() ) outPoint_ = 0; +00166 } +00167 +00168 lastFrame_[0] = *(oSamples-oHop); +00169 return iFrames; +00170 } +00171 +00172 } // stk namespace +00173 +00174 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Drummer_8h-source.html b/doc/html/Drummer_8h-source.html index 2881cec..f0fa277 100644 --- a/doc/html/Drummer_8h-source.html +++ b/doc/html/Drummer_8h-source.html @@ -8,52 +8,82 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Drummer.h

00001 /***************************************************/
-00016 /***************************************************/
-00017 
-00018 #ifndef STK_DRUMMER_H
-00019 #define STK_DRUMMER_H
-00020 
-00021 #include "Instrmnt.h"
-00022 #include "FileWvIn.h"
-00023 #include "OnePole.h"
-00024 
-00025 const int DRUM_NUMWAVES = 11;
-00026 const int DRUM_POLYPHONY = 4;
-00027 
-00028 class Drummer : public Instrmnt
-00029 {
-00030  public:
-00032 
-00035   Drummer();
-00036 
-00038   ~Drummer();
-00039 
+
+  
+
+

Drummer.h

00001 #ifndef STK_DRUMMER_H
+00002 #define STK_DRUMMER_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "FileWvIn.h"
+00006 #include "OnePole.h"
+00007 
+00008 namespace stk {
+00009 
+00010 /***************************************************/
+00025 /***************************************************/
+00026 
+00027 const int DRUM_NUMWAVES = 11;
+00028 const int DRUM_POLYPHONY = 4;
+00029 
+00030 class Drummer : public Instrmnt
+00031 {
+00032  public:
+00034 
+00037   Drummer( void );
+00038 
+00040   ~Drummer( void );
 00041 
-00047   void noteOn(StkFloat instrument, StkFloat amplitude);
-00048 
-00050   void noteOff(StkFloat amplitude);
-00051 
-00052  protected:
+00043 
+00049   void noteOn( StkFloat instrument, StkFloat amplitude );
+00050 
+00052   void noteOff( StkFloat amplitude );
 00053 
-00054   StkFloat computeSample( void );
-00055 
-00056   FileWvIn waves_[DRUM_POLYPHONY];
-00057   OnePole  filters_[DRUM_POLYPHONY];
-00058   std::vector<int> soundOrder_;
-00059   std::vector<int> soundNumber_;
-00060   int      nSounding_;
-00061 };
-00062 
-00063 #endif
-

+00055 StkFloat tick( unsigned int channel = 0 ); +00056 +00057 protected: +00058 +00059 FileWvIn waves_[DRUM_POLYPHONY]; +00060 OnePole filters_[DRUM_POLYPHONY]; +00061 std::vector<int> soundOrder_; +00062 std::vector<int> soundNumber_; +00063 int nSounding_; +00064 }; +00065 +00066 inline StkFloat Drummer :: tick( unsigned int ) +00067 { +00068 lastFrame_[0] = 0.0; +00069 if ( nSounding_ == 0 ) return lastFrame_[0]; +00070 +00071 for ( int i=0; i<DRUM_POLYPHONY; i++ ) { +00072 if ( soundOrder_[i] >= 0 ) { +00073 if ( waves_[i].isFinished() ) { +00074 // Re-order the list. +00075 for ( int j=0; j<DRUM_POLYPHONY; j++ ) { +00076 if ( soundOrder_[j] > soundOrder_[i] ) +00077 soundOrder_[j] -= 1; +00078 } +00079 soundOrder_[i] = -1; +00080 nSounding_--; +00081 } +00082 else +00083 lastFrame_[0] += filters_[i].tick( waves_[i].tick() ); +00084 } +00085 } +00086 +00087 return lastFrame_[0]; +00088 } +00089 +00090 } // stk namespace +00091 +00092 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Echo_8h-source.html b/doc/html/Echo_8h-source.html index f64f538..ae20f14 100644 --- a/doc/html/Echo_8h-source.html +++ b/doc/html/Echo_8h-source.html @@ -8,48 +8,105 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Echo.h

00001 /***************************************************/
+
+  
+
+

Echo.h

00001 #ifndef STK_ECHO_H
+00002 #define STK_ECHO_H
+00003 
+00004 #include "Effect.h" 
+00005 #include "Delay.h" 
+00006 
+00007 namespace stk {
+00008 
 00009 /***************************************************/
-00010 
-00011 #ifndef STK_ECHO_H
-00012 #define STK_ECHO_H
-00013 
-00014 #include "Effect.h" 
-00015 #include "Delay.h" 
-00016 
-00017 class Echo : public Effect
-00018 {
-00019  public:
-00021 
-00024   Echo( unsigned long maximumDelay = (unsigned long) Stk::sampleRate() );
-00025 
-00027   ~Echo();
-00028 
-00030   void clear();
-00031 
-00033   void setMaximumDelay( unsigned long delay );
-00034 
-00036   void setDelay( unsigned long delay );
-00037 
-00038  protected:
+00017 /***************************************************/
+00018 
+00019 class Echo : public Effect
+00020 {
+00021  public:
+00023 
+00026   Echo( unsigned long maximumDelay = (unsigned long) Stk::sampleRate() );
+00027 
+00029   void clear();
+00030 
+00032   void setMaximumDelay( unsigned long delay );
+00033 
+00035   void setDelay( unsigned long delay );
+00036 
+00038   StkFloat lastOut( void ) const { return lastFrame_[0]; };
 00039 
-00040   StkFloat computeSample( StkFloat input );
-00041 
-00042   Delay delayLine_;
-00043   unsigned long length_;
+00041   StkFloat tick( StkFloat input );
+00042 
 00044 
-00045 };
-00046 
-00047 #endif
-00048 
-

+00052 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00053 +00055 +00063 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00064 +00065 protected: +00066 +00067 Delay delayLine_; +00068 unsigned long length_; +00069 +00070 }; +00071 +00072 inline StkFloat Echo :: tick( StkFloat input ) +00073 { +00074 lastFrame_[0] = effectMix_ * ( delayLine_.tick( input ) - input ) + input; +00075 return lastFrame_[0]; +00076 } +00077 +00078 inline StkFrames& Echo :: tick( StkFrames& frames, unsigned int channel ) +00079 { +00080 #if defined(_STK_DEBUG_) +00081 if ( channel >= frames.channels() ) { +00082 errorString_ << "Echo::tick(): channel and StkFrames arguments are incompatible!"; +00083 handleError( StkError::FUNCTION_ARGUMENT ); +00084 } +00085 #endif +00086 +00087 StkFloat *samples = &frames[channel]; +00088 unsigned int hop = frames.channels(); +00089 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00090 *samples = effectMix_ * ( delayLine_.tick( *samples ) - *samples ) + *samples; +00091 } +00092 +00093 lastFrame_[0] = *(samples-hop); +00094 return frames; +00095 } +00096 +00097 inline StkFrames& Echo :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00098 { +00099 #if defined(_STK_DEBUG_) +00100 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00101 errorString_ << "Echo::tick(): channel and StkFrames arguments are incompatible!"; +00102 handleError( StkError::FUNCTION_ARGUMENT ); +00103 } +00104 #endif +00105 +00106 StkFloat *iSamples = &iFrames[iChannel]; +00107 StkFloat *oSamples = &oFrames[oChannel]; +00108 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00109 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00110 *oSamples = effectMix_ * ( delayLine_.tick( *iSamples ) - *iSamples ) + *iSamples; +00111 } +00112 +00113 lastFrame_[0] = *(oSamples-oHop); +00114 return iFrames; +00115 } +00116 +00117 } // stk namespace +00118 +00119 #endif +00120 +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Effect_8h-source.html b/doc/html/Effect_8h-source.html index 9bd90ab..427e23c 100644 --- a/doc/html/Effect_8h-source.html +++ b/doc/html/Effect_8h-source.html @@ -8,61 +8,81 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Effect.h

00001 /***************************************************/
-00010 /***************************************************/
-00011 
-00012 #include "Stk.h"
-00013 
-00014 #ifndef STK_EFFECT_H
-00015 #define STK_EFFECT_H
-00016 
-00017 class Effect : public Stk
-00018 {
-00019  public:
-00021   Effect();
-00022 
-00024   virtual ~Effect();
-00025 
-00027   virtual void clear() = 0;
-00028 
-00030   void setEffectMix(StkFloat mix);
-00031 
-00033   StkFloat lastOut() const;
-00034 
-00036   StkFloat lastOutLeft() const;
-00037 
-00039   StkFloat lastOutRight() const;
+
+  
+
+

Effect.h

00001 #ifndef STK_EFFECT_H
+00002 #define STK_EFFECT_H
+00003 
+00004 #include "Stk.h"
+00005 #include <cmath>
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00019 /***************************************************/
+00020 
+00021 class Effect : public Stk
+00022 {
+00023  public:
+00025   Effect( void ) { lastFrame_.resize( 1, 1, 0.0 ); };
+00026 
+00028   unsigned int channelsOut( void ) const { return lastFrame_.channels(); };
+00029 
+00031   const StkFrames& lastFrame( void ) const { return lastFrame_; };
+00032 
+00034   virtual void clear() = 0;
+00035 
+00037   void setEffectMix( StkFloat mix );
+00038 
+00039  protected:
 00040 
-00042   StkFloat tick( StkFloat input );
+00041   // Returns true if argument value is prime.
+00042   bool isPrime( unsigned int number );
 00043 
-00045 
-00051   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
-00052 
-00053  protected:
-00054 
-00055   // This abstract function must be implemented in all subclasses.
-00056   // It is used to get around a C++ problem with overloaded virtual
-00057   // functions.
-00058   virtual StkFloat computeSample( StkFloat input ) = 0;
-00059 
-00060   // Returns true if argument value is prime.
-00061   bool isPrime( int number );
-00062 
-00063   StkFloat lastOutput_[2];
-00064   StkFloat effectMix_;
-00065 
-00066 };
-00067 
-00068 #endif
-00069 
-

+00044 StkFrames lastFrame_; +00045 StkFloat effectMix_; +00046 +00047 }; +00048 +00049 inline void Effect :: setEffectMix( StkFloat mix ) +00050 { +00051 if ( mix < 0.0 ) { +00052 errorString_ << "Effect::setEffectMix: mix parameter is less than zero ... setting to zero!"; +00053 handleError( StkError::WARNING ); +00054 effectMix_ = 0.0; +00055 } +00056 else if ( mix > 1.0 ) { +00057 errorString_ << "Effect::setEffectMix: mix parameter is greater than 1.0 ... setting to one!"; +00058 handleError( StkError::WARNING ); +00059 effectMix_ = 1.0; +00060 } +00061 else +00062 effectMix_ = mix; +00063 } +00064 +00065 inline bool Effect :: isPrime( unsigned int number ) +00066 { +00067 if ( number == 2 ) return true; +00068 if ( number & 1 ) { +00069 for ( int i=3; i<(int)sqrt((double)number)+1; i+=2 ) +00070 if ( (number % i) == 0 ) return false; +00071 return true; // prime +00072 } +00073 else return false; // even +00074 } +00075 +00076 } // stk namespace +00077 +00078 #endif +00079 +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Envelope_8h-source.html b/doc/html/Envelope_8h-source.html index f4f5408..48c1026 100644 --- a/doc/html/Envelope_8h-source.html +++ b/doc/html/Envelope_8h-source.html @@ -8,60 +8,149 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Envelope.h

00001 /***************************************************/
-00014 /***************************************************/
-00015 
-00016 #ifndef STK_ENVELOPE_H
-00017 #define STK_ENVELOPE_H
-00018 
-00019 #include "Generator.h"
+
+  
+
+

Envelope.h

00001 #ifndef STK_ENVELOPE_H
+00002 #define STK_ENVELOPE_H
+00003 
+00004 #include "Generator.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00019 /***************************************************/
 00020 
-00021 class Envelope : public Generator
+00021 class Envelope : public Generator
 00022 {
 00023  public:
 00024 
-00026   Envelope(void);
+00026   Envelope( void );
 00027 
-00029   Envelope( const Envelope& e );
+00029   ~Envelope( void );
 00030 
-00032   virtual ~Envelope(void);
+00032   Envelope& operator= ( const Envelope& e );
 00033 
-00035   Envelope& operator= ( const Envelope& e );
+00035   void keyOn( void ) { this->setTarget( 1.0 ); };
 00036 
-00038   virtual void keyOn(void);
+00038   void keyOff( void ) { this->setTarget( 0.0 ); };
 00039 
-00041   virtual void keyOff(void);
+00041   void setRate( StkFloat rate );
 00042 
-00044   void setRate(StkFloat rate);
+00044   void setTime( StkFloat time );
 00045 
-00047   void setTime(StkFloat time);
+00047   void setTarget( StkFloat target );
 00048 
-00050   virtual void setTarget(StkFloat target);
+00050   void setValue( StkFloat value );
 00051 
-00053   virtual void setValue(StkFloat value);
+00053   int getState( void ) const { return state_; };
 00054 
-00056   virtual int getState(void) const;
+00056   StkFloat lastOut( void ) const { return lastFrame_[0]; };
 00057 
-00058  protected:
-00059 
-00060   virtual StkFloat computeSample( void );
-00061   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+00059   StkFloat tick( void );
+00060 
 00062 
-00063   StkFloat value_;
-00064   StkFloat target_;
-00065   StkFloat rate_;
-00066   int state_;
-00067 };
-00068 
-00069 #endif
-

+00069 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00070 +00071 protected: +00072 +00073 void sampleRateChanged( StkFloat newRate, StkFloat oldRate ); +00074 +00075 StkFloat value_; +00076 StkFloat target_; +00077 StkFloat rate_; +00078 int state_; +00079 }; +00080 +00081 inline void Envelope :: setRate( StkFloat rate ) +00082 { +00083 #if defined(_STK_DEBUG_) +00084 if ( rate < 0.0 ) { +00085 errorString_ << "Envelope::setRate: negative rates not allowed ... correcting!"; +00086 handleError( StkError::WARNING ); +00087 rate_ = -rate; +00088 } +00089 else +00090 #endif +00091 rate_ = rate; +00092 } +00093 +00094 inline void Envelope :: setTime( StkFloat time ) +00095 { +00096 #if defined(_STK_DEBUG_) +00097 if ( time < 0.0 ) { +00098 errorString_ << "Envelope::setTime: negative times not allowed ... correcting!"; +00099 handleError( StkError::WARNING ); +00100 rate_ = 1.0 / ( -time * Stk::sampleRate() ); +00101 } +00102 else +00103 #endif +00104 rate_ = 1.0 / ( time * Stk::sampleRate() ); +00105 } +00106 +00107 inline void Envelope :: setTarget( StkFloat target ) +00108 { +00109 target_ = target; +00110 if ( value_ != target_ ) state_ = 1; +00111 } +00112 +00113 inline void Envelope :: setValue( StkFloat value ) +00114 { +00115 state_ = 0; +00116 target_ = value; +00117 value_ = value; +00118 } +00119 +00120 inline StkFloat Envelope :: tick( void ) +00121 { +00122 if ( state_ ) { +00123 if ( target_ > value_ ) { +00124 value_ += rate_; +00125 if ( value_ >= target_ ) { +00126 value_ = target_; +00127 state_ = 0; +00128 } +00129 } +00130 else { +00131 value_ -= rate_; +00132 if ( value_ <= target_ ) { +00133 value_ = target_; +00134 state_ = 0; +00135 } +00136 } +00137 lastFrame_[0] = value_; +00138 } +00139 +00140 return value_; +00141 } +00142 +00143 inline StkFrames& Envelope :: tick( StkFrames& frames, unsigned int channel ) +00144 { +00145 #if defined(_STK_DEBUG_) +00146 if ( channel >= frames.channels() ) { +00147 errorString_ << "Envelope::tick(): channel and StkFrames arguments are incompatible!"; +00148 handleError( StkError::FUNCTION_ARGUMENT ); +00149 } +00150 #endif +00151 +00152 StkFloat *samples = &frames[channel]; +00153 unsigned int hop = frames.channels(); +00154 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) +00155 *samples = tick(); +00156 +00157 return frames; +00158 } +00159 +00160 } // stk namespace +00161 +00162 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FMVoices_8h-source.html b/doc/html/FMVoices_8h-source.html index 8f6501a..1d4f74f 100644 --- a/doc/html/FMVoices_8h-source.html +++ b/doc/html/FMVoices_8h-source.html @@ -8,46 +8,77 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

FMVoices.h

00001 /***************************************************/
-00031 /***************************************************/
-00032 
-00033 #ifndef STK_FMVOICES_H
-00034 #define STK_FMVOICES_H
-00035 
-00036 #include "FM.h"
-00037 
-00038 class FMVoices : public FM
-00039 {
-00040  public:
-00042 
-00045   FMVoices();
-00046 
-00048   ~FMVoices();
-00049 
-00051   virtual void setFrequency(StkFloat frequency);
-00052 
-00054   void noteOn(StkFloat frequency, StkFloat amplitude);
-00055 
-00057   virtual void controlChange(int number, StkFloat value);
-00058 
-00059  protected:
+
+  
+
+

FMVoices.h

00001 #ifndef STK_FMVOICES_H
+00002 #define STK_FMVOICES_H
+00003 
+00004 #include "FM.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00038 /***************************************************/
+00039 
+00040 class FMVoices : public FM
+00041 {
+00042  public:
+00044 
+00047   FMVoices( void );
+00048 
+00050   ~FMVoices( void );
+00051 
+00053   void setFrequency( StkFloat frequency );
+00054 
+00056   void noteOn( StkFloat frequency, StkFloat amplitude );
+00057 
+00059   void controlChange( int number, StkFloat value );
 00060 
-00061   StkFloat computeSample( void );
-00062 
-00063   int currentVowel_;
-00064   StkFloat tilt_[3];
-00065   StkFloat mods_[3];
-00066 };
-00067 
-00068 #endif
-

+00062 StkFloat tick( unsigned int channel = 0 ); +00063 +00064 protected: +00065 +00066 int currentVowel_; +00067 StkFloat tilt_[3]; +00068 StkFloat mods_[3]; +00069 }; +00070 +00071 inline StkFloat FMVoices :: tick( unsigned int ) +00072 { +00073 register StkFloat temp, temp2; +00074 +00075 temp = gains_[3] * adsr_[3]->tick() * waves_[3]->tick(); +00076 temp2 = vibrato_.tick() * modDepth_ * 0.1; +00077 +00078 waves_[0]->setFrequency(baseFrequency_ * (1.0 + temp2) * ratios_[0]); +00079 waves_[1]->setFrequency(baseFrequency_ * (1.0 + temp2) * ratios_[1]); +00080 waves_[2]->setFrequency(baseFrequency_ * (1.0 + temp2) * ratios_[2]); +00081 waves_[3]->setFrequency(baseFrequency_ * (1.0 + temp2) * ratios_[3]); +00082 +00083 waves_[0]->addPhaseOffset(temp * mods_[0]); +00084 waves_[1]->addPhaseOffset(temp * mods_[1]); +00085 waves_[2]->addPhaseOffset(temp * mods_[2]); +00086 waves_[3]->addPhaseOffset( twozero_.lastOut() ); +00087 twozero_.tick( temp ); +00088 temp = gains_[0] * tilt_[0] * adsr_[0]->tick() * waves_[0]->tick(); +00089 temp += gains_[1] * tilt_[1] * adsr_[1]->tick() * waves_[1]->tick(); +00090 temp += gains_[2] * tilt_[2] * adsr_[2]->tick() * waves_[2]->tick(); +00091 +00092 lastFrame_[0] = temp * 0.33; +00093 return lastFrame_[0]; +00094 } +00095 +00096 } // stk namespace +00097 +00098 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FM_8h-source.html b/doc/html/FM_8h-source.html index 0852cf7..73bbea3 100644 --- a/doc/html/FM_8h-source.html +++ b/doc/html/FM_8h-source.html @@ -8,82 +8,88 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

FM.h

00001 /***************************************************/
-00024 /***************************************************/
-00025 
-00026 #ifndef STK_FM_H
-00027 #define STK_FM_H
-00028 
-00029 #include "Instrmnt.h"
-00030 #include "ADSR.h"
-00031 #include "WaveLoop.h"
-00032 #include "SineWave.h"
-00033 #include "TwoZero.h"
-00034 
-00035 class FM : public Instrmnt
-00036 {
-00037  public:
-00039 
-00042   FM( unsigned int operators = 4 );
-00043 
-00045   virtual ~FM();
-00046 
-00048   void clear();
-00049 
-00051   void loadWaves(const char **filenames);
-00052 
-00054   virtual void setFrequency(StkFloat frequency);
-00055 
-00057   void setRatio(unsigned int waveIndex, StkFloat ratio);
-00058 
-00060   void setGain(unsigned int waveIndex, StkFloat gain);
-00061 
-00063   void setModulationSpeed(StkFloat mSpeed);
-00064 
-00066   void setModulationDepth(StkFloat mDepth);
-00067 
-00069   void setControl1(StkFloat cVal);
-00070 
-00072   void setControl2(StkFloat cVal);
-00073 
-00075   void keyOn();
-00076 
-00078   void keyOff();
-00079 
-00081   void noteOff(StkFloat amplitude);
-00082 
-00084   virtual void controlChange(int number, StkFloat value);
-00085 
-00086  protected:
+
+  
+
+

FM.h

00001 #ifndef STK_FM_H
+00002 #define STK_FM_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "ADSR.h"
+00006 #include "FileLoop.h"
+00007 #include "SineWave.h"
+00008 #include "TwoZero.h"
+00009 
+00010 namespace stk {
+00011 
+00012 /***************************************************/
+00035 /***************************************************/
+00036 
+00037 class FM : public Instrmnt
+00038 {
+00039  public:
+00041 
+00044   FM( unsigned int operators = 4 );
+00045 
+00047   virtual ~FM( void );
+00048 
+00050   void clear( void );
+00051 
+00053   void loadWaves( const char **filenames );
+00054 
+00056   virtual void setFrequency( StkFloat frequency );
+00057 
+00059   void setRatio( unsigned int waveIndex, StkFloat ratio );
+00060 
+00062   void setGain( unsigned int waveIndex, StkFloat gain );
+00063 
+00065   void setModulationSpeed( StkFloat mSpeed ) { vibrato_.setFrequency( mSpeed ); };
+00066 
+00068   void setModulationDepth( StkFloat mDepth ) { modDepth_ = mDepth; };
+00069 
+00071   void setControl1( StkFloat cVal ) { control1_ = cVal * 2.0; };
+00072 
+00074   void setControl2( StkFloat cVal ) { control2_ = cVal * 2.0; };
+00075 
+00077   void keyOn( void );
+00078 
+00080   void keyOff( void );
+00081 
+00083   void noteOff( StkFloat amplitude );
+00084 
+00086   virtual void controlChange( int number, StkFloat value );
 00087 
-00088   virtual StkFloat computeSample( void ) = 0;
-00089 
-00090   std::vector<ADSR *> adsr_; 
-00091   std::vector<WaveLoop *> waves_;
-00092   SineWave vibrato_;
-00093   TwoZero  twozero_;
-00094   unsigned int nOperators_;
-00095   StkFloat baseFrequency_;
-00096   std::vector<StkFloat> ratios_;
-00097   std::vector<StkFloat> gains_;
-00098   StkFloat modDepth_;
-00099   StkFloat control1_;
-00100   StkFloat control2_;
-00101   StkFloat fmGains_[100];
-00102   StkFloat fmSusLevels_[16];
-00103   StkFloat fmAttTimes_[32];
-00104 
-00105 };
-00106 
-00107 #endif
-

+00089 virtual StkFloat tick( unsigned int ) = 0; +00090 +00091 protected: +00092 +00093 std::vector<ADSR *> adsr_; +00094 std::vector<FileLoop *> waves_; +00095 SineWave vibrato_; +00096 TwoZero twozero_; +00097 unsigned int nOperators_; +00098 StkFloat baseFrequency_; +00099 std::vector<StkFloat> ratios_; +00100 std::vector<StkFloat> gains_; +00101 StkFloat modDepth_; +00102 StkFloat control1_; +00103 StkFloat control2_; +00104 StkFloat fmGains_[100]; +00105 StkFloat fmSusLevels_[16]; +00106 StkFloat fmAttTimes_[32]; +00107 +00108 }; +00109 +00110 } // stk namespace +00111 +00112 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FileLoop_8h-source.html b/doc/html/FileLoop_8h-source.html new file mode 100644 index 0000000..6b1c247 --- /dev/null +++ b/doc/html/FileLoop_8h-source.html @@ -0,0 +1,95 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

+
+ + +
+

FileLoop.h

00001 #ifndef STK_FILELOOP_H
+00002 #define STK_FILELOOP_H
+00003 
+00004 #include "FileWvIn.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00024 /***************************************************/
+00025 
+00026 class FileLoop : protected FileWvIn
+00027 {
+00028  public:
+00030   FileLoop( unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
+00031 
+00033   FileLoop( std::string fileName, bool raw = false, bool doNormalize = true,
+00034             unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
+00035 
+00037   ~FileLoop( void );
+00038 
+00040 
+00049   void openFile( std::string fileName, bool raw = false, bool doNormalize = true );
+00050 
+00052   void closeFile( void ) { FileWvIn::closeFile(); };
+00053 
+00055   void reset( void ) { FileWvIn::reset(); };
+00056 
+00058 
+00062   void normalize( void ) { FileWvIn::normalize( 1.0 ); };
+00063 
+00065 
+00069   void normalize( StkFloat peak ) { FileWvIn::normalize( peak ); };
+00070 
+00072   unsigned long getSize( void ) const { return data_.frames(); };
+00073 
+00075 
+00080   StkFloat getFileRate( void ) const { return data_.dataRate(); };
+00081 
+00083 
+00086   void setRate( StkFloat rate );
+00087 
+00089 
+00095   void setFrequency( StkFloat frequency ) { this->setRate( file_.fileSize() * frequency / Stk::sampleRate() ); };
+00096 
+00098   void addTime( StkFloat time );
+00099 
+00101 
+00106   void addPhase( StkFloat angle );
+00107 
+00109 
+00114   void addPhaseOffset( StkFloat angle );
+00115 
+00117 
+00126   StkFloat lastOut( unsigned int channel = 0 ) { return FileWvIn::lastOut( channel ); };
+00127 
+00129 
+00138   StkFloat tick( unsigned int channel = 0 );
+00139 
+00141 
+00150   StkFrames& tick( StkFrames& frames );
+00151 
+00152  protected:
+00153 
+00154   StkFrames firstFrame_;
+00155   StkFloat phaseOffset_;
+00156 
+00157 };
+00158 
+00159 } // stk namespace
+00160 
+00161 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/FileRead_8h-source.html b/doc/html/FileRead_8h-source.html index f66e42f..8c695e5 100644 --- a/doc/html/FileRead_8h-source.html +++ b/doc/html/FileRead_8h-source.html @@ -8,80 +8,86 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

FileRead.h

00001 /***************************************************/
-00030 /***************************************************/
-00031 
-00032 #ifndef STK_FILEREAD_H
-00033 #define STK_FILEREAD_H
-00034 
-00035 #include "Stk.h"
-00036 
-00037 class FileRead : public Stk
-00038 {
-00039 public:
-00041   FileRead();
-00042 
+
+  
+
+

FileRead.h

00001 #ifndef STK_FILEREAD_H
+00002 #define STK_FILEREAD_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00037 /***************************************************/
+00038 
+00039 class FileRead : public Stk
+00040 {
+00041 public:
+00043   FileRead( void );
 00044 
-00050   FileRead( std::string fileName, bool typeRaw = false, unsigned int nChannels = 1,
-00051             StkFormat format = STK_SINT16, StkFloat rate = 22050.0 );
-00052 
-00054   ~FileRead();
-00055 
+00046 
+00052   FileRead( std::string fileName, bool typeRaw = false, unsigned int nChannels = 1,
+00053             StkFormat format = STK_SINT16, StkFloat rate = 22050.0 );
+00054 
+00056   ~FileRead( void );
 00057 
-00063   void open( std::string fileName, bool typeRaw = false, unsigned int nChannels = 1,
-00064              StkFormat format = STK_SINT16, StkFloat rate = 22050.0 );
-00065 
-00067   void close( void );
-00068 
-00070   bool isOpen( void );
-00071 
-00073   unsigned long fileSize( void ) const { return fileSize_; };
-00074 
-00076   unsigned int channels( void ) const { return channels_; };
-00077 
+00059 
+00065   void open( std::string fileName, bool typeRaw = false, unsigned int nChannels = 1,
+00066              StkFormat format = STK_SINT16, StkFloat rate = 22050.0 );
+00067 
+00069   void close( void );
+00070 
+00072   bool isOpen( void );
+00073 
+00075   unsigned long fileSize( void ) const { return fileSize_; };
+00076 
+00078   unsigned int channels( void ) const { return channels_; };
 00079 
-00084   StkFloat fileRate( void ) const { return fileRate_; };
-00085 
+00081 
+00086   StkFloat fileRate( void ) const { return fileRate_; };
 00087 
-00099   void read( StkFrames& buffer, unsigned long startFrame = 0, bool doNormalize = true );
-00100 
-00101 protected:
+00089 
+00101   void read( StkFrames& buffer, unsigned long startFrame = 0, bool doNormalize = true );
 00102 
-00103   // Get STK RAW file information.
-00104   bool getRawInfo( const char *fileName, unsigned int nChannels,
-00105                    StkFormat format, StkFloat rate );
-00106 
-00107   // Get WAV file header information.
-00108   bool getWavInfo( const char *fileName );
-00109 
-00110   // Get SND (AU) file header information.
-00111   bool getSndInfo( const char *fileName );
-00112 
-00113   // Get AIFF file header information.
-00114   bool getAifInfo( const char *fileName );
-00115 
-00116   // Get MAT-file header information.
-00117   bool getMatInfo( const char *fileName );
-00118 
-00119   FILE *fd_;
-00120   bool byteswap_;
-00121   bool wavFile_;
-00122   unsigned long fileSize_;
-00123   unsigned long dataOffset_;
-00124   unsigned int channels_;
-00125   StkFormat dataType_;
-00126   StkFloat fileRate_;
-00127 };
-00128 
-00129 #endif
-

+00103 protected: +00104 +00105 // Get STK RAW file information. +00106 bool getRawInfo( const char *fileName, unsigned int nChannels, +00107 StkFormat format, StkFloat rate ); +00108 +00109 // Get WAV file header information. +00110 bool getWavInfo( const char *fileName ); +00111 +00112 // Get SND (AU) file header information. +00113 bool getSndInfo( const char *fileName ); +00114 +00115 // Get AIFF file header information. +00116 bool getAifInfo( const char *fileName ); +00117 +00118 // Get MAT-file header information. +00119 bool getMatInfo( const char *fileName ); +00120 +00121 FILE *fd_; +00122 bool byteswap_; +00123 bool wavFile_; +00124 unsigned long fileSize_; +00125 unsigned long dataOffset_; +00126 unsigned int channels_; +00127 StkFormat dataType_; +00128 StkFloat fileRate_; +00129 }; +00130 +00131 } // stk namespace +00132 +00133 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FileWrite_8h-source.html b/doc/html/FileWrite_8h-source.html index cb04048..fe3d4ac 100644 --- a/doc/html/FileWrite_8h-source.html +++ b/doc/html/FileWrite_8h-source.html @@ -8,91 +8,97 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

FileWrite.h

00001 /***************************************************/
-00022 /***************************************************/
-00023 
-00024 #ifndef STK_FILEWRITE_H
-00025 #define STK_FILEWRITE_H
-00026 
-00027 #include "Stk.h"
-00028 
-00029 class FileWrite : public Stk
-00030 {
-00031  public:
-00032 
-00033   typedef unsigned long FILE_TYPE;
+
+  
+
+

FileWrite.h

00001 #ifndef STK_FILEWRITE_H
+00002 #define STK_FILEWRITE_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00029 /***************************************************/
+00030 
+00031 class FileWrite : public Stk
+00032 {
+00033  public:
 00034 
-00035   static const FILE_TYPE FILE_RAW; 
-00036   static const FILE_TYPE FILE_WAV; 
-00037   static const FILE_TYPE FILE_SND; 
-00038   static const FILE_TYPE FILE_AIF; 
-00039   static const FILE_TYPE FILE_MAT; 
-00041 
-00042   FileWrite();
+00035   typedef unsigned long FILE_TYPE;
+00036 
+00037   static const FILE_TYPE FILE_RAW; 
+00038   static const FILE_TYPE FILE_WAV; 
+00039   static const FILE_TYPE FILE_SND; 
+00040   static const FILE_TYPE FILE_AIF; 
+00041   static const FILE_TYPE FILE_MAT; 
 00043 
+00044   FileWrite( void );
 00045 
-00048   FileWrite( std::string fileName, unsigned int nChannels = 1, FILE_TYPE type = FILE_WAV, Stk::StkFormat format = STK_SINT16 );
-00049 
-00051   virtual ~FileWrite();
-00052 
+00047 
+00050   FileWrite( std::string fileName, unsigned int nChannels = 1, FILE_TYPE type = FILE_WAV, Stk::StkFormat format = STK_SINT16 );
+00051 
+00053   virtual ~FileWrite();
 00054 
-00057   void open( std::string fileName, unsigned int nChannels = 1,
-00058              FileWrite::FILE_TYPE type = FILE_WAV, Stk::StkFormat format = STK_SINT16 );
-00059 
-00061   void close( void );
-00062 
-00064   bool isOpen( void );
-00065 
+00056 
+00059   void open( std::string fileName, unsigned int nChannels = 1,
+00060              FileWrite::FILE_TYPE type = FILE_WAV, Stk::StkFormat format = STK_SINT16 );
+00061 
+00063   void close( void );
+00064 
+00066   bool isOpen( void );
 00067 
-00072   void write( StkFrames& buffer );
-00073 
-00074  protected:
+00069 
+00074   void write( StkFrames& buffer );
 00075 
-00076   // Write STK RAW file header.
-00077   bool setRawFile( const char *fileName );
-00078 
-00079   // Write WAV file header.
-00080   bool setWavFile( const char *fileName );
-00081 
-00082   // Close WAV file, updating the header.
-00083   void closeWavFile( void );
-00084 
-00085   // Write SND (AU) file header.
-00086   bool setSndFile( const char *fileName );
-00087 
-00088   // Close SND file, updating the header.
-00089   void closeSndFile( void );
-00090 
-00091   // Write AIFF file header.
-00092   bool setAifFile( const char *fileName );
-00093 
-00094   // Close AIFF file, updating the header.
-00095   void closeAifFile( void );
-00096 
-00097   // Write MAT-file header.
-00098   bool setMatFile( const char *fileName );
-00099 
-00100   // Close MAT-file, updating the header.
-00101   void closeMatFile( void );
-00102 
-00103   FILE *fd_;
-00104   FILE_TYPE fileType_;
-00105   StkFormat dataType_;
-00106   unsigned int channels_;
-00107   unsigned long frameCounter_;
-00108   bool byteswap_;
-00109 
-00110 };
+00076  protected:
+00077 
+00078   // Write STK RAW file header.
+00079   bool setRawFile( const char *fileName );
+00080 
+00081   // Write WAV file header.
+00082   bool setWavFile( const char *fileName );
+00083 
+00084   // Close WAV file, updating the header.
+00085   void closeWavFile( void );
+00086 
+00087   // Write SND (AU) file header.
+00088   bool setSndFile( const char *fileName );
+00089 
+00090   // Close SND file, updating the header.
+00091   void closeSndFile( void );
+00092 
+00093   // Write AIFF file header.
+00094   bool setAifFile( const char *fileName );
+00095 
+00096   // Close AIFF file, updating the header.
+00097   void closeAifFile( void );
+00098 
+00099   // Write MAT-file header.
+00100   bool setMatFile( const char *fileName );
+00101 
+00102   // Close MAT-file, updating the header.
+00103   void closeMatFile( void );
+00104 
+00105   FILE *fd_;
+00106   FILE_TYPE fileType_;
+00107   StkFormat dataType_;
+00108   unsigned int channels_;
+00109   unsigned long frameCounter_;
+00110   bool byteswap_;
 00111 
-00112 #endif
-

+00112 }; +00113 +00114 } // stk namespace +00115 +00116 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FileWvIn_8h-source.html b/doc/html/FileWvIn_8h-source.html index 44a1f06..cdf2a6d 100644 --- a/doc/html/FileWvIn_8h-source.html +++ b/doc/html/FileWvIn_8h-source.html @@ -8,84 +8,109 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

FileWvIn.h

00001 /***************************************************/
-00032 /***************************************************/
-00033 
-00034 #ifndef STK_FILEWVIN_H
-00035 #define STK_FILEWVIN_H
-00036 
-00037 #include "WvIn.h"
-00038 #include "FileRead.h"
-00039 
-00040 class FileWvIn : public WvIn
-00041 {
-00042 public:
-00044   FileWvIn( unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
-00045 
+
+  
+
+

FileWvIn.h

00001 #ifndef STK_FILEWVIN_H
+00002 #define STK_FILEWVIN_H
+00003 
+00004 #include "WvIn.h"
+00005 #include "FileRead.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00040 /***************************************************/
+00041 
+00042 class FileWvIn : public WvIn
+00043 {
+00044 public:
+00046   FileWvIn( unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
 00047 
-00051   FileWvIn( std::string fileName, bool raw = false, bool doNormalize = true,
-00052             unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
-00053 
-00055   virtual ~FileWvIn();
-00056 
+00049 
+00053   FileWvIn( std::string fileName, bool raw = false, bool doNormalize = true,
+00054             unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
+00055 
+00057   ~FileWvIn( void );
 00058 
-00067   void openFile( std::string fileName, bool raw = false, bool doNormalize = true );
-00068 
-00070   void closeFile( void );
-00071 
-00073   void reset( void );
-00074 
+00060 
+00069   virtual void openFile( std::string fileName, bool raw = false, bool doNormalize = true );
+00070 
+00072   virtual void closeFile( void );
+00073 
+00075   virtual void reset( void );
 00076 
-00080   void normalize( void );
-00081 
+00078 
+00082   virtual void normalize( void );
 00083 
-00087   void normalize( StkFloat peak );
-00088 
-00090   unsigned long getSize( void ) const { return data_.frames(); };
-00091 
+00085 
+00089   virtual void normalize( StkFloat peak );
+00090 
+00092   virtual unsigned long getSize( void ) const { return data_.frames(); };
 00093 
-00098   StkFloat getFileRate( void ) const { return data_.dataRate(); };
-00099 
-00101   bool isFinished( void ) const { return finished_; };
-00102 
+00095 
+00100   virtual StkFloat getFileRate( void ) const { return data_.dataRate(); };
+00101 
+00103   bool isFinished( void ) const { return finished_; };
 00104 
-00107   void setRate( StkFloat rate );
-00108 
+00106 
+00109   virtual void setRate( StkFloat rate );
 00110 
-00113   virtual void addTime( StkFloat time );
-00114 
+00112 
+00115   virtual void addTime( StkFloat time );
 00116 
-00122   void setInterpolate( bool doInterpolate ) { interpolate_ = doInterpolate; };
-00123 
-00124   StkFloat lastOut( void ) const;
+00118 
+00124   void setInterpolate( bool doInterpolate ) { interpolate_ = doInterpolate; };
 00125 
-00126 protected:
 00127 
-00128   virtual void computeFrame( void );
-00129   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
-00130 
-00131   FileRead file_;
-00132   bool finished_;
-00133   bool interpolate_;
-00134   bool normalizing_;
-00135   bool chunking_;
-00136   StkFloat time_;
-00137   StkFloat rate_;
-00138   unsigned long chunkThreshold_;
-00139   unsigned long chunkSize_;
-00140   long chunkPointer_;
-00141 
-00142 };
-00143 
-00144 #endif
-

+00136 StkFloat lastOut( unsigned int channel = 0 ); +00137 +00139 +00148 virtual StkFloat tick( unsigned int channel = 0 ); +00149 +00151 +00159 virtual StkFrames& tick( StkFrames& frames ); +00160 +00161 protected: +00162 +00163 void sampleRateChanged( StkFloat newRate, StkFloat oldRate ); +00164 +00165 FileRead file_; +00166 bool finished_; +00167 bool interpolate_; +00168 bool normalizing_; +00169 bool chunking_; +00170 StkFloat time_; +00171 StkFloat rate_; +00172 unsigned long chunkThreshold_; +00173 unsigned long chunkSize_; +00174 long chunkPointer_; +00175 +00176 }; +00177 +00178 inline StkFloat FileWvIn :: lastOut( unsigned int channel ) +00179 { +00180 #if defined(_STK_DEBUG_) +00181 if ( channel >= data_.channels() ) { +00182 errorString_ << "FileWvIn::lastOut(): channel argument and soundfile data are incompatible!"; +00183 handleError( StkError::FUNCTION_ARGUMENT ); +00184 } +00185 #endif +00186 +00187 if ( finished_ ) return 0.0; +00188 return lastFrame_[channel]; +00189 } +00190 +00191 } // stk namespace +00192 +00193 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FileWvOut_8h-source.html b/doc/html/FileWvOut_8h-source.html index 3bf31e4..6478d67 100644 --- a/doc/html/FileWvOut_8h-source.html +++ b/doc/html/FileWvOut_8h-source.html @@ -8,64 +8,72 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

FileWvOut.h

00001 /***************************************************/
-00022 /***************************************************/
-00023 
-00024 #ifndef STK_FILEWVOUT_H
-00025 #define STK_FILEWVOUT_H
-00026 
-00027 #include "WvOut.h"
-00028 #include "FileWrite.h"
-00029 
-00030 class FileWvOut : public WvOut
-00031 {
-00032  public:
-00033 
+
+  
+
+

FileWvOut.h

00001 #ifndef STK_FILEWVOUT_H
+00002 #define STK_FILEWVOUT_H
+00003 
+00004 #include "WvOut.h"
+00005 #include "FileWrite.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00030 /***************************************************/
+00031 
+00032 class FileWvOut : public WvOut
+00033 {
+00034  public:
 00035 
-00039   FileWvOut( unsigned int bufferFrames = 1024 );
-00040 
+00037 
+00041   FileWvOut( unsigned int bufferFrames = 1024 );
 00042 
-00045   FileWvOut( std::string fileName,
-00046              unsigned int nChannels = 1,
-00047              FileWrite::FILE_TYPE type = FileWrite::FILE_WAV,
-00048              Stk::StkFormat format = STK_SINT16,
-00049              unsigned int bufferFrames = 1024 );
-00050 
-00052   virtual ~FileWvOut();
-00053 
+00044 
+00047   FileWvOut( std::string fileName,
+00048              unsigned int nChannels = 1,
+00049              FileWrite::FILE_TYPE type = FileWrite::FILE_WAV,
+00050              Stk::StkFormat format = STK_SINT16,
+00051              unsigned int bufferFrames = 1024 );
+00052 
+00054   virtual ~FileWvOut();
 00055 
-00060   void openFile( std::string fileName,
-00061                  unsigned int nChannels,
-00062                  FileWrite::FILE_TYPE type,
-00063                  Stk::StkFormat format );
-00064 
+00057 
+00062   void openFile( std::string fileName,
+00063                  unsigned int nChannels,
+00064                  FileWrite::FILE_TYPE type,
+00065                  Stk::StkFormat format );
 00066 
-00070   void closeFile( void );
-00071 
-00072  protected:
+00068 
+00072   void closeFile( void );
 00073 
-00074   void computeSample( const StkFloat sample );
 00075 
-00076   void computeFrames( const StkFrames& frames );
-00077 
-00078   void incrementFrame( void );
+00078   void tick( const StkFloat sample );
 00079 
-00080   FileWrite file_;
-00081   unsigned int bufferFrames_;
-00082   unsigned int bufferIndex_;
-00083   unsigned int iData_;
-00084 
-00085 };
-00086 
-00087 #endif
-

+00081 +00087 void tick( const StkFrames& frames ); +00088 +00089 protected: +00090 +00091 void incrementFrame( void ); +00092 +00093 FileWrite file_; +00094 unsigned int bufferFrames_; +00095 unsigned int bufferIndex_; +00096 unsigned int iData_; +00097 +00098 }; +00099 +00100 } // stk namespace +00101 +00102 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Filter_8h-source.html b/doc/html/Filter_8h-source.html index f31c1e5..426ac2e 100644 --- a/doc/html/Filter_8h-source.html +++ b/doc/html/Filter_8h-source.html @@ -8,67 +8,75 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Filter.h

00001 /***************************************************/
-00028 /***************************************************/
+
+  
+
+

Filter.h

00001 #ifndef STK_FILTER_H
+00002 #define STK_FILTER_H
+00003 
+00004 #include "Stk.h"
+00005 #include <vector>
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00019 /***************************************************/
+00020 
+00021 class Filter : public Stk
+00022 {
+00023 public:
+00025   Filter( void ) { gain_ = 1.0; channelsIn_ = 1; lastFrame_.resize( 1, 1, 0.0 ); };
+00026 
+00028   unsigned int channelsIn( void ) const { return channelsIn_; };
 00029 
-00030 #ifndef STK_FILTER_H
-00031 #define STK_FILTER_H
-00032 
-00033 #include "Stk.h"
-00034 #include <vector>
+00031   unsigned int channelsOut( void ) const { return lastFrame_.channels(); };
+00032 
+00034   virtual void clear( void );
 00035 
-00036 class Filter : public Stk
-00037 {
-00038 public:
-00040   Filter(void);
-00041 
-00043 
-00047   Filter( std::vector<StkFloat> &bCoefficients, std::vector<StkFloat> &aCoefficients );
+00037 
+00041   void setGain( StkFloat gain ) { gain_ = gain; };
+00042 
+00044   StkFloat getGain( void ) const { return gain_; };
+00045 
+00047   const StkFrames& lastFrame( void ) const { return lastFrame_; };
 00048 
-00050   virtual ~Filter(void);
-00051 
-00053   void clear(void);
-00054 
-00056 
-00063   void setCoefficients( std::vector<StkFloat> &bCoefficients, std::vector<StkFloat> &aCoefficients, bool clearState = false );
+00050 
+00058   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ) = 0;
+00059 
+00060 protected:
+00061 
+00062   unsigned int channelsIn_;
+00063   StkFrames lastFrame_;
 00064 
-00066 
-00073   void setNumerator( std::vector<StkFloat> &bCoefficients, bool clearState = false );
-00074 
-00076 
-00085   void setDenominator( std::vector<StkFloat> &aCoefficients, bool clearState = false );
-00086 
-00088 
-00092   virtual void setGain(StkFloat gain);
-00093 
-00095   virtual StkFloat getGain(void) const;
-00096 
-00098   virtual StkFloat lastOut(void) const;
-00099 
-00101   virtual StkFloat tick( StkFloat input );
-00102 
-00104 
-00110   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
-00111 
-00112 protected:
-00113 
-00114   StkFloat gain_;
-00115   std::vector<StkFloat> b_;
-00116   std::vector<StkFloat> a_;
-00117   std::vector<StkFloat> outputs_;
-00118   std::vector<StkFloat> inputs_;
-00119 
-00120 };
-00121 
-00122 #endif
-

+00065 StkFloat gain_; +00066 std::vector<StkFloat> b_; +00067 std::vector<StkFloat> a_; +00068 StkFrames outputs_; +00069 StkFrames inputs_; +00070 +00071 }; +00072 +00073 inline void Filter :: clear( void ) +00074 { +00075 unsigned int i; +00076 for ( i=0; i<inputs_.size(); i++ ) +00077 inputs_[i] = 0.0; +00078 for ( i=0; i<outputs_.size(); i++ ) +00079 outputs_[i] = 0.0; +00080 for ( i=0; i<lastFrame_.size(); i++ ) +00081 lastFrame_[i] = 0.0; +00082 } +00083 +00084 } // stk namespace +00085 +00086 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Fir_8h-source.html b/doc/html/Fir_8h-source.html new file mode 100644 index 0000000..b84dbda --- /dev/null +++ b/doc/html/Fir_8h-source.html @@ -0,0 +1,131 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

+
+ + +
+

Fir.h

00001 #ifndef STK_FIR_H
+00002 #define STK_FIR_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00028 /***************************************************/
+00029 
+00030 class Fir : public Filter
+00031 {
+00032 public:
+00034   Fir( void );
+00035 
+00037 
+00041   Fir( std::vector<StkFloat> &coefficients );
+00042 
+00044   ~Fir( void );
+00045 
+00047 
+00052   void setCoefficients( std::vector<StkFloat> &coefficients, bool clearState = false );
+00053 
+00055   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00056 
+00058   StkFloat tick( StkFloat input );
+00059 
+00061 
+00069   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00070 
+00072 
+00080   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00081 
+00082 protected:
+00083 
+00084 };
+00085 
+00086 inline StkFloat Fir :: tick( StkFloat input )
+00087 {
+00088   lastFrame_[0] = 0.0;
+00089   inputs_[0] = gain_ * input;
+00090 
+00091   for ( unsigned int i=b_.size()-1; i>0; i-- ) {
+00092     lastFrame_[0] += b_[i] * inputs_[i];
+00093     inputs_[i] = inputs_[i-1];
+00094   }
+00095   lastFrame_[0] += b_[0] * inputs_[0];
+00096 
+00097   return lastFrame_[0];
+00098 }
+00099 
+00100 inline StkFrames& Fir :: tick( StkFrames& frames, unsigned int channel )
+00101 {
+00102 #if defined(_STK_DEBUG_)
+00103   if ( channel >= frames.channels() ) {
+00104     errorString_ << "Fir::tick(): channel and StkFrames arguments are incompatible!";
+00105     handleError( StkError::FUNCTION_ARGUMENT );
+00106   }
+00107 #endif
+00108 
+00109   StkFloat *samples = &frames[channel];
+00110   unsigned int i, hop = frames.channels();
+00111   for ( unsigned int j=0; j<frames.frames(); j++, samples += hop ) {
+00112     inputs_[0] = gain_ * *samples;
+00113     *samples = 0.0;
+00114 
+00115     for ( i=b_.size()-1; i>0; i-- ) {
+00116       *samples += b_[i] * inputs_[i];
+00117       inputs_[i] = inputs_[i-1];
+00118     }
+00119     *samples += b_[0] * inputs_[0];
+00120   }
+00121 
+00122   lastFrame_[0] = *(samples-hop);
+00123   return frames;
+00124 }
+00125 
+00126 inline StkFrames& Fir :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00127 {
+00128 #if defined(_STK_DEBUG_)
+00129   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00130     errorString_ << "Fir::tick(): channel and StkFrames arguments are incompatible!";
+00131     handleError( StkError::FUNCTION_ARGUMENT );
+00132   }
+00133 #endif
+00134 
+00135   StkFloat *iSamples = &iFrames[iChannel];
+00136   StkFloat *oSamples = &oFrames[oChannel];
+00137   unsigned int i, iHop = iFrames.channels(), oHop = oFrames.channels();
+00138   for ( unsigned int j=0; j<iFrames.frames(); j++, iSamples += iHop, oSamples += oHop ) {
+00139     inputs_[0] = gain_ * *iSamples;
+00140     *oSamples = 0.0;
+00141 
+00142     for ( i=b_.size()-1; i>0; i-- ) {
+00143       *oSamples += b_[i] * inputs_[i];
+00144       inputs_[i] = inputs_[i-1];
+00145     }
+00146     *oSamples += b_[0] * inputs_[0];
+00147   }
+00148 
+00149   lastFrame_[0] = *(oSamples-oHop);
+00150   return iFrames;
+00151 }
+00152 
+00153 } // stk namespace
+00154 
+00155 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/Flute_8h-source.html b/doc/html/Flute_8h-source.html index 3999944..18703ab 100644 --- a/doc/html/Flute_8h-source.html +++ b/doc/html/Flute_8h-source.html @@ -8,82 +8,109 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Flute.h

00001 /***************************************************/
-00023 /***************************************************/
-00024 
-00025 #ifndef STK_FLUTE_H
-00026 #define STK_FLUTE_H
-00027 
-00028 #include "Instrmnt.h"
-00029 #include "JetTable.h"
-00030 #include "DelayL.h"
-00031 #include "OnePole.h"
-00032 #include "PoleZero.h"
-00033 #include "Noise.h"
-00034 #include "ADSR.h"
-00035 #include "SineWave.h"
-00036 
-00037 class Flute : public Instrmnt
-00038 {
-00039  public:
-00041 
-00044   Flute(StkFloat lowestFrequency);
-00045 
-00047   ~Flute();
-00048 
-00050   void clear();
-00051 
-00053   void setFrequency(StkFloat frequency);
-00054 
-00056   void setJetReflection(StkFloat coefficient);
-00057 
-00059   void setEndReflection(StkFloat coefficient);
-00060 
-00062   void setJetDelay(StkFloat aRatio);
-00063 
-00065   void startBlowing(StkFloat amplitude, StkFloat rate);
-00066 
-00068   void stopBlowing(StkFloat rate);
-00069 
-00071   void noteOn(StkFloat frequency, StkFloat amplitude);
-00072 
-00074   void noteOff(StkFloat amplitude);
-00075 
-00077   void controlChange(int number, StkFloat value);
-00078 
-00079  protected:
+
+  
+
+

Flute.h

00001 #ifndef STK_FLUTE_H
+00002 #define STK_FLUTE_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "JetTable.h"
+00006 #include "DelayL.h"
+00007 #include "OnePole.h"
+00008 #include "PoleZero.h"
+00009 #include "Noise.h"
+00010 #include "ADSR.h"
+00011 #include "SineWave.h"
+00012 
+00013 namespace stk {
+00014 
+00015 /***************************************************/
+00037 /***************************************************/
+00038 
+00039 class Flute : public Instrmnt
+00040 {
+00041  public:
+00043 
+00046   Flute( StkFloat lowestFrequency );
+00047 
+00049   ~Flute( void );
+00050 
+00052   void clear( void );
+00053 
+00055   void setFrequency( StkFloat frequency );
+00056 
+00058   void setJetReflection( StkFloat coefficient );
+00059 
+00061   void setEndReflection( StkFloat coefficient );
+00062 
+00064   void setJetDelay( StkFloat aRatio );
+00065 
+00067   void startBlowing( StkFloat amplitude, StkFloat rate );
+00068 
+00070   void stopBlowing( StkFloat rate );
+00071 
+00073   void noteOn( StkFloat frequency, StkFloat amplitude );
+00074 
+00076   void noteOff( StkFloat amplitude );
+00077 
+00079   void controlChange( int number, StkFloat value );
 00080 
-00081   StkFloat computeSample( void );
-00082 
-00083   DelayL   jetDelay_;
-00084   DelayL   boreDelay_;
-00085   JetTable jetTable_;
-00086   OnePole  filter_;
-00087   PoleZero dcBlock_;
-00088   Noise    noise_;
-00089   ADSR     adsr_;
-00090   SineWave vibrato_;
-00091   unsigned long length_;
-00092   StkFloat lastFrequency_;
-00093   StkFloat maxPressure_;
-00094   StkFloat jetReflection_;
-00095   StkFloat endReflection_;
-00096   StkFloat noiseGain_;
-00097   StkFloat vibratoGain_;
-00098   StkFloat outputGain_;
-00099   StkFloat jetRatio_;
-00100 
-00101 };
-00102 
-00103 #endif
-

+00082 StkFloat tick( unsigned int channel = 0 ); +00083 +00084 protected: +00085 +00086 DelayL jetDelay_; +00087 DelayL boreDelay_; +00088 JetTable jetTable_; +00089 OnePole filter_; +00090 PoleZero dcBlock_; +00091 Noise noise_; +00092 ADSR adsr_; +00093 SineWave vibrato_; +00094 unsigned long length_; +00095 StkFloat lastFrequency_; +00096 StkFloat maxPressure_; +00097 StkFloat jetReflection_; +00098 StkFloat endReflection_; +00099 StkFloat noiseGain_; +00100 StkFloat vibratoGain_; +00101 StkFloat outputGain_; +00102 StkFloat jetRatio_; +00103 +00104 }; +00105 +00106 inline StkFloat Flute :: tick( unsigned int ) +00107 { +00108 StkFloat pressureDiff; +00109 StkFloat breathPressure; +00110 +00111 // Calculate the breath pressure (envelope + noise + vibrato) +00112 breathPressure = maxPressure_ * adsr_.tick(); +00113 breathPressure += breathPressure * ( noiseGain_ * noise_.tick() + vibratoGain_ * vibrato_.tick() ); +00114 +00115 StkFloat temp = filter_.tick( boreDelay_.lastOut() ); +00116 temp = dcBlock_.tick( temp ); // Block DC on reflection. +00117 +00118 pressureDiff = breathPressure - (jetReflection_ * temp); +00119 pressureDiff = jetDelay_.tick( pressureDiff ); +00120 pressureDiff = jetTable_.tick( pressureDiff ) + (endReflection_ * temp); +00121 lastFrame_[0] = (StkFloat) 0.3 * boreDelay_.tick( pressureDiff ); +00122 +00123 lastFrame_[0] *= outputGain_; +00124 return lastFrame_[0]; +00125 } +00126 +00127 } // stk namespace +00128 +00129 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FormSwep_8h-source.html b/doc/html/FormSwep_8h-source.html index 7ef613f..309a70d 100644 --- a/doc/html/FormSwep_8h-source.html +++ b/doc/html/FormSwep_8h-source.html @@ -8,65 +8,148 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

FormSwep.h

00001 /***************************************************/
-00013 /***************************************************/
-00014 
-00015 #ifndef STK_FORMSWEP_H
-00016 #define STK_FORMSWEP_H
-00017 
-00018 #include "BiQuad.h"
+
+  
+
+

FormSwep.h

00001 #ifndef STK_FORMSWEP_H
+00002 #define STK_FORMSWEP_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
 00019 
-00020 class FormSwep : public BiQuad
+00020 class FormSwep : public Filter
 00021 {
 00022  public:
 00023 
-00025   FormSwep();
+00025   FormSwep( void );
 00026 
-00028   ~FormSwep();
+00028   ~FormSwep();
 00029 
-00031 
-00042   void setResonance(StkFloat frequency, StkFloat radius);
-00043 
-00045   void setStates(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
+00031   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
+00032 
+00034 
+00045   void setResonance( StkFloat frequency, StkFloat radius );
 00046 
-00048   void setTargets(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
+00048   void setStates( StkFloat frequency, StkFloat radius, StkFloat gain = 1.0 );
 00049 
-00051 
-00059   void setSweepRate(StkFloat rate);
-00060 
-00062 
-00067   void setSweepTime(StkFloat time);
-00068 
-00069  protected:
-00070 
-00071   StkFloat computeSample( StkFloat input );
-00072 
-00073   bool dirty_;
-00074   StkFloat frequency_;
-00075   StkFloat radius_;
-00076   StkFloat startFrequency_;
-00077   StkFloat startRadius_;
-00078   StkFloat startGain_;
-00079   StkFloat targetFrequency_;
-00080   StkFloat targetRadius_;
-00081   StkFloat targetGain_;
-00082   StkFloat deltaFrequency_;
-00083   StkFloat deltaRadius_;
-00084   StkFloat deltaGain_;
-00085   StkFloat sweepState_;
-00086   StkFloat sweepRate_;
-00087 
-00088 };
-00089 
-00090 #endif
-

+00051 void setTargets( StkFloat frequency, StkFloat radius, StkFloat gain = 1.0 ); +00052 +00054 +00062 void setSweepRate( StkFloat rate ); +00063 +00065 +00070 void setSweepTime( StkFloat time ); +00071 +00073 StkFloat lastOut( void ) const { return lastFrame_[0]; }; +00074 +00076 StkFloat tick( StkFloat input ); +00077 +00079 +00087 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00088 +00090 +00098 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00099 +00100 protected: +00101 +00102 virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate ); +00103 +00104 bool dirty_; +00105 StkFloat frequency_; +00106 StkFloat radius_; +00107 StkFloat startFrequency_; +00108 StkFloat startRadius_; +00109 StkFloat startGain_; +00110 StkFloat targetFrequency_; +00111 StkFloat targetRadius_; +00112 StkFloat targetGain_; +00113 StkFloat deltaFrequency_; +00114 StkFloat deltaRadius_; +00115 StkFloat deltaGain_; +00116 StkFloat sweepState_; +00117 StkFloat sweepRate_; +00118 +00119 }; +00120 +00121 inline StkFloat FormSwep :: tick( StkFloat input ) +00122 { +00123 if ( dirty_ ) { +00124 sweepState_ += sweepRate_; +00125 if ( sweepState_ >= 1.0 ) { +00126 sweepState_ = 1.0; +00127 dirty_ = false; +00128 radius_ = targetRadius_; +00129 frequency_ = targetFrequency_; +00130 gain_ = targetGain_; +00131 } +00132 else { +00133 radius_ = startRadius_ + (deltaRadius_ * sweepState_); +00134 frequency_ = startFrequency_ + (deltaFrequency_ * sweepState_); +00135 gain_ = startGain_ + (deltaGain_ * sweepState_); +00136 } +00137 this->setResonance( frequency_, radius_ ); +00138 } +00139 +00140 inputs_[0] = gain_ * input; +00141 lastFrame_[0] = b_[0] * inputs_[0] + b_[1] * inputs_[1] + b_[2] * inputs_[2]; +00142 lastFrame_[0] -= a_[2] * outputs_[2] + a_[1] * outputs_[1]; +00143 inputs_[2] = inputs_[1]; +00144 inputs_[1] = inputs_[0]; +00145 outputs_[2] = outputs_[1]; +00146 outputs_[1] = lastFrame_[0]; +00147 +00148 return lastFrame_[0]; +00149 } +00150 +00151 inline StkFrames& FormSwep :: tick( StkFrames& frames, unsigned int channel ) +00152 { +00153 #if defined(_STK_DEBUG_) +00154 if ( channel >= frames.channels() ) { +00155 errorString_ << "FormSwep::tick(): channel and StkFrames arguments are incompatible!"; +00156 handleError( StkError::FUNCTION_ARGUMENT ); +00157 } +00158 #endif +00159 +00160 StkFloat *samples = &frames[channel]; +00161 unsigned int hop = frames.channels(); +00162 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) +00163 *samples = tick( *samples ); +00164 +00165 return frames; +00166 } +00167 +00168 inline StkFrames& FormSwep :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00169 { +00170 #if defined(_STK_DEBUG_) +00171 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00172 errorString_ << "FormSwep::tick(): channel and StkFrames arguments are incompatible!"; +00173 handleError( StkError::FUNCTION_ARGUMENT ); +00174 } +00175 #endif +00176 +00177 StkFloat *iSamples = &iFrames[iChannel]; +00178 StkFloat *oSamples = &oFrames[oChannel]; +00179 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00180 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) +00181 *oSamples = tick( *iSamples ); +00182 +00183 return iFrames; +00184 } +00185 +00186 } // stk namespace +00187 +00188 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Function_8h-source.html b/doc/html/Function_8h-source.html index 11ac7a0..bbe86cc 100644 --- a/doc/html/Function_8h-source.html +++ b/doc/html/Function_8h-source.html @@ -8,49 +8,45 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Function.h

00001 /***************************************************/
-00011 /***************************************************/
-00012 
-00013 #include "Stk.h"
-00014 
-00015 #ifndef STK_FUNCTION_H
-00016 #define STK_FUNCTION_H
-00017 
-00018 class Function : public Stk
-00019 {
-00020  public:
-00022   Function();
-00023 
-00025   virtual ~Function();
-00026 
-00028   virtual StkFloat lastOut() const { return lastOutput_; };
-00029 
-00031   StkFloat tick( StkFloat input );
-00032 
-00034 
-00040   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
-00041 
-00042  protected:
-00043 
-00044   // This abstract function must be implemented in all subclasses.
-00045   // It is used to get around a C++ problem with overloaded virtual
-00046   // functions.
-00047   virtual StkFloat computeSample( StkFloat input ) = 0;
-00048 
-00049   StkFloat lastOutput_;
-00050 
-00051 };
-00052 
-00053 #endif
-00054 
-

+ + +
+

Function.h

00001 #ifndef STK_FUNCTION_H
+00002 #define STK_FUNCTION_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class Function : public Stk
+00021 {
+00022  public:
+00024   Function( void ) { lastFrame_.resize( 1, 1, 0.0 ); };
+00025 
+00027   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00028 
+00030   virtual StkFloat tick( StkFloat input ) = 0;
+00031 
+00032  protected:
+00033 
+00034   StkFrames lastFrame_;
+00035 
+00036 };
+00037 
+00038 } // stk namespace
+00039 
+00040 #endif
+00041 
+
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Generator_8h-source.html b/doc/html/Generator_8h-source.html index afedcb9..6cc5af1 100644 --- a/doc/html/Generator_8h-source.html +++ b/doc/html/Generator_8h-source.html @@ -8,49 +8,47 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Generator.h

00001 /***************************************************/
-00010 /***************************************************/
-00011 
-00012 #ifndef STK_GENERATOR_H
-00013 #define STK_GENERATOR_H
-00014 
-00015 #include "Stk.h"
-00016 
-00017 class Generator : public Stk
-00018 {
-00019  public:
-00021   Generator( void );
-00022 
-00024   virtual ~Generator( void );
-00025 
-00027   virtual StkFloat lastOut( void ) const { return lastOutput_; };
-00028 
-00030   StkFloat tick( void );
-00031 
-00033 
-00039   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
-00040 
-00041  protected:
+
+  
+
+

Generator.h

00001 #ifndef STK_GENERATOR_H
+00002 #define STK_GENERATOR_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class Generator : public Stk
+00021 {
+00022  public:
+00023 
+00025   Generator( void ) { lastFrame_.resize( 1, 1, 0.0 ); };
+00026 
+00028   unsigned int channelsOut( void ) const { return lastFrame_.channels(); };
+00029 
+00031   const StkFrames& lastFrame( void ) const { return lastFrame_; };
+00032 
+00034 
+00041   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ) = 0;
 00042 
-00043   // This abstract function must be implemented in all subclasses.
-00044   // It is used to get around a C++ problem with overloaded virtual
-00045   // functions.
-00046   virtual StkFloat computeSample( void ) = 0;
+00043   protected:
+00044 
+00045   StkFrames lastFrame_;
+00046 };
 00047 
-00048   StkFloat lastOutput_;
+00048 } // stk namespace
 00049 
-00050 };
-00051 
-00052 #endif
-00053 
-

+00050 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Granulate_8h-source.html b/doc/html/Granulate_8h-source.html index ce385b7..8d4f93e 100644 --- a/doc/html/Granulate_8h-source.html +++ b/doc/html/Granulate_8h-source.html @@ -8,102 +8,148 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Granulate.h

00001 /***************************************************/
-00016 /***************************************************/
-00017 
-00018 #ifndef STK_GRANULATE_H
-00019 #define STK_GRANULATE_H
-00020 
-00021 #include <vector>
-00022 #include "Generator.h"
-00023 #include "Envelope.h"
-00024 #include "Noise.h"
-00025 
-00026 class Granulate: public Generator
-00027 {
-00028  public:
-00030   Granulate( void );
-00031 
-00033   Granulate( unsigned int nVoices, std::string fileName, bool typeRaw = false );
-00034 
-00036   ~Granulate();
-00037 
+
+  
+
+

Granulate.h

00001 #ifndef STK_GRANULATE_H
+00002 #define STK_GRANULATE_H
+00003 
+00004 #include <vector>
+00005 #include "Generator.h"
+00006 #include "Envelope.h"
+00007 #include "Noise.h"
+00008 
+00009 namespace stk {
+00010 
+00011 /***************************************************/
+00026 /***************************************************/
+00027 
+00028 class Granulate: public Generator
+00029 {
+00030  public:
+00032   Granulate( void );
+00033 
+00035   Granulate( unsigned int nVoices, std::string fileName, bool typeRaw = false );
+00036 
+00038   ~Granulate( void );
 00039 
-00043   void openFile( std::string fileName, bool typeRaw = false );
-00044 
+00041 
+00045   void openFile( std::string fileName, bool typeRaw = false );
 00046 
-00050   void reset();
-00051 
+00048 
+00052   void reset( void );
 00053 
-00058   void setVoices( unsigned int nVoices = 1 );
-00059 
+00055 
+00060   void setVoices( unsigned int nVoices = 1 );
 00061 
-00067   void setStretch( unsigned int stretchFactor = 1 );
-00068 
+00063 
+00069   void setStretch( unsigned int stretchFactor = 1 );
 00070 
-00085   void setGrainParameters( unsigned int duration = 30, unsigned int rampPercent = 50,
-00086                            int offset = 0, unsigned int delay = 0 );
-00087 
+00072 
+00087   void setGrainParameters( unsigned int duration = 30, unsigned int rampPercent = 50,
+00088                            int offset = 0, unsigned int delay = 0 );
 00089 
-00097   void setRandomFactor( StkFloat randomness = 0.1 );
-00098 
-00099   enum GrainState {
-00100     GRAIN_STOPPED,
-00101     GRAIN_FADEIN,
-00102     GRAIN_SUSTAIN,
-00103     GRAIN_FADEOUT
-00104   };
-00105 
-00106  protected:
-00107 
-00108   struct Grain {
-00109     StkFloat eScaler;
-00110     StkFloat eRate;
-00111     unsigned long attackCount;
-00112     unsigned long sustainCount;
-00113     unsigned long decayCount;
-00114     unsigned long delayCount;
-00115     unsigned long counter;
-00116     unsigned long pointer;
-00117     unsigned long startPointer;
-00118     unsigned int repeats;
-00119     GrainState state;
-00120 
-00121     // Default constructor.
-00122     Grain()
-00123       :eScaler(0.0), eRate(0.0), attackCount(0), sustainCount(0), decayCount(0),
-00124        delayCount(0), counter(0), pointer(0), startPointer(0), repeats(0), state(GRAIN_STOPPED) {}
-00125   };
-00126 
-00127   StkFloat computeSample( void );
-00128   void calculateGrain( Granulate::Grain& grain );
-00129 
-00130   StkFrames data_;
-00131   std::vector<Grain> grains_;
-00132   Noise noise;
-00133   long gPointer_;
-00134 
-00135   // Global grain parameters.
-00136   unsigned int gDuration_;
-00137   unsigned int gRampPercent_;
-00138   unsigned int gDelay_;
-00139   unsigned int gStretch_;
-00140   unsigned int stretchCounter_;
-00141   int gOffset_;
-00142   StkFloat gRandomFactor_;
-00143   StkFloat gain_;
-00144 
-00145 };
+00091 
+00099   void setRandomFactor( StkFloat randomness = 0.1 );
+00100 
+00102 
+00110   StkFloat lastOut( unsigned int channel = 0 );
+00111 
+00113   StkFloat tick( unsigned int channel = 0 );
+00114 
+00116 
+00123   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00124 
+00125   enum GrainState {
+00126     GRAIN_STOPPED,
+00127     GRAIN_FADEIN,
+00128     GRAIN_SUSTAIN,
+00129     GRAIN_FADEOUT
+00130   };
+00131 
+00132  protected:
+00133 
+00134   struct Grain {
+00135     StkFloat eScaler;
+00136     StkFloat eRate;
+00137     unsigned long attackCount;
+00138     unsigned long sustainCount;
+00139     unsigned long decayCount;
+00140     unsigned long delayCount;
+00141     unsigned long counter;
+00142     unsigned long pointer;
+00143     unsigned long startPointer;
+00144     unsigned int repeats;
+00145     GrainState state;
 00146 
-00147 #endif
-

+00147 // Default constructor. +00148 Grain() +00149 :eScaler(0.0), eRate(0.0), attackCount(0), sustainCount(0), decayCount(0), +00150 delayCount(0), counter(0), pointer(0), startPointer(0), repeats(0), state(GRAIN_STOPPED) {} +00151 }; +00152 +00153 void calculateGrain( Granulate::Grain& grain ); +00154 +00155 StkFrames data_; +00156 std::vector<Grain> grains_; +00157 Noise noise; +00158 long gPointer_; +00159 +00160 // Global grain parameters. +00161 unsigned int gDuration_; +00162 unsigned int gRampPercent_; +00163 unsigned int gDelay_; +00164 unsigned int gStretch_; +00165 unsigned int stretchCounter_; +00166 int gOffset_; +00167 StkFloat gRandomFactor_; +00168 StkFloat gain_; +00169 +00170 }; +00171 +00172 inline StkFloat Granulate :: lastOut( unsigned int channel ) +00173 { +00174 #if defined(_STK_DEBUG_) +00175 if ( channel >= lastFrame_.channels() ) { +00176 errorString_ << "Granulate::lastOut(): channel argument is invalid!"; +00177 handleError( StkError::FUNCTION_ARGUMENT ); +00178 } +00179 #endif +00180 +00181 return lastFrame_[channel]; +00182 } +00183 +00184 inline StkFrames& Granulate :: tick( StkFrames& frames, unsigned int channel ) +00185 { +00186 unsigned int nChannels = lastFrame_.channels(); +00187 #if defined(_STK_DEBUG_) +00188 if ( channel > frames.channels() - nChannels ) { +00189 errorString_ << "Granulate::tick(): channel and StkFrames arguments are incompatible!"; +00190 handleError( StkError::FUNCTION_ARGUMENT ); +00191 } +00192 #endif +00193 +00194 StkFloat *samples = &frames[channel]; +00195 unsigned int j, hop = frames.channels() - nChannels; +00196 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00197 *samples++ = tick(); +00198 for ( j=1; j<nChannels; j++ ) +00199 *samples++ = lastFrame_[j]; +00200 } +00201 +00202 return frames; +00203 } +00204 +00205 } // stk namespace +00206 +00207 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/HevyMetl_8h-source.html b/doc/html/HevyMetl_8h-source.html index 9ffde42..19cbdcc 100644 --- a/doc/html/HevyMetl_8h-source.html +++ b/doc/html/HevyMetl_8h-source.html @@ -8,38 +8,72 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

HevyMetl.h

00001 /***************************************************/
-00029 /***************************************************/
-00030 
-00031 #ifndef STK_HEVYMETL_H
-00032 #define STK_HEVYMETL_H
-00033 
-00034 #include "FM.h"
-00035 
-00036 class HevyMetl : public FM
-00037 {
-00038  public:
-00040 
-00043   HevyMetl();
-00044 
-00046   ~HevyMetl();
-00047 
-00049   void noteOn(StkFloat frequency, StkFloat amplitude);
-00050 
-00051  protected:
+
+  
+
+

HevyMetl.h

00001 #ifndef STK_HEVYMETL_H
+00002 #define STK_HEVYMETL_H
+00003 
+00004 #include "FM.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00036 /***************************************************/
+00037 
+00038 class HevyMetl : public FM
+00039 {
+00040  public:
+00042 
+00045   HevyMetl( void );
+00046 
+00048   ~HevyMetl( void );
+00049 
+00051   void noteOn( StkFloat frequency, StkFloat amplitude );
 00052 
-00053   StkFloat computeSample( void );
-00054 };
+00054   StkFloat tick( unsigned int channel = 0 );
 00055 
-00056 #endif
-

+00056 protected: +00057 +00058 }; +00059 +00060 inline StkFloat HevyMetl :: tick( unsigned int ) +00061 { +00062 register StkFloat temp; +00063 +00064 temp = vibrato_.tick() * modDepth_ * 0.2; +00065 waves_[0]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[0]); +00066 waves_[1]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[1]); +00067 waves_[2]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[2]); +00068 waves_[3]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[3]); +00069 +00070 temp = gains_[2] * adsr_[2]->tick() * waves_[2]->tick(); +00071 waves_[1]->addPhaseOffset( temp ); +00072 +00073 waves_[3]->addPhaseOffset( twozero_.lastOut() ); +00074 temp = (1.0 - (control2_ * 0.5)) * gains_[3] * adsr_[3]->tick() * waves_[3]->tick(); +00075 twozero_.tick(temp); +00076 +00077 temp += control2_ * 0.5 * gains_[1] * adsr_[1]->tick() * waves_[1]->tick(); +00078 temp = temp * control1_; +00079 +00080 waves_[0]->addPhaseOffset( temp ); +00081 temp = gains_[0] * adsr_[0]->tick() * waves_[0]->tick(); +00082 +00083 lastFrame_[0] = temp * 0.5; +00084 return lastFrame_[0]; +00085 } +00086 +00087 } // stk namespace +00088 +00089 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Iir_8h-source.html b/doc/html/Iir_8h-source.html new file mode 100644 index 0000000..55f2328 --- /dev/null +++ b/doc/html/Iir_8h-source.html @@ -0,0 +1,156 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

+
+ + +
+

Iir.h

00001 #ifndef STK_IIR_H
+00002 #define STK_IIR_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00032 /***************************************************/
+00033 
+00034 class Iir : public Filter
+00035 {
+00036 public:
+00038   Iir( void );
+00039 
+00041 
+00045   Iir( std::vector<StkFloat> &bCoefficients, std::vector<StkFloat> &aCoefficients );
+00046 
+00048   ~Iir( void );
+00049 
+00051 
+00058   void setCoefficients( std::vector<StkFloat> &bCoefficients, std::vector<StkFloat> &aCoefficients, bool clearState = false );
+00059 
+00061 
+00068   void setNumerator( std::vector<StkFloat> &bCoefficients, bool clearState = false );
+00069 
+00071 
+00080   void setDenominator( std::vector<StkFloat> &aCoefficients, bool clearState = false );
+00081 
+00083   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00084 
+00086   StkFloat tick( StkFloat input );
+00087 
+00089 
+00097   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00098 
+00100 
+00108   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00109 
+00110 protected:
+00111 
+00112 };
+00113 
+00114 inline StkFloat Iir :: tick( StkFloat input )
+00115 {
+00116   unsigned int i;
+00117 
+00118   outputs_[0] = 0.0;
+00119   inputs_[0] = gain_ * input;
+00120   for ( i=b_.size()-1; i>0; i-- ) {
+00121     outputs_[0] += b_[i] * inputs_[i];
+00122     inputs_[i] = inputs_[i-1];
+00123   }
+00124   outputs_[0] += b_[0] * inputs_[0];
+00125 
+00126   for ( i=a_.size()-1; i>0; i-- ) {
+00127     outputs_[0] += -a_[i] * outputs_[i];
+00128     outputs_[i] = outputs_[i-1];
+00129   }
+00130 
+00131   lastFrame_[0] = outputs_[0];
+00132   return lastFrame_[0];
+00133 }
+00134 
+00135 inline StkFrames& Iir :: tick( StkFrames& frames, unsigned int channel )
+00136 {
+00137 #if defined(_STK_DEBUG_)
+00138   if ( channel >= frames.channels() ) {
+00139     errorString_ << "Iir::tick(): channel and StkFrames arguments are incompatible!";
+00140     handleError( StkError::FUNCTION_ARGUMENT );
+00141   }
+00142 #endif
+00143 
+00144   StkFloat *samples = &frames[channel];
+00145   unsigned int i, hop = frames.channels();
+00146   for ( unsigned int j=0; j<frames.frames(); j++, samples += hop ) {
+00147     outputs_[0] = 0.0;
+00148     inputs_[0] = gain_ * *samples;
+00149     for ( i=b_.size()-1; i>0; i-- ) {
+00150       outputs_[0] += b_[i] * inputs_[i];
+00151       inputs_[i] = inputs_[i-1];
+00152     }
+00153     outputs_[0] += b_[0] * inputs_[0];
+00154 
+00155     for ( i=a_.size()-1; i>0; i-- ) {
+00156       outputs_[0] += -a_[i] * outputs_[i];
+00157       outputs_[i] = outputs_[i-1];
+00158     }
+00159 
+00160     *samples = outputs_[0];
+00161   }
+00162 
+00163   lastFrame_[0] = *(samples-hop);
+00164   return frames;
+00165 }
+00166 
+00167 inline StkFrames& Iir :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00168 {
+00169 #if defined(_STK_DEBUG_)
+00170   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00171     errorString_ << "Iir::tick(): channel and StkFrames arguments are incompatible!";
+00172     handleError( StkError::FUNCTION_ARGUMENT );
+00173   }
+00174 #endif
+00175 
+00176   StkFloat *iSamples = &iFrames[iChannel];
+00177   StkFloat *oSamples = &oFrames[oChannel];
+00178   unsigned int i, iHop = iFrames.channels(), oHop = oFrames.channels();
+00179   for ( unsigned int j=0; j<iFrames.frames(); j++, iSamples += iHop, oSamples += oHop ) {
+00180     outputs_[0] = 0.0;
+00181     inputs_[0] = gain_ * *iSamples;
+00182     for ( i=b_.size()-1; i>0; i-- ) {
+00183       outputs_[0] += b_[i] * inputs_[i];
+00184       inputs_[i] = inputs_[i-1];
+00185     }
+00186     outputs_[0] += b_[0] * inputs_[0];
+00187 
+00188     for ( i=a_.size()-1; i>0; i-- ) {
+00189       outputs_[0] += -a_[i] * outputs_[i];
+00190       outputs_[i] = outputs_[i-1];
+00191     }
+00192 
+00193     *oSamples = outputs_[0];
+00194   }
+00195 
+00196   lastFrame_[0] = *(oSamples-oHop);
+00197   return iFrames;
+00198 }
+00199 
+00200 } // stk namespace
+00201 
+00202 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/InetWvIn_8h-source.html b/doc/html/InetWvIn_8h-source.html index 57641b1..ea42f12 100644 --- a/doc/html/InetWvIn_8h-source.html +++ b/doc/html/InetWvIn_8h-source.html @@ -8,79 +8,107 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

InetWvIn.h

00001 /***************************************************/
-00025 /***************************************************/
-00026 
-00027 #ifndef STK_INETWVIN_H
-00028 #define STK_INETWVIN_H
-00029 
-00030 #include "WvIn.h"
-00031 #include "TcpServer.h"
-00032 #include "UdpSocket.h"
-00033 #include "Thread.h"
-00034 #include "Mutex.h"
-00035 
-00036 typedef struct {
-00037   bool finished;
-00038   void *object;
-00039 } ThreadInfo;
-00040 
-00041 class InetWvIn : public WvIn
-00042 {
-00043 public:
-00045 
-00048   InetWvIn( unsigned long bufferFrames = 1024, unsigned int nBuffers = 8 );
-00049 
-00051   ~InetWvIn();
-00052 
+
+  
+
+

InetWvIn.h

00001 #ifndef STK_INETWVIN_H
+00002 #define STK_INETWVIN_H
+00003 
+00004 #include "WvIn.h"
+00005 #include "TcpServer.h"
+00006 #include "UdpSocket.h"
+00007 #include "Thread.h"
+00008 #include "Mutex.h"
+00009 
+00010 namespace stk {
+00011 
+00012 /***************************************************/
+00036 /***************************************************/
+00037 
+00038 typedef struct {
+00039   bool finished;
+00040   void *object;
+00041 } ThreadInfo;
+00042 
+00043 class InetWvIn : public WvIn
+00044 {
+00045 public:
+00047 
+00050   InetWvIn( unsigned long bufferFrames = 1024, unsigned int nBuffers = 8 );
+00051 
+00053   ~InetWvIn();
 00054 
-00061   void listen( int port = 2006, unsigned int nChannels = 1,
-00062                Stk::StkFormat format = STK_SINT16,
-00063                Socket::ProtocolType protocol = Socket::PROTO_TCP );
-00064 
+00056 
+00063   void listen( int port = 2006, unsigned int nChannels = 1,
+00064                Stk::StkFormat format = STK_SINT16,
+00065                Socket::ProtocolType protocol = Socket::PROTO_TCP );
 00066 
-00070   bool isConnected( void );
-00071 
-00072   // Called by the thread routine to receive data via the socket connection
-00073   // and fill the socket buffer.  This is not intended for general use but
-00074   // had to be made public for access from the thread.
-00075   void receive( void );
-00076 
-00077 protected:
-00078 
-00079   // Read buffered socket data into the data buffer ... will block if none available.
-00080   int readData( void );
-00081 
-00082   void computeFrame( void );
-00083 
-00084   Socket *soket_;
-00085   Thread thread_;
-00086   Mutex mutex_;
-00087   char *buffer_;
-00088   unsigned long bufferFrames_;
-00089   unsigned long bufferBytes_;
-00090   unsigned long bytesFilled_;
-00091   unsigned int nBuffers_;
-00092   unsigned long writePoint_;
-00093   unsigned long readPoint_;
-00094   long bufferCounter_;
-00095   int dataBytes_;
-00096   bool connected_;
-00097   int fd_;
-00098   ThreadInfo threadInfo_;
-00099   Stk::StkFormat dataType_;
+00068 
+00072   bool isConnected( void );
+00073 
+00075 
+00084   StkFloat lastOut( unsigned int channel = 0 );
+00085 
+00087 
+00097   StkFloat tick( unsigned int channel = 0 );
+00098 
 00100 
-00101 };
-00102 
-00103 #endif
-

+00109 StkFrames& tick( StkFrames& frames ); +00110 +00111 // Called by the thread routine to receive data via the socket connection +00112 // and fill the socket buffer. This is not intended for general use but +00113 // must be public for access from the thread. +00114 void receive( void ); +00115 +00116 protected: +00117 +00118 // Read buffered socket data into the data buffer ... will block if none available. +00119 int readData( void ); +00120 +00121 Socket *soket_; +00122 Thread thread_; +00123 Mutex mutex_; +00124 char *buffer_; +00125 unsigned long bufferFrames_; +00126 unsigned long bufferBytes_; +00127 unsigned long bytesFilled_; +00128 unsigned int nBuffers_; +00129 unsigned long writePoint_; +00130 unsigned long readPoint_; +00131 long bufferCounter_; +00132 int dataBytes_; +00133 bool connected_; +00134 int fd_; +00135 ThreadInfo threadInfo_; +00136 Stk::StkFormat dataType_; +00137 +00138 }; +00139 +00140 inline StkFloat InetWvIn :: lastOut( unsigned int channel ) +00141 { +00142 #if defined(_STK_DEBUG_) +00143 if ( channel >= data_.channels() ) { +00144 errorString_ << "InetWvIn::lastOut(): channel argument and data stream are incompatible!"; +00145 handleError( StkError::FUNCTION_ARGUMENT ); +00146 } +00147 #endif +00148 +00149 // If no connection and we've output all samples in the queue, return. +00150 if ( !connected_ && bytesFilled_ == 0 && bufferCounter_ == 0 ) return 0.0; +00151 +00152 return lastFrame_[channel]; +00153 } +00154 +00155 } // stk namespace +00156 +00157 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/InetWvOut_8h-source.html b/doc/html/InetWvOut_8h-source.html index 45a79fa..f9952e0 100644 --- a/doc/html/InetWvOut_8h-source.html +++ b/doc/html/InetWvOut_8h-source.html @@ -8,63 +8,71 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

InetWvOut.h

00001 /***************************************************/
-00021 /***************************************************/
-00022 
-00023 #ifndef STK_INETWVOUT_H
-00024 #define STK_INETWVOUT_H
-00025 
-00026 #include "WvOut.h"
-00027 #include "Socket.h"
-00028 
-00029 class InetWvOut : public WvOut
-00030 {
-00031  public:
-00033   InetWvOut( unsigned long packetFrames = 1024 );
-00034 
-00036 
-00039   InetWvOut( int port, Socket::ProtocolType protocol = Socket::PROTO_TCP,
-00040              std::string hostname = "localhost", unsigned int nChannels = 1, Stk::StkFormat format = STK_SINT16,
-00041              unsigned long packetFrames = 1024 );
-00042 
-00044   ~InetWvOut();
+
+  
+
+

InetWvOut.h

00001 #ifndef STK_INETWVOUT_H
+00002 #define STK_INETWVOUT_H
+00003 
+00004 #include "WvOut.h"
+00005 #include "Socket.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00030 /***************************************************/
+00031 
+00032 class InetWvOut : public WvOut
+00033 {
+00034  public:
+00036   InetWvOut( unsigned long packetFrames = 1024 );
+00037 
+00039 
+00042   InetWvOut( int port, Socket::ProtocolType protocol = Socket::PROTO_TCP,
+00043              std::string hostname = "localhost", unsigned int nChannels = 1, Stk::StkFormat format = STK_SINT16,
+00044              unsigned long packetFrames = 1024 );
 00045 
-00047 
-00050   void connect( int port, Socket::ProtocolType protocol = Socket::PROTO_TCP,
-00051                 std::string hostname = "localhost", unsigned int nChannels = 1, Stk::StkFormat format = STK_SINT16 );
-00052 
-00054   void disconnect(void);
+00047   ~InetWvOut();
+00048 
+00050 
+00053   void connect( int port, Socket::ProtocolType protocol = Socket::PROTO_TCP,
+00054                 std::string hostname = "localhost", unsigned int nChannels = 1, Stk::StkFormat format = STK_SINT16 );
 00055 
-00056  protected:
-00057 
-00058   void computeSample( const StkFloat sample );
-00059 
-00060   void computeFrames( const StkFrames& frames );
-00061 
-00062   void incrementFrame( void );
-00063 
-00064   // Write a buffer of length frames via the socket connection.
-00065   void writeData( unsigned long frames );
+00057   void disconnect( void );
+00058 
+00060 
+00065   void tick( const StkFloat sample );
 00066 
-00067   char *buffer_;
-00068   Socket *soket_;
-00069   unsigned long bufferFrames_;
-00070   unsigned long bufferBytes_;
-00071   unsigned long bufferIndex_;
-00072   unsigned long iData_;
-00073   unsigned int dataBytes_;
-00074   Stk::StkFormat dataType_;
-00075 };
-00076 
-00077 #endif
-

+00068 +00077 void tick( const StkFrames& frames ); +00078 +00079 protected: +00080 +00081 void incrementFrame( void ); +00082 +00083 // Write a buffer of length frames via the socket connection. +00084 void writeData( unsigned long frames ); +00085 +00086 char *buffer_; +00087 Socket *soket_; +00088 unsigned long bufferFrames_; +00089 unsigned long bufferBytes_; +00090 unsigned long bufferIndex_; +00091 unsigned long iData_; +00092 unsigned int dataBytes_; +00093 Stk::StkFormat dataType_; +00094 }; +00095 +00096 } // stk namespace +00097 +00098 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Instrmnt_8h-source.html b/doc/html/Instrmnt_8h-source.html index 651aaec..2b6ee46 100644 --- a/doc/html/Instrmnt_8h-source.html +++ b/doc/html/Instrmnt_8h-source.html @@ -8,60 +8,112 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Instrmnt.h

00001 /***************************************************/
-00010 /***************************************************/
-00011 
-00012 #ifndef STK_INSTRMNT_H
-00013 #define STK_INSTRMNT_H
-00014 
-00015 #include "Stk.h"
-00016 
-00017 class Instrmnt : public Stk
-00018 {
-00019  public:
-00021   Instrmnt();
-00022 
-00024   virtual ~Instrmnt();
-00025 
-00027   virtual void noteOn(StkFloat frequency, StkFloat amplitude) = 0;
-00028 
-00030   virtual void noteOff(StkFloat amplitude) = 0;
-00031 
-00033   virtual void setFrequency(StkFloat frequency);
-00034 
-00036   StkFloat lastOut() const;
-00037 
-00039   StkFloat lastOutLeft() const;
-00040 
-00042   StkFloat lastOutRight() const;
-00043 
-00045   StkFloat tick( void );
-00046 
-00048 
-00054   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+
+  
+
+

Instrmnt.h

00001 #ifndef STK_INSTRMNT_H
+00002 #define STK_INSTRMNT_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00017 /***************************************************/
+00018 
+00019 class Instrmnt : public Stk
+00020 {
+00021  public:
+00023   Instrmnt( void ) { lastFrame_.resize( 1, 1, 0.0 ); };
+00024 
+00026   virtual void noteOn( StkFloat frequency, StkFloat amplitude ) = 0;
+00027 
+00029   virtual void noteOff( StkFloat amplitude ) = 0;
+00030 
+00032   virtual void setFrequency( StkFloat frequency );
+00033 
+00035   virtual void controlChange(int number, StkFloat value);
+00036 
+00038   unsigned int channelsOut( void ) const { return lastFrame_.channels(); };
+00039 
+00041   const StkFrames& lastFrame( void ) const { return lastFrame_; };
+00042 
+00044 
+00052   StkFloat lastOut( unsigned int channel = 0 );
+00053 
 00055 
-00057   virtual void controlChange(int number, StkFloat value);
-00058 
-00059  protected:
-00060 
-00061   // This abstract function must be implemented in all subclasses.
-00062   // It is used to get around a C++ problem with overloaded virtual
-00063   // functions.
-00064   virtual StkFloat computeSample( void ) = 0;
-00065 
-00066   StkFloat lastOutput_;
-00067 
-00068 };
+00058   virtual StkFloat tick( unsigned int channel = 0 ) = 0;
+00059 
+00061 
+00068   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
 00069 
-00070 #endif
-

+00070 protected: +00071 +00072 StkFrames lastFrame_; +00073 +00074 }; +00075 +00076 inline void Instrmnt :: setFrequency(StkFloat frequency) +00077 { +00078 errorString_ << "Instrmnt::setFrequency: virtual setFrequency function call!"; +00079 handleError( StkError::WARNING ); +00080 } +00081 +00082 inline StkFloat Instrmnt :: lastOut( unsigned int channel ) +00083 { +00084 #if defined(_STK_DEBUG_) +00085 if ( channel >= lastFrame_.channels() ) { +00086 errorString_ << "Instrmnt::lastOut(): channel argument is invalid!"; +00087 handleError( StkError::FUNCTION_ARGUMENT ); +00088 } +00089 #endif +00090 +00091 return lastFrame_[channel]; +00092 } +00093 +00094 inline StkFrames& Instrmnt :: tick( StkFrames& frames, unsigned int channel ) +00095 { +00096 unsigned int nChannels = lastFrame_.channels(); +00097 #if defined(_STK_DEBUG_) +00098 if ( channel > frames.channels() - nChannels ) { +00099 errorString_ << "Instrmnt::tick(): channel and StkFrames arguments are incompatible!"; +00100 handleError( StkError::FUNCTION_ARGUMENT ); +00101 } +00102 #endif +00103 +00104 StkFloat *samples = &frames[channel]; +00105 unsigned int j, hop = frames.channels() - nChannels; +00106 if ( nChannels == 1 ) { +00107 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) +00108 *samples++ = tick(); +00109 } +00110 else { +00111 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00112 *samples++ = tick(); +00113 for ( j=1; j<nChannels; j++ ) +00114 *samples++ = lastFrame_[j]; +00115 } +00116 } +00117 +00118 return frames; +00119 } +00120 +00121 inline void Instrmnt :: controlChange( int number, StkFloat value ) +00122 { +00123 errorString_ << "Instrmnt::controlChange: virtual function call!"; +00124 handleError( StkError::WARNING ); +00125 } +00126 +00127 } // stk namespace +00128 +00129 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/JCRev_8h-source.html b/doc/html/JCRev_8h-source.html index 5be3637..7186a7a 100644 --- a/doc/html/JCRev_8h-source.html +++ b/doc/html/JCRev_8h-source.html @@ -8,49 +8,126 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

JCRev.h

00001 /***************************************************/
-00015 /***************************************************/
-00016 
-00017 #ifndef STK_JCREV_H
-00018 #define STK_JCREV_H
-00019 
-00020 #include "Effect.h"
-00021 #include "Delay.h" 
-00022 
-00023 class JCRev : public Effect
-00024 {
-00025  public:
-00027   JCRev( StkFloat T60 = 1.0 );
-00028 
-00030   ~JCRev();
-00031 
-00033   void clear();
-00034 
-00036   void setT60( StkFloat T60 );
+
+  
+
+

JCRev.h

00001 #ifndef STK_JCREV_H
+00002 #define STK_JCREV_H
+00003 
+00004 #include "Effect.h"
+00005 #include "Delay.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00022 /***************************************************/
+00023 
+00024 class JCRev : public Effect
+00025 {
+00026  public:
+00028   JCRev( StkFloat T60 = 1.0 );
+00029 
+00031   void clear( void );
+00032 
+00034   void setT60( StkFloat T60 );
+00035 
 00037 
-00038  protected:
-00039 
-00040   StkFloat computeSample( StkFloat input );
-00041 
-00042   Delay allpassDelays_[3];
-00043   Delay combDelays_[4];
-00044   Delay outLeftDelay_;
-00045   Delay outRightDelay_;
-00046   StkFloat allpassCoefficient_;
-00047   StkFloat combCoefficient_[4];
+00045   StkFloat lastOut( unsigned int channel = 0 );
+00046 
 00048 
-00049 };
-00050 
-00051 #endif
-00052 
-

+00055 StkFloat tick( StkFloat input, unsigned int channel = 0 ); +00056 +00058 +00067 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00068 +00070 +00079 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00080 +00081 protected: +00082 +00083 Delay allpassDelays_[3]; +00084 Delay combDelays_[4]; +00085 Delay outLeftDelay_; +00086 Delay outRightDelay_; +00087 StkFloat allpassCoefficient_; +00088 StkFloat combCoefficient_[4]; +00089 +00090 }; +00091 +00092 inline StkFloat JCRev :: lastOut( unsigned int channel ) +00093 { +00094 #if defined(_STK_DEBUG_) +00095 if ( channel > 1 ) { +00096 errorString_ << "JCRev::lastOut(): channel argument must be less than 2!"; +00097 handleError( StkError::FUNCTION_ARGUMENT ); +00098 } +00099 #endif +00100 +00101 return lastFrame_[channel]; +00102 } +00103 +00104 inline StkFloat JCRev :: tick( StkFloat input, unsigned int channel ) +00105 { +00106 #if defined(_STK_DEBUG_) +00107 if ( channel > 1 ) { +00108 errorString_ << "JCRev::tick(): channel argument must be less than 2!"; +00109 handleError( StkError::FUNCTION_ARGUMENT ); +00110 } +00111 #endif +00112 +00113 StkFloat temp, temp0, temp1, temp2, temp3, temp4, temp5, temp6; +00114 StkFloat filtout; +00115 +00116 temp = allpassDelays_[0].lastOut(); +00117 temp0 = allpassCoefficient_ * temp; +00118 temp0 += input; +00119 allpassDelays_[0].tick(temp0); +00120 temp0 = -(allpassCoefficient_ * temp0) + temp; +00121 +00122 temp = allpassDelays_[1].lastOut(); +00123 temp1 = allpassCoefficient_ * temp; +00124 temp1 += temp0; +00125 allpassDelays_[1].tick(temp1); +00126 temp1 = -(allpassCoefficient_ * temp1) + temp; +00127 +00128 temp = allpassDelays_[2].lastOut(); +00129 temp2 = allpassCoefficient_ * temp; +00130 temp2 += temp1; +00131 allpassDelays_[2].tick(temp2); +00132 temp2 = -(allpassCoefficient_ * temp2) + temp; +00133 +00134 temp3 = temp2 + (combCoefficient_[0] * combDelays_[0].lastOut()); +00135 temp4 = temp2 + (combCoefficient_[1] * combDelays_[1].lastOut()); +00136 temp5 = temp2 + (combCoefficient_[2] * combDelays_[2].lastOut()); +00137 temp6 = temp2 + (combCoefficient_[3] * combDelays_[3].lastOut()); +00138 +00139 combDelays_[0].tick(temp3); +00140 combDelays_[1].tick(temp4); +00141 combDelays_[2].tick(temp5); +00142 combDelays_[3].tick(temp6); +00143 +00144 filtout = temp3 + temp4 + temp5 + temp6; +00145 +00146 lastFrame_[0] = effectMix_ * (outLeftDelay_.tick(filtout)); +00147 lastFrame_[1] = effectMix_ * (outRightDelay_.tick(filtout)); +00148 temp = (1.0 - effectMix_) * input; +00149 lastFrame_[0] += temp; +00150 lastFrame_[1] += temp; +00151 +00152 return lastFrame_[channel]; +00153 } +00154 +00155 } // stk namespace +00156 +00157 #endif +00158 +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/JetTable_8h-source.html b/doc/html/JetTable_8h-source.html index d1f53a1..9118b7b 100644 --- a/doc/html/JetTable_8h-source.html +++ b/doc/html/JetTable_8h-source.html @@ -8,36 +8,99 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

JetTable.h

00001 /***************************************************/
-00014 /***************************************************/
-00015 
-00016 #ifndef STK_JETTABL_H
-00017 #define STK_JETTABL_H
-00018 
-00019 #include "Function.h"
-00020 
-00021 class JetTable : public Function
-00022 {
-00023 public:
-00025   JetTable();
+
+  
+
+

JetTable.h

00001 #ifndef STK_JETTABL_H
+00002 #define STK_JETTABL_H
+00003 
+00004 #include "Function.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00021 /***************************************************/
+00022 
+00023 class JetTable : public Function
+00024 {
+00025 public:
 00026 
-00028   ~JetTable();
+00028   StkFloat tick( StkFloat input );
 00029 
-00030 protected:
 00031 
-00032   StkFloat computeSample( StkFloat input );
-00033 
-00034 };
-00035 
-00036 #endif
-

+00039 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00040 +00042 +00050 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00051 +00052 }; +00053 +00054 inline StkFloat JetTable :: tick( StkFloat input ) +00055 { +00056 // Perform "table lookup" using a polynomial +00057 // calculation (x^3 - x), which approximates +00058 // the jet sigmoid behavior. +00059 lastFrame_[0] = input * (input * input - 1.0); +00060 +00061 // Saturate at +/- 1.0. +00062 if ( lastFrame_[0] > 1.0 ) lastFrame_[0] = 1.0; +00063 if ( lastFrame_[0] < -1.0 ) lastFrame_[0] = -1.0; +00064 return lastFrame_[0]; +00065 } +00066 +00067 inline StkFrames& JetTable :: tick( StkFrames& frames, unsigned int channel ) +00068 { +00069 #if defined(_STK_DEBUG_) +00070 if ( channel >= frames.channels() ) { +00071 errorString_ << "JetTable::tick(): channel and StkFrames arguments are incompatible!"; +00072 handleError( StkError::FUNCTION_ARGUMENT ); +00073 } +00074 #endif +00075 +00076 StkFloat *samples = &frames[channel]; +00077 unsigned int hop = frames.channels(); +00078 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00079 *samples = *samples * (*samples * *samples - 1.0); +00080 if ( *samples > 1.0) *samples = 1.0; +00081 if ( *samples < -1.0) *samples = -1.0; +00082 } +00083 +00084 lastFrame_[0] = *(samples-hop); +00085 return frames; +00086 } +00087 +00088 inline StkFrames& JetTable :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00089 { +00090 #if defined(_STK_DEBUG_) +00091 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00092 errorString_ << "JetTable::tick(): channel and StkFrames arguments are incompatible!"; +00093 handleError( StkError::FUNCTION_ARGUMENT ); +00094 } +00095 #endif +00096 +00097 StkFloat *iSamples = &iFrames[iChannel]; +00098 StkFloat *oSamples = &oFrames[oChannel]; +00099 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00100 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00101 *oSamples = *oSamples * (*oSamples * *oSamples - 1.0); +00102 if ( *oSamples > 1.0) *oSamples = 1.0; +00103 if ( *oSamples < -1.0) *oSamples = -1.0; +00104 } +00105 +00106 lastFrame_[0] = *(oSamples-oHop); +00107 return iFrames; +00108 } +00109 +00110 } // stk namespace +00111 +00112 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Mandolin_8h-source.html b/doc/html/Mandolin_8h-source.html index fa18750..4f241fa 100644 --- a/doc/html/Mandolin_8h-source.html +++ b/doc/html/Mandolin_8h-source.html @@ -8,51 +8,87 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Mandolin.h

00001 /***************************************************/
-00028 /***************************************************/
-00029 
-00030 #ifndef STK_MANDOLIN_H
-00031 #define STK_MANDOLIN_H
-00032 
-00033 #include "PluckTwo.h"
-00034 #include "FileWvIn.h"
-00035 
-00036 class Mandolin : public PluckTwo
-00037 {
-00038  public:
-00040   Mandolin(StkFloat lowestFrequency);
-00041 
-00043   ~Mandolin();
-00044 
-00046   void pluck(StkFloat amplitude);
-00047 
-00049   void pluck(StkFloat amplitude,StkFloat position);
-00050 
-00052   void noteOn(StkFloat frequency, StkFloat amplitude);
-00053 
-00055   void setBodySize(StkFloat size);
-00056 
-00058   void controlChange(int number, StkFloat value);
-00059 
-00060   protected:
+
+  
+
+

Mandolin.h

00001 #ifndef STK_MANDOLIN_H
+00002 #define STK_MANDOLIN_H
+00003 
+00004 #include "PluckTwo.h"
+00005 #include "FileWvIn.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00036 /***************************************************/
+00037 
+00038 class Mandolin : public PluckTwo
+00039 {
+00040  public:
+00042   Mandolin( StkFloat lowestFrequency );
+00043 
+00045   ~Mandolin( void );
+00046 
+00048   void pluck( StkFloat amplitude );
+00049 
+00051   void pluck( StkFloat amplitude,StkFloat position );
+00052 
+00054   void noteOn( StkFloat frequency, StkFloat amplitude );
+00055 
+00057   void setBodySize( StkFloat size );
+00058 
+00060   void controlChange( int number, StkFloat value );
 00061 
-00062   StkFloat computeSample( void );
-00063 
-00064   FileWvIn *soundfile_[12];
-00065   int mic_;
-00066   long dampTime_;
-00067   bool waveDone_;
-00068 };
-00069 
-00070 #endif
-

+00063 StkFloat tick( unsigned int channel = 0 ); +00064 +00065 protected: +00066 +00067 FileWvIn *soundfile_[12]; +00068 int mic_; +00069 long dampTime_; +00070 bool waveDone_; +00071 }; +00072 +00073 inline StkFloat Mandolin :: tick( unsigned int ) +00074 { +00075 StkFloat temp = 0.0; +00076 if ( !waveDone_ ) { +00077 // Scale the pluck excitation with comb +00078 // filtering for the duration of the file. +00079 temp = soundfile_[mic_]->tick() * pluckAmplitude_; +00080 temp = temp - combDelay_.tick(temp); +00081 waveDone_ = soundfile_[mic_]->isFinished(); +00082 } +00083 +00084 // Damping hack to help avoid overflow on re-plucking. +00085 if ( dampTime_ >=0 ) { +00086 dampTime_ -= 1; +00087 // Calculate 1st delay filtered reflection plus pluck excitation. +00088 lastFrame_[0] = delayLine_.tick( filter_.tick( temp + (delayLine_.lastOut() * 0.7) ) ); +00089 // Calculate 2nd delay just like the 1st. +00090 lastFrame_[0] += delayLine2_.tick( filter2_.tick( temp + (delayLine2_.lastOut() * 0.7) ) ); +00091 } +00092 else { // No damping hack after 1 period. +00093 // Calculate 1st delay filtered reflection plus pluck excitation. +00094 lastFrame_[0] = delayLine_.tick( filter_.tick( temp + (delayLine_.lastOut() * loopGain_) ) ); +00095 // Calculate 2nd delay just like the 1st. +00096 lastFrame_[0] += delayLine2_.tick( filter2_.tick( temp + (delayLine2_.lastOut() * loopGain_) ) ); +00097 } +00098 +00099 lastFrame_[0] *= 0.3; +00100 return lastFrame_[0]; +00101 } +00102 +00103 } // stk namespace +00104 +00105 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Mesh2D_8h-source.html b/doc/html/Mesh2D_8h-source.html index 9748c44..a6df9af 100644 --- a/doc/html/Mesh2D_8h-source.html +++ b/doc/html/Mesh2D_8h-source.html @@ -8,81 +8,87 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Mesh2D.h

00001 /***************************************************/
-00025 /***************************************************/
-00026 
-00027 #ifndef STK_MESH2D_H
-00028 #define STK_MESH2D_H
-00029 
-00030 #include "Instrmnt.h"
-00031 #include "OnePole.h"
-00032 
-00033 const short NXMAX = 12;
-00034 const short NYMAX = 12;
-00035 
-00036 class Mesh2D : public Instrmnt
-00037 {
-00038  public:
-00040   Mesh2D(short nX, short nY);
-00041 
-00043   ~Mesh2D();
-00044 
-00046   void clear(); 
-00047 
-00049   void setNX(short lenX);
-00050 
-00052   void setNY(short lenY);
-00053 
-00055   void setInputPosition(StkFloat xFactor, StkFloat yFactor);
-00056 
-00058   void setDecay(StkFloat decayFactor);
-00059 
-00061   void noteOn(StkFloat frequency, StkFloat amplitude);
-00062 
-00064   void noteOff(StkFloat amplitude);
-00065 
-00067   StkFloat energy();
-00068 
-00070   StkFloat inputTick( StkFloat input );
-00071 
-00073   void controlChange(int number, StkFloat value);
-00074 
-00075  protected:
+
+  
+
+

Mesh2D.h

00001 #ifndef STK_MESH2D_H
+00002 #define STK_MESH2D_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "OnePole.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00033 /***************************************************/
+00034 
+00035 const short NXMAX = 12;
+00036 const short NYMAX = 12;
+00037 
+00038 class Mesh2D : public Instrmnt
+00039 {
+00040  public:
+00042   Mesh2D( short nX, short nY );
+00043 
+00045   ~Mesh2D( void );
+00046 
+00048   void clear( void );
+00049 
+00051   void setNX( short lenX );
+00052 
+00054   void setNY( short lenY );
+00055 
+00057   void setInputPosition( StkFloat xFactor, StkFloat yFactor );
+00058 
+00060   void setDecay( StkFloat decayFactor );
+00061 
+00063   void noteOn( StkFloat frequency, StkFloat amplitude );
+00064 
+00066   void noteOff( StkFloat amplitude );
+00067 
+00069   StkFloat energy( void );
+00070 
+00072   StkFloat inputTick( StkFloat input );
+00073 
+00075   void controlChange( int number, StkFloat value );
 00076 
-00077   StkFloat computeSample( void );
-00078 
-00079   StkFloat tick0();
-00080   StkFloat tick1();
-00081   void clearMesh();
-00082 
-00083   short NX_, NY_;
-00084   short xInput_, yInput_;
-00085   OnePole  filterX_[NXMAX];
-00086   OnePole  filterY_[NYMAX];
-00087   StkFloat v_[NXMAX-1][NYMAX-1]; // junction velocities
-00088   StkFloat vxp_[NXMAX][NYMAX];   // positive-x velocity wave
-00089   StkFloat vxm_[NXMAX][NYMAX];   // negative-x velocity wave
-00090   StkFloat vyp_[NXMAX][NYMAX];   // positive-y velocity wave
-00091   StkFloat vym_[NXMAX][NYMAX];   // negative-y velocity wave
-00092 
-00093   // Alternate buffers
-00094   StkFloat vxp1_[NXMAX][NYMAX];  // positive-x velocity wave
-00095   StkFloat vxm1_[NXMAX][NYMAX];  // negative-x velocity wave
-00096   StkFloat vyp1_[NXMAX][NYMAX];  // positive-y velocity wave
-00097   StkFloat vym1_[NXMAX][NYMAX];  // negative-y velocity wave
-00098 
-00099   int counter_; // time in samples
-00100 };
+00078   StkFloat tick( unsigned int channel = 0 );
+00079 
+00080  protected:
+00081 
+00082   StkFloat tick0();
+00083   StkFloat tick1();
+00084   void clearMesh();
+00085 
+00086   short NX_, NY_;
+00087   short xInput_, yInput_;
+00088   OnePole  filterX_[NXMAX];
+00089   OnePole  filterY_[NYMAX];
+00090   StkFloat v_[NXMAX-1][NYMAX-1]; // junction velocities
+00091   StkFloat vxp_[NXMAX][NYMAX];   // positive-x velocity wave
+00092   StkFloat vxm_[NXMAX][NYMAX];   // negative-x velocity wave
+00093   StkFloat vyp_[NXMAX][NYMAX];   // positive-y velocity wave
+00094   StkFloat vym_[NXMAX][NYMAX];   // negative-y velocity wave
+00095 
+00096   // Alternate buffers
+00097   StkFloat vxp1_[NXMAX][NYMAX];  // positive-x velocity wave
+00098   StkFloat vxm1_[NXMAX][NYMAX];  // negative-x velocity wave
+00099   StkFloat vyp1_[NXMAX][NYMAX];  // positive-y velocity wave
+00100   StkFloat vym1_[NXMAX][NYMAX];  // negative-y velocity wave
 00101 
-00102 #endif
-

+00102 int counter_; // time in samples +00103 }; +00104 +00105 } // stk namespace +00106 +00107 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Messager_8h-source.html b/doc/html/Messager_8h-source.html index 9ed3e99..1ad4a3d 100644 --- a/doc/html/Messager_8h-source.html +++ b/doc/html/Messager_8h-source.html @@ -8,101 +8,102 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Messager.h

00001 /***************************************************/
-00033 /***************************************************/
-00034 
-00035 #ifndef STK_MESSAGER_H
-00036 #define STK_MESSAGER_H
-00037 
-00038 #include "Stk.h"
-00039 #include "Skini.h"
-00040 #include <queue>
-00041 
-00042 const int DEFAULT_QUEUE_LIMIT = 200;
-00043 
-00044 #if defined(__STK_REALTIME__)
-00045 
-00046 #include "Mutex.h"
-00047 #include "Thread.h"
-00048 #include "TcpServer.h"
-00049 #include "RtMidi.h"
-00050 
-00051 extern "C" THREAD_RETURN THREAD_TYPE stdinHandler(void * ptr);
+
+  
+
+

Messager.h

00001 #ifndef STK_MESSAGER_H
+00002 #define STK_MESSAGER_H
+00003 
+00004 #include "Stk.h"
+00005 #include "Skini.h"
+00006 #include <queue>
+00007 
+00008 #if defined(__STK_REALTIME__)
+00009 
+00010 #include "Mutex.h"
+00011 #include "Thread.h"
+00012 #include "TcpServer.h"
+00013 #include "RtMidi.h"
+00014 
+00015 #endif // __STK_REALTIME__
+00016 
+00017 namespace stk {
+00018 
+00019 /***************************************************/
+00051 /***************************************************/
 00052 
-00053 extern "C" THREAD_RETURN THREAD_TYPE socketHandler(void * ptr);
+00053 const int DEFAULT_QUEUE_LIMIT = 200;
 00054 
-00055 #endif // __STK_REALTIME__
-00056 
-00057 class Messager : public Stk
-00058 {
-00059  public:
-00060 
-00061   // This structure is used to share data among the various realtime
-00062   // messager threads.  It must be public.
-00063   struct MessagerData {
-00064     Skini skini;
-00065     std::queue<Skini::Message> queue;
-00066     unsigned int queueLimit;
-00067     int sources;
-00068 
-00069 #if defined(__STK_REALTIME__)
-00070     Mutex mutex;
-00071     RtMidiIn *midi;
-00072     TcpServer *socket;
-00073     std::vector<int> fd;
-00074     fd_set mask;
-00075 #endif
-00076 
-00077     // Default constructor.
-00078     MessagerData()
-00079       :queueLimit(0), sources(0) {}
-00080   };
-00081 
-00083   Messager();
-00084 
-00086   ~Messager();
+00055 class Messager : public Stk
+00056 {
+00057  public:
+00058 
+00059   // This structure is used to share data among the various realtime
+00060   // messager threads.  It must be public.
+00061   struct MessagerData {
+00062     Skini skini;
+00063     std::queue<Skini::Message> queue;
+00064     unsigned int queueLimit;
+00065     int sources;
+00066 
+00067 #if defined(__STK_REALTIME__)
+00068     Mutex mutex;
+00069     RtMidiIn *midi;
+00070     TcpServer *socket;
+00071     std::vector<int> fd;
+00072     fd_set mask;
+00073 #endif
+00074 
+00075     // Default constructor.
+00076     MessagerData()
+00077       :queueLimit(0), sources(0) {}
+00078   };
+00079 
+00081   Messager();
+00082 
+00084   ~Messager();
+00085 
 00087 
-00089 
-00095   void popMessage( Skini::Message& message );
-00096 
-00098   void pushMessage( Skini::Message& message );
+00093   void popMessage( Skini::Message& message );
+00094 
+00096   void pushMessage( Skini::Message& message );
+00097 
 00099 
-00101 
-00109   bool setScoreFile( const char* filename );
-00110 
-00111 #if defined(__STK_REALTIME__)
-00112 
-00113 
-00122   bool startStdInput();
+00107   bool setScoreFile( const char* filename );
+00108 
+00109 #if defined(__STK_REALTIME__)
+00111 
+00120   bool startStdInput();
+00121 
 00123 
-00125 
-00136   bool startSocketInput( int port=2001 );
+00134   bool startSocketInput( int port=2001 );
+00135 
 00137 
-00139 
-00151   bool startMidiInput( int port=0 );
-00152 
-00153 #endif
-00154 
-00155  protected:
+00149   bool startMidiInput( int port=0 );
+00150 
+00151 #endif
+00152 
+00153  protected:
+00154 
+00155   MessagerData data_;
 00156 
-00157   MessagerData data_;
-00158 
-00159 #if defined(__STK_REALTIME__)
-00160   Thread stdinThread_;
-00161   Thread socketThread_;
-00162 #endif
-00163 
-00164 };
+00157 #if defined(__STK_REALTIME__)
+00158   Thread stdinThread_;
+00159   Thread socketThread_;
+00160 #endif
+00161 
+00162 };
+00163 
+00164 } // stk namespace
 00165 
 00166 #endif
-

+
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/MidiFileIn_8h-source.html b/doc/html/MidiFileIn_8h-source.html index f7e017a..d134292 100644 --- a/doc/html/MidiFileIn_8h-source.html +++ b/doc/html/MidiFileIn_8h-source.html @@ -8,86 +8,92 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

MidiFileIn.h

00001 /**********************************************************************/
-00016 /**********************************************************************/
-00017 
-00018 #ifndef STK_MIDIFILEIN_H
-00019 #define STK_MIDIFILEIN_H
-00020 
-00021 #include "Stk.h"
-00022 #include <string>
-00023 #include <vector>
-00024 #include <fstream>
-00025 #include <sstream>
-00026 
-00027 class MidiFileIn : public Stk
-00028 {
-00029  public:
-00031 
-00035   MidiFileIn( std::string fileName );
-00036 
-00038   ~MidiFileIn();
-00039 
-00041   int getFileFormat() const;
-00042 
-00044   unsigned int getNumberOfTracks() const;
-00045 
+
+  
+
+

MidiFileIn.h

00001 #ifndef STK_MIDIFILEIN_H
+00002 #define STK_MIDIFILEIN_H
+00003 
+00004 #include "Stk.h"
+00005 #include <string>
+00006 #include <vector>
+00007 #include <fstream>
+00008 #include <sstream>
+00009 
+00010 namespace stk {
+00011 
+00012 /**********************************************************************/
+00027 /**********************************************************************/
+00028 
+00029 class MidiFileIn : public Stk
+00030 {
+00031  public:
+00033 
+00037   MidiFileIn( std::string fileName );
+00038 
+00040   ~MidiFileIn();
+00041 
+00043   int getFileFormat() const;
+00044 
+00046   unsigned int getNumberOfTracks() const;
 00047 
-00052   int getDivision() const;
-00053 
+00049 
+00054   int getDivision() const;
 00055 
-00059   void rewindTrack( unsigned int track = 0 );
-00060 
+00057 
+00061   void rewindTrack( unsigned int track = 0 );
 00062 
-00069   double getTickSeconds( unsigned int track = 0 );
-00070 
+00064 
+00071   double getTickSeconds( unsigned int track = 0 );
 00072 
-00084   unsigned long getNextEvent( std::vector<unsigned char> *event, unsigned int track = 0 );
-00085 
+00074 
+00086   unsigned long getNextEvent( std::vector<unsigned char> *event, unsigned int track = 0 );
 00087 
-00097   unsigned long getNextMidiEvent( std::vector<unsigned char> *midiEvent, unsigned int track = 0 );
-00098 
-00099  protected:
+00089 
+00099   unsigned long getNextMidiEvent( std::vector<unsigned char> *midiEvent, unsigned int track = 0 );
 00100 
-00101   // This protected class function is used for reading variable-length
-00102   // MIDI file values. It is assumed that this function is called with
-00103   // the file read pointer positioned at the start of a
-00104   // variable-length value.  The function returns true if the value is
-00105   // successfully parsed.  Otherwise, it returns false.
-00106   bool readVariableLength( unsigned long *value );
-00107 
-00108   std::ifstream file_;
-00109   unsigned int nTracks_;
-00110   int format_;
-00111   int division_;
-00112   bool usingTimeCode_;
-00113   std::vector<double> tickSeconds_;
-00114   std::vector<long> trackPointers_;
-00115   std::vector<long> trackOffsets_;
-00116   std::vector<long> trackLengths_;
-00117   std::vector<char> trackStatus_;
-00118 
-00119   // This structure and the following variables are used to save and
-00120   // keep track of a format 1 tempo map (and the initial tickSeconds
-00121   // parameter for formats 0 and 2).
-00122   struct TempoChange { 
-00123     unsigned long count;
-00124     double tickSeconds;
-00125   };
-00126   std::vector<TempoChange> tempoEvents_;
-00127   std::vector<unsigned long> trackCounters_;
-00128   std::vector<unsigned int> trackTempoIndex_;
-00129 };
-00130 
-00131 #endif
-

+00101 protected: +00102 +00103 // This protected class function is used for reading variable-length +00104 // MIDI file values. It is assumed that this function is called with +00105 // the file read pointer positioned at the start of a +00106 // variable-length value. The function returns true if the value is +00107 // successfully parsed. Otherwise, it returns false. +00108 bool readVariableLength( unsigned long *value ); +00109 +00110 std::ifstream file_; +00111 unsigned int nTracks_; +00112 int format_; +00113 int division_; +00114 bool usingTimeCode_; +00115 std::vector<double> tickSeconds_; +00116 std::vector<long> trackPointers_; +00117 std::vector<long> trackOffsets_; +00118 std::vector<long> trackLengths_; +00119 std::vector<char> trackStatus_; +00120 +00121 // This structure and the following variables are used to save and +00122 // keep track of a format 1 tempo map (and the initial tickSeconds +00123 // parameter for formats 0 and 2). +00124 struct TempoChange { +00125 unsigned long count; +00126 double tickSeconds; +00127 }; +00128 std::vector<TempoChange> tempoEvents_; +00129 std::vector<unsigned long> trackCounters_; +00130 std::vector<unsigned int> trackTempoIndex_; +00131 }; +00132 +00133 } // stk namespace +00134 +00135 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/ModalBar_8h-source.html b/doc/html/ModalBar_8h-source.html index 0c5e973..fe44b8b 100644 --- a/doc/html/ModalBar_8h-source.html +++ b/doc/html/ModalBar_8h-source.html @@ -8,41 +8,47 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

ModalBar.h

00001 /***************************************************/
-00029 /***************************************************/
-00030 
-00031 #ifndef STK_MODALBAR_H
-00032 #define STK_MODALBAR_H
-00033 
-00034 #include "Modal.h"
-00035 
-00036 class ModalBar : public Modal
-00037 {
-00038 public:
-00040   ModalBar();
-00041 
-00043   ~ModalBar();
-00044 
-00046   void setStickHardness(StkFloat hardness);
-00047 
-00049   void setStrikePosition(StkFloat position);
-00050 
-00052   void setPreset(int preset);
-00053 
-00055   void setModulationDepth(StkFloat mDepth);
-00056 
-00058   void controlChange(int number, StkFloat value);
-00059 };
-00060 
-00061 #endif
-

+ + +
+

ModalBar.h

00001 #ifndef STK_MODALBAR_H
+00002 #define STK_MODALBAR_H
+00003 
+00004 #include "Modal.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00036 /***************************************************/
+00037 
+00038 class ModalBar : public Modal
+00039 {
+00040 public:
+00042   ModalBar( void );
+00043 
+00045   ~ModalBar( void );
+00046 
+00048   void setStickHardness( StkFloat hardness );
+00049 
+00051   void setStrikePosition( StkFloat position );
+00052 
+00054   void setPreset( int preset );
+00055 
+00057   void setModulationDepth( StkFloat mDepth );
+00058 
+00060   void controlChange( int number, StkFloat value );
+00061 };
+00062 
+00063 } // stk namespace
+00064 
+00065 #endif
+
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Modal_8h-source.html b/doc/html/Modal_8h-source.html index 8717ce9..a8d24f9 100644 --- a/doc/html/Modal_8h-source.html +++ b/doc/html/Modal_8h-source.html @@ -8,80 +8,107 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Modal.h

00001 /***************************************************/
-00012 /***************************************************/
-00013 
-00014 #ifndef STK_MODAL_H
-00015 #define STK_MODAL_H
-00016 
-00017 #include "Instrmnt.h"
-00018 #include "Envelope.h"
-00019 #include "WaveLoop.h"
-00020 #include "SineWave.h"
-00021 #include "BiQuad.h"
-00022 #include "OnePole.h"
-00023 
-00024 class Modal : public Instrmnt
-00025 {
-00026 public:
-00028 
-00031   Modal( unsigned int modes = 4 );
-00032 
-00034   virtual ~Modal();
-00035 
-00037   void clear();
-00038 
-00040   virtual void setFrequency(StkFloat frequency);
-00041 
-00043   void setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius);
-00044 
-00046   void setMasterGain(StkFloat aGain);
-00047 
-00049   void setDirectGain(StkFloat aGain);
-00050 
-00052   void setModeGain(unsigned int modeIndex, StkFloat gain);
-00053 
-00055   virtual void strike(StkFloat amplitude);
-00056 
-00058   void damp(StkFloat amplitude);
-00059 
-00061   void noteOn(StkFloat frequency, StkFloat amplitude);
-00062 
-00064   void noteOff(StkFloat amplitude);
-00065 
-00067   virtual void controlChange(int number, StkFloat value) = 0;
-00068 
-00069 protected:
+
+  
+
+

Modal.h

00001 #ifndef STK_MODAL_H
+00002 #define STK_MODAL_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "Envelope.h"
+00006 #include "FileLoop.h"
+00007 #include "SineWave.h"
+00008 #include "BiQuad.h"
+00009 #include "OnePole.h"
+00010 
+00011 namespace stk {
+00012 
+00013 /***************************************************/
+00024 /***************************************************/
+00025 
+00026 class Modal : public Instrmnt
+00027 {
+00028 public:
+00030 
+00033   Modal( unsigned int modes = 4 );
+00034 
+00036   virtual ~Modal( void );
+00037 
+00039   void clear( void );
+00040 
+00042   virtual void setFrequency( StkFloat frequency );
+00043 
+00045   void setRatioAndRadius( unsigned int modeIndex, StkFloat ratio, StkFloat radius );
+00046 
+00048   void setMasterGain( StkFloat aGain ) { masterGain_ = aGain; };
+00049 
+00051   void setDirectGain( StkFloat aGain ) { directGain_ = aGain; };
+00052 
+00054   void setModeGain( unsigned int modeIndex, StkFloat gain );
+00055 
+00057   virtual void strike( StkFloat amplitude );
+00058 
+00060   void damp( StkFloat amplitude );
+00061 
+00063   void noteOn( StkFloat frequency, StkFloat amplitude );
+00064 
+00066   void noteOff( StkFloat amplitude );
+00067 
+00069   virtual void controlChange( int number, StkFloat value ) = 0;
 00070 
-00071   StkFloat computeSample( void );
-00072 
-00073   Envelope envelope_; 
-00074   FileWvIn *wave_;
-00075   BiQuad **filters_;
-00076   OnePole  onepole_;
-00077   SineWave vibrato_;
-00078 
-00079   unsigned int nModes_;
-00080   std::vector<StkFloat> ratios_;
-00081   std::vector<StkFloat> radii_;
-00082 
-00083   StkFloat vibratoGain_;
-00084   StkFloat masterGain_;
-00085   StkFloat directGain_;
-00086   StkFloat stickHardness_;
-00087   StkFloat strikePosition_;
-00088   StkFloat baseFrequency_;
-00089 };
-00090 
-00091 #endif
-

+00072 StkFloat tick( unsigned int channel = 0 ); +00073 +00074 protected: +00075 +00076 Envelope envelope_; +00077 FileWvIn *wave_; +00078 BiQuad **filters_; +00079 OnePole onepole_; +00080 SineWave vibrato_; +00081 +00082 unsigned int nModes_; +00083 std::vector<StkFloat> ratios_; +00084 std::vector<StkFloat> radii_; +00085 +00086 StkFloat vibratoGain_; +00087 StkFloat masterGain_; +00088 StkFloat directGain_; +00089 StkFloat stickHardness_; +00090 StkFloat strikePosition_; +00091 StkFloat baseFrequency_; +00092 }; +00093 +00094 inline StkFloat Modal :: tick( unsigned int ) +00095 { +00096 StkFloat temp = masterGain_ * onepole_.tick( wave_->tick() * envelope_.tick() ); +00097 +00098 StkFloat temp2 = 0.0; +00099 for ( unsigned int i=0; i<nModes_; i++ ) +00100 temp2 += filters_[i]->tick(temp); +00101 +00102 temp2 -= temp2 * directGain_; +00103 temp2 += directGain_ * temp; +00104 +00105 if ( vibratoGain_ != 0.0 ) { +00106 // Calculate AM and apply to master out +00107 temp = 1.0 + ( vibrato_.tick() * vibratoGain_ ); +00108 temp2 = temp * temp2; +00109 } +00110 +00111 lastFrame_[0] = temp2; +00112 return lastFrame_[0]; +00113 } +00114 +00115 } // stk namespace +00116 +00117 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Modulate_8h-source.html b/doc/html/Modulate_8h-source.html index bd8ad66..4ffb2e0 100644 --- a/doc/html/Modulate_8h-source.html +++ b/doc/html/Modulate_8h-source.html @@ -8,54 +8,98 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Modulate.h

00001 /***************************************************/
+
+  
+
+

Modulate.h

00001 #ifndef STK_MODULATE_H
+00002 #define STK_MODULATE_H
+00003 
+00004 #include "Generator.h"
+00005 #include "SineWave.h"
+00006 #include "Noise.h"
+00007 #include "OnePole.h"
+00008 
+00009 namespace stk {
+00010 
 00011 /***************************************************/
-00012 
-00013 #ifndef STK_MODULATE_H
-00014 #define STK_MODULATE_H
-00015 
-00016 #include "Generator.h"
-00017 #include "SineWave.h"
-00018 #include "SubNoise.h"
-00019 #include "OnePole.h"
-00020 
-00021 class Modulate : public Generator
-00022 {
-00023  public:
-00025 
-00028   Modulate();
-00029 
-00031   ~Modulate();
-00032 
-00034   void reset();
-00035 
-00037   void setVibratoRate(StkFloat rate);
-00038 
-00040   void setVibratoGain(StkFloat gain);
-00041 
-00043   void setRandomGain(StkFloat gain);
-00044 
-00045  protected:
+00021 /***************************************************/
+00022 
+00023 class Modulate : public Generator
+00024 {
+00025  public:
+00027 
+00030   Modulate( void );
+00031 
+00033   ~Modulate( void );
+00034 
+00036   void reset( void ) { lastFrame_[0] = 0.0; };
+00037 
+00039   void setVibratoRate( StkFloat rate ) { vibrato_.setFrequency( rate ); };
+00040 
+00042   void setVibratoGain( StkFloat gain ) { vibratoGain_ = gain; };
+00043 
+00045   void setRandomGain( StkFloat gain );
 00046 
-00047   StkFloat computeSample( void );
-00048 
-00049   SineWave vibrato_;
-00050   SubNoise noise_;
-00051   OnePole  filter_;
-00052   StkFloat vibratoGain_;
-00053   StkFloat randomGain_;
+00048   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00049 
+00051   StkFloat tick( void );
+00052 
 00054 
-00055 };
-00056 
-00057 #endif
-

+00061 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00062 +00063 protected: +00064 +00065 void sampleRateChanged( StkFloat newRate, StkFloat oldRate ); +00066 +00067 SineWave vibrato_; +00068 Noise noise_; +00069 OnePole filter_; +00070 StkFloat vibratoGain_; +00071 StkFloat randomGain_; +00072 unsigned int noiseRate_; +00073 unsigned int noiseCounter_; +00074 +00075 }; +00076 +00077 inline StkFloat Modulate :: tick( void ) +00078 { +00079 // Compute periodic and random modulations. +00080 lastFrame_[0] = vibratoGain_ * vibrato_.tick(); +00081 if ( noiseCounter_++ >= noiseRate_ ) { +00082 noise_.tick(); +00083 noiseCounter_ = 0; +00084 } +00085 lastFrame_[0] += filter_.tick( noise_.lastOut() ); +00086 return lastFrame_[0]; +00087 } +00088 +00089 inline StkFrames& Modulate :: tick( StkFrames& frames, unsigned int channel ) +00090 { +00091 #if defined(_STK_DEBUG_) +00092 if ( channel >= frames.channels() ) { +00093 errorString_ << "Modulate::tick(): channel and StkFrames arguments are incompatible!"; +00094 handleError( StkError::FUNCTION_ARGUMENT ); +00095 } +00096 #endif +00097 +00098 StkFloat *samples = &frames[channel]; +00099 unsigned int hop = frames.channels(); +00100 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) +00101 *samples = Modulate::tick(); +00102 +00103 return frames; +00104 } +00105 +00106 } // stk namespace +00107 +00108 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Moog_8h-source.html b/doc/html/Moog_8h-source.html index 02343b4..c7dac78 100644 --- a/doc/html/Moog_8h-source.html +++ b/doc/html/Moog_8h-source.html @@ -8,53 +8,77 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Moog.h

00001 /***************************************************/
-00019 /***************************************************/
-00020 
-00021 #ifndef STK_MOOG_H
-00022 #define STK_MOOG_H
-00023 
-00024 #include "Sampler.h"
-00025 #include "FormSwep.h"
-00026 
-00027 class Moog : public Sampler
-00028 {
-00029  public:
-00031 
-00034   Moog();
-00035 
-00037   ~Moog();
-00038 
-00040   void setFrequency(StkFloat frequency);
-00041 
-00043   void noteOn(StkFloat frequency, StkFloat amplitude);
-00044 
-00046   void setModulationSpeed(StkFloat mSpeed);
-00047 
-00049   void setModulationDepth(StkFloat mDepth);
-00050 
-00052   void controlChange(int number, StkFloat value);
-00053 
-00054  protected:
+
+  
+
+

Moog.h

00001 #ifndef STK_MOOG_H
+00002 #define STK_MOOG_H
+00003 
+00004 #include "Sampler.h"
+00005 #include "FormSwep.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00027 /***************************************************/
+00028 
+00029 class Moog : public Sampler
+00030 {
+00031  public:
+00033 
+00036   Moog( void );
+00037 
+00039   ~Moog( void );
+00040 
+00042   void setFrequency( StkFloat frequency );
+00043 
+00045   void noteOn( StkFloat frequency, StkFloat amplitude );
+00046 
+00048   void setModulationSpeed( StkFloat mSpeed ) { loops_[1]->setFrequency( mSpeed ); };
+00049 
+00051   void setModulationDepth( StkFloat mDepth ) { modDepth_ = mDepth * 0.5; };
+00052 
+00054   void controlChange( int number, StkFloat value );
 00055 
-00056   StkFloat computeSample( void );
-00057 
-00058   FormSwep filters_[2];
-00059   StkFloat modDepth_;
-00060   StkFloat filterQ_;
-00061   StkFloat filterRate_;
-00062 
-00063 };
-00064 
-00065 #endif
-

+00057 StkFloat tick( unsigned int channel = 0 ); +00058 +00059 protected: +00060 +00061 FormSwep filters_[2]; +00062 StkFloat modDepth_; +00063 StkFloat filterQ_; +00064 StkFloat filterRate_; +00065 +00066 }; +00067 +00068 inline StkFloat Moog :: tick( unsigned int ) +00069 { +00070 StkFloat temp; +00071 +00072 if ( modDepth_ != 0.0 ) { +00073 temp = loops_[1]->tick() * modDepth_; +00074 loops_[0]->setFrequency( baseFrequency_ * (1.0 + temp) ); +00075 } +00076 +00077 temp = attackGain_ * attacks_[0]->tick(); +00078 temp += loopGain_ * loops_[0]->tick(); +00079 temp = filter_.tick( temp ); +00080 temp *= adsr_.tick(); +00081 temp = filters_[0].tick( temp ); +00082 lastFrame_[0] = filters_[1].tick( temp ); +00083 return lastFrame_[0] * 6.0; +00084 } +00085 +00086 } // stk namespace +00087 +00088 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Mutex_8h-source.html b/doc/html/Mutex_8h-source.html index 1083906..9dfb44f 100644 --- a/doc/html/Mutex_8h-source.html +++ b/doc/html/Mutex_8h-source.html @@ -8,62 +8,68 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Mutex.h

00001 /***************************************************/
-00012 /***************************************************/
-00013 
-00014 #ifndef STK_MUTEX_H
-00015 #define STK_MUTEX_H
-00016 
-00017 #include "Stk.h"
+
+  
+
+

Mutex.h

00001 #ifndef STK_MUTEX_H
+00002 #define STK_MUTEX_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
+00007 
+00008   #include <pthread.h>
+00009   typedef pthread_mutex_t MUTEX;
+00010   typedef pthread_cond_t CONDITION;
+00011 
+00012 #elif defined(__OS_WINDOWS__)
+00013 
+00014   #include <windows.h>
+00015   #include <process.h>
+00016   typedef CRITICAL_SECTION MUTEX;
+00017   typedef HANDLE CONDITION;
 00018 
-00019 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
+00019 #endif
 00020 
-00021   #include <pthread.h>
-00022   typedef pthread_mutex_t MUTEX;
-00023   typedef pthread_cond_t CONDITION;
-00024 
-00025 #elif defined(__OS_WINDOWS__)
-00026 
-00027   #include <windows.h>
-00028   #include <process.h>
-00029   typedef CRITICAL_SECTION MUTEX;
-00030   typedef HANDLE CONDITION;
-00031 
-00032 #endif
-00033 
-00034 class Mutex : public Stk
-00035 {
-00036  public:
-00038   Mutex();
-00039 
-00041   ~Mutex();
-00042 
-00044   void lock(void);
-00045 
-00047   void unlock(void);
-00048 
+00021 namespace stk {
+00022 
+00023 /***************************************************/
+00034 /***************************************************/
+00035 
+00036 class Mutex : public Stk
+00037 {
+00038  public:
+00040   Mutex();
+00041 
+00043   ~Mutex();
+00044 
+00046   void lock(void);
+00047 
+00049   void unlock(void);
 00050 
-00054   void wait(void);
-00055 
+00052 
+00056   void wait(void);
 00057 
-00061   void signal(void);
-00062 
-00063  protected:
+00059 
+00063   void signal(void);
 00064 
-00065   MUTEX mutex_;
-00066   CONDITION condition_;
-00067 
-00068 };
+00065  protected:
+00066 
+00067   MUTEX mutex_;
+00068   CONDITION condition_;
 00069 
-00070 #endif
-

+00070 }; +00071 +00072 } // stk namespace +00073 +00074 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/NRev_8h-source.html b/doc/html/NRev_8h-source.html index 8e6d1a0..cbafc4e 100644 --- a/doc/html/NRev_8h-source.html +++ b/doc/html/NRev_8h-source.html @@ -8,48 +8,127 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

NRev.h

00001 /***************************************************/
-00017 /***************************************************/
-00018 
-00019 #ifndef STK_NREV_H
-00020 #define STK_NREV_H
-00021 
-00022 #include "Effect.h" 
-00023 #include "Delay.h" 
+
+  
+
+

NRev.h

00001 #ifndef STK_NREV_H
+00002 #define STK_NREV_H
+00003 
+00004 #include "Effect.h"
+00005 #include "Delay.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00023 /***************************************************/
 00024 
-00025 class NRev : public Effect
+00025 class NRev : public Effect
 00026 {
 00027  public:
-00029   NRev( StkFloat T60 = 1.0 );
+00029   NRev( StkFloat T60 = 1.0 );
 00030 
-00032   ~NRev();
+00032   void clear( void );
 00033 
-00035   void clear();
+00035   void setT60( StkFloat T60 );
 00036 
-00038   void setT60( StkFloat T60 );
-00039 
-00040  protected:
-00041 
-00042   StkFloat computeSample( StkFloat input );
-00043 
-00044   Delay allpassDelays_[8];
-00045   Delay combDelays_[6];
-00046   StkFloat allpassCoefficient_;
-00047   StkFloat combCoefficient_[6];
-00048          StkFloat lowpassState_;
+00038 
+00046   StkFloat lastOut( unsigned int channel = 0 );
+00047 
 00049 
-00050 };
-00051 
-00052 #endif
-00053 
-

+00056 StkFloat tick( StkFloat input, unsigned int channel = 0 ); +00057 +00059 +00068 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00069 +00071 +00080 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00081 +00082 protected: +00083 +00084 Delay allpassDelays_[8]; +00085 Delay combDelays_[6]; +00086 StkFloat allpassCoefficient_; +00087 StkFloat combCoefficient_[6]; +00088 StkFloat lowpassState_; +00089 +00090 }; +00091 +00092 inline StkFloat NRev :: lastOut( unsigned int channel ) +00093 { +00094 #if defined(_STK_DEBUG_) +00095 if ( channel > 1 ) { +00096 errorString_ << "NRev::lastOut(): channel argument must be less than 2!"; +00097 handleError( StkError::FUNCTION_ARGUMENT ); +00098 } +00099 #endif +00100 +00101 return lastFrame_[channel]; +00102 } +00103 +00104 inline StkFloat NRev :: tick( StkFloat input, unsigned int channel ) +00105 { +00106 #if defined(_STK_DEBUG_) +00107 if ( channel > 1 ) { +00108 errorString_ << "NRev::tick(): channel argument must be less than 2!"; +00109 handleError( StkError::FUNCTION_ARGUMENT ); +00110 } +00111 #endif +00112 +00113 StkFloat temp, temp0, temp1, temp2, temp3; +00114 int i; +00115 +00116 temp0 = 0.0; +00117 for ( i=0; i<6; i++ ) { +00118 temp = input + (combCoefficient_[i] * combDelays_[i].lastOut()); +00119 temp0 += combDelays_[i].tick(temp); +00120 } +00121 +00122 for ( i=0; i<3; i++ ) { +00123 temp = allpassDelays_[i].lastOut(); +00124 temp1 = allpassCoefficient_ * temp; +00125 temp1 += temp0; +00126 allpassDelays_[i].tick(temp1); +00127 temp0 = -(allpassCoefficient_ * temp1) + temp; +00128 } +00129 +00130 // One-pole lowpass filter. +00131 lowpassState_ = 0.7 * lowpassState_ + 0.3 * temp0; +00132 temp = allpassDelays_[3].lastOut(); +00133 temp1 = allpassCoefficient_ * temp; +00134 temp1 += lowpassState_; +00135 allpassDelays_[3].tick( temp1 ); +00136 temp1 = -( allpassCoefficient_ * temp1 ) + temp; +00137 +00138 temp = allpassDelays_[4].lastOut(); +00139 temp2 = allpassCoefficient_ * temp; +00140 temp2 += temp1; +00141 allpassDelays_[4].tick( temp2 ); +00142 lastFrame_[0] = effectMix_*( -( allpassCoefficient_ * temp2 ) + temp ); +00143 +00144 temp = allpassDelays_[5].lastOut(); +00145 temp3 = allpassCoefficient_ * temp; +00146 temp3 += temp1; +00147 allpassDelays_[5].tick( temp3 ); +00148 lastFrame_[1] = effectMix_*( - ( allpassCoefficient_ * temp3 ) + temp ); +00149 +00150 temp = ( 1.0 - effectMix_ ) * input; +00151 lastFrame_[0] += temp; +00152 lastFrame_[1] += temp; +00153 +00154 return lastFrame_[channel]; +00155 } +00156 +00157 } // stk namespace +00158 +00159 #endif +00160 +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Noise_8h-source.html b/doc/html/Noise_8h-source.html index 33232f9..80515ba 100644 --- a/doc/html/Noise_8h-source.html +++ b/doc/html/Noise_8h-source.html @@ -8,43 +8,73 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Noise.h

00001 /***************************************************/
-00011 /***************************************************/
-00012 
-00013 #ifndef STK_NOISE_H
-00014 #define STK_NOISE_H
-00015 
-00016 #include "Generator.h"
-00017 
-00018 class Noise : public Generator
-00019 {
-00020 public:
-00021 
-00023   Noise();
-00024 
-00026 
-00030   Noise( unsigned int seed );
-00031 
-00033   virtual ~Noise();
-00034 
-00036 
-00040   void setSeed( unsigned int seed = 0 );
-00041 
-00042 protected:
+
+  
+
+

Noise.h

00001 #ifndef STK_NOISE_H
+00002 #define STK_NOISE_H
+00003 
+00004 #include "Generator.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class Noise : public Generator
+00021 {
+00022 public:
+00023 
+00025 
+00029   Noise( unsigned int seed = 0 );
+00030 
+00032 
+00036   void setSeed( unsigned int seed = 0 );
+00037 
+00039   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00040 
+00042   StkFloat tick( void );
 00043 
-00044   virtual StkFloat computeSample( void );
 00045 
-00046 };
-00047 
-00048 #endif
-

+00052 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00053 +00054 protected: +00055 +00056 }; +00057 +00058 inline StkFloat Noise :: tick( void ) +00059 { +00060 return lastFrame_[0] = (StkFloat) ( 2.0 * rand() / (RAND_MAX + 1.0) - 1.0 ); +00061 } +00062 +00063 inline StkFrames& Noise :: tick( StkFrames& frames, unsigned int channel ) +00064 { +00065 #if defined(_STK_DEBUG_) +00066 if ( channel >= frames.channels() ) { +00067 errorString_ << "Noise::tick(): channel and StkFrames arguments are incompatible!"; +00068 handleError( StkError::FUNCTION_ARGUMENT ); +00069 } +00070 #endif +00071 +00072 StkFloat *samples = &frames[channel]; +00073 unsigned int hop = frames.channels(); +00074 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) +00075 *samples = (StkFloat) ( 2.0 * rand() / (RAND_MAX + 1.0) - 1.0 ); +00076 +00077 lastFrame_[0] = *(samples-hop); +00078 return frames; +00079 } +00080 +00081 } // stk namespace +00082 +00083 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/OnePole_8h-source.html b/doc/html/OnePole_8h-source.html index b465e50..7dafe63 100644 --- a/doc/html/OnePole_8h-source.html +++ b/doc/html/OnePole_8h-source.html @@ -8,56 +8,110 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

OnePole.h

00001 /***************************************************/
-00013 /***************************************************/
-00014 
-00015 #ifndef STK_ONEPOLE_H
-00016 #define STK_ONEPOLE_H
-00017 
-00018 #include "Filter.h"
+
+  
+
+

OnePole.h

00001 #ifndef STK_ONEPOLE_H
+00002 #define STK_ONEPOLE_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
 00019 
-00020 class OnePole : protected Filter
+00020 class OnePole : public Filter
 00021 {
 00022 public:
 00023 
-00025   OnePole();
+00025   OnePole( StkFloat thePole = 0.9 );
 00026 
-00028   OnePole( StkFloat thePole );
+00028   ~OnePole();
 00029 
-00031   ~OnePole();
+00031   void setB0( StkFloat b0 ) { b_[0] = b0; };
 00032 
-00034   void clear(void);
+00034   void setA1( StkFloat a1 ) { a_[1] = a1; };
 00035 
-00037   void setB0(StkFloat b0);
+00037   void setCoefficients( StkFloat b0, StkFloat a1, bool clearState = false );
 00038 
-00040   void setA1(StkFloat a1);
-00041 
-00043 
-00050   void setPole(StkFloat thePole);
+00040 
+00047   void setPole( StkFloat thePole );
+00048 
+00050   StkFloat lastOut( void ) const { return lastFrame_[0]; };
 00051 
-00053 
-00057   void setGain(StkFloat gain);
-00058 
-00060   StkFloat getGain(void) const;
-00061 
-00063   StkFloat lastOut(void) const;
-00064 
-00066   StkFloat tick(StkFloat sample);
+00053   StkFloat tick( StkFloat input );
+00054 
+00056 
+00064   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00065 
 00067 
-00069 
-00075   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00075   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
 00076 
 00077 };
 00078 
-00079 #endif
-

+00079 inline StkFloat OnePole :: tick( StkFloat input ) +00080 { +00081 inputs_[0] = gain_ * input; +00082 lastFrame_[0] = b_[0] * inputs_[0] - a_[1] * outputs_[1]; +00083 outputs_[1] = lastFrame_[0]; +00084 +00085 return lastFrame_[0]; +00086 } +00087 +00088 inline StkFrames& OnePole :: tick( StkFrames& frames, unsigned int channel ) +00089 { +00090 #if defined(_STK_DEBUG_) +00091 if ( channel >= frames.channels() ) { +00092 errorString_ << "OnePole::tick(): channel and StkFrames arguments are incompatible!"; +00093 handleError( StkError::FUNCTION_ARGUMENT ); +00094 } +00095 #endif +00096 +00097 StkFloat *samples = &frames[channel]; +00098 unsigned int hop = frames.channels(); +00099 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00100 inputs_[0] = gain_ * *samples; +00101 *samples = b_[0] * inputs_[0] - a_[1] * outputs_[1]; +00102 outputs_[1] = *samples; +00103 } +00104 +00105 lastFrame_[0] = outputs_[1]; +00106 return frames; +00107 } +00108 +00109 inline StkFrames& OnePole :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00110 { +00111 #if defined(_STK_DEBUG_) +00112 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00113 errorString_ << "OnePole::tick(): channel and StkFrames arguments are incompatible!"; +00114 handleError( StkError::FUNCTION_ARGUMENT ); +00115 } +00116 #endif +00117 +00118 StkFloat *iSamples = &iFrames[iChannel]; +00119 StkFloat *oSamples = &oFrames[oChannel]; +00120 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00121 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00122 inputs_[0] = gain_ * *iSamples; +00123 *oSamples = b_[0] * inputs_[0] - a_[1] * outputs_[1]; +00124 outputs_[1] = *oSamples; +00125 } +00126 +00127 lastFrame_[0] = outputs_[1]; +00128 return iFrames; +00129 } +00130 +00131 } // stk namespace +00132 +00133 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/OneZero_8h-source.html b/doc/html/OneZero_8h-source.html index 5e240a9..e79b957 100644 --- a/doc/html/OneZero_8h-source.html +++ b/doc/html/OneZero_8h-source.html @@ -8,56 +8,111 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

OneZero.h

00001 /***************************************************/
-00013 /***************************************************/
-00014 
-00015 #ifndef STK_ONEZERO_H
-00016 #define STK_ONEZERO_H
-00017 
-00018 #include "Filter.h"
+
+  
+
+

OneZero.h

00001 #ifndef STK_ONEZERO_H
+00002 #define STK_ONEZERO_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
 00019 
-00020 class OneZero : protected Filter
+00020 class OneZero : public Filter
 00021 {
 00022  public:
 00023 
-00025   OneZero();
+00025   OneZero( StkFloat theZero = -1.0 );
 00026 
-00028   OneZero(StkFloat theZero);
+00028   ~OneZero();
 00029 
-00031   ~OneZero();
+00031   void setB0( StkFloat b0 ) { b_[0] = b0; };
 00032 
-00034   void clear(void);
+00034   void setB1( StkFloat b1 ) { b_[1] = b1; };
 00035 
-00037   void setB0(StkFloat b0);
+00037   void setCoefficients( StkFloat b0, StkFloat b1, bool clearState = false );
 00038 
-00040   void setB1(StkFloat b1);
-00041 
-00043 
-00050   void setZero(StkFloat theZero);
+00040 
+00047   void setZero( StkFloat theZero );
+00048 
+00050   StkFloat lastOut( void ) const { return lastFrame_[0]; };
 00051 
-00053 
-00057   void setGain(StkFloat gain);
-00058 
-00060   StkFloat getGain(void) const;
-00061 
-00063   StkFloat lastOut(void) const;
-00064 
-00066   StkFloat tick(StkFloat sample);
+00053   StkFloat tick( StkFloat input );
+00054 
+00056 
+00064   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00065 
 00067 
-00069 
-00075   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00075   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
 00076 
 00077 };
 00078 
-00079 #endif
-

+00079 inline StkFloat OneZero :: tick( StkFloat input ) +00080 { +00081 inputs_[0] = gain_ * input; +00082 lastFrame_[0] = b_[1] * inputs_[1] + b_[0] * inputs_[0]; +00083 inputs_[1] = inputs_[0]; +00084 +00085 return lastFrame_[0]; +00086 } +00087 +00088 inline StkFrames& OneZero :: tick( StkFrames& frames, unsigned int channel ) +00089 { +00090 #if defined(_STK_DEBUG_) +00091 if ( channel >= frames.channels() ) { +00092 errorString_ << "OneZero::tick(): channel and StkFrames arguments are incompatible!"; +00093 handleError( StkError::FUNCTION_ARGUMENT ); +00094 } +00095 #endif +00096 +00097 StkFloat *samples = &frames[channel]; +00098 unsigned int hop = frames.channels(); +00099 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00100 inputs_[0] = gain_ * *samples; +00101 *samples = b_[1] * inputs_[1] + b_[0] * inputs_[0]; +00102 inputs_[1] = inputs_[0]; +00103 } +00104 +00105 lastFrame_[0] = *(samples-hop); +00106 return frames; +00107 } +00108 +00109 inline StkFrames& OneZero :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00110 { +00111 #if defined(_STK_DEBUG_) +00112 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00113 errorString_ << "OneZero::tick(): channel and StkFrames arguments are incompatible!"; +00114 handleError( StkError::FUNCTION_ARGUMENT ); +00115 } +00116 #endif +00117 +00118 StkFloat *iSamples = &iFrames[iChannel]; +00119 StkFloat *oSamples = &oFrames[oChannel]; +00120 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00121 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00122 inputs_[0] = gain_ * *iSamples; +00123 *oSamples = b_[1] * inputs_[1] + b_[0] * inputs_[0]; +00124 inputs_[1] = inputs_[0]; +00125 } +00126 +00127 lastFrame_[0] = *(oSamples-oHop); +00128 return iFrames; +00129 } +00130 +00131 } // stk namespace +00132 +00133 #endif +00134 +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/PRCRev_8h-source.html b/doc/html/PRCRev_8h-source.html index 8f532de..3adaece 100644 --- a/doc/html/PRCRev_8h-source.html +++ b/doc/html/PRCRev_8h-source.html @@ -8,47 +8,108 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

PRCRev.h

00001 /***************************************************/
-00015 /***************************************************/
-00016 
-00017 #ifndef STK_PRCREV_H
-00018 #define STK_PRCREV_H
-00019 
-00020 #include "Effect.h" 
-00021 #include "Delay.h" 
-00022 
-00023 class PRCRev : public Effect
-00024 {
-00025 public:
-00027   PRCRev( StkFloat T60 = 1.0 );
-00028 
-00030   ~PRCRev();
-00031 
-00033   void clear();
-00034 
-00036   void setT60( StkFloat T60 );
+
+  
+
+

PRCRev.h

00001 #ifndef STK_PRCREV_H
+00002 #define STK_PRCREV_H
+00003 
+00004 #include "Effect.h"
+00005 #include "Delay.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00022 /***************************************************/
+00023 
+00024 class PRCRev : public Effect
+00025 {
+00026 public:
+00028   PRCRev( StkFloat T60 = 1.0 );
+00029 
+00031   void clear( void );
+00032 
+00034   void setT60( StkFloat T60 );
+00035 
 00037 
-00038 protected:
-00039 
-00040   StkFloat computeSample( StkFloat input );
-00041 
-00042   Delay allpassDelays_[2];
-00043   Delay combDelays_[2];
-00044   StkFloat allpassCoefficient_;
-00045   StkFloat combCoefficient_[2];
+00045   StkFloat lastOut( unsigned int channel = 0 );
 00046 
-00047 };
 00048 
-00049 #endif
-00050 
-

+00055 StkFloat tick( StkFloat input, unsigned int channel = 0 ); +00056 +00058 +00067 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00068 +00070 +00079 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00080 +00081 protected: +00082 +00083 Delay allpassDelays_[2]; +00084 Delay combDelays_[2]; +00085 StkFloat allpassCoefficient_; +00086 StkFloat combCoefficient_[2]; +00087 +00088 }; +00089 +00090 inline StkFloat PRCRev :: lastOut( unsigned int channel ) +00091 { +00092 #if defined(_STK_DEBUG_) +00093 if ( channel > 1 ) { +00094 errorString_ << "PRCRev::lastOut(): channel argument must be less than 2!"; +00095 handleError( StkError::FUNCTION_ARGUMENT ); +00096 } +00097 #endif +00098 +00099 return lastFrame_[channel]; +00100 } +00101 +00102 inline StkFloat PRCRev :: tick( StkFloat input, unsigned int channel ) +00103 { +00104 #if defined(_STK_DEBUG_) +00105 if ( channel > 1 ) { +00106 errorString_ << "PRCRev::tick(): channel argument must be less than 2!"; +00107 handleError( StkError::FUNCTION_ARGUMENT ); +00108 } +00109 #endif +00110 +00111 StkFloat temp, temp0, temp1, temp2, temp3; +00112 +00113 temp = allpassDelays_[0].lastOut(); +00114 temp0 = allpassCoefficient_ * temp; +00115 temp0 += input; +00116 allpassDelays_[0].tick(temp0); +00117 temp0 = -(allpassCoefficient_ * temp0) + temp; +00118 +00119 temp = allpassDelays_[1].lastOut(); +00120 temp1 = allpassCoefficient_ * temp; +00121 temp1 += temp0; +00122 allpassDelays_[1].tick(temp1); +00123 temp1 = -(allpassCoefficient_ * temp1) + temp; +00124 +00125 temp2 = temp1 + (combCoefficient_[0] * combDelays_[0].lastOut()); +00126 temp3 = temp1 + (combCoefficient_[1] * combDelays_[1].lastOut()); +00127 +00128 lastFrame_[0] = effectMix_ * (combDelays_[0].tick(temp2)); +00129 lastFrame_[1] = effectMix_ * (combDelays_[1].tick(temp3)); +00130 temp = (1.0 - effectMix_) * input; +00131 lastFrame_[0] += temp; +00132 lastFrame_[1] += temp; +00133 +00134 return lastFrame_[channel]; +00135 } +00136 +00137 } // stk namespace +00138 +00139 #endif +00140 +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/PercFlut_8h-source.html b/doc/html/PercFlut_8h-source.html index fe96fe0..2e5c5ea 100644 --- a/doc/html/PercFlut_8h-source.html +++ b/doc/html/PercFlut_8h-source.html @@ -8,40 +8,74 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

PercFlut.h

00001 /***************************************************/
-00027 /***************************************************/
-00028 
-00029 #ifndef STK_PERCFLUT_H
-00030 #define STK_PERCFLUT_H
-00031 
-00032 #include "FM.h"
-00033 
-00034 class PercFlut : public FM
-00035 {
-00036  public:
-00038 
-00041   PercFlut();
-00042 
-00044   ~PercFlut();
-00045 
-00047   void setFrequency(StkFloat frequency);
-00048 
-00050   void noteOn(StkFloat frequency, StkFloat amplitude);
-00051 
-00052  protected:
+
+  
+
+

PercFlut.h

00001 #ifndef STK_PERCFLUT_H
+00002 #define STK_PERCFLUT_H
+00003 
+00004 #include "FM.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00034 /***************************************************/
+00035 
+00036 class PercFlut : public FM
+00037 {
+00038  public:
+00040 
+00043   PercFlut( void );
+00044 
+00046   ~PercFlut( void );
+00047 
+00049   void setFrequency( StkFloat frequency );
+00050 
+00052   void noteOn( StkFloat frequency, StkFloat amplitude );
 00053 
-00054   StkFloat computeSample( void );
-00055 };
+00055   StkFloat tick( unsigned int channel = 0 );
 00056 
-00057 #endif
-

+00057 protected: +00058 +00059 }; +00060 +00061 inline StkFloat PercFlut :: tick( unsigned int ) +00062 { +00063 register StkFloat temp; +00064 +00065 temp = vibrato_.tick() * modDepth_ * 0.2; +00066 waves_[0]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[0]); +00067 waves_[1]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[1]); +00068 waves_[2]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[2]); +00069 waves_[3]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[3]); +00070 +00071 waves_[3]->addPhaseOffset( twozero_.lastOut() ); +00072 temp = gains_[3] * adsr_[3]->tick() * waves_[3]->tick(); +00073 +00074 twozero_.tick(temp); +00075 waves_[2]->addPhaseOffset( temp ); +00076 temp = (1.0 - (control2_ * 0.5)) * gains_[2] * adsr_[2]->tick() * waves_[2]->tick(); +00077 +00078 temp += control2_ * 0.5 * gains_[1] * adsr_[1]->tick() * waves_[1]->tick(); +00079 temp = temp * control1_; +00080 +00081 waves_[0]->addPhaseOffset(temp); +00082 temp = gains_[0] * adsr_[0]->tick() * waves_[0]->tick(); +00083 +00084 lastFrame_[0] = temp * 0.5; +00085 return lastFrame_[0]; +00086 } +00087 +00088 } // stk namespace +00089 +00090 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Phonemes_8h-source.html b/doc/html/Phonemes_8h-source.html index 2ab6779..698aab8 100644 --- a/doc/html/Phonemes_8h-source.html +++ b/doc/html/Phonemes_8h-source.html @@ -8,49 +8,55 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Phonemes.h

00001 /***************************************************/
-00011 /***************************************************/
-00012 
-00013 #ifndef STK_PHONEMES_H
-00014 #define STK_PHONEMES_H
-00015 
-00016 #include "Stk.h"
-00017 
-00018 class Phonemes : public Stk
-00019 {
-00020 public:
-00021 
-00022   Phonemes(void);
-00023   ~Phonemes(void);
-00024 
-00026   static const char *name( unsigned int index );
-00027 
-00029   static StkFloat voiceGain( unsigned int index );
-00030 
-00032   static StkFloat noiseGain( unsigned int index );
-00033 
-00035   static StkFloat formantFrequency( unsigned int index, unsigned int partial );
-00036 
-00038   static StkFloat formantRadius( unsigned int index, unsigned int partial );
-00039 
-00041   static StkFloat formantGain( unsigned int index, unsigned int partial );
-00042 
-00043 private:
+
+  
+
+

Phonemes.h

00001 #ifndef STK_PHONEMES_H
+00002 #define STK_PHONEMES_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class Phonemes : public Stk
+00021 {
+00022 public:
+00023 
+00024   Phonemes(void);
+00025   ~Phonemes(void);
+00026 
+00028   static const char *name( unsigned int index );
+00029 
+00031   static StkFloat voiceGain( unsigned int index );
+00032 
+00034   static StkFloat noiseGain( unsigned int index );
+00035 
+00037   static StkFloat formantFrequency( unsigned int index, unsigned int partial );
+00038 
+00040   static StkFloat formantRadius( unsigned int index, unsigned int partial );
+00041 
+00043   static StkFloat formantGain( unsigned int index, unsigned int partial );
 00044 
-00045   static const char phonemeNames[][4];
-00046   static const StkFloat phonemeGains[][2];
-00047   static const StkFloat phonemeParameters[][4][3];
-00048 };
-00049 
-00050 #endif
-

+00045 private: +00046 +00047 static const char phonemeNames[][4]; +00048 static const StkFloat phonemeGains[][2]; +00049 static const StkFloat phonemeParameters[][4][3]; +00050 }; +00051 +00052 } // stk namespace +00053 +00054 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/PitShift_8h-source.html b/doc/html/PitShift_8h-source.html index ed25ff3..4345259 100644 --- a/doc/html/PitShift_8h-source.html +++ b/doc/html/PitShift_8h-source.html @@ -8,49 +8,94 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

PitShift.h

00001 /***************************************************/
-00010 /***************************************************/
-00011 
-00012 #ifndef STK_PITSHIFT_H
-00013 #define STK_PITSHIFT_H
-00014 
-00015 #include "Effect.h" 
-00016 #include "DelayL.h" 
-00017 
-00018 class PitShift : public Effect
-00019 {
-00020  public:
-00022   PitShift();
-00023 
-00025   ~PitShift();
-00026 
-00028   void clear();
-00029 
-00031   void setShift(StkFloat shift);
-00032 
-00033  protected:
-00034 
-00035   StkFloat computeSample( StkFloat input );
+
+  
+
+

PitShift.h

00001 #ifndef STK_PITSHIFT_H
+00002 #define STK_PITSHIFT_H
+00003 
+00004 #include "Effect.h"
+00005 #include "DelayL.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 const int maxDelay = 5024;
+00021 
+00022 class PitShift : public Effect
+00023 {
+00024  public:
+00026   PitShift( void );
+00027 
+00029   void clear( void );
+00030 
+00032   void setShift( StkFloat shift );
+00033 
+00035   StkFloat lastOut( void ) const { return lastFrame_[0]; };
 00036 
-00037   DelayL delayLine_[2];
-00038   StkFloat delay_[2];
-00039   StkFloat env_[2];
-00040   StkFloat rate_;
-00041   unsigned long delayLength;
-00042   unsigned long halfLength;
-00043 
-00044 };
-00045 
-00046 #endif
-00047 
-

+00038 StkFloat tick( StkFloat input ); +00039 +00041 +00049 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00050 +00052 +00060 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00061 +00062 protected: +00063 +00064 DelayL delayLine_[2]; +00065 StkFloat delay_[2]; +00066 StkFloat env_[2]; +00067 StkFloat rate_; +00068 unsigned long delayLength_; +00069 unsigned long halfLength_; +00070 +00071 }; +00072 +00073 inline StkFloat PitShift :: tick( StkFloat input ) +00074 { +00075 // Calculate the two delay length values, keeping them within the +00076 // range 12 to maxDelay-12. +00077 delay_[0] += rate_; +00078 while ( delay_[0] > maxDelay-12 ) delay_[0] -= delayLength_; +00079 while ( delay_[0] < 12 ) delay_[0] += delayLength_; +00080 +00081 delay_[1] = delay_[0] + halfLength_; +00082 while ( delay_[1] > maxDelay-12 ) delay_[1] -= delayLength_; +00083 while ( delay_[1] < 12 ) delay_[1] += delayLength_; +00084 +00085 // Set the new delay line lengths. +00086 delayLine_[0].setDelay( delay_[0] ); +00087 delayLine_[1].setDelay( delay_[1] ); +00088 +00089 // Calculate a triangular envelope. +00090 env_[1] = fabs( ( delay_[0] - halfLength_ + 12 ) * ( 1.0 / (halfLength_ + 12 ) ) ); +00091 env_[0] = 1.0 - env_[1]; +00092 +00093 // Delay input and apply envelope. +00094 lastFrame_[0] = env_[0] * delayLine_[0].tick( input ); +00095 lastFrame_[0] += env_[1] * delayLine_[1].tick( input ); +00096 +00097 // Compute effect mix and output. +00098 lastFrame_[0] *= effectMix_; +00099 lastFrame_[0] += ( 1.0 - effectMix_ ) * input; +00100 +00101 return lastFrame_[0]; +00102 } +00103 +00104 } // stk namespace +00105 +00106 #endif +00107 +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/PluckTwo_8h-source.html b/doc/html/PluckTwo_8h-source.html index 8147abb..3a66eb9 100644 --- a/doc/html/PluckTwo_8h-source.html +++ b/doc/html/PluckTwo_8h-source.html @@ -8,69 +8,75 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

PluckTwo.h

00001 /***************************************************/
-00019 /***************************************************/
-00020 
-00021 #ifndef STK_PLUCKTWO_H
-00022 #define STK_PLUCKTWO_H
-00023 
-00024 #include "Instrmnt.h"
-00025 #include "DelayL.h"
-00026 #include "DelayA.h"
-00027 #include "OneZero.h"
-00028 
-00029 class PluckTwo : public Instrmnt
-00030 {
-00031  public:
-00033   PluckTwo(StkFloat lowestFrequency);
-00034 
-00036   virtual ~PluckTwo();
-00037 
-00039   void clear();
-00040 
-00042   virtual void setFrequency(StkFloat frequency);
-00043 
-00045   void setDetune(StkFloat detune);
-00046 
-00048   void setFreqAndDetune(StkFloat frequency, StkFloat detune);
-00049 
-00051   void setPluckPosition(StkFloat position);
-00052 
+
+  
+
+

PluckTwo.h

00001 #ifndef STK_PLUCKTWO_H
+00002 #define STK_PLUCKTWO_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayL.h"
+00006 #include "DelayA.h"
+00007 #include "OneZero.h"
+00008 
+00009 namespace stk {
+00010 
+00011 /***************************************************/
+00029 /***************************************************/
+00030 
+00031 class PluckTwo : public Instrmnt
+00032 {
+00033  public:
+00035   PluckTwo( StkFloat lowestFrequency );
+00036 
+00038   virtual ~PluckTwo( void );
+00039 
+00041   void clear( void );
+00042 
+00044   virtual void setFrequency( StkFloat frequency );
+00045 
+00047   void setDetune( StkFloat detune );
+00048 
+00050   void setFreqAndDetune( StkFloat frequency, StkFloat detune );
+00051 
+00053   void setPluckPosition( StkFloat position );
 00054 
-00059   void setBaseLoopGain(StkFloat aGain);
-00060 
-00062   virtual void noteOff(StkFloat amplitude);
-00063 
-00064  protected:
+00056 
+00061   void setBaseLoopGain( StkFloat aGain );
+00062 
+00064   virtual void noteOff( StkFloat amplitude );
 00065 
-00066   virtual StkFloat computeSample( void ) = 0;
+00066   virtual StkFloat tick( unsigned int channel = 0 ) = 0;
 00067 
-00068   DelayA  delayLine_;
-00069   DelayA  delayLine2_;
-00070   DelayL  combDelay_;
-00071   OneZero filter_;
-00072   OneZero filter2_;
-00073 
-00074   unsigned long length_;
-00075   StkFloat loopGain_;
-00076   StkFloat baseLoopGain_;
-00077   StkFloat lastFrequency_;
-00078   StkFloat lastLength_;
-00079   StkFloat detuning_;
-00080   StkFloat pluckAmplitude_;
-00081   StkFloat pluckPosition_;
-00082 
-00083 };
+00068  protected:
+00069 
+00070   DelayA  delayLine_;
+00071   DelayA  delayLine2_;
+00072   DelayL  combDelay_;
+00073   OneZero filter_;
+00074   OneZero filter2_;
+00075 
+00076   unsigned long length_;
+00077   StkFloat loopGain_;
+00078   StkFloat baseLoopGain_;
+00079   StkFloat lastFrequency_;
+00080   StkFloat lastLength_;
+00081   StkFloat detuning_;
+00082   StkFloat pluckAmplitude_;
+00083   StkFloat pluckPosition_;
 00084 
-00085 #endif
-

+00085 }; +00086 +00087 } // stk namespace +00088 +00089 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Plucked_8h-source.html b/doc/html/Plucked_8h-source.html index 8317b89..4ba8c92 100644 --- a/doc/html/Plucked_8h-source.html +++ b/doc/html/Plucked_8h-source.html @@ -8,58 +8,70 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Plucked.h

00001 /***************************************************/
-00018 /***************************************************/
-00019 
-00020 #ifndef STK_PLUCKED_H
-00021 #define STK_PLUCKED_H
-00022 
-00023 #include "Instrmnt.h"
-00024 #include "DelayA.h"
-00025 #include "OneZero.h"
-00026 #include "OnePole.h"
-00027 #include "Noise.h"
-00028 
-00029 class Plucked : public Instrmnt
-00030 {
-00031  public:
-00033   Plucked(StkFloat lowestFrequency);
-00034 
-00036   ~Plucked();
-00037 
-00039   void clear();
-00040 
-00042   virtual void setFrequency(StkFloat frequency);
-00043 
-00045   void pluck(StkFloat amplitude);
-00046 
-00048   virtual void noteOn(StkFloat frequency, StkFloat amplitude);
-00049 
-00051   virtual void noteOff(StkFloat amplitude);
-00052 
-00053  protected:  
+
+  
+
+

Plucked.h

00001 #ifndef STK_PLUCKED_H
+00002 #define STK_PLUCKED_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayA.h"
+00006 #include "OneZero.h"
+00007 #include "OnePole.h"
+00008 #include "Noise.h"
+00009 
+00010 namespace stk {
+00011 
+00012 /***************************************************/
+00029 /***************************************************/
+00030 
+00031 class Plucked : public Instrmnt
+00032 {
+00033  public:
+00035   Plucked( StkFloat lowestFrequency );
+00036 
+00038   ~Plucked( void );
+00039 
+00041   void clear( void );
+00042 
+00044   void setFrequency( StkFloat frequency );
+00045 
+00047   void pluck( StkFloat amplitude );
+00048 
+00050   void noteOn( StkFloat frequency, StkFloat amplitude );
+00051 
+00053   void noteOff( StkFloat amplitude );
 00054 
-00055   StkFloat computeSample( void );
-00056 
-00057   DelayA   delayLine_;
-00058   OneZero  loopFilter_;
-00059   OnePole  pickFilter_;
-00060   Noise    noise_;
-00061   StkFloat loopGain_;
-00062   unsigned long length_;
-00063 
-00064 };
-00065 
-00066 #endif
-00067 
-

+00056 StkFloat tick( unsigned int channel = 0 ); +00057 +00058 protected: +00059 +00060 DelayA delayLine_; +00061 OneZero loopFilter_; +00062 OnePole pickFilter_; +00063 Noise noise_; +00064 StkFloat loopGain_; +00065 unsigned long length_; +00066 +00067 }; +00068 +00069 inline StkFloat Plucked :: tick( unsigned int ) +00070 { +00071 // Here's the whole inner loop of the instrument!! +00072 return lastFrame_[0] = 3.0 * delayLine_.tick( loopFilter_.tick( delayLine_.lastOut() * loopGain_ ) ); +00073 } +00074 +00075 } // stk namespace +00076 +00077 #endif +00078 +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/PoleZero_8h-source.html b/doc/html/PoleZero_8h-source.html index d9117d6..d81e881 100644 --- a/doc/html/PoleZero_8h-source.html +++ b/doc/html/PoleZero_8h-source.html @@ -8,59 +8,92 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

PoleZero.h

00001 /***************************************************/
-00013 /***************************************************/
-00014 
-00015 #ifndef STK_POLEZERO_H
-00016 #define STK_POLEZERO_H
-00017 
-00018 #include "Filter.h"
-00019 
-00020 class PoleZero : protected Filter
-00021 {
-00022  public:
-00023 
-00025   PoleZero();
-00026 
-00028   ~PoleZero();
-00029 
-00031   void clear(void);
-00032 
-00034   void setB0(StkFloat b0);
-00035 
-00037   void setB1(StkFloat b1);
-00038 
-00040   void setA1(StkFloat a1);
-00041 
-00043 
-00048   void setAllpass(StkFloat coefficient);
-00049 
-00051 
-00057   void setBlockZero(StkFloat thePole = 0.99);
-00058 
-00060 
-00064   void setGain( StkFloat gain );
+
+  
+
+

PoleZero.h

00001 #ifndef STK_POLEZERO_H
+00002 #define STK_POLEZERO_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00019 /***************************************************/
+00020 
+00021 class PoleZero : public Filter
+00022 {
+00023  public:
+00024 
+00026   PoleZero();
+00027 
+00029   ~PoleZero();
+00030 
+00032   void setB0( StkFloat b0 ) { b_[0] = b0; };
+00033 
+00035   void setB1( StkFloat b1 ) { b_[1] = b1; };
+00036 
+00038   void setA1( StkFloat a1 ) { a_[1] = a1; };
+00039 
+00041   void setCoefficients( StkFloat b0, StkFloat b1, StkFloat a1, bool clearState = false );
+00042 
+00044 
+00049   void setAllpass( StkFloat coefficient );
+00050 
+00052 
+00058   void setBlockZero( StkFloat thePole = 0.99 );
+00059 
+00061   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00062 
+00064   StkFloat tick( StkFloat input );
 00065 
-00067   StkFloat getGain( void ) const;
-00068 
-00070   StkFloat lastOut( void ) const;
-00071 
-00073   StkFloat tick( StkFloat sample );
-00074 
-00076 
-00082   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
-00083 
-00084 };
-00085 
-00086 #endif
-

+00067 +00074 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00075 +00076 }; +00077 +00078 inline StkFloat PoleZero :: tick( StkFloat input ) +00079 { +00080 inputs_[0] = gain_ * input; +00081 lastFrame_[0] = b_[0] * inputs_[0] + b_[1] * inputs_[1] - a_[1] * outputs_[1]; +00082 inputs_[1] = inputs_[0]; +00083 outputs_[1] = lastFrame_[0]; +00084 +00085 return lastFrame_[0]; +00086 } +00087 +00088 inline StkFrames& PoleZero :: tick( StkFrames& frames, unsigned int channel ) +00089 { +00090 #if defined(_STK_DEBUG_) +00091 if ( channel >= frames.channels() ) { +00092 errorString_ << "PoleZero::tick(): channel and StkFrames arguments are incompatible!"; +00093 handleError( StkError::FUNCTION_ARGUMENT ); +00094 } +00095 #endif +00096 +00097 StkFloat *samples = &frames[channel]; +00098 unsigned int hop = frames.channels(); +00099 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00100 inputs_[0] = gain_ * *samples; +00101 *samples = b_[0] * inputs_[0] + b_[1] * inputs_[1] - a_[1] * outputs_[1]; +00102 inputs_[1] = inputs_[0]; +00103 outputs_[1] = *samples; +00104 } +00105 +00106 lastFrame_[0] = outputs_[1]; +00107 return frames; +00108 } +00109 +00110 } // stk namespace +00111 +00112 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/ReedTable_8h-source.html b/doc/html/ReedTable_8h-source.html index 108d79b..2482883 100644 --- a/doc/html/ReedTable_8h-source.html +++ b/doc/html/ReedTable_8h-source.html @@ -8,45 +8,115 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

ReedTable.h

00001 /***************************************************/
-00018 /***************************************************/
-00019 
-00020 #ifndef STK_REEDTABLE_H
-00021 #define STK_REEDTABLE_H
-00022 
-00023 #include "Function.h"
-00024 
-00025 class ReedTable : public Function
-00026 {
-00027 public:
-00029   ReedTable();
-00030 
-00032   ~ReedTable();
-00033 
-00035 
-00040   void setOffset(StkFloat offset);
-00041 
-00043 
-00048   void setSlope(StkFloat slope);
-00049 
-00050 protected:
+
+  
+
+

ReedTable.h

00001 #ifndef STK_REEDTABLE_H
+00002 #define STK_REEDTABLE_H
+00003 
+00004 #include "Function.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00025 /***************************************************/
+00026 
+00027 class ReedTable : public Function
+00028 {
+00029 public:
+00031   ReedTable( void ) : offset_(0.6), slope_(-0.8) {};
+00032 
+00034 
+00039   void setOffset( StkFloat offset ) { offset_ = offset; };
+00040 
+00042 
+00047   void setSlope( StkFloat slope ) { slope_ = slope; };
+00048 
+00050   StkFloat tick( StkFloat input );
 00051 
-00052   StkFloat computeSample( StkFloat input );
 00053 
-00054   StkFloat offset_;
-00055   StkFloat slope_;
-00056 
-00057 };
-00058 
-00059 #endif
-

+00061 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00062 +00064 +00072 StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 ); +00073 +00074 protected: +00075 +00076 StkFloat offset_; +00077 StkFloat slope_; +00078 +00079 }; +00080 +00081 inline StkFloat ReedTable :: tick( StkFloat input ) +00082 { +00083 // The input is differential pressure across the reed. +00084 lastFrame_[0] = offset_ + (slope_ * input); +00085 +00086 // If output is > 1, the reed has slammed shut and the +00087 // reflection function value saturates at 1.0. +00088 if ( lastFrame_[0] > 1.0) lastFrame_[0] = (StkFloat) 1.0; +00089 +00090 // This is nearly impossible in a physical system, but +00091 // a reflection function value of -1.0 corresponds to +00092 // an open end (and no discontinuity in bore profile). +00093 if ( lastFrame_[0] < -1.0) lastFrame_[0] = (StkFloat) -1.0; +00094 +00095 return lastFrame_[0]; +00096 } +00097 +00098 inline StkFrames& ReedTable :: tick( StkFrames& frames, unsigned int channel ) +00099 { +00100 #if defined(_STK_DEBUG_) +00101 if ( channel >= frames.channels() ) { +00102 errorString_ << "ReedTable::tick(): channel and StkFrames arguments are incompatible!"; +00103 handleError( StkError::FUNCTION_ARGUMENT ); +00104 } +00105 #endif +00106 +00107 StkFloat *samples = &frames[channel]; +00108 unsigned int hop = frames.channels(); +00109 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00110 *samples = offset_ + (slope_ * *samples); +00111 if ( *samples > 1.0) *samples = 1.0; +00112 if ( *samples < -1.0) *samples = -1.0; +00113 } +00114 +00115 lastFrame_[0] = *(samples-hop); +00116 return frames; +00117 } +00118 +00119 inline StkFrames& ReedTable :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00120 { +00121 #if defined(_STK_DEBUG_) +00122 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00123 errorString_ << "ReedTable::tick(): channel and StkFrames arguments are incompatible!"; +00124 handleError( StkError::FUNCTION_ARGUMENT ); +00125 } +00126 #endif +00127 +00128 StkFloat *iSamples = &iFrames[iChannel]; +00129 StkFloat *oSamples = &oFrames[oChannel]; +00130 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00131 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00132 *oSamples = offset_ + (slope_ * *iSamples); +00133 if ( *oSamples > 1.0) *oSamples = 1.0; +00134 if ( *oSamples < -1.0) *oSamples = -1.0; +00135 } +00136 +00137 lastFrame_[0] = *(oSamples-oHop); +00138 return iFrames; +00139 } +00140 +00141 } // stk namespace +00142 +00143 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Resonate_8h-source.html b/doc/html/Resonate_8h-source.html index cd0bde8..8c9bef1 100644 --- a/doc/html/Resonate_8h-source.html +++ b/doc/html/Resonate_8h-source.html @@ -8,65 +8,78 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Resonate.h

00001 /***************************************************/
-00018 /***************************************************/
-00019 
-00020 #ifndef STK_RESONATE_H
-00021 #define STK_RESONATE_H
-00022 
-00023 #include "Instrmnt.h"
-00024 #include "ADSR.h"
-00025 #include "BiQuad.h"
-00026 #include "Noise.h"
-00027 
-00028 class Resonate : public Instrmnt
-00029 {
-00030  public:
-00032   Resonate();
-00033 
-00035   ~Resonate();
-00036 
-00038   void clear();
-00039 
-00041   void setResonance(StkFloat frequency, StkFloat radius);
-00042 
-00044   void setNotch(StkFloat frequency, StkFloat radius);
-00045 
-00047   void setEqualGainZeroes();
-00048 
-00050   void keyOn();
-00051 
-00053   void keyOff();
-00054 
-00056   void noteOn(StkFloat frequency, StkFloat amplitude);
-00057 
-00059   void noteOff(StkFloat amplitude);
-00060 
-00062   void controlChange(int number, StkFloat value);
-00063 
-00064  protected:
+
+  
+
+

Resonate.h

00001 #ifndef STK_RESONATE_H
+00002 #define STK_RESONATE_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "ADSR.h"
+00006 #include "BiQuad.h"
+00007 #include "Noise.h"
+00008 
+00009 namespace stk {
+00010 
+00011 /***************************************************/
+00028 /***************************************************/
+00029 
+00030 class Resonate : public Instrmnt
+00031 {
+00032  public:
+00034   Resonate( void );
+00035 
+00037   ~Resonate( void );
+00038 
+00040   void clear( void );
+00041 
+00043   void setResonance( StkFloat frequency, StkFloat radius );
+00044 
+00046   void setNotch( StkFloat frequency, StkFloat radius );
+00047 
+00049   void setEqualGainZeroes( void ) { filter_.setEqualGainZeroes(); };
+00050 
+00052   void keyOn( void ) { adsr_.keyOn(); };
+00053 
+00055   void keyOff( void ) { adsr_.keyOff(); };
+00056 
+00058   void noteOn( StkFloat frequency, StkFloat amplitude );
+00059 
+00061   void noteOff( StkFloat amplitude );
+00062 
+00064   void controlChange( int number, StkFloat value );
 00065 
-00066   StkFloat computeSample( void );
-00067 
-00068   ADSR     adsr_;
-00069   BiQuad   filter_;
-00070   Noise    noise_;
-00071   StkFloat poleFrequency_;
-00072   StkFloat poleRadius_;
-00073   StkFloat zeroFrequency_;
-00074   StkFloat zeroRadius_;
-00075 
-00076 };
-00077 
-00078 #endif
-

+00067 StkFloat tick( unsigned int channel = 0 ); +00068 +00069 protected: +00070 +00071 ADSR adsr_; +00072 BiQuad filter_; +00073 Noise noise_; +00074 StkFloat poleFrequency_; +00075 StkFloat poleRadius_; +00076 StkFloat zeroFrequency_; +00077 StkFloat zeroRadius_; +00078 +00079 }; +00080 +00081 inline StkFloat Resonate :: tick( unsigned int ) +00082 { +00083 lastFrame_[0] = filter_.tick( noise_.tick() ); +00084 lastFrame_[0] *= adsr_.tick(); +00085 return lastFrame_[0]; +00086 } +00087 +00088 } // stk namespace +00089 +00090 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Rhodey_8h-source.html b/doc/html/Rhodey_8h-source.html index a820ba3..2662d05 100644 --- a/doc/html/Rhodey_8h-source.html +++ b/doc/html/Rhodey_8h-source.html @@ -8,40 +8,71 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

Rhodey.h

00001 /***************************************************/
-00031 /***************************************************/
-00032 
-00033 #ifndef STK_RHODEY_H
-00034 #define STK_RHODEY_H
-00035 
-00036 #include "FM.h"
-00037 
-00038 class Rhodey : public FM
-00039 {
-00040  public:
-00042 
-00045   Rhodey();
-00046 
-00048   ~Rhodey();
-00049 
-00051   void setFrequency(StkFloat frequency);
-00052 
-00054   void noteOn(StkFloat frequency, StkFloat amplitude);
-00055 
-00056  protected:
+
+  
+
+

Rhodey.h

00001 #ifndef STK_RHODEY_H
+00002 #define STK_RHODEY_H
+00003 
+00004 #include "FM.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00038 /***************************************************/
+00039 
+00040 class Rhodey : public FM
+00041 {
+00042  public:
+00044 
+00047   Rhodey( void );
+00048 
+00050   ~Rhodey( void );
+00051 
+00053   void setFrequency( StkFloat frequency );
+00054 
+00056   void noteOn( StkFloat frequency, StkFloat amplitude );
 00057 
-00058   StkFloat computeSample( void );
-00059 };
+00059   StkFloat tick( unsigned int channel = 0 );
 00060 
-00061 #endif
-

+00061 protected: +00062 +00063 }; +00064 +00065 inline StkFloat Rhodey :: tick( unsigned int ) +00066 { +00067 StkFloat temp, temp2; +00068 +00069 temp = gains_[1] * adsr_[1]->tick() * waves_[1]->tick(); +00070 temp = temp * control1_; +00071 +00072 waves_[0]->addPhaseOffset( temp ); +00073 waves_[3]->addPhaseOffset( twozero_.lastOut() ); +00074 temp = gains_[3] * adsr_[3]->tick() * waves_[3]->tick(); +00075 twozero_.tick(temp); +00076 +00077 waves_[2]->addPhaseOffset( temp ); +00078 temp = ( 1.0 - (control2_ * 0.5)) * gains_[0] * adsr_[0]->tick() * waves_[0]->tick(); +00079 temp += control2_ * 0.5 * gains_[2] * adsr_[2]->tick() * waves_[2]->tick(); +00080 +00081 // Calculate amplitude modulation and apply it to output. +00082 temp2 = vibrato_.tick() * modDepth_; +00083 temp = temp * (1.0 + temp2); +00084 +00085 lastFrame_[0] = temp * 0.5; +00086 return lastFrame_[0]; +00087 } +00088 +00089 } // stk namespace +00090 +00091 #endif +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/RtAudio_8h-source.html b/doc/html/RtAudio_8h-source.html index d5366d0..0204ebe 100644 --- a/doc/html/RtAudio_8h-source.html +++ b/doc/html/RtAudio_8h-source.html @@ -8,13 +8,14 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - + + +

RtAudio.h

Go to the documentation of this file.
00001 /************************************************************************/
 00039 /************************************************************************/
 00040 
-00045 // RtAudio: Version 4.0.3
+00045 // RtAudio: Version 4.0.5
 00046 
 00047 #ifndef __RTAUDIO_H
 00048 #define __RTAUDIO_H
@@ -23,611 +24,621 @@
 00051 #include <vector>
 00052 #include "RtError.h"
 00053 
-00070 typedef unsigned long RtAudioFormat;
-00071 static const RtAudioFormat RTAUDIO_SINT8 = 0x1;    // 8-bit signed integer.
-00072 static const RtAudioFormat RTAUDIO_SINT16 = 0x2;   // 16-bit signed integer.
-00073 static const RtAudioFormat RTAUDIO_SINT24 = 0x4;   // Lower 3 bytes of 32-bit signed integer.
-00074 static const RtAudioFormat RTAUDIO_SINT32 = 0x8;   // 32-bit signed integer.
-00075 static const RtAudioFormat RTAUDIO_FLOAT32 = 0x10; // Normalized between plus/minus 1.0.
-00076 static const RtAudioFormat RTAUDIO_FLOAT64 = 0x20; // Normalized between plus/minus 1.0.
+00070 typedef unsigned long RtAudioFormat;
+00071 static const RtAudioFormat RTAUDIO_SINT8 = 0x1;    // 8-bit signed integer.
+00072 static const RtAudioFormat RTAUDIO_SINT16 = 0x2;   // 16-bit signed integer.
+00073 static const RtAudioFormat RTAUDIO_SINT24 = 0x4;   // Lower 3 bytes of 32-bit signed integer.
+00074 static const RtAudioFormat RTAUDIO_SINT32 = 0x8;   // 32-bit signed integer.
+00075 static const RtAudioFormat RTAUDIO_FLOAT32 = 0x10; // Normalized between plus/minus 1.0.
+00076 static const RtAudioFormat RTAUDIO_FLOAT64 = 0x20; // Normalized between plus/minus 1.0.
 00077 
-00112 typedef unsigned int RtAudioStreamFlags;
-00113 static const RtAudioStreamFlags RTAUDIO_NONINTERLEAVED = 0x1;    // Use non-interleaved buffers (default = interleaved).
-00114 static const RtAudioStreamFlags RTAUDIO_MINIMIZE_LATENCY = 0x2;  // Attempt to set stream parameters for lowest possible latency.
-00115 static const RtAudioStreamFlags RTAUDIO_HOG_DEVICE = 0x4;        // Attempt grab device and prevent use by others.
-00116 
-00128 typedef unsigned int RtAudioStreamStatus;
-00129 static const RtAudioStreamStatus RTAUDIO_INPUT_OVERFLOW = 0x1;    // Input data was discarded because of an overflow condition at the driver.
-00130 static const RtAudioStreamStatus RTAUDIO_OUTPUT_UNDERFLOW = 0x2;  // The output buffer ran low, likely causing a gap in the output sound.
-00131 
-00133 
-00171 typedef int (*RtAudioCallback)( void *outputBuffer, void *inputBuffer,
-00172                                 unsigned int nFrames,
-00173                                 double streamTime,
-00174                                 RtAudioStreamStatus status,
-00175                                 void *userData );
-00176 
-00177 
-00178 // **************************************************************** //
-00179 //
-00180 // RtAudio class declaration.
-00181 //
-00182 // RtAudio is a "controller" used to select an available audio i/o
-00183 // interface.  It presents a common API for the user to call but all
-00184 // functionality is implemented by the class RtApi and its
-00185 // subclasses.  RtAudio creates an instance of an RtApi subclass
-00186 // based on the user's API choice.  If no choice is made, RtAudio
-00187 // attempts to make a "logical" API selection.
-00188 //
-00189 // **************************************************************** //
-00190 
-00191 class RtApi;
-00192 
-00193 class RtAudio
-00194 {
-00195  public:
+00115 typedef unsigned int RtAudioStreamFlags;
+00116 static const RtAudioStreamFlags RTAUDIO_NONINTERLEAVED = 0x1;    // Use non-interleaved buffers (default = interleaved).
+00117 static const RtAudioStreamFlags RTAUDIO_MINIMIZE_LATENCY = 0x2;  // Attempt to set stream parameters for lowest possible latency.
+00118 static const RtAudioStreamFlags RTAUDIO_HOG_DEVICE = 0x4;        // Attempt grab device and prevent use by others.
+00119 static const RtAudioStreamFlags RTAUDIO_SCHEDULE_REALTIME = 0x8; // Try to select realtime scheduling for callback thread.
+00120 
+00132 typedef unsigned int RtAudioStreamStatus;
+00133 static const RtAudioStreamStatus RTAUDIO_INPUT_OVERFLOW = 0x1;    // Input data was discarded because of an overflow condition at the driver.
+00134 static const RtAudioStreamStatus RTAUDIO_OUTPUT_UNDERFLOW = 0x2;  // The output buffer ran low, likely causing a gap in the output sound.
+00135 
+00137 
+00175 typedef int (*RtAudioCallback)( void *outputBuffer, void *inputBuffer,
+00176                                 unsigned int nFrames,
+00177                                 double streamTime,
+00178                                 RtAudioStreamStatus status,
+00179                                 void *userData );
+00180 
+00181 
+00182 // **************************************************************** //
+00183 //
+00184 // RtAudio class declaration.
+00185 //
+00186 // RtAudio is a "controller" used to select an available audio i/o
+00187 // interface.  It presents a common API for the user to call but all
+00188 // functionality is implemented by the class RtApi and its
+00189 // subclasses.  RtAudio creates an instance of an RtApi subclass
+00190 // based on the user's API choice.  If no choice is made, RtAudio
+00191 // attempts to make a "logical" API selection.
+00192 //
+00193 // **************************************************************** //
+00194 
+00195 class RtApi;
 00196 
-00198   enum Api {
-00199     UNSPECIFIED,    
-00200     LINUX_ALSA,     
-00201     LINUX_OSS,      
-00202     UNIX_JACK,      
-00203     MACOSX_CORE,    
-00204     WINDOWS_ASIO,   
-00205     WINDOWS_DS,     
-00206     RTAUDIO_DUMMY   
-00207   };
-00208 
-00210   struct DeviceInfo {
-00211     bool probed;                  
-00212     std::string name;             
-00213     unsigned int outputChannels;  
-00214     unsigned int inputChannels;   
-00215     unsigned int duplexChannels;  
-00216     bool isDefaultOutput;         
-00217     bool isDefaultInput;          
-00218     std::vector<unsigned int> sampleRates; 
-00219     RtAudioFormat nativeFormats;  
-00221     // Default constructor.
-00222     DeviceInfo()
-00223       :probed(false), outputChannels(0), inputChannels(0), duplexChannels(0),
-00224        isDefaultOutput(false), isDefaultInput(false), nativeFormats(0) {}
-00225   };
-00226 
-00228   struct StreamParameters {
-00229     unsigned int deviceId;     
-00230     unsigned int nChannels;    
-00231     unsigned int firstChannel; 
-00233     // Default constructor.
-00234     StreamParameters()
-00235       : deviceId(0), nChannels(0), firstChannel(0) {}
-00236   };
-00237 
-00239 
-00284   struct StreamOptions {
-00285     RtAudioStreamFlags flags;      
-00286     unsigned int numberOfBuffers;  
-00287     std::string streamName;        
-00289     // Default constructor.
-00290     StreamOptions()
-00291       : flags(0), numberOfBuffers(0) {}
-00292   };
-00293 
-00295 
-00300   static void getCompiledApi( std::vector<RtAudio::Api> &apis ) throw();
-00301 
-00303 
-00311   RtAudio( RtAudio::Api api=UNSPECIFIED ) throw();
+00197 class RtAudio
+00198 {
+00199  public:
+00200 
+00202   enum Api {
+00203     UNSPECIFIED,    
+00204     LINUX_ALSA,     
+00205     LINUX_OSS,      
+00206     UNIX_JACK,      
+00207     MACOSX_CORE,    
+00208     WINDOWS_ASIO,   
+00209     WINDOWS_DS,     
+00210     RTAUDIO_DUMMY   
+00211   };
+00212 
+00214   struct DeviceInfo {
+00215     bool probed;                  
+00216     std::string name;             
+00217     unsigned int outputChannels;  
+00218     unsigned int inputChannels;   
+00219     unsigned int duplexChannels;  
+00220     bool isDefaultOutput;         
+00221     bool isDefaultInput;          
+00222     std::vector<unsigned int> sampleRates; 
+00223     RtAudioFormat nativeFormats;  
+00225     // Default constructor.
+00226     DeviceInfo()
+00227       :probed(false), outputChannels(0), inputChannels(0), duplexChannels(0),
+00228        isDefaultOutput(false), isDefaultInput(false), nativeFormats(0) {}
+00229   };
+00230 
+00232   struct StreamParameters {
+00233     unsigned int deviceId;     
+00234     unsigned int nChannels;    
+00235     unsigned int firstChannel; 
+00237     // Default constructor.
+00238     StreamParameters()
+00239       : deviceId(0), nChannels(0), firstChannel(0) {}
+00240   };
+00241 
+00243 
+00294   struct StreamOptions {
+00295     RtAudioStreamFlags flags;      
+00296     unsigned int numberOfBuffers;  
+00297     std::string streamName;        
+00298     int priority;                  
+00300     // Default constructor.
+00301     StreamOptions()
+00302     : flags(0), numberOfBuffers(0), priority(0) {}
+00303   };
+00304 
+00306 
+00311   static void getCompiledApi( std::vector<RtAudio::Api> &apis ) throw();
 00312 
 00314 
-00318   ~RtAudio() throw();
-00319 
-00321   RtAudio::Api getCurrentApi( void ) throw();
-00322 
-00324 
-00329   unsigned int getDeviceCount( void ) throw();
+00322   RtAudio( RtAudio::Api api=UNSPECIFIED ) throw();
+00323 
+00325 
+00329   ~RtAudio() throw();
 00330 
-00332 
-00342   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
+00332   RtAudio::Api getCurrentApi( void ) throw();
+00333 
+00335 
+00340   unsigned int getDeviceCount( void ) throw();
+00341 
 00343 
-00345 
-00352   unsigned int getDefaultOutputDevice( void ) throw();
-00353 
-00355 
-00362   unsigned int getDefaultInputDevice( void ) throw();
-00363 
-00365 
-00402   void openStream( RtAudio::StreamParameters *outputParameters,
-00403                    RtAudio::StreamParameters *inputParameters,
-00404                    RtAudioFormat format, unsigned int sampleRate,
-00405                    unsigned int *bufferFrames, RtAudioCallback callback,
-00406                    void *userData = NULL, RtAudio::StreamOptions *options = NULL );
-00407 
-00409 
-00413   void closeStream( void ) throw();
-00414 
-00416 
-00422   void startStream( void );
-00423 
+00353   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
+00354 
+00356 
+00363   unsigned int getDefaultOutputDevice( void ) throw();
+00364 
+00366 
+00373   unsigned int getDefaultInputDevice( void ) throw();
+00374 
+00376 
+00413   void openStream( RtAudio::StreamParameters *outputParameters,
+00414                    RtAudio::StreamParameters *inputParameters,
+00415                    RtAudioFormat format, unsigned int sampleRate,
+00416                    unsigned int *bufferFrames, RtAudioCallback callback,
+00417                    void *userData = NULL, RtAudio::StreamOptions *options = NULL );
+00418 
+00420 
+00424   void closeStream( void ) throw();
 00425 
-00431   void stopStream( void );
-00432 
+00427 
+00433   void startStream( void );
 00434 
-00440   void abortStream( void );
-00441 
-00443   bool isStreamOpen( void ) throw();
-00444 
-00446   bool isStreamRunning( void ) throw();
-00447 
-00449 
-00452   double getStreamTime( void );
-00453 
+00436 
+00442   void stopStream( void );
+00443 
+00445 
+00451   void abortStream( void );
+00452 
+00454   bool isStreamOpen( void ) const throw();
 00455 
-00463   long getStreamLatency( void );
+00457   bool isStreamRunning( void ) const throw();
+00458 
+00460 
+00463   double getStreamTime( void );
 00464 
-00466   void showWarnings( bool value = true ) throw();
-00467 
-00468  protected:
-00469 
-00470   void openRtApi( RtAudio::Api api );
-00471   RtApi *rtapi_;
-00472 };
-00473 
-00474 // Operating system dependent thread functionality.
-00475 #if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)
-00476   #include <windows.h>
-00477   #include <process.h>
-00478 
-00479   typedef unsigned long ThreadHandle;
-00480   typedef CRITICAL_SECTION StreamMutex;
-00481 
-00482 #elif defined(__LINUX_ALSA__) || defined(__UNIX_JACK__) || defined(__LINUX_OSS__) || defined(__MACOSX_CORE__)
-00483   // Using pthread library for various flavors of unix.
-00484   #include <pthread.h>
-00485 
-00486   typedef pthread_t ThreadHandle;
-00487   typedef pthread_mutex_t StreamMutex;
+00466 
+00474   long getStreamLatency( void );
+00475 
+00477 
+00482   unsigned int getStreamSampleRate( void );
+00483 
+00485   void showWarnings( bool value = true ) throw();
+00486 
+00487  protected:
 00488 
-00489 #else // Setup for "dummy" behavior
-00490 
-00491   #define __RTAUDIO_DUMMY__
-00492   typedef int ThreadHandle;
-00493   typedef int StreamMutex;
-00494 
-00495 #endif
-00496 
-00497 // This global structure type is used to pass callback information
-00498 // between the private RtAudio stream structure and global callback
-00499 // handling functions.
-00500 struct CallbackInfo {
-00501   void *object;    // Used as a "this" pointer.
-00502   ThreadHandle thread;
-00503   void *callback;
-00504   void *userData;
-00505   void *apiInfo;   // void pointer for API specific callback information
-00506   bool isRunning;
+00489   void openRtApi( RtAudio::Api api );
+00490   RtApi *rtapi_;
+00491 };
+00492 
+00493 // Operating system dependent thread functionality.
+00494 #if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)
+00495   #include <windows.h>
+00496   #include <process.h>
+00497 
+00498   typedef unsigned long ThreadHandle;
+00499   typedef CRITICAL_SECTION StreamMutex;
+00500 
+00501 #elif defined(__LINUX_ALSA__) || defined(__UNIX_JACK__) || defined(__LINUX_OSS__) || defined(__MACOSX_CORE__)
+00502   // Using pthread library for various flavors of unix.
+00503   #include <pthread.h>
+00504 
+00505   typedef pthread_t ThreadHandle;
+00506   typedef pthread_mutex_t StreamMutex;
 00507 
-00508   // Default constructor.
-00509   CallbackInfo()
-00510     :object(0), callback(0), userData(0), apiInfo(0), isRunning(false) {}
-00511 };
-00512 
-00513 // **************************************************************** //
-00514 //
-00515 // RtApi class declaration.
-00516 //
-00517 // Subclasses of RtApi contain all API- and OS-specific code necessary
-00518 // to fully implement the RtAudio API.
-00519 //
-00520 // Note that RtApi is an abstract base class and cannot be
-00521 // explicitly instantiated.  The class RtAudio will create an
-00522 // instance of an RtApi subclass (RtApiOss, RtApiAlsa,
-00523 // RtApiJack, RtApiCore, RtApiAl, RtApiDs, or RtApiAsio).
-00524 //
-00525 // **************************************************************** //
+00508 #else // Setup for "dummy" behavior
+00509 
+00510   #define __RTAUDIO_DUMMY__
+00511   typedef int ThreadHandle;
+00512   typedef int StreamMutex;
+00513 
+00514 #endif
+00515 
+00516 // This global structure type is used to pass callback information
+00517 // between the private RtAudio stream structure and global callback
+00518 // handling functions.
+00519 struct CallbackInfo {
+00520   void *object;    // Used as a "this" pointer.
+00521   ThreadHandle thread;
+00522   void *callback;
+00523   void *userData;
+00524   void *apiInfo;   // void pointer for API specific callback information
+00525   bool isRunning;
 00526 
-00527 #if defined( HAVE_GETTIMEOFDAY )
-00528   #include <sys/time.h>
-00529 #endif
-00530 
-00531 #include <sstream>
-00532 
-00533 class RtApi
-00534 {
-00535 public:
-00536 
-00537   RtApi();
-00538   virtual ~RtApi();
-00539   virtual RtAudio::Api getCurrentApi( void ) = 0;
-00540   virtual unsigned int getDeviceCount( void ) = 0;
-00541   virtual RtAudio::DeviceInfo getDeviceInfo( unsigned int device ) = 0;
-00542   virtual unsigned int getDefaultInputDevice( void );
-00543   virtual unsigned int getDefaultOutputDevice( void );
-00544   void openStream( RtAudio::StreamParameters *outputParameters,
-00545                    RtAudio::StreamParameters *inputParameters,
-00546                    RtAudioFormat format, unsigned int sampleRate,
-00547                    unsigned int *bufferFrames, RtAudioCallback callback,
-00548                    void *userData, RtAudio::StreamOptions *options );
-00549   virtual void closeStream( void );
-00550   virtual void startStream( void ) = 0;
-00551   virtual void stopStream( void ) = 0;
-00552   virtual void abortStream( void ) = 0;
-00553   long getStreamLatency( void );
-00554   virtual double getStreamTime( void );
-00555   bool isStreamOpen( void ) { return stream_.state != STREAM_CLOSED; };
-00556   bool isStreamRunning( void ) { return stream_.state == STREAM_RUNNING; };
-00557   void showWarnings( bool value ) { showWarnings_ = value; };
-00558 
-00559 
-00560 protected:
-00561 
-00562   static const unsigned int MAX_SAMPLE_RATES;
-00563   static const unsigned int SAMPLE_RATES[];
-00564 
-00565   enum { FAILURE, SUCCESS };
-00566 
-00567   enum StreamState {
-00568     STREAM_STOPPED,
-00569     STREAM_RUNNING,
-00570     STREAM_CLOSED = -50
-00571   };
-00572 
-00573   enum StreamMode {
-00574     OUTPUT,
-00575     INPUT,
-00576     DUPLEX,
-00577     UNINITIALIZED = -75
-00578   };
+00527   // Default constructor.
+00528   CallbackInfo()
+00529     :object(0), callback(0), userData(0), apiInfo(0), isRunning(false) {}
+00530 };
+00531 
+00532 // **************************************************************** //
+00533 //
+00534 // RtApi class declaration.
+00535 //
+00536 // Subclasses of RtApi contain all API- and OS-specific code necessary
+00537 // to fully implement the RtAudio API.
+00538 //
+00539 // Note that RtApi is an abstract base class and cannot be
+00540 // explicitly instantiated.  The class RtAudio will create an
+00541 // instance of an RtApi subclass (RtApiOss, RtApiAlsa,
+00542 // RtApiJack, RtApiCore, RtApiAl, RtApiDs, or RtApiAsio).
+00543 //
+00544 // **************************************************************** //
+00545 
+00546 #if defined( HAVE_GETTIMEOFDAY )
+00547   #include <sys/time.h>
+00548 #endif
+00549 
+00550 #include <sstream>
+00551 
+00552 class RtApi
+00553 {
+00554 public:
+00555 
+00556   RtApi();
+00557   virtual ~RtApi();
+00558   virtual RtAudio::Api getCurrentApi( void ) = 0;
+00559   virtual unsigned int getDeviceCount( void ) = 0;
+00560   virtual RtAudio::DeviceInfo getDeviceInfo( unsigned int device ) = 0;
+00561   virtual unsigned int getDefaultInputDevice( void );
+00562   virtual unsigned int getDefaultOutputDevice( void );
+00563   void openStream( RtAudio::StreamParameters *outputParameters,
+00564                    RtAudio::StreamParameters *inputParameters,
+00565                    RtAudioFormat format, unsigned int sampleRate,
+00566                    unsigned int *bufferFrames, RtAudioCallback callback,
+00567                    void *userData, RtAudio::StreamOptions *options );
+00568   virtual void closeStream( void );
+00569   virtual void startStream( void ) = 0;
+00570   virtual void stopStream( void ) = 0;
+00571   virtual void abortStream( void ) = 0;
+00572   long getStreamLatency( void );
+00573   unsigned int getStreamSampleRate( void );
+00574   virtual double getStreamTime( void );
+00575   bool isStreamOpen( void ) const { return stream_.state != STREAM_CLOSED; };
+00576   bool isStreamRunning( void ) const { return stream_.state == STREAM_RUNNING; };
+00577   void showWarnings( bool value ) { showWarnings_ = value; };
+00578 
 00579 
-00580   // A protected structure used for buffer conversion.
-00581   struct ConvertInfo {
-00582     int channels;
-00583     int inJump, outJump;
-00584     RtAudioFormat inFormat, outFormat;
-00585     std::vector<int> inOffset;
-00586     std::vector<int> outOffset;
-00587   };
-00588 
-00589   // A protected structure for audio streams.
-00590   struct RtApiStream {
-00591     unsigned int device[2];    // Playback and record, respectively.
-00592     void *apiHandle;           // void pointer for API specific stream handle information
-00593     StreamMode mode;           // OUTPUT, INPUT, or DUPLEX.
-00594     StreamState state;         // STOPPED, RUNNING, or CLOSED
-00595     char *userBuffer[2];       // Playback and record, respectively.
-00596     char *deviceBuffer;
-00597     bool doConvertBuffer[2];   // Playback and record, respectively.
-00598     bool userInterleaved;
-00599     bool deviceInterleaved[2]; // Playback and record, respectively.
-00600     bool doByteSwap[2];        // Playback and record, respectively.
-00601     unsigned int sampleRate;
-00602     unsigned int bufferSize;
-00603     unsigned int nBuffers;
-00604     unsigned int nUserChannels[2];    // Playback and record, respectively.
-00605     unsigned int nDeviceChannels[2];  // Playback and record channels, respectively.
-00606     unsigned int channelOffset[2];    // Playback and record, respectively.
-00607     unsigned long latency[2];         // Playback and record, respectively.
-00608     RtAudioFormat userFormat;
-00609     RtAudioFormat deviceFormat[2];    // Playback and record, respectively.
-00610     StreamMutex mutex;
-00611     CallbackInfo callbackInfo;
-00612     ConvertInfo convertInfo[2];
-00613     double streamTime;         // Number of elapsed seconds since the stream started.
-00614 
-00615 #if defined(HAVE_GETTIMEOFDAY)
-00616     struct timeval lastTickTimestamp;
-00617 #endif
-00618 
-00619     RtApiStream()
-00620       :apiHandle(0), deviceBuffer(0) {}
-00621   };
-00622 
-00623   typedef signed short Int16;
-00624   typedef signed int Int32;
-00625   typedef float Float32;
-00626   typedef double Float64;
-00627 
-00628   std::ostringstream errorStream_;
-00629   std::string errorText_;
-00630   bool showWarnings_;
-00631   RtApiStream stream_;
-00632 
-00640   virtual bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00641                                 unsigned int firstChannel, unsigned int sampleRate,
-00642                                 RtAudioFormat format, unsigned int *bufferSize,
-00643                                 RtAudio::StreamOptions *options );
-00644 
-00646   void tickStreamTime( void );
+00580 protected:
+00581 
+00582   static const unsigned int MAX_SAMPLE_RATES;
+00583   static const unsigned int SAMPLE_RATES[];
+00584 
+00585   enum { FAILURE, SUCCESS };
+00586 
+00587   enum StreamState {
+00588     STREAM_STOPPED,
+00589     STREAM_RUNNING,
+00590     STREAM_CLOSED = -50
+00591   };
+00592 
+00593   enum StreamMode {
+00594     OUTPUT,
+00595     INPUT,
+00596     DUPLEX,
+00597     UNINITIALIZED = -75
+00598   };
+00599 
+00600   // A protected structure used for buffer conversion.
+00601   struct ConvertInfo {
+00602     int channels;
+00603     int inJump, outJump;
+00604     RtAudioFormat inFormat, outFormat;
+00605     std::vector<int> inOffset;
+00606     std::vector<int> outOffset;
+00607   };
+00608 
+00609   // A protected structure for audio streams.
+00610   struct RtApiStream {
+00611     unsigned int device[2];    // Playback and record, respectively.
+00612     void *apiHandle;           // void pointer for API specific stream handle information
+00613     StreamMode mode;           // OUTPUT, INPUT, or DUPLEX.
+00614     StreamState state;         // STOPPED, RUNNING, or CLOSED
+00615     char *userBuffer[2];       // Playback and record, respectively.
+00616     char *deviceBuffer;
+00617     bool doConvertBuffer[2];   // Playback and record, respectively.
+00618     bool userInterleaved;
+00619     bool deviceInterleaved[2]; // Playback and record, respectively.
+00620     bool doByteSwap[2];        // Playback and record, respectively.
+00621     unsigned int sampleRate;
+00622     unsigned int bufferSize;
+00623     unsigned int nBuffers;
+00624     unsigned int nUserChannels[2];    // Playback and record, respectively.
+00625     unsigned int nDeviceChannels[2];  // Playback and record channels, respectively.
+00626     unsigned int channelOffset[2];    // Playback and record, respectively.
+00627     unsigned long latency[2];         // Playback and record, respectively.
+00628     RtAudioFormat userFormat;
+00629     RtAudioFormat deviceFormat[2];    // Playback and record, respectively.
+00630     StreamMutex mutex;
+00631     CallbackInfo callbackInfo;
+00632     ConvertInfo convertInfo[2];
+00633     double streamTime;         // Number of elapsed seconds since the stream started.
+00634 
+00635 #if defined(HAVE_GETTIMEOFDAY)
+00636     struct timeval lastTickTimestamp;
+00637 #endif
+00638 
+00639     RtApiStream()
+00640       :apiHandle(0), deviceBuffer(0) { device[0] = 11111; device[1] = 11111; }
+00641   };
+00642 
+00643   typedef signed short Int16;
+00644   typedef signed int Int32;
+00645   typedef float Float32;
+00646   typedef double Float64;
 00647 
-00649   void clearStreamInfo();
-00650 
-00655   void verifyStream( void );
-00656 
-00658   void error( RtError::Type type );
-00659 
-00664   void convertBuffer( char *outBuffer, char *inBuffer, ConvertInfo &info );
-00665 
-00667   void byteSwapBuffer( char *buffer, unsigned int samples, RtAudioFormat format );
-00668 
-00670   unsigned int formatBytes( RtAudioFormat format );
-00671 
-00673   void setConvertInfo( StreamMode mode, unsigned int firstChannel );
-00674 };
-00675 
-00676 // **************************************************************** //
-00677 //
-00678 // Inline RtAudio definitions.
-00679 //
-00680 // **************************************************************** //
-00681 
-00682 inline RtAudio::Api RtAudio :: getCurrentApi( void ) throw() { return rtapi_->getCurrentApi(); }
-00683 inline unsigned int RtAudio :: getDeviceCount( void ) throw() { return rtapi_->getDeviceCount(); }
-00684 inline RtAudio::DeviceInfo RtAudio :: getDeviceInfo( unsigned int device ) { return rtapi_->getDeviceInfo( device ); }
-00685 inline unsigned int RtAudio :: getDefaultInputDevice( void ) throw() { return rtapi_->getDefaultInputDevice(); }
-00686 inline unsigned int RtAudio :: getDefaultOutputDevice( void ) throw() { return rtapi_->getDefaultOutputDevice(); }
-00687 inline void RtAudio :: closeStream( void ) throw() { return rtapi_->closeStream(); }
-00688 inline void RtAudio :: startStream( void ) { return rtapi_->startStream(); }
-00689 inline void RtAudio :: stopStream( void )  { return rtapi_->stopStream(); }
-00690 inline void RtAudio :: abortStream( void ) { return rtapi_->abortStream(); }
-00691 inline bool RtAudio :: isStreamOpen( void ) throw() { return rtapi_->isStreamOpen(); }
-00692 inline bool RtAudio :: isStreamRunning( void ) throw() { return rtapi_->isStreamRunning(); }
-00693 inline long RtAudio :: getStreamLatency( void ) { return rtapi_->getStreamLatency(); }
-00694 inline double RtAudio :: getStreamTime( void ) { return rtapi_->getStreamTime(); }
-00695 inline void RtAudio :: showWarnings( bool value ) throw() { rtapi_->showWarnings( value ); }
-00696 
-00697 // RtApi Subclass prototypes.
-00698 
-00699 #if defined(__MACOSX_CORE__)
-00700 
-00701 #include <CoreAudio/AudioHardware.h>
-00702 
-00703 class RtApiCore: public RtApi
-00704 {
-00705 public:
-00706 
-00707   RtApiCore();
-00708   ~RtApiCore();
-00709   RtAudio::Api getCurrentApi( void ) { return RtAudio::MACOSX_CORE; };
-00710   unsigned int getDeviceCount( void );
-00711   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00712   unsigned int getDefaultOutputDevice( void );
-00713   unsigned int getDefaultInputDevice( void );
-00714   void closeStream( void );
-00715   void startStream( void );
-00716   void stopStream( void );
-00717   void abortStream( void );
-00718   long getStreamLatency( void );
+00648   std::ostringstream errorStream_;
+00649   std::string errorText_;
+00650   bool showWarnings_;
+00651   RtApiStream stream_;
+00652 
+00660   virtual bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
+00661                                 unsigned int firstChannel, unsigned int sampleRate,
+00662                                 RtAudioFormat format, unsigned int *bufferSize,
+00663                                 RtAudio::StreamOptions *options );
+00664 
+00666   void tickStreamTime( void );
+00667 
+00669   void clearStreamInfo();
+00670 
+00675   void verifyStream( void );
+00676 
+00678   void error( RtError::Type type );
+00679 
+00684   void convertBuffer( char *outBuffer, char *inBuffer, ConvertInfo &info );
+00685 
+00687   void byteSwapBuffer( char *buffer, unsigned int samples, RtAudioFormat format );
+00688 
+00690   unsigned int formatBytes( RtAudioFormat format );
+00691 
+00693   void setConvertInfo( StreamMode mode, unsigned int firstChannel );
+00694 };
+00695 
+00696 // **************************************************************** //
+00697 //
+00698 // Inline RtAudio definitions.
+00699 //
+00700 // **************************************************************** //
+00701 
+00702 inline RtAudio::Api RtAudio :: getCurrentApi( void ) throw() { return rtapi_->getCurrentApi(); }
+00703 inline unsigned int RtAudio :: getDeviceCount( void ) throw() { return rtapi_->getDeviceCount(); }
+00704 inline RtAudio::DeviceInfo RtAudio :: getDeviceInfo( unsigned int device ) { return rtapi_->getDeviceInfo( device ); }
+00705 inline unsigned int RtAudio :: getDefaultInputDevice( void ) throw() { return rtapi_->getDefaultInputDevice(); }
+00706 inline unsigned int RtAudio :: getDefaultOutputDevice( void ) throw() { return rtapi_->getDefaultOutputDevice(); }
+00707 inline void RtAudio :: closeStream( void ) throw() { return rtapi_->closeStream(); }
+00708 inline void RtAudio :: startStream( void ) { return rtapi_->startStream(); }
+00709 inline void RtAudio :: stopStream( void )  { return rtapi_->stopStream(); }
+00710 inline void RtAudio :: abortStream( void ) { return rtapi_->abortStream(); }
+00711 inline bool RtAudio :: isStreamOpen( void ) const throw() { return rtapi_->isStreamOpen(); }
+00712 inline bool RtAudio :: isStreamRunning( void ) const throw() { return rtapi_->isStreamRunning(); }
+00713 inline long RtAudio :: getStreamLatency( void ) { return rtapi_->getStreamLatency(); }
+00714 inline unsigned int RtAudio :: getStreamSampleRate( void ) { return rtapi_->getStreamSampleRate(); };
+00715 inline double RtAudio :: getStreamTime( void ) { return rtapi_->getStreamTime(); }
+00716 inline void RtAudio :: showWarnings( bool value ) throw() { rtapi_->showWarnings( value ); }
+00717 
+00718 // RtApi Subclass prototypes.
 00719 
-00720   // This function is intended for internal use only.  It must be
-00721   // public because it is called by the internal callback handler,
-00722   // which is not a member of RtAudio.  External use of this function
-00723   // will most likely produce highly undesireable results!
-00724   bool callbackEvent( AudioDeviceID deviceId,
-00725                       const AudioBufferList *inBufferList,
-00726                       const AudioBufferList *outBufferList );
+00720 #if defined(__MACOSX_CORE__)
+00721 
+00722 #include <CoreAudio/AudioHardware.h>
+00723 
+00724 class RtApiCore: public RtApi
+00725 {
+00726 public:
 00727 
-00728   private:
-00729 
-00730   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00731                         unsigned int firstChannel, unsigned int sampleRate,
-00732                         RtAudioFormat format, unsigned int *bufferSize,
-00733                         RtAudio::StreamOptions *options );
-00734   static const char* getErrorCode( OSStatus code );
-00735 };
-00736 
-00737 #endif
-00738 
-00739 #if defined(__UNIX_JACK__)
-00740 
-00741 class RtApiJack: public RtApi
-00742 {
-00743 public:
-00744 
-00745   RtApiJack();
-00746   ~RtApiJack();
-00747   RtAudio::Api getCurrentApi( void ) { return RtAudio::UNIX_JACK; };
-00748   unsigned int getDeviceCount( void );
-00749   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00750   void closeStream( void );
-00751   void startStream( void );
-00752   void stopStream( void );
-00753   void abortStream( void );
-00754   long getStreamLatency( void );
-00755 
-00756   // This function is intended for internal use only.  It must be
-00757   // public because it is called by the internal callback handler,
-00758   // which is not a member of RtAudio.  External use of this function
-00759   // will most likely produce highly undesireable results!
-00760   bool callbackEvent( unsigned long nframes );
-00761 
-00762   private:
-00763 
-00764   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00765                         unsigned int firstChannel, unsigned int sampleRate,
-00766                         RtAudioFormat format, unsigned int *bufferSize,
-00767                         RtAudio::StreamOptions *options );
-00768 };
-00769 
-00770 #endif
-00771 
-00772 #if defined(__WINDOWS_ASIO__)
-00773 
-00774 class RtApiAsio: public RtApi
-00775 {
-00776 public:
-00777 
-00778   RtApiAsio();
-00779   ~RtApiAsio();
-00780   RtAudio::Api getCurrentApi( void ) { return RtAudio::WINDOWS_ASIO; };
-00781   unsigned int getDeviceCount( void );
-00782   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00783   void closeStream( void );
-00784   void startStream( void );
-00785   void stopStream( void );
-00786   void abortStream( void );
-00787   long getStreamLatency( void );
-00788 
-00789   // This function is intended for internal use only.  It must be
-00790   // public because it is called by the internal callback handler,
-00791   // which is not a member of RtAudio.  External use of this function
-00792   // will most likely produce highly undesireable results!
-00793   bool callbackEvent( long bufferIndex );
-00794 
-00795   private:
-00796 
-00797   std::vector<RtAudio::DeviceInfo> devices_;
-00798   void saveDeviceInfo( void );
-00799   bool coInitialized_;
-00800   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00801                         unsigned int firstChannel, unsigned int sampleRate,
-00802                         RtAudioFormat format, unsigned int *bufferSize,
-00803                         RtAudio::StreamOptions *options );
-00804 };
-00805 
-00806 #endif
-00807 
-00808 #if defined(__WINDOWS_DS__)
-00809 
-00810 class RtApiDs: public RtApi
-00811 {
-00812 public:
-00813 
-00814   RtApiDs();
-00815   ~RtApiDs();
-00816   RtAudio::Api getCurrentApi( void ) { return RtAudio::WINDOWS_DS; };
-00817   unsigned int getDeviceCount( void );
-00818   unsigned int getDefaultOutputDevice( void );
-00819   unsigned int getDefaultInputDevice( void );
-00820   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00821   void closeStream( void );
-00822   void startStream( void );
-00823   void stopStream( void );
-00824   void abortStream( void );
-00825   long getStreamLatency( void );
+00728   RtApiCore();
+00729   ~RtApiCore();
+00730   RtAudio::Api getCurrentApi( void ) { return RtAudio::MACOSX_CORE; };
+00731   unsigned int getDeviceCount( void );
+00732   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
+00733   unsigned int getDefaultOutputDevice( void );
+00734   unsigned int getDefaultInputDevice( void );
+00735   void closeStream( void );
+00736   void startStream( void );
+00737   void stopStream( void );
+00738   void abortStream( void );
+00739   long getStreamLatency( void );
+00740 
+00741   // This function is intended for internal use only.  It must be
+00742   // public because it is called by the internal callback handler,
+00743   // which is not a member of RtAudio.  External use of this function
+00744   // will most likely produce highly undesireable results!
+00745   bool callbackEvent( AudioDeviceID deviceId,
+00746                       const AudioBufferList *inBufferList,
+00747                       const AudioBufferList *outBufferList );
+00748 
+00749   private:
+00750 
+00751   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
+00752                         unsigned int firstChannel, unsigned int sampleRate,
+00753                         RtAudioFormat format, unsigned int *bufferSize,
+00754                         RtAudio::StreamOptions *options );
+00755   static const char* getErrorCode( OSStatus code );
+00756 };
+00757 
+00758 #endif
+00759 
+00760 #if defined(__UNIX_JACK__)
+00761 
+00762 class RtApiJack: public RtApi
+00763 {
+00764 public:
+00765 
+00766   RtApiJack();
+00767   ~RtApiJack();
+00768   RtAudio::Api getCurrentApi( void ) { return RtAudio::UNIX_JACK; };
+00769   unsigned int getDeviceCount( void );
+00770   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
+00771   void closeStream( void );
+00772   void startStream( void );
+00773   void stopStream( void );
+00774   void abortStream( void );
+00775   long getStreamLatency( void );
+00776 
+00777   // This function is intended for internal use only.  It must be
+00778   // public because it is called by the internal callback handler,
+00779   // which is not a member of RtAudio.  External use of this function
+00780   // will most likely produce highly undesireable results!
+00781   bool callbackEvent( unsigned long nframes );
+00782 
+00783   private:
+00784 
+00785   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
+00786                         unsigned int firstChannel, unsigned int sampleRate,
+00787                         RtAudioFormat format, unsigned int *bufferSize,
+00788                         RtAudio::StreamOptions *options );
+00789 };
+00790 
+00791 #endif
+00792 
+00793 #if defined(__WINDOWS_ASIO__)
+00794 
+00795 class RtApiAsio: public RtApi
+00796 {
+00797 public:
+00798 
+00799   RtApiAsio();
+00800   ~RtApiAsio();
+00801   RtAudio::Api getCurrentApi( void ) { return RtAudio::WINDOWS_ASIO; };
+00802   unsigned int getDeviceCount( void );
+00803   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
+00804   void closeStream( void );
+00805   void startStream( void );
+00806   void stopStream( void );
+00807   void abortStream( void );
+00808   long getStreamLatency( void );
+00809 
+00810   // This function is intended for internal use only.  It must be
+00811   // public because it is called by the internal callback handler,
+00812   // which is not a member of RtAudio.  External use of this function
+00813   // will most likely produce highly undesireable results!
+00814   bool callbackEvent( long bufferIndex );
+00815 
+00816   private:
+00817 
+00818   std::vector<RtAudio::DeviceInfo> devices_;
+00819   void saveDeviceInfo( void );
+00820   bool coInitialized_;
+00821   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
+00822                         unsigned int firstChannel, unsigned int sampleRate,
+00823                         RtAudioFormat format, unsigned int *bufferSize,
+00824                         RtAudio::StreamOptions *options );
+00825 };
 00826 
-00827   // This function is intended for internal use only.  It must be
-00828   // public because it is called by the internal callback handler,
-00829   // which is not a member of RtAudio.  External use of this function
-00830   // will most likely produce highly undesireable results!
-00831   void callbackEvent( void );
-00832 
-00833   private:
+00827 #endif
+00828 
+00829 #if defined(__WINDOWS_DS__)
+00830 
+00831 class RtApiDs: public RtApi
+00832 {
+00833 public:
 00834 
-00835   bool coInitialized_;
-00836   bool buffersRolling;
-00837   long duplexPrerollBytes;
-00838   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00839                         unsigned int firstChannel, unsigned int sampleRate,
-00840                         RtAudioFormat format, unsigned int *bufferSize,
-00841                         RtAudio::StreamOptions *options );
-00842 };
-00843 
-00844 #endif
-00845 
-00846 #if defined(__LINUX_ALSA__)
-00847 
-00848 class RtApiAlsa: public RtApi
-00849 {
-00850 public:
-00851 
-00852   RtApiAlsa();
-00853   ~RtApiAlsa();
-00854   RtAudio::Api getCurrentApi() { return RtAudio::LINUX_ALSA; };
-00855   unsigned int getDeviceCount( void );
-00856   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00857   void closeStream( void );
-00858   void startStream( void );
-00859   void stopStream( void );
-00860   void abortStream( void );
-00861 
-00862   // This function is intended for internal use only.  It must be
-00863   // public because it is called by the internal callback handler,
-00864   // which is not a member of RtAudio.  External use of this function
-00865   // will most likely produce highly undesireable results!
-00866   void callbackEvent( void );
-00867 
-00868   private:
-00869 
-00870   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00871                         unsigned int firstChannel, unsigned int sampleRate,
-00872                         RtAudioFormat format, unsigned int *bufferSize,
-00873                         RtAudio::StreamOptions *options );
-00874 };
-00875 
-00876 #endif
-00877 
-00878 #if defined(__LINUX_OSS__)
-00879 
-00880 class RtApiOss: public RtApi
-00881 {
-00882 public:
-00883 
-00884   RtApiOss();
-00885   ~RtApiOss();
-00886   RtAudio::Api getCurrentApi() { return RtAudio::LINUX_OSS; };
-00887   unsigned int getDeviceCount( void );
-00888   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00889   void closeStream( void );
-00890   void startStream( void );
-00891   void stopStream( void );
-00892   void abortStream( void );
-00893 
-00894   // This function is intended for internal use only.  It must be
-00895   // public because it is called by the internal callback handler,
-00896   // which is not a member of RtAudio.  External use of this function
-00897   // will most likely produce highly undesireable results!
-00898   void callbackEvent( void );
-00899 
-00900   private:
-00901 
-00902   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00903                         unsigned int firstChannel, unsigned int sampleRate,
-00904                         RtAudioFormat format, unsigned int *bufferSize,
-00905                         RtAudio::StreamOptions *options );
-00906 };
-00907 
-00908 #endif
-00909 
-00910 #if defined(__RTAUDIO_DUMMY__)
-00911 
-00912 class RtApiDummy: public RtApi
-00913 {
-00914 public:
-00915 
-00916   RtApiDummy() { errorText_ = "RtApiDummy: This class provides no functionality."; error( RtError::WARNING ); };
-00917   RtAudio::Api getCurrentApi( void ) { return RtAudio::RTAUDIO_DUMMY; };
-00918   unsigned int getDeviceCount( void ) { return 0; };
-00919   RtAudio::DeviceInfo getDeviceInfo( unsigned int device ) { RtAudio::DeviceInfo info; return info; };
-00920   void closeStream( void ) {};
-00921   void startStream( void ) {};
-00922   void stopStream( void ) {};
-00923   void abortStream( void ) {};
+00835   RtApiDs();
+00836   ~RtApiDs();
+00837   RtAudio::Api getCurrentApi( void ) { return RtAudio::WINDOWS_DS; };
+00838   unsigned int getDeviceCount( void );
+00839   unsigned int getDefaultOutputDevice( void );
+00840   unsigned int getDefaultInputDevice( void );
+00841   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
+00842   void closeStream( void );
+00843   void startStream( void );
+00844   void stopStream( void );
+00845   void abortStream( void );
+00846   long getStreamLatency( void );
+00847 
+00848   // This function is intended for internal use only.  It must be
+00849   // public because it is called by the internal callback handler,
+00850   // which is not a member of RtAudio.  External use of this function
+00851   // will most likely produce highly undesireable results!
+00852   void callbackEvent( void );
+00853 
+00854   private:
+00855 
+00856   bool coInitialized_;
+00857   bool buffersRolling;
+00858   long duplexPrerollBytes;
+00859   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
+00860                         unsigned int firstChannel, unsigned int sampleRate,
+00861                         RtAudioFormat format, unsigned int *bufferSize,
+00862                         RtAudio::StreamOptions *options );
+00863 };
+00864 
+00865 #endif
+00866 
+00867 #if defined(__LINUX_ALSA__)
+00868 
+00869 class RtApiAlsa: public RtApi
+00870 {
+00871 public:
+00872 
+00873   RtApiAlsa();
+00874   ~RtApiAlsa();
+00875   RtAudio::Api getCurrentApi() { return RtAudio::LINUX_ALSA; };
+00876   unsigned int getDeviceCount( void );
+00877   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
+00878   void closeStream( void );
+00879   void startStream( void );
+00880   void stopStream( void );
+00881   void abortStream( void );
+00882 
+00883   // This function is intended for internal use only.  It must be
+00884   // public because it is called by the internal callback handler,
+00885   // which is not a member of RtAudio.  External use of this function
+00886   // will most likely produce highly undesireable results!
+00887   void callbackEvent( void );
+00888 
+00889   private:
+00890 
+00891   std::vector<RtAudio::DeviceInfo> devices_;
+00892   void saveDeviceInfo( void );
+00893   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
+00894                         unsigned int firstChannel, unsigned int sampleRate,
+00895                         RtAudioFormat format, unsigned int *bufferSize,
+00896                         RtAudio::StreamOptions *options );
+00897 };
+00898 
+00899 #endif
+00900 
+00901 #if defined(__LINUX_OSS__)
+00902 
+00903 class RtApiOss: public RtApi
+00904 {
+00905 public:
+00906 
+00907   RtApiOss();
+00908   ~RtApiOss();
+00909   RtAudio::Api getCurrentApi() { return RtAudio::LINUX_OSS; };
+00910   unsigned int getDeviceCount( void );
+00911   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
+00912   void closeStream( void );
+00913   void startStream( void );
+00914   void stopStream( void );
+00915   void abortStream( void );
+00916 
+00917   // This function is intended for internal use only.  It must be
+00918   // public because it is called by the internal callback handler,
+00919   // which is not a member of RtAudio.  External use of this function
+00920   // will most likely produce highly undesireable results!
+00921   void callbackEvent( void );
+00922 
+00923   private:
 00924 
-00925   private:
-00926 
-00927   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00928                         unsigned int firstChannel, unsigned int sampleRate,
-00929                         RtAudioFormat format, unsigned int *bufferSize,
-00930                         RtAudio::StreamOptions *options ) { return false; };
-00931 };
-00932 
-00933 #endif
+00925   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
+00926                         unsigned int firstChannel, unsigned int sampleRate,
+00927                         RtAudioFormat format, unsigned int *bufferSize,
+00928                         RtAudio::StreamOptions *options );
+00929 };
+00930 
+00931 #endif
+00932 
+00933 #if defined(__RTAUDIO_DUMMY__)
 00934 
-00935 #endif
-00936 
-00937 // Indentation settings for Vim and Emacs
-00938 //
-00939 // Local Variables:
-00940 // c-basic-offset: 2
-00941 // indent-tabs-mode: nil
-00942 // End:
-00943 //
-00944 // vim: et sts=2 sw=2
-

+00935 class RtApiDummy: public RtApi +00936 { +00937 public: +00938 +00939 RtApiDummy() { errorText_ = "RtApiDummy: This class provides no functionality."; error( RtError::WARNING ); }; +00940 RtAudio::Api getCurrentApi( void ) { return RtAudio::RTAUDIO_DUMMY; }; +00941 unsigned int getDeviceCount( void ) { return 0; }; +00942 RtAudio::DeviceInfo getDeviceInfo( unsigned int device ) { RtAudio::DeviceInfo info; return info; }; +00943 void closeStream( void ) {}; +00944 void startStream( void ) {}; +00945 void stopStream( void ) {}; +00946 void abortStream( void ) {}; +00947 +00948 private: +00949 +00950 bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, +00951 unsigned int firstChannel, unsigned int sampleRate, +00952 RtAudioFormat format, unsigned int *bufferSize, +00953 RtAudio::StreamOptions *options ) { return false; }; +00954 }; +00955 +00956 #endif +00957 +00958 #endif +00959 +00960 // Indentation settings for Vim and Emacs +00961 // +00962 // Local Variables: +00963 // c-basic-offset: 2 +00964 // indent-tabs-mode: nil +00965 // End: +00966 // +00967 // vim: et sts=2 sw=2 +
+
- +
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/RtAudio_8h.html b/doc/html/RtAudio_8h.html index b475d18..4154557 100644 --- a/doc/html/RtAudio_8h.html +++ b/doc/html/RtAudio_8h.html @@ -8,13 +8,11 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


- - -

RtAudio.h File Reference


Detailed Description

- -

- + +

+
+

RtAudio.h File Reference

Go to the source code of this file. @@ -22,140 +20,110 @@ - + - + - + - + - - + + - - + + - - + + - +
class  RtAudio
 Realtime audio i/o C++ classes. More...
struct  RtAudio::DeviceInfo
struct  RtAudio::RtAudio::DeviceInfo
 The public device information structure for returning queried values. More...
struct  RtAudio::StreamParameters
struct  RtAudio::RtAudio::StreamParameters
 The structure for specifying input or ouput stream parameters. More...
struct  RtAudio::StreamOptions
struct  RtAudio::RtAudio::StreamOptions
 The structure for specifying stream options. More...

Typedefs

typedef unsigned long RtAudioFormat
typedef unsigned long RtAudioFormat
 RtAudio data format type.
typedef unsigned int RtAudioStreamFlags
 RtAudio data format type.
typedef unsigned int RtAudioStreamFlags
 RtAudio stream option flags.
typedef unsigned int RtAudioStreamStatus
 RtAudio stream option flags.
typedef unsigned int RtAudioStreamStatus
 RtAudio stream status (over- or underflow) flags.
typedef int(* RtAudioCallback )(void *outputBuffer, void *inputBuffer, unsigned int nFrames, double streamTime, RtAudioStreamStatus status, void *userData)
 RtAudio stream status (over- or underflow) flags.
typedef int(* RtAudioCallback )(void *outputBuffer, void *inputBuffer, unsigned int nFrames, double streamTime, RtAudioStreamStatus status, void *userData)
 RtAudio callback function prototype.
 RtAudio callback function prototype.
+


Detailed Description


Typedef Documentation

-

- - - - -
- + +
+
+
- +
typedef unsigned long RtAudioFormat typedef unsigned long RtAudioFormat
-
- - - - - -
-   - + +

-RtAudio data format type. +RtAudio data format type.

-Support for signed integers and floats. Audio data fed to/from an RtAudio stream is assumed to ALWAYS be in host byte order. The internal routines will automatically take care of any necessary byte-swapping between the host format and the soundcard. Thus, endian-ness is not a concern in the following format definitions.

+Support for signed integers and floats. Audio data fed to/from an RtAudio stream is assumed to ALWAYS be in host byte order. The internal routines will automatically take care of any necessary byte-swapping between the host format and the soundcard. Thus, endian-ness is not a concern in the following format definitions.

    -
  • RTAUDIO_SINT8: 8-bit signed integer.
  • RTAUDIO_SINT16: 16-bit signed integer.
  • RTAUDIO_SINT24: Upper 3 bytes of 32-bit signed integer.
  • RTAUDIO_SINT32: 32-bit signed integer.
  • RTAUDIO_FLOAT32: Normalized between plus/minus 1.0.
  • RTAUDIO_FLOAT64: Normalized between plus/minus 1.0.
-
-

- - - - -
- +
  • RTAUDIO_SINT8: 8-bit signed integer.
  • RTAUDIO_SINT16: 16-bit signed integer.
  • RTAUDIO_SINT24: Upper 3 bytes of 32-bit signed integer.
  • RTAUDIO_SINT32: 32-bit signed integer.
  • RTAUDIO_FLOAT32: Normalized between plus/minus 1.0.
  • RTAUDIO_FLOAT64: Normalized between plus/minus 1.0.
  • + + +

    + +

    +
    +
    - +
    typedef unsigned long RtAudioStreamFlags typedef unsigned long RtAudioStreamFlags
    -
    - - - - - -
    -   - + +

    -RtAudio stream option flags. +RtAudio stream option flags.

    The following flags can be OR'ed together to allow a client to make changes to the default stream behavior:

    • RTAUDIO_NONINTERLEAVED: Use non-interleaved buffers (default = interleaved).
    • RTAUDIO_MINIMIZE_LATENCY: Attempt to set stream parameters for lowest possible latency.
    • RTAUDIO_HOG_DEVICE: Attempt grab device for exclusive use.

    -By default, RtAudio streams pass and receive audio data from the client in an interleaved format. By passing the RTAUDIO_NONINTERLEAVED flag to the openStream() function, audio data will instead be presented in non-interleaved buffers. In this case, each buffer argument in the RtAudioCallback function will point to a single array of data, with nFrames samples for each channel concatenated back-to-back. For example, the first sample of data for the second channel would be located at index nFrames (assuming the buffer pointer was recast to the correct data type for the stream).

    -Certain audio APIs offer a number of parameters that influence the I/O latency of a stream. By default, RtAudio will attempt to set these parameters internally for robust (glitch-free) performance (though some APIs, like Windows Direct Sound, make this difficult). By passing the RTAUDIO_MINIMIZE_LATENCY flag to the openStream() function, internal stream settings will be influenced in an attempt to minimize stream latency, though possibly at the expense of stream performance.

    -If the RTAUDIO_HOG_DEVICE flag is set, RtAudio will attempt to open the input and/or output stream device(s) for exclusive use. Note that this is not possible with all supported audio APIs.

    -

    - - - - -
    - +By default, RtAudio streams pass and receive audio data from the client in an interleaved format. By passing the RTAUDIO_NONINTERLEAVED flag to the openStream() function, audio data will instead be presented in non-interleaved buffers. In this case, each buffer argument in the RtAudioCallback function will point to a single array of data, with nFrames samples for each channel concatenated back-to-back. For example, the first sample of data for the second channel would be located at index nFrames (assuming the buffer pointer was recast to the correct data type for the stream).

    +Certain audio APIs offer a number of parameters that influence the I/O latency of a stream. By default, RtAudio will attempt to set these parameters internally for robust (glitch-free) performance (though some APIs, like Windows Direct Sound, make this difficult). By passing the RTAUDIO_MINIMIZE_LATENCY flag to the openStream() function, internal stream settings will be influenced in an attempt to minimize stream latency, though possibly at the expense of stream performance.

    +If the RTAUDIO_HOG_DEVICE flag is set, RtAudio will attempt to open the input and/or output stream device(s) for exclusive use. Note that this is not possible with all supported audio APIs.

    +If the RTAUDIO_SCHEDULE_REALTIME flag is set, RtAudio will attempt to select realtime scheduling (round-robin) for the callback thread. + +

    + +

    +
    +
    - +
    typedef unsigned long RtAudioStreamStatus typedef unsigned long RtAudioStreamStatus
    -
    - - - - - -
    -   - + +

    -RtAudio stream status (over- or underflow) flags. +RtAudio stream status (over- or underflow) flags.

    Notification of a stream over- or underflow is indicated by a non-zero stream status argument in the RtAudioCallback function. The stream status can be one of the following two options, depending on whether the stream is open for output and/or input:

      -
    • RTAUDIO_INPUT_OVERFLOW: Input data was discarded because of an overflow condition at the driver.
    • RTAUDIO_OUTPUT_UNDERFLOW: The output buffer ran low, likely producing a break in the output sound.
    -
    -

    - - - - -
    - +
  • RTAUDIO_INPUT_OVERFLOW: Input data was discarded because of an overflow condition at the driver.
  • RTAUDIO_OUTPUT_UNDERFLOW: The output buffer ran low, likely producing a break in the output sound.
  • + + +

    + +

    +
    +
    - +
    typedef int(* RtAudioCallback)(void *outputBuffer, void *inputBuffer, unsigned int nFrames, double streamTime, RtAudioStreamStatus status, void *userData) typedef int(* RtAudioCallback)(void *outputBuffer, void *inputBuffer, unsigned int nFrames, double streamTime, RtAudioStreamStatus status, void *userData)
    -
    - - - - - -
    -   - + +

    -RtAudio callback function prototype. +RtAudio callback function prototype.

    -All RtAudio clients must create a function of type RtAudioCallback to read and/or write data from/to the audio stream. When the underlying audio system is ready for new input or output data, this function will be invoked.

    +All RtAudio clients must create a function of type RtAudioCallback to read and/or write data from/to the audio stream. When the underlying audio system is ready for new input or output data, this function will be invoked.

    Parameters:
    @@ -166,14 +134,15 @@ All RtAudio clients must create a fun
    outputBuffer For output (or duplex) streams, the client should write nFrames of audio sample frames into this buffer. This argument should be recast to the datatype specified when the stream was opened. For input-only streams, this argument will be NULL.
    userData A pointer to optional data provided by the client when opening the stream (default = NULL).
    -To continue normal stream operation, the RtAudioCallback function should return a value of zero. To stop the stream and drain the output buffer, the function should return a value of one. To abort the stream immediately, the client should return a value of two.
    +To continue normal stream operation, the RtAudioCallback function should return a value of zero. To stop the stream and drain the output buffer, the function should return a value of one. To abort the stream immediately, the client should return a value of two. +

    +

    +


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/RtDuplex_8h-source.html b/doc/html/RtDuplex_8h-source.html deleted file mode 100644 index 6968614..0000000 --- a/doc/html/RtDuplex_8h-source.html +++ /dev/null @@ -1,77 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - - -

    RtDuplex.h

    00001 /***************************************************/
    -00029 /***************************************************/
    -00030 
    -00031 #ifndef STK_RTDUPLEX_H
    -00032 #define STK_RTDUPLEX_H
    -00033 
    -00034 #include "Stk.h"
    -00035 #include "RtAudio.h"
    -00036 
    -00037 class RtDuplex : public Stk
    -00038 {
    -00039 public:
    -00041 
    -00052   RtDuplex(int nChannels = 1, StkFloat sampleRate = Stk::sampleRate(), int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 2);
    -00053 
    -00055   ~RtDuplex();
    -00056 
    -00058 
    -00061   void start(void);
    -00062 
    -00064 
    -00067   void stop(void);
    -00068 
    -00070   StkFloat lastOut(void) const;
    -00071 
    -00073 
    -00076   StkFloat tick(const StkFloat sample);
    -00077 
    -00079 
    -00082   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
    -00083 
    -00085 
    -00092   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
    -00093 
    -00095   const StkFloat *lastFrame(void) const;
    -00096 
    -00098 
    -00101   StkFloat *tickFrame(StkFloat *frameVector, unsigned int frames = 1);
    -00102 
    -00104 
    -00110   StkFrames& tickFrame( StkFrames& frames );
    -00111 
    -00112 protected:
    -00113 
    -00114          RtAudio *audio_;
    -00115   StkFloat *data_;
    -00116   StkFloat *lastOutput_;
    -00117   int bufferSize_;
    -00118   bool stopped_;
    -00119   long counter_;
    -00120   unsigned int channels_;
    -00121 
    -00122 };
    -00123 
    -00124 #endif
    -

    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/RtError_8h-source.html b/doc/html/RtError_8h-source.html index 1ff3916..7774d03 100644 --- a/doc/html/RtError_8h-source.html +++ b/doc/html/RtError_8h-source.html @@ -8,9 +8,10 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - + + +

    RtError.h

    00001 /************************************************************************/
     00010 /************************************************************************/
     00011 
    @@ -21,46 +22,47 @@
     00016 #include <iostream>
     00017 #include <string>
     00018 
    -00019 class RtError : public std::exception
    +00019 class RtError : public std::exception
     00020 {
     00021  public:
    -00023   enum Type {
    -00024     WARNING,           
    -00025     DEBUG_WARNING,     
    -00026     UNSPECIFIED,       
    -00027     NO_DEVICES_FOUND,  
    -00028     INVALID_DEVICE,    
    -00029     MEMORY_ERROR,      
    -00030     INVALID_PARAMETER, 
    -00031     INVALID_USE,       
    -00032     DRIVER_ERROR,      
    -00033     SYSTEM_ERROR,      
    -00034     THREAD_ERROR       
    +00023   enum Type {
    +00024     WARNING,           
    +00025     DEBUG_WARNING,     
    +00026     UNSPECIFIED,       
    +00027     NO_DEVICES_FOUND,  
    +00028     INVALID_DEVICE,    
    +00029     MEMORY_ERROR,      
    +00030     INVALID_PARAMETER, 
    +00031     INVALID_USE,       
    +00032     DRIVER_ERROR,      
    +00033     SYSTEM_ERROR,      
    +00034     THREAD_ERROR       
     00035   };
     00036 
    -00038   RtError( const std::string& message, Type type = RtError::UNSPECIFIED ) throw() : message_(message), type_(type) {}
    +00038   RtError( const std::string& message, Type type = RtError::UNSPECIFIED ) throw() : message_(message), type_(type) {}
     00039  
    -00041   virtual ~RtError( void ) throw() {}
    +00041   virtual ~RtError( void ) throw() {}
     00042 
    -00044   virtual void printMessage( void ) throw() { std::cerr << '\n' << message_ << "\n\n"; }
    +00044   virtual void printMessage( void ) throw() { std::cerr << '\n' << message_ << "\n\n"; }
     00045 
    -00047   virtual const Type& getType(void) throw() { return type_; }
    +00047   virtual const Type& getType(void) throw() { return type_; }
     00048 
    -00050   virtual const std::string& getMessage(void) throw() { return message_; }
    +00050   virtual const std::string& getMessage(void) throw() { return message_; }
     00051 
    -00053   virtual const char* what( void ) const throw() { return message_.c_str(); }
    +00053   virtual const char* what( void ) const throw() { return message_.c_str(); }
     00054 
     00055  protected:
     00056   std::string message_;
    -00057   Type type_;
    +00057   Type type_;
     00058 };
     00059 
     00060 #endif
    -

    +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/RtMidi_8h-source.html b/doc/html/RtMidi_8h-source.html index d58d88f..0be30f5 100644 --- a/doc/html/RtMidi_8h-source.html +++ b/doc/html/RtMidi_8h-source.html @@ -8,13 +8,14 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - + + +

    RtMidi.h

    00001 /**********************************************************************/
     00036 /**********************************************************************/
     00037 
    -00038 // RtMidi: Version 1.0.7
    +00038 // RtMidi: Version 1.0.9
     00039 
     00040 #ifndef RTMIDI_H
     00041 #define RTMIDI_H
    @@ -22,29 +23,29 @@
     00043 #include "RtError.h"
     00044 #include <string>
     00045 
    -00046 class RtMidi
    +00046 class RtMidi
     00047 {
     00048  public:
     00049 
    -00051   virtual void openPort( unsigned int portNumber = 0 ) = 0;
    +00051   virtual void openPort( unsigned int portNumber = 0, const std::string portName = std::string( "RtMidi" ) ) = 0;
     00052 
    -00054   virtual void openVirtualPort( const std::string portName = std::string( "RtMidi" ) ) = 0;
    +00054   virtual void openVirtualPort( const std::string portName = std::string( "RtMidi" ) ) = 0;
     00055 
    -00057   virtual unsigned int getPortCount() = 0;
    +00057   virtual unsigned int getPortCount() = 0;
     00058 
    -00060   virtual std::string getPortName( unsigned int portNumber = 0 ) = 0;
    +00060   virtual std::string getPortName( unsigned int portNumber = 0 ) = 0;
     00061 
    -00063   virtual void closePort( void ) = 0;
    +00063   virtual void closePort( void ) = 0;
     00064 
     00065  protected:
     00066 
    -00067   RtMidi();
    -00068   virtual ~RtMidi() {};
    +00067   RtMidi();
    +00068   virtual ~RtMidi() {};
     00069 
     00070   // A basic error reporting function for internal use in the RtMidi
     00071   // subclasses.  The behavior of this function can be modified to
     00072   // suit specific needs.
    -00073   void error( RtError::Type type );
    +00073   void error( RtError::Type type );
     00074 
     00075   void *apiData_;
     00076   bool connected_;
    @@ -57,44 +58,44 @@
     00098 #include <vector>
     00099 #include <queue>
     00100 
    -00101 class RtMidiIn : public RtMidi
    +00101 class RtMidiIn : public RtMidi
     00102 {
     00103  public:
     00104 
    -00106   typedef void (*RtMidiCallback)( double timeStamp, std::vector<unsigned char> *message, void *userData);
    +00106   typedef void (*RtMidiCallback)( double timeStamp, std::vector<unsigned char> *message, void *userData);
     00107 
     00109 
    -00112   RtMidiIn();
    +00112   RtMidiIn( const std::string clientName = std::string( "RtMidi Input Client") );
     00113 
    -00115   ~RtMidiIn();
    +00115   ~RtMidiIn();
     00116 
     00118 
    -00122   void openPort( unsigned int portNumber = 0 );
    +00122   void openPort( unsigned int portNumber = 0, const std::string Portname = std::string( "RtMidi Input" ) );
     00123 
     00125 
    -00131   void openVirtualPort( const std::string portName = std::string( "RtMidi Input" ) );
    +00131   void openVirtualPort( const std::string portName = std::string( "RtMidi Input" ) );
     00132 
     00134 
    -00140   void setCallback( RtMidiCallback callback, void *userData = 0 );
    +00140   void setCallback( RtMidiCallback callback, void *userData = 0 );
     00141 
     00143 
    -00147   void cancelCallback();
    +00147   void cancelCallback();
     00148 
    -00150   void closePort( void );
    +00150   void closePort( void );
     00151 
    -00153   unsigned int getPortCount();
    +00153   unsigned int getPortCount();
     00154 
     00156 
    -00159   std::string getPortName( unsigned int portNumber = 0 );
    +00159   std::string getPortName( unsigned int portNumber = 0 );
     00160 
     00162 
    -00166   void setQueueSizeLimit( unsigned int queueSize );
    +00166   void setQueueSizeLimit( unsigned int queueSize );
     00167 
     00169 
    -00176   void ignoreTypes( bool midiSysex = true, bool midiTime = true, bool midiSense = true );
    +00176   void ignoreTypes( bool midiSysex = true, bool midiTime = true, bool midiSense = true );
     00177 
     00179 
    -00186   double getMessage( std::vector<unsigned char> *message );
    +00186   double getMessage( std::vector<unsigned char> *message );
     00187 
     00188   // A MIDI structure used internally by the class to store incoming
     00189   // messages.  Each message represents one and only one MIDI message.
    @@ -111,67 +112,71 @@
     00200   // the MIDI input handling function or thread.
     00201   struct RtMidiInData {
     00202     std::queue<MidiMessage> queue;
    -00203     unsigned int queueLimit;
    -00204     unsigned char ignoreFlags;
    -00205     bool doInput;
    -00206     bool firstMessage;
    -00207     void *apiData;
    -00208     bool usingCallback;
    -00209     void *userCallback;
    -00210     void *userData;
    -00211 
    -00212     // Default constructor.
    -00213     RtMidiInData()
    -00214       : queueLimit(1024), ignoreFlags(7), doInput(false), firstMessage(true),
    -00215         apiData(0), usingCallback(false), userCallback(0), userData(0) {}
    -00216   };
    -00217 
    -00218  private:
    -00219 
    -00220   void initialize( void );
    -00221   RtMidiInData inputData_;
    +00203     MidiMessage message;
    +00204     unsigned int queueLimit;
    +00205     unsigned char ignoreFlags;
    +00206     bool doInput;
    +00207     bool firstMessage;
    +00208     void *apiData;
    +00209     bool usingCallback;
    +00210     void *userCallback;
    +00211     void *userData;
    +00212     bool continueSysex;
    +00213 
    +00214     // Default constructor.
    +00215     RtMidiInData()
    +00216       : queueLimit(1024), ignoreFlags(7), doInput(false), firstMessage(true),
    +00217         apiData(0), usingCallback(false), userCallback(0), userData(0),
    +00218         continueSysex(false) {}
    +00219   };
    +00220 
    +00221  private:
     00222 
    -00223 };
    -00224 
    -00225 /**********************************************************************/
    -00237 /**********************************************************************/
    -00238 
    -00239 class RtMidiOut : public RtMidi
    -00240 {
    -00241  public:
    -00242 
    -00244 
    -00247   RtMidiOut();
    -00248 
    -00250   ~RtMidiOut();
    +00223   void initialize( const std::string& clientName );
    +00224   RtMidiInData inputData_;
    +00225 
    +00226 };
    +00227 
    +00228 /**********************************************************************/
    +00240 /**********************************************************************/
    +00241 
    +00242 class RtMidiOut : public RtMidi
    +00243 {
    +00244  public:
    +00245 
    +00247 
    +00250   RtMidiOut( const std::string clientName = std::string( "RtMidi Output Client" ) );
     00251 
    -00253 
    -00259   void openPort( unsigned int portNumber = 0 );
    -00260 
    -00262   void closePort();
    +00253   ~RtMidiOut();
    +00254 
    +00256 
    +00262   void openPort( unsigned int portNumber = 0, const std::string portName = std::string( "RtMidi Output" ) );
     00263 
    -00265 
    -00273   void openVirtualPort( const std::string portName = std::string( "RtMidi Output" ) );
    -00274 
    -00276   unsigned int getPortCount();
    +00265   void closePort();
    +00266 
    +00268 
    +00276   void openVirtualPort( const std::string portName = std::string( "RtMidi Output" ) );
     00277 
    -00279 
    -00282   std::string getPortName( unsigned int portNumber = 0 );
    -00283 
    -00285 
    -00289   void sendMessage( std::vector<unsigned char> *message );
    -00290 
    -00291  private:
    -00292 
    -00293   void initialize( void );
    -00294 };
    +00279   unsigned int getPortCount();
    +00280 
    +00282 
    +00285   std::string getPortName( unsigned int portNumber = 0 );
    +00286 
    +00288 
    +00292   void sendMessage( std::vector<unsigned char> *message );
    +00293 
    +00294  private:
     00295 
    -00296 #endif
    -

    +00296 void initialize( const std::string& clientName ); +00297 }; +00298 +00299 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/RtWvIn_8h-source.html b/doc/html/RtWvIn_8h-source.html index df6b2e1..cb0146e 100644 --- a/doc/html/RtWvIn_8h-source.html +++ b/doc/html/RtWvIn_8h-source.html @@ -8,54 +8,82 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    RtWvIn.h

    00001 /***************************************************/
    -00019 /***************************************************/
    -00020 
    -00021 #ifndef STK_RTWVIN_H
    -00022 #define STK_RTWVIN_H
    -00023 
    -00024 #include "WvIn.h"
    -00025 #include "RtAudio.h"
    -00026 
    -00027 class RtWvIn : public WvIn
    -00028 {
    -00029 public:
    -00031 
    -00042   RtWvIn( unsigned int nChannels = 1, StkFloat sampleRate = Stk::sampleRate(), int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 20 );
    -00043 
    -00045   ~RtWvIn();
    -00046 
    -00048 
    -00052   void start( void );
    -00053 
    -00055 
    -00059   void stop( void );
    -00060 
    -00061   // This function is not intended for general use but had to be made
    -00062   // public for access from the audio callback function.
    -00063   void fillBuffer( void *buffer, unsigned int nFrames );
    -00064 
    -00065 protected:
    -00066 
    -00067   void computeFrame( void );
    -00068 
    -00069          RtAudio adc_;
    -00070   bool stopped_;
    -00071   unsigned int readIndex_;
    -00072   unsigned int writeIndex_;
    -00073   unsigned int framesFilled_;
    -00074 
    -00075 };
    -00076 
    -00077 #endif
    -

    + + +
    +

    RtWvIn.h

    00001 #ifndef STK_RTWVIN_H
    +00002 #define STK_RTWVIN_H
    +00003 
    +00004 #include "WvIn.h"
    +00005 #include "RtAudio.h"
    +00006 #include "Mutex.h"
    +00007 
    +00008 namespace stk {
    +00009 
    +00010 /***************************************************/
    +00029 /***************************************************/
    +00030 
    +00031 class RtWvIn : public WvIn
    +00032 {
    +00033 public:
    +00035 
    +00042   RtWvIn( unsigned int nChannels = 1, StkFloat sampleRate = Stk::sampleRate(),
    +00043           int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 20 );
    +00044 
    +00046   ~RtWvIn();
    +00047 
    +00049 
    +00053   void start( void );
    +00054 
    +00056 
    +00060   void stop( void );
    +00061 
    +00063 
    +00072   StkFloat lastOut( unsigned int channel = 0 );
    +00073 
    +00075 
    +00084   StkFloat tick( unsigned int channel = 0 );
    +00085 
    +00087 
    +00094   StkFrames& tick( StkFrames& frames );
    +00095 
    +00096   // This function is not intended for general use but must be
    +00097   // public for access from the audio callback function.
    +00098   void fillBuffer( void *buffer, unsigned int nFrames );
    +00099 
    +00100 protected:
    +00101 
    +00102          RtAudio adc_;
    +00103   Mutex mutex_;
    +00104   bool stopped_;
    +00105   unsigned int readIndex_;
    +00106   unsigned int writeIndex_;
    +00107   unsigned int framesFilled_;
    +00108 
    +00109 };
    +00110 
    +00111 inline StkFloat RtWvIn :: lastOut( unsigned int channel )
    +00112 {
    +00113 #if defined(_STK_DEBUG_)
    +00114   if ( channel >= data_.channels() ) {
    +00115     errorString_ << "RtWvIn::lastOut(): channel argument and audio stream are incompatible!";
    +00116     handleError( StkError::FUNCTION_ARGUMENT );
    +00117   }
    +00118 #endif
    +00119 
    +00120   return lastFrame_[channel];
    +00121 }
    +00122 
    +00123 } // stk namespace
    +00124 
    +00125 #endif
    +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/RtWvOut_8h-source.html b/doc/html/RtWvOut_8h-source.html index 130d165..c1733af 100644 --- a/doc/html/RtWvOut_8h-source.html +++ b/doc/html/RtWvOut_8h-source.html @@ -8,58 +8,69 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    RtWvOut.h

    00001 /***************************************************/
    -00019 /***************************************************/
    -00020 
    -00021 #ifndef STK_RTWVOUT_H
    -00022 #define STK_RTWVOUT_H
    -00023 
    -00024 #include "WvOut.h"
    -00025 #include "RtAudio.h"
    -00026 
    -00027 class RtWvOut : public WvOut
    -00028 {
    -00029  public:
    -00030 
    -00032 
    -00042   RtWvOut( unsigned int nChannels = 1, StkFloat sampleRate = Stk::sampleRate(),
    +
    +  
    +
    +

    RtWvOut.h

    00001 #ifndef STK_RTWVOUT_H
    +00002 #define STK_RTWVOUT_H
    +00003 
    +00004 #include "WvOut.h"
    +00005 #include "RtAudio.h"
    +00006 #include "Mutex.h"
    +00007 
    +00008 namespace stk {
    +00009 
    +00010 /***************************************************/
    +00028 /***************************************************/
    +00029 
    +00030 class RtWvOut : public WvOut
    +00031 {
    +00032  public:
    +00033 
    +00035 
    +00042   RtWvOut( unsigned int nChannels = 1, StkFloat sampleRate = Stk::sampleRate(),
     00043            int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 20 );
     00044 
    -00046   ~RtWvOut();
    +00046   ~RtWvOut();
     00047 
     00049 
    -00053   void start( void );
    +00053   void start( void );
     00054 
     00056 
    -00060   void stop( void );
    +00060   void stop( void );
     00061 
    -00062   // This function is not intended for general use but had to be made
    -00063   // public for access from the audio callback function.
    -00064   int readBuffer( void *buffer, unsigned int frameCount );
    -00065 
    -00066  protected:
    +00063 
    +00066   void tick( const StkFloat sample );
     00067 
    -00068   void computeSample( const StkFloat sample );
    -00069   void computeFrames( const StkFrames& frames );
    -00070 
    -00071   RtAudio dac_;
    -00072   bool stopped_;
    -00073   unsigned int readIndex_;
    -00074   unsigned int writeIndex_;
    -00075   long framesFilled_;
    -00076   unsigned int status_; // running = 0, emptying buffer = 1, finished = 2
    +00069 
    +00076   void tick( StkFrames& frames );
     00077 
    -00078 };
    -00079 
    -00080 #endif
    -

    +00078 // This function is not intended for general use but must be +00079 // public for access from the audio callback function. +00080 int readBuffer( void *buffer, unsigned int frameCount ); +00081 +00082 protected: +00083 +00084 RtAudio dac_; +00085 Mutex mutex_; +00086 bool stopped_; +00087 unsigned int readIndex_; +00088 unsigned int writeIndex_; +00089 long framesFilled_; +00090 unsigned int status_; // running = 0, emptying buffer = 1, finished = 2 +00091 +00092 }; +00093 +00094 } // stk namespace +00095 +00096 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/SKINI_8msg-source.html b/doc/html/SKINI_8msg-source.html deleted file mode 100644 index 313a3a7..0000000 --- a/doc/html/SKINI_8msg-source.html +++ /dev/null @@ -1,149 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -

    SKINI.msg

    00001 /*********************************************************/
    -00002 /*
    -00003   Definition of SKINI Message Types and Special Symbols
    -00004      Synthesis toolKit Instrument Network Interface
    -00005 
    -00006   These symbols should have the form:
    -00007 
    -00008    \c __SK_<name>_
    -00009 
    -00010   where <name> is the string used in the SKINI stream.
    -00011 
    -00012   by Perry R. Cook, 1995 - 2004.
    -00013 */
    -00014 /*********************************************************/
    -00015 
    -00016 #define NOPE        -32767
    -00017 #define YEP         1
    -00018 #define SK_DBL      -32766
    -00019 #define SK_INT      -32765
    -00020 #define SK_STR      -32764
    -00021 #define __SK_Exit_  999
    -00022 
    -00023 /***** MIDI COMPATIBLE MESSAGES *****/
    -00024 /*** (Status bytes for channel=0) ***/
    -00025 
    -00026 #define __SK_NoteOff_                128
    -00027 #define __SK_NoteOn_                 144
    -00028 #define __SK_PolyPressure_           160
    -00029 #define __SK_ControlChange_          176
    -00030 #define __SK_ProgramChange_          192
    -00031 #define __SK_AfterTouch_             208
    -00032 #define __SK_ChannelPressure_        __SK_AfterTouch_
    -00033 #define __SK_PitchWheel_             224
    -00034 #define __SK_PitchBend_              __SK_PitchWheel_
    -00035 #define __SK_PitchChange_            49
    -00036 
    -00037 #define __SK_Clock_                  248
    -00038 #define __SK_SongStart_              250
    -00039 #define __SK_Continue_               251
    -00040 #define __SK_SongStop_               252
    -00041 #define __SK_ActiveSensing_          254
    -00042 #define __SK_SystemReset_            255
    -00043 
    -00044 #define __SK_Volume_                 7
    -00045 #define __SK_ModWheel_               1
    -00046 #define __SK_Modulation_             __SK_ModWheel_
    -00047 #define __SK_Breath_                 2
    -00048 #define __SK_FootControl_            4
    -00049 #define __SK_Portamento_             65
    -00050 #define __SK_Balance_                8
    -00051 #define __SK_Pan_                    10
    -00052 #define __SK_Sustain_                64
    -00053 #define __SK_Damper_                 __SK_Sustain_
    -00054 #define __SK_Expression_             11 
    -00055 
    -00056 #define __SK_AfterTouch_Cont_        128
    -00057 #define __SK_ModFrequency_           __SK_Expression_
    -00058 
    -00059 #define __SK_ProphesyRibbon_         16
    -00060 #define __SK_ProphesyWheelUp_        2
    -00061 #define __SK_ProphesyWheelDown_      3
    -00062 #define __SK_ProphesyPedal_          18
    -00063 #define __SK_ProphesyKnob1_          21
    -00064 #define __SK_ProphesyKnob2_          22
    -00065 
    -00066 /***  Instrument Family Specific ***/
    -00067 
    -00068 #define __SK_NoiseLevel_             __SK_FootControl_
    -00069 
    -00070 #define __SK_PickPosition_           __SK_FootControl_
    -00071 #define __SK_StringDamping_          __SK_Expression_
    -00072 #define __SK_StringDetune_           __SK_ModWheel_
    -00073 #define __SK_BodySize_               __SK_Breath_
    -00074 #define __SK_BowPressure_            __SK_Breath_
    -00075 #define __SK_BowPosition_            __SK_PickPosition_
    -00076 #define __SK_BowBeta_                __SK_BowPosition_
    -00077 
    -00078 #define __SK_ReedStiffness_          __SK_Breath_
    -00079 #define __SK_ReedRestPos_            __SK_FootControl_
    -00080 
    -00081 #define __SK_FluteEmbouchure_        __SK_Breath_
    -00082 #define __SK_JetDelay_               __SK_FluteEmbouchure_
    -00083 
    -00084 #define __SK_LipTension_             __SK_Breath_
    -00085 #define __SK_SlideLength_            __SK_FootControl_
    -00086 
    -00087 #define __SK_StrikePosition_         __SK_PickPosition_
    -00088 #define __SK_StickHardness_          __SK_Breath_
    -00089 
    -00090 #define __SK_TrillDepth_             1051
    -00091 #define __SK_TrillSpeed_             1052
    -00092 #define __SK_StrumSpeed_             __SK_TrillSpeed_
    -00093 #define __SK_RollSpeed_              __SK_TrillSpeed_
    -00094 
    -00095 #define __SK_FilterQ_                __SK_Breath_
    -00096 #define __SK_FilterFreq_             1062
    -00097 #define __SK_FilterSweepRate_        __SK_FootControl_
    -00098 
    -00099 #define __SK_ShakerInst_             1071 
    -00100 #define __SK_ShakerEnergy_           __SK_Breath_
    -00101 #define __SK_ShakerDamping_          __SK_ModFrequency_
    -00102 #define __SK_ShakerNumObjects_       __SK_FootControl_
    -00103 
    -00104 #define __SK_Strumming_              1090
    -00105 #define __SK_NotStrumming_           1091
    -00106 #define __SK_Trilling_               1092
    -00107 #define __SK_NotTrilling_            1093
    -00108 #define __SK_Rolling_                __SK_Strumming_
    -00109 #define __SK_NotRolling_             __SK_NotStrumming_
    -00110 
    -00111 #define __SK_PlayerSkill_            2001
    -00112 #define __SK_Chord_                  2002
    -00113 #define __SK_ChordOff_               2003
    -00114 
    -00115 #define __SK_SINGER_FilePath_        3000
    -00116 #define __SK_SINGER_Frequency_       3001
    -00117 #define __SK_SINGER_NoteName_        3002
    -00118 #define __SK_SINGER_Shape_           3003
    -00119 #define __SK_SINGER_Glot_            3004
    -00120 #define __SK_SINGER_VoicedUnVoiced_  3005
    -00121 #define __SK_SINGER_Synthesize_      3006
    -00122 #define __SK_SINGER_Silence_         3007
    -00123 #define __SK_SINGER_VibratoAmt_      __SK_ModWheel_
    -00124 #define __SK_SINGER_RndVibAmt_       3008
    -00125 #define __SK_SINGER_VibFreq_         __SK_Expression_
    -00126 
    -00127 
    -

    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/Sampler_8h-source.html b/doc/html/Sampler_8h-source.html index df666d3..b6aeb60 100644 --- a/doc/html/Sampler_8h-source.html +++ b/doc/html/Sampler_8h-source.html @@ -8,61 +8,67 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Sampler.h

    00001 /***************************************************/
    -00010 /***************************************************/
    -00011 
    -00012 #ifndef STK_SAMPLER_H
    -00013 #define STK_SAMPLER_H
    -00014 
    -00015 #include "Instrmnt.h"
    -00016 #include "ADSR.h"
    -00017 #include "WaveLoop.h"
    -00018 #include "OnePole.h"
    -00019 
    -00020 class Sampler : public Instrmnt
    -00021 {
    -00022  public:
    -00024   Sampler();
    -00025 
    -00027   virtual ~Sampler();
    -00028 
    -00030   void clear();
    -00031 
    -00033   virtual void setFrequency(StkFloat frequency) = 0;
    -00034 
    -00036   void keyOn();
    -00037 
    -00039   void keyOff();
    -00040 
    -00042   virtual void noteOff(StkFloat amplitude);
    -00043 
    -00045   virtual void controlChange(int number, StkFloat value) = 0;
    -00046 
    -00047  protected:
    +
    +  
    +
    +

    Sampler.h

    00001 #ifndef STK_SAMPLER_H
    +00002 #define STK_SAMPLER_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "ADSR.h"
    +00006 #include "FileLoop.h"
    +00007 #include "OnePole.h"
    +00008 
    +00009 namespace stk {
    +00010 
    +00011 /***************************************************/
    +00020 /***************************************************/
    +00021 
    +00022 class Sampler : public Instrmnt
    +00023 {
    +00024  public:
    +00026   Sampler( void );
    +00027 
    +00029   virtual ~Sampler( void );
    +00030 
    +00032   void clear( void );
    +00033 
    +00035   virtual void setFrequency( StkFloat frequency ) = 0;
    +00036 
    +00038   void keyOn( void );
    +00039 
    +00041   void keyOff( void );
    +00042 
    +00044   virtual void noteOff( StkFloat amplitude );
    +00045 
    +00047   virtual void controlChange( int number, StkFloat value ) = 0;
     00048 
    -00049   virtual StkFloat computeSample( void ) = 0;
    -00050 
    -00051   ADSR adsr_;
    -00052   std::vector<FileWvIn *> attacks_;
    -00053   std::vector<WaveLoop *> loops_;
    -00054   OnePole filter_;
    -00055   StkFloat baseFrequency_;
    -00056   std::vector<StkFloat> attackRatios_;
    -00057   std::vector<StkFloat> loopRatios_;
    -00058   StkFloat attackGain_;
    -00059   StkFloat loopGain_;
    -00060 
    -00061 };
    -00062 
    -00063 #endif
    -

    +00050 virtual StkFloat tick( unsigned int channel = 0 ) = 0; +00051 +00052 protected: +00053 +00054 ADSR adsr_; +00055 std::vector<FileWvIn *> attacks_; +00056 std::vector<FileLoop *> loops_; +00057 OnePole filter_; +00058 StkFloat baseFrequency_; +00059 std::vector<StkFloat> attackRatios_; +00060 std::vector<StkFloat> loopRatios_; +00061 StkFloat attackGain_; +00062 StkFloat loopGain_; +00063 +00064 }; +00065 +00066 } // stk namespace +00067 +00068 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/Saxofony_8h-source.html b/doc/html/Saxofony_8h-source.html index 33d36fc..c4f85fc 100644 --- a/doc/html/Saxofony_8h-source.html +++ b/doc/html/Saxofony_8h-source.html @@ -8,71 +8,98 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Saxofony.h

    00001 /***************************************************/
    -00036 /***************************************************/
    -00037 
    -00038 #ifndef STK_SAXOFONY_H
    -00039 #define STK_SAXOFONY_H
    -00040 
    -00041 #include "Instrmnt.h"
    -00042 #include "DelayL.h"
    -00043 #include "ReedTable.h"
    -00044 #include "OneZero.h"
    -00045 #include "Envelope.h"
    -00046 #include "Noise.h"
    -00047 #include "SineWave.h"
    -00048 
    -00049 class Saxofony : public Instrmnt
    -00050 {
    -00051  public:
    -00053 
    -00056   Saxofony(StkFloat lowestFrequency);
    -00057 
    -00059   ~Saxofony();
    -00060 
    -00062   void clear();
    -00063 
    -00065   void setFrequency(StkFloat frequency);
    -00066 
    -00068   void setBlowPosition(StkFloat aPosition);
    -00069 
    -00071   void startBlowing(StkFloat amplitude, StkFloat rate);
    -00072 
    -00074   void stopBlowing(StkFloat rate);
    -00075 
    -00077   void noteOn(StkFloat frequency, StkFloat amplitude);
    -00078 
    -00080   void noteOff(StkFloat amplitude);
    -00081 
    -00083   void controlChange(int number, StkFloat value);
    -00084 
    -00085  protected:
    +
    +  
    +
    +

    Saxofony.h

    00001 #ifndef STK_SAXOFONY_H
    +00002 #define STK_SAXOFONY_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "DelayL.h"
    +00006 #include "ReedTable.h"
    +00007 #include "OneZero.h"
    +00008 #include "Envelope.h"
    +00009 #include "Noise.h"
    +00010 #include "SineWave.h"
    +00011 
    +00012 namespace stk {
    +00013 
    +00014 /***************************************************/
    +00049 /***************************************************/
    +00050 
    +00051 class Saxofony : public Instrmnt
    +00052 {
    +00053  public:
    +00055 
    +00058   Saxofony( StkFloat lowestFrequency );
    +00059 
    +00061   ~Saxofony( void );
    +00062 
    +00064   void clear( void );
    +00065 
    +00067   void setFrequency( StkFloat frequency );
    +00068 
    +00070   void setBlowPosition( StkFloat aPosition );
    +00071 
    +00073   void startBlowing( StkFloat amplitude, StkFloat rate );
    +00074 
    +00076   void stopBlowing( StkFloat rate );
    +00077 
    +00079   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00080 
    +00082   void noteOff( StkFloat amplitude );
    +00083 
    +00085   void controlChange( int number, StkFloat value );
     00086 
    -00087   StkFloat computeSample( void );
    -00088 
    -00089   DelayL    delays_[2];
    -00090   ReedTable reedTable_;
    -00091   OneZero   filter_;
    -00092   Envelope  envelope_;
    -00093   Noise     noise_;
    -00094   SineWave vibrato_;
    -00095   unsigned long length_;
    -00096   StkFloat outputGain_;
    -00097   StkFloat noiseGain_;
    -00098   StkFloat vibratoGain_;
    -00099   StkFloat position_;
    -00100 
    -00101 };
    -00102 
    -00103 #endif
    -

    +00088 StkFloat tick( unsigned int channel = 0 ); +00089 +00090 protected: +00091 +00092 DelayL delays_[2]; +00093 ReedTable reedTable_; +00094 OneZero filter_; +00095 Envelope envelope_; +00096 Noise noise_; +00097 SineWave vibrato_; +00098 unsigned long length_; +00099 StkFloat outputGain_; +00100 StkFloat noiseGain_; +00101 StkFloat vibratoGain_; +00102 StkFloat position_; +00103 +00104 }; +00105 +00106 inline StkFloat Saxofony :: tick( unsigned int ) +00107 { +00108 StkFloat pressureDiff; +00109 StkFloat breathPressure; +00110 StkFloat temp; +00111 +00112 // Calculate the breath pressure (envelope + noise + vibrato) +00113 breathPressure = envelope_.tick(); +00114 breathPressure += breathPressure * noiseGain_ * noise_.tick(); +00115 breathPressure += breathPressure * vibratoGain_ * vibrato_.tick(); +00116 +00117 temp = -0.95 * filter_.tick( delays_[0].lastOut() ); +00118 lastFrame_[0] = temp - delays_[1].lastOut(); +00119 pressureDiff = breathPressure - lastFrame_[0]; +00120 delays_[1].tick( temp ); +00121 delays_[0].tick( breathPressure - (pressureDiff * reedTable_.tick(pressureDiff)) - temp ); +00122 +00123 lastFrame_[0] *= outputGain_; +00124 return lastFrame_[0]; +00125 } +00126 +00127 } // stk namespace +00128 +00129 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/Shakers_8h-source.html b/doc/html/Shakers_8h-source.html index 7515db8..7ae7bff 100644 --- a/doc/html/Shakers_8h-source.html +++ b/doc/html/Shakers_8h-source.html @@ -8,80 +8,87 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Shakers.h

    00001 /***************************************************/
    -00053 /***************************************************/
    -00054 
    -00055 #ifndef STK_SHAKERS_H
    -00056 #define STK_SHAKERS_H
    -00057 
    -00058 #include "Instrmnt.h"
    -00059 
    -00060 const int MAX_FREQS = 8;
    -00061 const int NUM_INSTR = 24;
    -00062 
    -00063 class Shakers : public Instrmnt
    -00064 {
    -00065  public:
    -00067   Shakers();
    -00068 
    -00070   ~Shakers();
    -00071 
    +
    +  
    +
    +

    Shakers.h

    00001 #ifndef STK_SHAKERS_H
    +00002 #define STK_SHAKERS_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00060 /***************************************************/
    +00061 
    +00062 const int MAX_FREQS = 8;
    +00063 const int NUM_INSTR = 24;
    +00064 
    +00065 class Shakers : public Instrmnt
    +00066 {
    +00067  public:
    +00069   Shakers( void );
    +00070 
    +00072   ~Shakers( void );
     00073 
    -00077   void noteOn(StkFloat instrument, StkFloat amplitude);
    -00078 
    -00080   void noteOff(StkFloat amplitude);
    -00081 
    -00083   void controlChange(int number, StkFloat value);
    -00084 
    -00085  protected:
    +00075 
    +00079   void noteOn( StkFloat instrument, StkFloat amplitude );
    +00080 
    +00082   void noteOff( StkFloat amplitude );
    +00083 
    +00085   void controlChange( int number, StkFloat value );
     00086 
    -00087   StkFloat computeSample( void );
    -00088   int setupName(char* instr);
    -00089   int setupNum(int inst);
    -00090   int setFreqAndReson(int which, StkFloat freq, StkFloat reson);
    -00091   void setDecays(StkFloat sndDecay, StkFloat sysDecay);
    -00092   void setFinalZs(StkFloat z0, StkFloat z1, StkFloat z2);
    -00093   StkFloat wuter_tick();
    -00094   StkFloat tbamb_tick();
    -00095   StkFloat ratchet_tick();
    -00096 
    -00097   int instType_;
    -00098   int ratchetPos_, lastRatchetPos_;
    -00099   StkFloat shakeEnergy_;
    -00100   StkFloat inputs_[MAX_FREQS];
    -00101   StkFloat outputs_[MAX_FREQS][2];
    -00102   StkFloat coeffs_[MAX_FREQS][2];
    -00103   StkFloat sndLevel_;
    -00104   StkFloat baseGain_;
    -00105   StkFloat gains_[MAX_FREQS];
    -00106   int nFreqs_;
    -00107   StkFloat t_center_freqs_[MAX_FREQS];
    -00108   StkFloat center_freqs_[MAX_FREQS];
    -00109   StkFloat resons_[MAX_FREQS];
    -00110   StkFloat freq_rand_[MAX_FREQS];
    -00111   int freqalloc_[MAX_FREQS];
    -00112   StkFloat soundDecay_;
    -00113   StkFloat systemDecay_;
    -00114   StkFloat nObjects_;
    -00115   StkFloat totalEnergy_;
    -00116   StkFloat ratchet_, ratchetDelta_;
    -00117   StkFloat finalZ_[3];
    -00118   StkFloat finalZCoeffs_[3];
    -00119   StkFloat defObjs_[NUM_INSTR];
    -00120   StkFloat defDecays_[NUM_INSTR];
    -00121   StkFloat decayScale_[NUM_INSTR];
    -00122 
    -00123 };
    -00124 
    -00125 #endif
    -

    +00088 StkFloat tick( unsigned int channel = 0 ); +00089 +00090 protected: +00091 +00092 int setupName( char* instr ); +00093 int setupNum( int inst ); +00094 int setFreqAndReson( int which, StkFloat freq, StkFloat reson ); +00095 void setDecays( StkFloat sndDecay, StkFloat sysDecay ); +00096 void setFinalZs( StkFloat z0, StkFloat z1, StkFloat z2 ); +00097 StkFloat wuter_tick( void ); +00098 StkFloat tbamb_tick( void ); +00099 StkFloat ratchet_tick( void ); +00100 +00101 int instType_; +00102 int ratchetPos_, lastRatchetPos_; +00103 StkFloat shakeEnergy_; +00104 StkFloat inputs_[MAX_FREQS]; +00105 StkFloat outputs_[MAX_FREQS][2]; +00106 StkFloat coeffs_[MAX_FREQS][2]; +00107 StkFloat sndLevel_; +00108 StkFloat baseGain_; +00109 StkFloat gains_[MAX_FREQS]; +00110 int nFreqs_; +00111 StkFloat t_center_freqs_[MAX_FREQS]; +00112 StkFloat center_freqs_[MAX_FREQS]; +00113 StkFloat resons_[MAX_FREQS]; +00114 StkFloat freq_rand_[MAX_FREQS]; +00115 int freqalloc_[MAX_FREQS]; +00116 StkFloat soundDecay_; +00117 StkFloat systemDecay_; +00118 StkFloat nObjects_; +00119 StkFloat totalEnergy_; +00120 StkFloat ratchet_, ratchetDelta_; +00121 StkFloat finalZ_[3]; +00122 StkFloat finalZCoeffs_[3]; +00123 StkFloat defObjs_[NUM_INSTR]; +00124 StkFloat defDecays_[NUM_INSTR]; +00125 StkFloat decayScale_[NUM_INSTR]; +00126 +00127 }; +00128 +00129 } // stk namespace +00130 +00131 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/Simple_8h-source.html b/doc/html/Simple_8h-source.html index 42adc39..1667e22 100644 --- a/doc/html/Simple_8h-source.html +++ b/doc/html/Simple_8h-source.html @@ -8,64 +8,80 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Simple.h

    00001 /***************************************************/
    -00018 /***************************************************/
    -00019 
    -00020 #ifndef STK_SIMPLE_H
    -00021 #define STK_SIMPLE_H
    -00022 
    -00023 #include "Instrmnt.h"
    -00024 #include "ADSR.h"
    -00025 #include "WaveLoop.h"
    -00026 #include "OnePole.h"
    -00027 #include "BiQuad.h"
    -00028 #include "Noise.h"
    -00029 
    -00030 class Simple : public Instrmnt
    -00031 {
    -00032  public:
    -00034 
    -00037   Simple();
    -00038 
    -00040   ~Simple();
    -00041 
    -00043   void clear();
    -00044 
    -00046   void setFrequency(StkFloat frequency);
    -00047 
    -00049   void keyOn();
    -00050 
    -00052   void keyOff();
    -00053 
    -00055   void noteOn(StkFloat frequency, StkFloat amplitude);
    -00056 
    -00058   void noteOff(StkFloat amplitude);
    -00059 
    -00061   void controlChange(int number, StkFloat value);
    -00062 
    -00063  protected:
    +
    +  
    +
    +

    Simple.h

    00001 #ifndef STK_SIMPLE_H
    +00002 #define STK_SIMPLE_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "ADSR.h"
    +00006 #include "FileLoop.h"
    +00007 #include "OnePole.h"
    +00008 #include "BiQuad.h"
    +00009 #include "Noise.h"
    +00010 
    +00011 namespace stk {
    +00012 
    +00013 /***************************************************/
    +00030 /***************************************************/
    +00031 
    +00032 class Simple : public Instrmnt
    +00033 {
    +00034  public:
    +00036 
    +00039   Simple( void );
    +00040 
    +00042   ~Simple( void );
    +00043 
    +00045   void clear( void );
    +00046 
    +00048   void setFrequency( StkFloat frequency );
    +00049 
    +00051   void keyOn( void );
    +00052 
    +00054   void keyOff( void );
    +00055 
    +00057   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00058 
    +00060   void noteOff( StkFloat amplitude );
    +00061 
    +00063   void controlChange( int number, StkFloat value );
     00064 
    -00065   StkFloat computeSample( void );
    -00066 
    -00067   ADSR      adsr_; 
    -00068   WaveLoop *loop_;
    -00069   OnePole   filter_;
    -00070   BiQuad    biquad_;
    -00071   Noise     noise_;
    -00072   StkFloat  baseFrequency_;
    -00073   StkFloat  loopGain_;
    -00074 
    -00075 };
    -00076 
    -00077 #endif
    -

    +00066 StkFloat tick( unsigned int channel = 0 ); +00067 +00068 protected: +00069 +00070 ADSR adsr_; +00071 FileLoop *loop_; +00072 OnePole filter_; +00073 BiQuad biquad_; +00074 Noise noise_; +00075 StkFloat baseFrequency_; +00076 StkFloat loopGain_; +00077 +00078 }; +00079 +00080 inline StkFloat Simple :: tick( unsigned int ) +00081 { +00082 lastFrame_[0] = loopGain_ * loop_->tick(); +00083 biquad_.tick( noise_.tick() ); +00084 lastFrame_[0] += (1.0 - loopGain_) * biquad_.lastOut(); +00085 lastFrame_[0] = filter_.tick( lastFrame_[0] ); +00086 lastFrame_[0] *= adsr_.tick(); +00087 return lastFrame_[0]; +00088 } +00089 +00090 } // stk namespace +00091 +00092 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/SineWave_8h-source.html b/doc/html/SineWave_8h-source.html index 7c95edf..d8f5c6c 100644 --- a/doc/html/SineWave_8h-source.html +++ b/doc/html/SineWave_8h-source.html @@ -8,60 +8,132 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    SineWave.h

    00001 /***************************************************/
    -00014 /***************************************************/
    -00015 
    -00016 #ifndef STK_SINEWAVE_H
    -00017 #define STK_SINEWAVE_H
    -00018 
    -00019 const unsigned long TABLE_SIZE = 2048;
    -00020 
    -00021 #include "Generator.h"
    -00022 
    -00023 class SineWave : public Generator
    -00024 {
    -00025 public:
    -00027   SineWave( void );
    -00028 
    -00030   virtual ~SineWave( void );
    -00031 
    -00033   void reset( void );
    -00034 
    +
    +  
    +
    +

    SineWave.h

    00001 #ifndef STK_SINEWAVE_H
    +00002 #define STK_SINEWAVE_H
    +00003 
    +00004 const unsigned long TABLE_SIZE = 2048;
    +00005 
    +00006 #include "Generator.h"
    +00007 
    +00008 namespace stk {
    +00009 
    +00010 /***************************************************/
    +00023 /***************************************************/
    +00024 
    +00025 class SineWave : public Generator
    +00026 {
    +00027 public:
    +00029   SineWave( void );
    +00030 
    +00032   ~SineWave( void );
    +00033 
    +00035   void reset( void );
     00036 
    -00039   void setRate( StkFloat rate ) { rate_ = rate; };
    -00040 
    +00038 
    +00041   void setRate( StkFloat rate ) { rate_ = rate; };
     00042 
    -00048   void setFrequency( StkFloat frequency );
    -00049 
    -00051   void addTime( StkFloat time );
    -00052 
    +00044 
    +00050   void setFrequency( StkFloat frequency );
    +00051 
    +00053   void addTime( StkFloat time );
     00054 
    -00059   void addPhase( StkFloat angle );
    -00060 
    +00056 
    +00061   void addPhase( StkFloat phase );
     00062 
    -00067   void addPhaseOffset( StkFloat angle );
    -00068 
    -00069 protected:
    -00070 
    -00071   StkFloat computeSample( void );
    -00072   void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
    -00073 
    -00074   static StkFrames table_;
    -00075   StkFloat time_;
    -00076   StkFloat rate_;
    -00077   StkFloat phaseOffset_;
    -00078 
    -00079 };
    -00080 
    -00081 #endif
    -

    +00064 +00068 void addPhaseOffset( StkFloat phaseOffset ); +00069 +00071 StkFloat lastOut( void ) const { return lastFrame_[0]; }; +00072 +00074 StkFloat tick( void ); +00075 +00077 +00084 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00085 +00086 protected: +00087 +00088 void sampleRateChanged( StkFloat newRate, StkFloat oldRate ); +00089 +00090 static StkFrames table_; +00091 StkFloat time_; +00092 StkFloat rate_; +00093 StkFloat phaseOffset_; +00094 unsigned int iIndex_; +00095 StkFloat alpha_; +00096 +00097 }; +00098 +00099 inline StkFloat SineWave :: tick( void ) +00100 { +00101 // Check limits of time address ... if necessary, recalculate modulo +00102 // TABLE_SIZE. +00103 while ( time_ < 0.0 ) +00104 time_ += TABLE_SIZE; +00105 while ( time_ >= TABLE_SIZE ) +00106 time_ -= TABLE_SIZE; +00107 +00108 iIndex_ = (unsigned int) time_; +00109 alpha_ = time_ - iIndex_; +00110 StkFloat tmp = table_[ iIndex_ ]; +00111 tmp += ( alpha_ * ( table_[ iIndex_ + 1 ] - tmp ) ); +00112 +00113 // Increment time, which can be negative. +00114 time_ += rate_; +00115 +00116 lastFrame_[0] = tmp; +00117 return lastFrame_[0]; +00118 } +00119 +00120 inline StkFrames& SineWave :: tick( StkFrames& frames, unsigned int channel ) +00121 { +00122 #if defined(_STK_DEBUG_) +00123 if ( channel >= frames.channels() ) { +00124 errorString_ << "SineWave::tick(): channel and StkFrames arguments are incompatible!"; +00125 handleError( StkError::FUNCTION_ARGUMENT ); +00126 } +00127 #endif +00128 +00129 StkFloat *samples = &frames[channel]; +00130 StkFloat tmp = 0.0; +00131 +00132 unsigned int hop = frames.channels(); +00133 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00134 +00135 // Check limits of time address ... if necessary, recalculate modulo +00136 // TABLE_SIZE. +00137 while ( time_ < 0.0 ) +00138 time_ += TABLE_SIZE; +00139 while ( time_ >= TABLE_SIZE ) +00140 time_ -= TABLE_SIZE; +00141 +00142 iIndex_ = (unsigned int) time_; +00143 alpha_ = time_ - iIndex_; +00144 tmp = table_[ iIndex_ ]; +00145 tmp += ( alpha_ * ( table_[ iIndex_ + 1 ] - tmp ) ); +00146 *samples = tmp; +00147 +00148 // Increment time, which can be negative. +00149 time_ += rate_; +00150 } +00151 +00152 lastFrame_[0] = tmp; +00153 return frames; +00154 } +00155 +00156 } // stk namespace +00157 +00158 #endif +00159 +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/SingWave_8h-source.html b/doc/html/SingWave_8h-source.html index 200bf74..0524ee7 100644 --- a/doc/html/SingWave_8h-source.html +++ b/doc/html/SingWave_8h-source.html @@ -8,70 +8,111 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    SingWave.h

    00001 /***************************************************/
    -00014 /***************************************************/
    -00015 
    -00016 #ifndef STK_SINGWAVE_H
    -00017 #define STK_SINGWAVE_H
    -00018 
    -00019 #include "WaveLoop.h"
    -00020 #include "Modulate.h"
    -00021 #include "Envelope.h"
    -00022 
    -00023 class SingWave : public Generator
    -00024 {
    -00025  public:
    -00027 
    -00031   SingWave( std::string fileName, bool raw = false);
    -00032 
    -00034   ~SingWave();
    -00035 
    -00037   void reset();
    -00038 
    -00040   void normalize();
    -00041 
    -00043   void normalize(StkFloat peak);
    -00044 
    -00046   void setFrequency(StkFloat frequency);
    -00047 
    -00049   void setVibratoRate(StkFloat rate);
    -00050 
    -00052   void setVibratoGain(StkFloat gain);
    -00053 
    -00055   void setRandomGain(StkFloat gain);
    -00056 
    -00058   void setSweepRate(StkFloat rate);
    -00059 
    -00061   void setGainRate(StkFloat rate);    
    -00062 
    -00064   void setGainTarget(StkFloat target);
    -00065 
    -00067   void noteOn();
    -00068 
    -00070   void noteOff();
    -00071 
    -00072  protected:
    +
    +  
    +
    +

    SingWave.h

    00001 #ifndef STK_SINGWAVE_H
    +00002 #define STK_SINGWAVE_H
    +00003 
    +00004 #include "FileLoop.h"
    +00005 #include "Modulate.h"
    +00006 #include "Envelope.h"
    +00007 
    +00008 namespace stk {
    +00009 
    +00010 /***************************************************/
    +00023 /***************************************************/
    +00024 
    +00025 class SingWave : public Generator
    +00026 {
    +00027  public:
    +00029 
    +00036   SingWave( std::string fileName, bool raw = false );
    +00037 
    +00039   ~SingWave( void );
    +00040 
    +00042   void reset( void ) { wave_.reset(); lastFrame_[0] = 0.0; };
    +00043 
    +00045   void normalize( void ) { wave_.normalize(); };
    +00046 
    +00048   void normalize( StkFloat peak ) { wave_.normalize( peak ); };
    +00049 
    +00051   void setFrequency( StkFloat frequency );
    +00052 
    +00054   void setVibratoRate( StkFloat rate ) { modulator_.setVibratoRate( rate ); };
    +00055 
    +00057   void setVibratoGain( StkFloat gain ) { modulator_.setVibratoGain( gain ); };
    +00058 
    +00060   void setRandomGain( StkFloat gain ) { modulator_.setRandomGain( gain ); };
    +00061 
    +00063   void setSweepRate( StkFloat rate ) { sweepRate_ = rate; };
    +00064 
    +00066   void setGainRate( StkFloat rate ) { envelope_.setRate( rate ); };
    +00067 
    +00069   void setGainTarget( StkFloat target ) { envelope_.setTarget( target ); };
    +00070 
    +00072   void noteOn( void ) { envelope_.keyOn(); };
     00073 
    -00074   StkFloat computeSample( void );
    -00075 
    -00076   WaveLoop *wave_;
    -00077   Modulate modulator_;
    -00078   Envelope envelope_;
    -00079   Envelope pitchEnvelope_;
    -00080   StkFloat rate_;
    -00081   StkFloat sweepRate_;
    +00075   void noteOff( void ) { envelope_.keyOff(); };
    +00076 
    +00078   StkFloat lastOut( void ) const { return lastFrame_[0]; };
    +00079 
    +00081   StkFloat tick( void );
     00082 
    -00083 };
     00084 
    -00085 #endif
    -

    +00091 StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ); +00092 +00093 protected: +00094 +00095 FileLoop wave_; +00096 Modulate modulator_; +00097 Envelope envelope_; +00098 Envelope pitchEnvelope_; +00099 StkFloat rate_; +00100 StkFloat sweepRate_; +00101 +00102 }; +00103 +00104 inline StkFloat SingWave :: tick( void ) +00105 { +00106 // Set the wave rate. +00107 StkFloat newRate = pitchEnvelope_.tick(); +00108 newRate += newRate * modulator_.tick(); +00109 wave_.setRate( newRate ); +00110 +00111 lastFrame_[0] = wave_.tick(); +00112 lastFrame_[0] *= envelope_.tick(); +00113 +00114 return lastFrame_[0]; +00115 } +00116 +00117 inline StkFrames& SingWave :: tick( StkFrames& frames, unsigned int channel ) +00118 { +00119 #if defined(_STK_DEBUG_) +00120 if ( channel >= frames.channels() ) { +00121 errorString_ << "SingWave::tick(): channel and StkFrames arguments are incompatible!"; +00122 handleError( StkError::FUNCTION_ARGUMENT ); +00123 } +00124 #endif +00125 +00126 StkFloat *samples = &frames[channel]; +00127 unsigned int hop = frames.channels(); +00128 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) +00129 *samples = SingWave::tick(); +00130 +00131 return frames; +00132 } +00133 +00134 } // stk namespace +00135 +00136 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/Sitar_8h-source.html b/doc/html/Sitar_8h-source.html index f7dc1f3..9e51601 100644 --- a/doc/html/Sitar_8h-source.html +++ b/doc/html/Sitar_8h-source.html @@ -8,61 +8,84 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Sitar.h

    00001 /***************************************************/
    -00018 /***************************************************/
    -00019 
    -00020 #ifndef STK_SITAR_H
    -00021 #define STK_SITAR_H
    -00022 
    -00023 #include "Instrmnt.h"
    -00024 #include "DelayA.h"
    -00025 #include "OneZero.h"
    -00026 #include "Noise.h"
    -00027 #include "ADSR.h"
    -00028 
    -00029 class Sitar : public Instrmnt
    -00030 {
    -00031  public:
    -00033   Sitar( StkFloat lowestFrequency = 20 );
    -00034 
    -00036   ~Sitar();
    +
    +  
    +
    +

    Sitar.h

    00001 #ifndef STK_SITAR_H
    +00002 #define STK_SITAR_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "DelayA.h"
    +00006 #include "OneZero.h"
    +00007 #include "Noise.h"
    +00008 #include "ADSR.h"
    +00009 #include <cmath>
    +00010 
    +00011 namespace stk {
    +00012 
    +00013 /***************************************************/
    +00030 /***************************************************/
    +00031 
    +00032 class Sitar : public Instrmnt
    +00033 {
    +00034  public:
    +00036   Sitar( StkFloat lowestFrequency = 20 );
     00037 
    -00039   void clear();
    +00039   ~Sitar( void );
     00040 
    -00042   void setFrequency(StkFloat frequency);
    +00042   void clear( void );
     00043 
    -00045   void pluck(StkFloat amplitude);
    +00045   void setFrequency( StkFloat frequency );
     00046 
    -00048   void noteOn(StkFloat frequency, StkFloat amplitude);
    +00048   void pluck( StkFloat amplitude );
     00049 
    -00051   void noteOff(StkFloat amplitude);
    +00051   void noteOn( StkFloat frequency, StkFloat amplitude );
     00052 
    -00053  protected:
    -00054 
    -00055   StkFloat computeSample( void );
    -00056 
    -00057   DelayA  delayLine_;
    -00058   OneZero loopFilter_;
    -00059   Noise   noise_;
    -00060   ADSR    envelope_;
    -00061 
    -00062   StkFloat loopGain_;
    -00063   StkFloat amGain_;
    -00064   StkFloat delay_;
    -00065   StkFloat targetDelay_;
    -00066 
    -00067 };
    -00068 
    -00069 #endif
    -00070 
    -

    +00054 void noteOff( StkFloat amplitude ); +00055 +00057 StkFloat tick( unsigned int channel = 0 ); +00058 +00059 protected: +00060 +00061 DelayA delayLine_; +00062 OneZero loopFilter_; +00063 Noise noise_; +00064 ADSR envelope_; +00065 +00066 StkFloat loopGain_; +00067 StkFloat amGain_; +00068 StkFloat delay_; +00069 StkFloat targetDelay_; +00070 +00071 }; +00072 +00073 inline StkFloat Sitar :: tick( unsigned int ) +00074 { +00075 if ( fabs(targetDelay_ - delay_) > 0.001 ) { +00076 if ( targetDelay_ < delay_ ) +00077 delay_ *= 0.99999; +00078 else +00079 delay_ *= 1.00001; +00080 delayLine_.setDelay( delay_ ); +00081 } +00082 +00083 lastFrame_[0] = delayLine_.tick( loopFilter_.tick( delayLine_.lastOut() * loopGain_ ) + +00084 (amGain_ * envelope_.tick() * noise_.tick())); +00085 +00086 return lastFrame_[0]; +00087 } +00088 +00089 } // stk namespace +00090 +00091 #endif +00092 +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/Skini_8h-source.html b/doc/html/Skini_8h-source.html index bf2ef7e..d56162a 100644 --- a/doc/html/Skini_8h-source.html +++ b/doc/html/Skini_8h-source.html @@ -8,87 +8,93 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Skini.h

    00001 /***************************************************/
    -00026 /***************************************************/
    -00027 
    -00028 #ifndef STK_SKINI_H
    -00029 #define STK_SKINI_H
    -00030 
    -00031 #include "Stk.h"
    -00032 #include <vector>
    -00033 #include <string>
    -00034 #include <fstream>
    -00035 
    -00036 class Skini : public Stk
    -00037 {
    -00038  public:
    -00039 
    -00041   struct Message { 
    -00042     long type;                         
    -00043     long channel;                      
    -00044     StkFloat time;                     
    -00045     std::vector<StkFloat> floatValues; 
    -00046     std::vector<long> intValues;       
    -00047     std::string remainder;             
    -00049     // Default constructor.
    -00050     Message()
    -00051       :type(0), channel(0), time(0.0), floatValues(2), intValues(2) {}
    -00052   };
    -00053 
    -00055   Skini();
    -00056 
    -00058   ~Skini();
    -00059 
    +
    +  
    +
    +

    Skini.h

    00001 #ifndef STK_SKINI_H
    +00002 #define STK_SKINI_H
    +00003 
    +00004 #include "Stk.h"
    +00005 #include <vector>
    +00006 #include <string>
    +00007 #include <fstream>
    +00008 
    +00009 namespace stk {
    +00010 
    +00011 /***************************************************/
    +00036 /***************************************************/
    +00037 
    +00038 class Skini : public Stk
    +00039 {
    +00040  public:
    +00041 
    +00043   struct Message { 
    +00044     long type;                         
    +00045     long channel;                      
    +00046     StkFloat time;                     
    +00047     std::vector<StkFloat> floatValues; 
    +00048     std::vector<long> intValues;       
    +00049     std::string remainder;             
    +00051     // Default constructor.
    +00052     Message()
    +00053       :type(0), channel(0), time(0.0), floatValues(2), intValues(2) {}
    +00054   };
    +00055 
    +00057   Skini();
    +00058 
    +00060   ~Skini();
     00061 
    -00065   bool setFile( std::string fileName );
    -00066 
    +00063 
    +00067   bool setFile( std::string fileName );
     00068 
    -00074   long nextMessage( Skini::Message& message );
    -00075 
    +00070 
    +00076   long nextMessage( Skini::Message& message );
     00077 
    -00081   long parseString( std::string& line, Skini::Message& message );
    -00082 
    -00084   static std::string whatsThisType(long type);
    -00085 
    -00087   static std::string whatsThisController(long number);
    -00088 
    -00089  protected:
    +00079 
    +00083   long parseString( std::string& line, Skini::Message& message );
    +00084 
    +00086   static std::string whatsThisType(long type);
    +00087 
    +00089   static std::string whatsThisController(long number);
     00090 
    -00091   void tokenize( const std::string& str, std::vector<std::string>& tokens, const std::string& delimiters );
    +00091  protected:
     00092 
    -00093   std::ifstream file_;
    -00094 };
    -00095 
    -00096 static const double 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 #endif
    -00116 
    -00117 
    -

    +00093 void tokenize( const std::string& str, std::vector<std::string>& tokens, const std::string& delimiters ); +00094 +00095 std::ifstream file_; +00096 }; +00097 +00098 static const double Midi2Pitch[129] = { +00099 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25, +00100 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45, +00101 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87, +00102 32.70,34.65,36.71,38.89,41.20,43.65,46.25,49.00, +00103 51.91,55.00,58.27,61.74,65.41,69.30,73.42,77.78, +00104 82.41,87.31,92.50,98.00,103.83,110.00,116.54,123.47, +00105 130.81,138.59,146.83,155.56,164.81,174.61,185.00,196.00, +00106 207.65,220.00,233.08,246.94,261.63,277.18,293.66,311.13, +00107 329.63,349.23,369.99,392.00,415.30,440.00,466.16,493.88, +00108 523.25,554.37,587.33,622.25,659.26,698.46,739.99,783.99, +00109 830.61,880.00,932.33,987.77,1046.50,1108.73,1174.66,1244.51, +00110 1318.51,1396.91,1479.98,1567.98,1661.22,1760.00,1864.66,1975.53, +00111 2093.00,2217.46,2349.32,2489.02,2637.02,2793.83,2959.96,3135.96, +00112 3322.44,3520.00,3729.31,3951.07,4186.01,4434.92,4698.64,4978.03, +00113 5274.04,5587.65,5919.91,6271.93,6644.88,7040.00,7458.62,7902.13, +00114 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85, +00115 13289.75}; +00116 +00117 } // stk namespace +00118 +00119 #endif +00120 +00121 +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/Socket_8h-source.html b/doc/html/Socket_8h-source.html index 824f395..81d2c36 100644 --- a/doc/html/Socket_8h-source.html +++ b/doc/html/Socket_8h-source.html @@ -8,78 +8,84 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Socket.h

    00001 /***************************************************/
    -00012 /***************************************************/
    -00013 
    -00014 #ifndef STK_SOCKET_H
    -00015 #define STK_SOCKET_H
    -00016 
    -00017 #include "Stk.h"
    -00018 
    -00019 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
    -00020 
    -00021   #include <sys/socket.h>
    -00022   #include <sys/types.h>
    -00023   #include <arpa/inet.h>
    -00024   #include <netdb.h>
    -00025   #include <unistd.h>
    -00026   #include <fcntl.h>
    -00027   #include <netinet/in.h>
    -00028   #include <netinet/tcp.h>
    -00029 
    -00030 #elif defined(__OS_WINDOWS__)
    -00031 
    -00032   #include <winsock.h>
    -00033 
    -00034 #endif
    -00035 
    -00036 class Socket : public Stk
    -00037 {
    -00038  public:
    -00039 
    -00040   enum ProtocolType {
    -00041     PROTO_TCP,
    -00042     PROTO_UDP
    -00043   };
    -00044 
    -00046   Socket();
    -00047 
    -00049   virtual ~Socket();
    -00050 
    -00052   static void close( int socket );
    -00053 
    -00055   int id( void ) const;
    -00056 
    -00058   int port( void ) const;
    -00059 
    -00061   static bool isValid( int socket );
    -00062 
    -00064   static void setBlocking( int socket, bool enable );
    -00065 
    -00067   virtual int writeBuffer(const void *buffer, long bufferSize, int flags = 0) = 0;
    -00068 
    -00070   virtual int readBuffer(void *buffer, long bufferSize, int flags = 0) = 0;
    -00071 
    -00073   static int writeBuffer(int socket, const void *buffer, long bufferSize, int flags );
    -00074 
    -00076   static int readBuffer(int socket, void *buffer, long bufferSize, int flags );
    -00077 
    -00078  protected:
    +
    +  
    +
    +

    Socket.h

    00001 #ifndef STK_SOCKET_H
    +00002 #define STK_SOCKET_H
    +00003 
    +00004 #include "Stk.h"
    +00005 
    +00006 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
    +00007 
    +00008   #include <sys/socket.h>
    +00009   #include <sys/types.h>
    +00010   #include <arpa/inet.h>
    +00011   #include <netdb.h>
    +00012   #include <unistd.h>
    +00013   #include <fcntl.h>
    +00014   #include <netinet/in.h>
    +00015   #include <netinet/tcp.h>
    +00016 
    +00017 #elif defined(__OS_WINDOWS__)
    +00018 
    +00019   #include <winsock.h>
    +00020 
    +00021 #endif
    +00022 
    +00023 namespace stk {
    +00024 
    +00025 /***************************************************/
    +00036 /***************************************************/
    +00037 
    +00038 class Socket : public Stk
    +00039 {
    +00040  public:
    +00041 
    +00042   enum ProtocolType {
    +00043     PROTO_TCP,
    +00044     PROTO_UDP
    +00045   };
    +00046 
    +00048   Socket();
    +00049 
    +00051   virtual ~Socket();
    +00052 
    +00054   static void close( int socket );
    +00055 
    +00057   int id( void ) const { return soket_; };
    +00058 
    +00060   int port( void ) const { return port_; };
    +00061 
    +00063   static bool isValid( int socket ) { return socket != -1; };
    +00064 
    +00066   static void setBlocking( int socket, bool enable );
    +00067 
    +00069   virtual int writeBuffer(const void *buffer, long bufferSize, int flags = 0) = 0;
    +00070 
    +00072   virtual int readBuffer(void *buffer, long bufferSize, int flags = 0) = 0;
    +00073 
    +00075   static int writeBuffer(int socket, const void *buffer, long bufferSize, int flags );
    +00076 
    +00078   static int readBuffer(int socket, void *buffer, long bufferSize, int flags );
     00079 
    -00080   int soket_;
    -00081   int port_;
    -00082 
    -00083 };
    +00080  protected:
    +00081 
    +00082   int soket_;
    +00083   int port_;
     00084 
    -00085 #endif // defined(STK_SOCKET_H)
    -

    +00085 }; +00086 +00087 } // stk namespace +00088 +00089 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/Sphere_8h-source.html b/doc/html/Sphere_8h-source.html index ae0d14e..3163097 100644 --- a/doc/html/Sphere_8h-source.html +++ b/doc/html/Sphere_8h-source.html @@ -8,63 +8,74 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Sphere.h

    00001 /***************************************************/
    -00010 /***************************************************/
    -00011 
    -00012 #ifndef STK_SPHERE_H
    -00013 #define STK_SPHERE_H
    -00014 
    -00015 #include "Stk.h"
    -00016 #include "Vector3D.h"
    -00017 
    -00018 class Sphere : public Stk
    -00019 {
    -00020 public:
    -00022   Sphere(StkFloat radius = 1.0 );
    -00023 
    -00025   ~Sphere();
    -00026 
    -00028   void setPosition(StkFloat x, StkFloat y, StkFloat z);
    -00029 
    -00031   void setVelocity(StkFloat x, StkFloat y, StkFloat z);
    -00032 
    -00034   void setRadius(StkFloat radius);
    -00035 
    -00037   void setMass(StkFloat mass);
    -00038 
    -00040   Vector3D* getPosition();
    -00041 
    -00043   Vector3D* getRelativePosition(Vector3D *position);
    -00044 
    -00046   StkFloat getVelocity(Vector3D* velocity);
    -00047 
    -00049   StkFloat isInside(Vector3D *position);
    -00050 
    -00052   StkFloat getRadius();
    -00053 
    -00055   StkFloat getMass();
    -00056 
    -00058   void addVelocity(StkFloat x, StkFloat y, StkFloat z);
    -00059 
    -00061   void tick(StkFloat timeIncrement);
    -00062    
    -00063 private:
    -00064   Vector3D position_;
    -00065   Vector3D velocity_;
    -00066   Vector3D workingVector_;
    -00067   StkFloat radius_;
    -00068   StkFloat mass_;
    -00069 };
    -00070 
    -00071 #endif
    -

    + + +
    +

    Sphere.h

    00001 #ifndef STK_SPHERE_H
    +00002 #define STK_SPHERE_H
    +00003 
    +00004 #include "Stk.h"
    +00005 #include "Vector3D.h"
    +00006 
    +00007 namespace stk {
    +00008 
    +00009 /***************************************************/
    +00018 /***************************************************/
    +00019 
    +00020 class Sphere : public Stk
    +00021 {
    +00022 public:
    +00024   Sphere( StkFloat radius = 1.0 ) { radius_ = radius; mass_ = 1.0; };
    +00025 
    +00027   void setPosition( StkFloat x, StkFloat y, StkFloat z ) { position_.setXYZ(x, y, z); };
    +00028 
    +00030   void setVelocity( StkFloat x, StkFloat y, StkFloat z ) { velocity_.setXYZ(x, y, z); };
    +00031 
    +00033   void setRadius( StkFloat radius ) { radius_ = radius; };
    +00034 
    +00036   void setMass( StkFloat mass ) { mass_ = mass; };
    +00037 
    +00039   Vector3D* getPosition( void ) { return &position_; };
    +00040 
    +00042   Vector3D* getRelativePosition( Vector3D *position );
    +00043 
    +00045   StkFloat getVelocity( Vector3D* velocity );
    +00046 
    +00048   StkFloat isInside( Vector3D *position );
    +00049 
    +00051   StkFloat getRadius( void ) { return radius_; };
    +00052 
    +00054   StkFloat getMass( void ) { return mass_; };
    +00055 
    +00057   void addVelocity( StkFloat x, StkFloat y, StkFloat z );
    +00058 
    +00060   void tick( StkFloat timeIncrement );
    +00061    
    +00062 private:
    +00063   Vector3D position_;
    +00064   Vector3D velocity_;
    +00065   Vector3D workingVector_;
    +00066   StkFloat radius_;
    +00067   StkFloat mass_;
    +00068 };
    +00069 
    +00070 inline void Sphere::tick( StkFloat timeIncrement )
    +00071 {
    +00072   position_.setX(position_.getX() + (timeIncrement * velocity_.getX()));
    +00073   position_.setY(position_.getY() + (timeIncrement * velocity_.getY()));
    +00074   position_.setZ(position_.getZ() + (timeIncrement * velocity_.getZ()));
    +00075 };
    +00076 
    +00077 } // stk namespace
    +00078 
    +00079 #endif
    +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/StifKarp_8h-source.html b/doc/html/StifKarp_8h-source.html index c483481..c440470 100644 --- a/doc/html/StifKarp_8h-source.html +++ b/doc/html/StifKarp_8h-source.html @@ -8,75 +8,97 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    StifKarp.h

    00001 /***************************************************/
    -00022 /***************************************************/
    -00023 
    -00024 #ifndef STK_STIFKARP_H
    -00025 #define STK_STIFKARP_H
    -00026 
    -00027 #include "Instrmnt.h"
    -00028 #include "DelayL.h"
    -00029 #include "DelayA.h"
    -00030 #include "OneZero.h"
    -00031 #include "Noise.h"
    -00032 #include "BiQuad.h"
    -00033 
    -00034 class StifKarp : public Instrmnt
    -00035 {
    -00036  public:
    -00038   StifKarp(StkFloat lowestFrequency);
    -00039 
    -00041   ~StifKarp();
    -00042 
    -00044   void clear();
    -00045 
    -00047   void setFrequency(StkFloat frequency);
    -00048 
    -00050   void setStretch(StkFloat stretch);
    -00051 
    -00053   void setPickupPosition(StkFloat position);
    -00054 
    +
    +  
    +
    +

    StifKarp.h

    00001 #ifndef STK_STIFKARP_H
    +00002 #define STK_STIFKARP_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "DelayL.h"
    +00006 #include "DelayA.h"
    +00007 #include "OneZero.h"
    +00008 #include "Noise.h"
    +00009 #include "BiQuad.h"
    +00010 
    +00011 namespace stk {
    +00012 
    +00013 /***************************************************/
    +00034 /***************************************************/
    +00035 
    +00036 class StifKarp : public Instrmnt
    +00037 {
    +00038  public:
    +00040   StifKarp( StkFloat lowestFrequency );
    +00041 
    +00043   ~StifKarp( void );
    +00044 
    +00046   void clear( void );
    +00047 
    +00049   void setFrequency( StkFloat frequency );
    +00050 
    +00052   void setStretch( StkFloat stretch );
    +00053 
    +00055   void setPickupPosition( StkFloat position );
     00056 
    -00061   void setBaseLoopGain(StkFloat aGain);
    -00062 
    -00064   void pluck(StkFloat amplitude);
    -00065 
    -00067   void noteOn(StkFloat frequency, StkFloat amplitude);
    -00068 
    -00070   void noteOff(StkFloat amplitude);
    -00071 
    -00073   void controlChange(int number, StkFloat value);
    -00074 
    -00075  protected:
    +00058 
    +00063   void setBaseLoopGain( StkFloat aGain );
    +00064 
    +00066   void pluck( StkFloat amplitude );
    +00067 
    +00069   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00070 
    +00072   void noteOff( StkFloat amplitude );
    +00073 
    +00075   void controlChange( int number, StkFloat value );
     00076 
    -00077   StkFloat computeSample( void );
    -00078 
    -00079   DelayA  delayLine_;
    -00080   DelayL  combDelay_;
    -00081   OneZero filter_;
    -00082   Noise   noise_;
    -00083   BiQuad  biquad_[4];
    -00084 
    -00085   unsigned long length_;
    -00086   StkFloat loopGain_;
    -00087   StkFloat baseLoopGain_;
    -00088   StkFloat lastFrequency_;
    -00089   StkFloat lastLength_;
    -00090   StkFloat stretching_;
    -00091   StkFloat pluckAmplitude_;
    -00092   StkFloat pickupPosition_;
    -00093 
    -00094 };
    -00095 
    -00096 #endif
    -

    +00078 StkFloat tick( unsigned int channel = 0 ); +00079 +00080 protected: +00081 +00082 DelayA delayLine_; +00083 DelayL combDelay_; +00084 OneZero filter_; +00085 Noise noise_; +00086 BiQuad biquad_[4]; +00087 +00088 unsigned long length_; +00089 StkFloat loopGain_; +00090 StkFloat baseLoopGain_; +00091 StkFloat lastFrequency_; +00092 StkFloat lastLength_; +00093 StkFloat stretching_; +00094 StkFloat pluckAmplitude_; +00095 StkFloat pickupPosition_; +00096 +00097 }; +00098 +00099 inline StkFloat StifKarp :: tick( unsigned int ) +00100 { +00101 StkFloat temp = delayLine_.lastOut() * loopGain_; +00102 +00103 // Calculate allpass stretching. +00104 for (int i=0; i<4; i++) +00105 temp = biquad_[i].tick(temp); +00106 +00107 // Moving average filter. +00108 temp = filter_.tick(temp); +00109 +00110 lastFrame_[0] = delayLine_.tick(temp); +00111 lastFrame_[0] = lastFrame_[0] - combDelay_.tick( lastFrame_[0] ); +00112 return lastFrame_[0]; +00113 } +00114 +00115 } // stk namespace +00116 +00117 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/Stk_8h-source.html b/doc/html/Stk_8h-source.html index e46dac5..b89c8f9 100644 --- a/doc/html/Stk_8h-source.html +++ b/doc/html/Stk_8h-source.html @@ -8,255 +8,357 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Stk.h

    00001 /***************************************************/
    -00051 /***************************************************/
    -00052 
    -00053 #ifndef STK_STK_H
    -00054 #define STK_STK_H
    -00055 
    -00056 #include <string>
    -00057 #include <iostream>
    -00058 #include <sstream>
    -00059 #include <vector>
    -00060 
    -00061 // Most data in STK is passed and calculated with the
    -00062 // following user-definable floating-point type.  You
    -00063 // can change this to "float" if you prefer or perhaps
    -00064 // a "long double" in the future.
    -00065 typedef double StkFloat;
    -00066 
    -00068 
    -00073 class StkError
    -00074 {
    -00075 public:
    -00076   enum Type {
    -00077     STATUS,
    -00078     WARNING,
    -00079     DEBUG_WARNING,
    -00080     MEMORY_ALLOCATION,
    -00081     MEMORY_ACCESS,
    -00082     FUNCTION_ARGUMENT,
    -00083     FILE_NOT_FOUND,
    -00084     FILE_UNKNOWN_FORMAT,
    -00085     FILE_ERROR,
    -00086     PROCESS_THREAD,
    -00087     PROCESS_SOCKET,
    -00088     PROCESS_SOCKET_IPADDR,
    -00089     AUDIO_SYSTEM,
    -00090     MIDI_SYSTEM,
    -00091     UNSPECIFIED
    -00092   };
    -00093 
    -00094 protected:
    -00095   std::string message_;
    -00096   Type type_;
    -00097 
    -00098 public:
    -00100   StkError(const std::string& message, Type type = StkError::UNSPECIFIED)
    -00101     : message_(message), type_(type) {}
    -00102 
    -00104   virtual ~StkError(void) {};
    -00105 
    -00107   virtual void printMessage(void) { std::cerr << '\n' << message_ << "\n\n"; }
    +
    +  
    +
    +

    Stk.h

    00001 #ifndef STK_STK_H
    +00002 #define STK_STK_H
    +00003 
    +00004 #include <string>
    +00005 #include <iostream>
    +00006 #include <sstream>
    +00007 #include <vector>
    +00008 #include <stdlib.h>
    +00009 
    +00016 namespace stk {
    +00017 
    +00018 /***************************************************/
    +00068 /***************************************************/
    +00069 
    +00070 //#define _STK_DEBUG_
    +00071 
    +00072 // Most data in STK is passed and calculated with the
    +00073 // following user-definable floating-point type.  You
    +00074 // can change this to "float" if you prefer or perhaps
    +00075 // a "long double" in the future.
    +00076 typedef double StkFloat;
    +00077 
    +00079 
    +00084 class StkError
    +00085 {
    +00086 public:
    +00087   enum Type {
    +00088     STATUS,
    +00089     WARNING,
    +00090     DEBUG_WARNING,
    +00091     MEMORY_ALLOCATION,
    +00092     MEMORY_ACCESS,
    +00093     FUNCTION_ARGUMENT,
    +00094     FILE_NOT_FOUND,
    +00095     FILE_UNKNOWN_FORMAT,
    +00096     FILE_ERROR,
    +00097     PROCESS_THREAD,
    +00098     PROCESS_SOCKET,
    +00099     PROCESS_SOCKET_IPADDR,
    +00100     AUDIO_SYSTEM,
    +00101     MIDI_SYSTEM,
    +00102     UNSPECIFIED
    +00103   };
    +00104 
    +00105 protected:
    +00106   std::string message_;
    +00107   Type type_;
     00108 
    -00110   virtual const Type& getType(void) { return type_; }
    -00111 
    -00113   virtual const std::string& getMessage(void) { return message_; }
    -00114 
    -00116   virtual const char *getMessageCString(void) { return message_.c_str(); }
    -00117 };
    -00118 
    +00109 public:
    +00111   StkError(const std::string& message, Type type = StkError::UNSPECIFIED)
    +00112     : message_(message), type_(type) {}
    +00113 
    +00115   virtual ~StkError(void) {};
    +00116 
    +00118   virtual void printMessage(void) { std::cerr << '\n' << message_ << "\n\n"; }
     00119 
    -00120 class Stk
    -00121 {
    -00122 public:
    -00123 
    -00124   typedef unsigned long StkFormat;
    -00125   static const StkFormat STK_SINT8;   
    -00126   static const StkFormat STK_SINT16;  
    -00127   static const StkFormat STK_SINT24;  
    -00128   static const StkFormat STK_SINT32;  
    -00129   static const StkFormat STK_FLOAT32; 
    -00130   static const StkFormat STK_FLOAT64; 
    -00132 
    -00133   static StkFloat sampleRate( void ) { return srate_; }
    +00121   virtual const Type& getType(void) { return type_; }
    +00122 
    +00124   virtual const std::string& getMessage(void) { return message_; }
    +00125 
    +00127   virtual const char *getMessageCString(void) { return message_.c_str(); }
    +00128 };
    +00129 
    +00130 
    +00131 class Stk
    +00132 {
    +00133 public:
     00134 
    -00136 
    -00153   static void setSampleRate( StkFloat rate );
    -00154 
    -00156 
    -00161   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
    -00162 
    -00164   static std::string rawwavePath(void) { return rawwavepath_; }
    +00135   typedef unsigned long StkFormat;
    +00136   static const StkFormat STK_SINT8;   
    +00137   static const StkFormat STK_SINT16;  
    +00138   static const StkFormat STK_SINT24;  
    +00139   static const StkFormat STK_SINT32;  
    +00140   static const StkFormat STK_FLOAT32; 
    +00141   static const StkFormat STK_FLOAT64; 
    +00143 
    +00144   static StkFloat sampleRate( void ) { return srate_; }
    +00145 
    +00147 
    +00164   static void setSampleRate( StkFloat rate );
     00165 
    -00167   static void setRawwavePath( std::string path );
    -00168 
    -00170   static void swap16( unsigned char *ptr );
    -00171 
    -00173   static void swap32( unsigned char *ptr );
    -00174 
    -00176   static void swap64( unsigned char *ptr );
    -00177 
    -00179   static void sleep( unsigned long milliseconds );
    -00180 
    -00182   static void handleError( const char *message, StkError::Type type );
    -00183 
    -00185   static void handleError( std::string message, StkError::Type type );
    -00186 
    -00188   static void showWarnings( bool status ) { showWarnings_ = status; }
    -00189 
    -00191   static void printErrors( bool status ) { printErrors_ = status; }
    -00192 
    -00193 private:
    -00194   static StkFloat srate_;
    -00195   static std::string rawwavepath_;
    -00196   static bool showWarnings_;
    -00197   static bool printErrors_;
    -00198   static std::vector<Stk *> alertList_;
    -00199 
    -00200 protected:
    -00201 
    -00202   std::ostringstream errorString_;
    -00203   bool ignoreSampleRateChange_;
    -00204 
    -00206   Stk( void );
    -00207 
    -00209   virtual ~Stk( void );
    +00167 
    +00172   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
    +00173 
    +00175   static std::string rawwavePath(void) { return rawwavepath_; }
    +00176 
    +00178   static void setRawwavePath( std::string path );
    +00179 
    +00181   static void swap16( unsigned char *ptr );
    +00182 
    +00184   static void swap32( unsigned char *ptr );
    +00185 
    +00187   static void swap64( unsigned char *ptr );
    +00188 
    +00190   static void sleep( unsigned long milliseconds );
    +00191 
    +00193   static void handleError( const char *message, StkError::Type type );
    +00194 
    +00196   static void handleError( std::string message, StkError::Type type );
    +00197 
    +00199   static void showWarnings( bool status ) { showWarnings_ = status; }
    +00200 
    +00202   static void printErrors( bool status ) { printErrors_ = status; }
    +00203 
    +00204 private:
    +00205   static StkFloat srate_;
    +00206   static std::string rawwavepath_;
    +00207   static bool showWarnings_;
    +00208   static bool printErrors_;
    +00209   static std::vector<Stk *> alertList_;
     00210 
    -00212   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
    -00213 
    -00215   void addSampleRateAlert( Stk *ptr );
    -00216 
    -00218   void removeSampleRateAlert( Stk *ptr );
    -00219 
    -00221   void handleError( StkError::Type type );
    -00222 };
    -00223 
    +00211 protected:
    +00212 
    +00213   std::ostringstream errorString_;
    +00214   bool ignoreSampleRateChange_;
    +00215 
    +00217   Stk( void );
    +00218 
    +00220   virtual ~Stk( void );
    +00221 
    +00223   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
     00224 
    -00225 /***************************************************/
    -00240 /***************************************************/
    -00241 
    -00242 class StkFrames
    -00243 {
    -00244 public:
    -00245 
    -00247   StkFrames( unsigned int nFrames = 0, unsigned int nChannels = 0, bool interleaved = true );
    -00248 
    -00250   StkFrames( const StkFloat& value, unsigned int nFrames, unsigned int nChannels, bool interleaved = true );
    -00251 
    -00253   ~StkFrames();
    -00254 
    -00256 
    -00262   StkFloat& operator[] ( size_t n );
    -00263 
    -00265 
    -00269   StkFloat operator[] ( size_t n ) const;
    +00226   void addSampleRateAlert( Stk *ptr );
    +00227 
    +00229   void removeSampleRateAlert( Stk *ptr );
    +00230 
    +00232   void handleError( StkError::Type type );
    +00233 };
    +00234 
    +00235 
    +00236 /***************************************************/
    +00259 /***************************************************/
    +00260 
    +00261 class StkFrames
    +00262 {
    +00263 public:
    +00264 
    +00266   StkFrames( unsigned int nFrames = 0, unsigned int nChannels = 0 );
    +00267 
    +00269   StkFrames( const StkFloat& value, unsigned int nFrames, unsigned int nChannels );
     00270 
    -00272 
    -00279   StkFloat& operator() ( size_t frame, unsigned int channel );
    -00280 
    -00282 
    -00287   StkFloat operator() ( size_t frame, unsigned int channel ) const;
    +00272   ~StkFrames();
    +00273 
    +00274   // A copy constructor.
    +00275   StkFrames( const StkFrames& f );
    +00276 
    +00277   // Assignment operator that returns a reference to self.
    +00278   StkFrames& operator= ( const StkFrames& f );
    +00279 
    +00281 
    +00287   StkFloat& operator[] ( size_t n );
     00288 
     00290 
    -00296   StkFloat interpolate( StkFloat frame, unsigned int channel = 0 ) const;
    +00294   StkFloat operator[] ( size_t n ) const;
    +00295 
     00297 
    -00299   size_t size() const { return size_; }; 
    -00300 
    -00302   bool empty() const;
    +00302   void operator+= ( StkFrames& f );
     00303 
     00305 
    -00312   void resize( size_t nFrames, unsigned int nChannels = 1 );
    +00310   void operator*= ( StkFrames& f );
    +00311 
     00313 
    -00315 
    -00322   void resize( size_t nFrames, unsigned int nChannels, StkFloat value );
    +00320   StkFloat& operator() ( size_t frame, unsigned int channel );
    +00321 
     00323 
    -00325   unsigned int channels( void ) const { return nChannels_; };
    -00326 
    -00328   unsigned int frames( void ) const { return nFrames_; };
    +00328   StkFloat operator() ( size_t frame, unsigned int channel ) const;
     00329 
     00331 
    -00335   void setDataRate( StkFloat rate ) { dataRate_ = rate; };
    -00336 
    +00337   StkFloat interpolate( StkFloat frame, unsigned int channel = 0 ) const;
     00338 
    -00342   StkFloat dataRate( void ) const { return dataRate_; };
    -00343 
    -00345   bool interleaved( void ) const { return interleaved_; };
    +00340   size_t size() const { return size_; }; 
    +00341 
    +00343   bool empty() const;
    +00344 
     00346 
    -00348 
    -00353   void setInterleaved( bool isInterleaved ) { interleaved_ = isInterleaved; };
    +00353   void resize( size_t nFrames, unsigned int nChannels = 1 );
     00354 
    -00355 private:
     00356 
    -00357   StkFloat *data_;
    -00358   StkFloat dataRate_;
    -00359   size_t nFrames_;
    -00360   unsigned int nChannels_;
    -00361   size_t size_;
    -00362   size_t bufferSize_;
    -00363   bool interleaved_;
    +00363   void resize( size_t nFrames, unsigned int nChannels, StkFloat value );
     00364 
    -00365 };
    -00366 
    +00366   unsigned int channels( void ) const { return nChannels_; };
     00367 
    -00368 // Here are a few other useful typedefs.
    -00369 typedef unsigned short UINT16;
    -00370 typedef unsigned int UINT32;
    -00371 typedef signed short SINT16;
    -00372 typedef signed int SINT32;
    -00373 typedef float FLOAT32;
    -00374 typedef double FLOAT64;
    -00375 
    -00376 // The default sampling rate.
    -00377 const StkFloat SRATE = 44100.0;
    -00378 
    -00379 // The default real-time audio input and output buffer size.  If
    -00380 // clicks are occuring in the input and/or output sound stream, a
    -00381 // larger buffer size may help.  Larger buffer sizes, however, produce
    -00382 // more latency.
    -00383 const unsigned int RT_BUFFER_SIZE = 512;
    +00369   unsigned int frames( void ) const { return nFrames_; };
    +00370 
    +00372 
    +00376   void setDataRate( StkFloat rate ) { dataRate_ = rate; };
    +00377 
    +00379 
    +00383   StkFloat dataRate( void ) const { return dataRate_; };
     00384 
    -00385 // The default rawwave path value is set with the preprocessor
    -00386 // definition RAWWAVE_PATH.  This can be specified as an argument to
    -00387 // the configure script, in an integrated development environment, or
    -00388 // below.  The global STK rawwave path variable can be dynamically set
    -00389 // with the Stk::setRawwavePath() function.  This value is
    -00390 // concatenated to the beginning of all references to rawwave files in
    -00391 // the various STK core classes (ex. Clarinet.cpp).  If you wish to
    -00392 // move the rawwaves directory to a different location in your file
    -00393 // system, you will need to set this path definition appropriately.
    -00394 #if !defined(RAWWAVE_PATH)
    -00395   #define RAWWAVE_PATH "../../rawwaves/"
    -00396 #endif
    -00397 
    -00398 const StkFloat PI           = 3.14159265358979;
    -00399 const StkFloat TWO_PI       = 2 * PI;
    -00400 const StkFloat ONE_OVER_128 = 0.0078125;
    +00385 private:
    +00386 
    +00387   StkFloat *data_;
    +00388   StkFloat dataRate_;
    +00389   size_t nFrames_;
    +00390   unsigned int nChannels_;
    +00391   size_t size_;
    +00392   size_t bufferSize_;
    +00393 
    +00394 };
    +00395 
    +00396 inline bool StkFrames :: empty() const
    +00397 {
    +00398   if ( size_ > 0 ) return false;
    +00399   else return true;
    +00400 }
     00401 
    -00402 #if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__) || defined(__WINDOWS_MM__)
    -00403   #define __OS_WINDOWS__
    -00404   #define __STK_REALTIME__
    -00405 #elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__) || defined(__UNIX_JACK__)
    -00406   #define __OS_LINUX__
    -00407   #define __STK_REALTIME__
    -00408 #elif defined(__IRIX_AL__)
    -00409   #define __OS_IRIX__
    -00410 #elif defined(__MACOSX_CORE__) || defined(__UNIX_JACK__)
    -00411   #define __OS_MACOSX__
    -00412   #define __STK_REALTIME__
    -00413 #endif
    -00414 
    -00415 //#define _STK_DEBUG_
    -00416 
    -00417 #endif
    -

    +00402 inline StkFloat& StkFrames :: operator[] ( size_t n ) +00403 { +00404 #if defined(_STK_DEBUG_) +00405 if ( n >= size_ ) { +00406 std::ostringstream error; +00407 error << "StkFrames::operator[]: invalid index (" << n << ") value!"; +00408 Stk::handleError( error.str(), StkError::MEMORY_ACCESS ); +00409 } +00410 #endif +00411 +00412 return data_[n]; +00413 } +00414 +00415 inline StkFloat StkFrames :: operator[] ( size_t n ) const +00416 { +00417 #if defined(_STK_DEBUG_) +00418 if ( n >= size_ ) { +00419 std::ostringstream error; +00420 error << "StkFrames::operator[]: invalid index (" << n << ") value!"; +00421 Stk::handleError( error.str(), StkError::MEMORY_ACCESS ); +00422 } +00423 #endif +00424 +00425 return data_[n]; +00426 } +00427 +00428 inline StkFloat& StkFrames :: operator() ( size_t frame, unsigned int channel ) +00429 { +00430 #if defined(_STK_DEBUG_) +00431 if ( frame >= nFrames_ || channel >= nChannels_ ) { +00432 std::ostringstream error; +00433 error << "StkFrames::operator(): invalid frame (" << frame << ") or channel (" << channel << ") value!"; +00434 Stk::handleError( error.str(), StkError::MEMORY_ACCESS ); +00435 } +00436 #endif +00437 +00438 return data_[ frame * nChannels_ + channel ]; +00439 } +00440 +00441 inline StkFloat StkFrames :: operator() ( size_t frame, unsigned int channel ) const +00442 { +00443 #if defined(_STK_DEBUG_) +00444 if ( frame >= nFrames_ || channel >= nChannels_ ) { +00445 std::ostringstream error; +00446 error << "StkFrames::operator(): invalid frame (" << frame << ") or channel (" << channel << ") value!"; +00447 Stk::handleError( error.str(), StkError::MEMORY_ACCESS ); +00448 } +00449 #endif +00450 +00451 return data_[ frame * nChannels_ + channel ]; +00452 } +00453 +00454 inline void StkFrames :: operator+= ( StkFrames& f ) +00455 { +00456 #if defined(_STK_DEBUG_) +00457 if ( f.frames() != nFrames_ || f.channels() != nChannels_ ) { +00458 std::ostringstream error; +00459 error << "StkFrames::operator+=: frames argument must be of equal dimensions!"; +00460 Stk::handleError( error.str(), StkError::MEMORY_ACCESS ); +00461 } +00462 #endif +00463 +00464 StkFloat *fptr = &f[0]; +00465 StkFloat *dptr = data_; +00466 for ( unsigned int i=0; i<size_; i++ ) +00467 *dptr++ += *fptr++; +00468 } +00469 +00470 inline void StkFrames :: operator*= ( StkFrames& f ) +00471 { +00472 #if defined(_STK_DEBUG_) +00473 if ( f.frames() != nFrames_ || f.channels() != nChannels_ ) { +00474 std::ostringstream error; +00475 error << "StkFrames::operator*=: frames argument must be of equal dimensions!"; +00476 Stk::handleError( error.str(), StkError::MEMORY_ACCESS ); +00477 } +00478 #endif +00479 +00480 StkFloat *fptr = &f[0]; +00481 StkFloat *dptr = data_; +00482 for ( unsigned int i=0; i<size_; i++ ) +00483 *dptr++ *= *fptr++; +00484 } +00485 +00486 // Here are a few other useful typedefs. +00487 typedef unsigned short UINT16; +00488 typedef unsigned int UINT32; +00489 typedef signed short SINT16; +00490 typedef signed int SINT32; +00491 typedef float FLOAT32; +00492 typedef double FLOAT64; +00493 +00494 // The default sampling rate. +00495 const StkFloat SRATE = 44100.0; +00496 +00497 // The default real-time audio input and output buffer size. If +00498 // clicks are occuring in the input and/or output sound stream, a +00499 // larger buffer size may help. Larger buffer sizes, however, produce +00500 // more latency. +00501 const unsigned int RT_BUFFER_SIZE = 512; +00502 +00503 // The default rawwave path value is set with the preprocessor +00504 // definition RAWWAVE_PATH. This can be specified as an argument to +00505 // the configure script, in an integrated development environment, or +00506 // below. The global STK rawwave path variable can be dynamically set +00507 // with the Stk::setRawwavePath() function. This value is +00508 // concatenated to the beginning of all references to rawwave files in +00509 // the various STK core classes (ex. Clarinet.cpp). If you wish to +00510 // move the rawwaves directory to a different location in your file +00511 // system, you will need to set this path definition appropriately. +00512 #if !defined(RAWWAVE_PATH) +00513 #define RAWWAVE_PATH "../../rawwaves/" +00514 #endif +00515 +00516 const StkFloat PI = 3.14159265358979; +00517 const StkFloat TWO_PI = 2 * PI; +00518 const StkFloat ONE_OVER_128 = 0.0078125; +00519 +00520 #if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__) || defined(__WINDOWS_MM__) +00521 #define __OS_WINDOWS__ +00522 #define __STK_REALTIME__ +00523 #elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__) || defined(__UNIX_JACK__) +00524 #define __OS_LINUX__ +00525 #define __STK_REALTIME__ +00526 #elif defined(__IRIX_AL__) +00527 #define __OS_IRIX__ +00528 #elif defined(__MACOSX_CORE__) || defined(__UNIX_JACK__) +00529 #define __OS_MACOSX__ +00530 #define __STK_REALTIME__ +00531 #endif +00532 +00533 } // stk namespace +00534 +00535 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/SubNoise_8h-source.html b/doc/html/SubNoise_8h-source.html deleted file mode 100644 index c43780c..0000000 --- a/doc/html/SubNoise_8h-source.html +++ /dev/null @@ -1,52 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - - -

    SubNoise.h

    00001 /***************************************************/
    -00011 /***************************************************/
    -00012 
    -00013 #ifndef STK_SUBNOISE_H
    -00014 #define STK_SUBNOISE_H
    -00015 
    -00016 #include "Noise.h"
    -00017 
    -00018 class SubNoise : public Noise
    -00019 {
    -00020  public:
    -00021 
    -00023   SubNoise( int subRate = 16 );
    -00024 
    -00026   ~SubNoise();
    -00027 
    -00029   int subRate( void ) const { return rate_; };
    -00030 
    -00032   void setRate( int subRate );
    -00033 
    -00034  protected:  
    -00035 
    -00036   StkFloat computeSample( void );
    -00037 
    -00038   int counter_;
    -00039   int rate_;
    -00040 
    -00041 };
    -00042 
    -00043 #endif
    -

    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/Table_8h-source.html b/doc/html/Table_8h-source.html deleted file mode 100644 index 46ff5cf..0000000 --- a/doc/html/Table_8h-source.html +++ /dev/null @@ -1,53 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    Table.h

    00001 /***************************************************/
    -00015 /***************************************************/
    -00016 
    -00017 #ifndef STK_TABLE_H
    -00018 #define STK_TABLE_H
    -00019 
    -00020 #include "Function.h"
    -00021 
    -00022 class Table : public Function
    -00023 {
    -00024 public:
    -00026 
    -00030   Table( std::string fileName );
    -00031 
    -00033   ~Table();
    -00034 
    -00036   long getLength() const;
    -00037 
    -00039 
    -00043   StkFloat tick(StkFloat index);
    -00044 
    -00046   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
    -00047 
    -00049 
    -00055   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
    -00056 
    -00057 protected:  
    -00058   long length_;
    -00059   std::valarray<StkFloat> data_;
    -00060 
    -00061 };
    -00062 
    -00063 #endif // defined(__TABLE_H)
    -

    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/TapDelay_8h-source.html b/doc/html/TapDelay_8h-source.html new file mode 100644 index 0000000..207afc7 --- /dev/null +++ b/doc/html/TapDelay_8h-source.html @@ -0,0 +1,173 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    TapDelay.h

    00001 #ifndef STK_TAPDELAY_H
    +00002 #define STK_TAPDELAY_H
    +00003 
    +00004 #include "Filter.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00022 /***************************************************/
    +00023 
    +00024 class TapDelay : public Filter
    +00025 {
    +00026  public:
    +00027 
    +00029 
    +00034   TapDelay( std::vector<unsigned long> taps = std::vector<unsigned long>( 1, 0 ), unsigned long maxDelay = 4095 );
    +00035 
    +00037   ~TapDelay();
    +00038 
    +00040 
    +00047   void setMaximumDelay( unsigned long delay );
    +00048 
    +00050 
    +00053   void setTapDelays( std::vector<unsigned long> taps );
    +00054 
    +00056   std::vector<unsigned long> getTapDelays( void ) const { return delays_; };
    +00057 
    +00059 
    +00067   StkFloat lastOut( unsigned int tap = 0 ) const;
    +00068 
    +00070 
    +00079   StkFrames& tick( StkFloat input, StkFrames& outputs );
    +00080 
    +00082 
    +00091   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    +00092 
    +00094 
    +00105   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0 );
    +00106 
    +00107  protected:
    +00108 
    +00109   unsigned long inPoint_;
    +00110   std::vector<unsigned long> outPoint_;
    +00111   std::vector<unsigned long> delays_;
    +00112 
    +00113 };
    +00114 
    +00115 inline StkFloat TapDelay :: lastOut( unsigned int tap ) const
    +00116 {
    +00117 #if defined(_STK_DEBUG_)
    +00118   if ( tap >= lastFrame_.size() ) ) {
    +00119     errorString_ << "TapDelay::lastOut(): tap argument and number of taps are incompatible!";
    +00120     handleError( StkError::FUNCTION_ARGUMENT );
    +00121   }
    +00122 #endif
    +00123 
    +00124   return lastFrame_[tap];
    +00125 }
    +00126 
    +00127 inline StkFrames& TapDelay :: tick( StkFloat input, StkFrames& outputs )
    +00128 {
    +00129 #if defined(_STK_DEBUG_)
    +00130   if ( outputs.channels() < outPoint_.size() ) {
    +00131     errorString_ << "TapDelay::tick(): number of taps > channels in StkFrames argument!";
    +00132     handleError( StkError::FUNCTION_ARGUMENT );
    +00133   }
    +00134 #endif
    +00135 
    +00136   inputs_[inPoint_++] = input * gain_;
    +00137 
    +00138   // Check for end condition
    +00139   if ( inPoint_ == inputs_.size() )
    +00140     inPoint_ = 0;
    +00141 
    +00142   // Read out next values
    +00143   StkFloat *outs = &outputs[0];
    +00144   for ( unsigned int i=0; i<outPoint_.size(); i++ ) {
    +00145     *outs++ = inputs_[outPoint_[i]];
    +00146     lastFrame_[i] = *outs;
    +00147     if ( ++outPoint_[i] == inputs_.size() )
    +00148       outPoint_[i] = 0;
    +00149   }
    +00150 
    +00151   return outputs;
    +00152 }
    +00153 
    +00154 inline StkFrames& TapDelay :: tick( StkFrames& frames, unsigned int channel )
    +00155 {
    +00156 #if defined(_STK_DEBUG_)
    +00157   if ( channel >= frames.channels() ) {
    +00158     errorString_ << "TapDelay::tick(): channel and StkFrames arguments are incompatible!";
    +00159     handleError( StkError::FUNCTION_ARGUMENT );
    +00160   }
    +00161   if ( frames.channels() < outPoint_.size() ) {
    +00162     errorString_ << "TapDelay::tick(): number of taps > channels in StkFrames argument!";
    +00163     handleError( StkError::FUNCTION_ARGUMENT );
    +00164   }
    +00165 #endif
    +00166 
    +00167   StkFloat *iSamples = &frames[channel];
    +00168   StkFloat *oSamples = &frames[0];
    +00169   unsigned int j, iHop = frames.channels(), oHop = frames.channels() - outPoint_.size();
    +00170   for ( unsigned int i=0; i<frames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
    +00171     inputs_[inPoint_++] = *iSamples * gain_;
    +00172     if ( inPoint_ == inputs_.size() ) inPoint_ = 0;
    +00173     for ( j=0; j<outPoint_.size(); j++ ) {
    +00174       *oSamples++ = inputs_[outPoint_[j]];
    +00175       if ( ++outPoint_[j] == inputs_.size() ) outPoint_[j] = 0;
    +00176     }
    +00177   }
    +00178 
    +00179   oSamples -= frames.channels();
    +00180   for ( j=0; j<outPoint_.size(); j++ ) lastFrame_[j] = *oSamples++;
    +00181   return frames;
    +00182 }
    +00183 
    +00184 inline StkFrames& TapDelay :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel )
    +00185 {
    +00186 #if defined(_STK_DEBUG_)
    +00187   if ( iChannel >= iFrames.channels() ) {
    +00188     errorString_ << "TapDelay::tick(): channel and StkFrames arguments are incompatible!";
    +00189     handleError( StkError::FUNCTION_ARGUMENT );
    +00190   }
    +00191   if ( oFrames.channels() < outPoint_.size() ) {
    +00192     errorString_ << "TapDelay::tick(): number of taps > channels in output StkFrames argument!";
    +00193     handleError( StkError::FUNCTION_ARGUMENT );
    +00194   }
    +00195 #endif
    +00196 
    +00197   StkFloat *iSamples = &iFrames[iChannel];
    +00198   StkFloat *oSamples = &oFrames[0];
    +00199   unsigned int j, iHop = iFrames.channels(), oHop = oFrames.channels() - outPoint_.size();
    +00200   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
    +00201     inputs_[inPoint_++] = *iSamples * gain_;
    +00202     if ( inPoint_ == inputs_.size() ) inPoint_ = 0;
    +00203     for ( j=0; j<outPoint_.size(); j++ ) {
    +00204       *oSamples++ = inputs_[outPoint_[j]];
    +00205       if ( ++outPoint_[j] == inputs_.size() ) outPoint_[j] = 0;
    +00206     }
    +00207   }
    +00208 
    +00209   oSamples -= oFrames.channels();
    +00210   for ( j=0; j<outPoint_.size(); j++ ) lastFrame_[j] = *oSamples++;
    +00211   return iFrames;
    +00212 }
    +00213 
    +00214 #endif
    +00215 
    +00216 } // stk namespace
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/TcpClient_8h-source.html b/doc/html/TcpClient_8h-source.html index 56f90d4..eb50d2d 100644 --- a/doc/html/TcpClient_8h-source.html +++ b/doc/html/TcpClient_8h-source.html @@ -8,42 +8,48 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    TcpClient.h

    00001 /***************************************************/
    -00024 /***************************************************/
    -00025 
    -00026 #ifndef STK_TCPCLIENT_H
    -00027 #define STK_TCPCLIENT_H
    -00028 
    -00029 #include "Socket.h"
    -00030 
    -00031 class TcpClient : public Socket
    -00032 {
    -00033  public:
    -00035 
    -00038   TcpClient( int port, std::string hostname = "localhost" );
    -00039 
    -00041   ~TcpClient();
    -00042 
    +
    +  
    +
    +

    TcpClient.h

    00001 #ifndef STK_TCPCLIENT_H
    +00002 #define STK_TCPCLIENT_H
    +00003 
    +00004 #include "Socket.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00031 /***************************************************/
    +00032 
    +00033 class TcpClient : public Socket
    +00034 {
    +00035  public:
    +00037 
    +00040   TcpClient( int port, std::string hostname = "localhost" );
    +00041 
    +00043   ~TcpClient();
     00044 
    -00049   int connect( int port, std::string hostname = "localhost" );
    -00050 
    -00052   int writeBuffer(const void *buffer, long bufferSize, int flags = 0);
    -00053 
    -00055   int readBuffer(void *buffer, long bufferSize, int flags = 0);
    -00056 
    -00057  protected:
    +00046 
    +00051   int connect( int port, std::string hostname = "localhost" );
    +00052 
    +00054   int writeBuffer(const void *buffer, long bufferSize, int flags = 0);
    +00055 
    +00057   int readBuffer(void *buffer, long bufferSize, int flags = 0);
     00058 
    -00059 };
    +00059  protected:
     00060 
    -00061 #endif // defined(STK_TCPCLIENT_H)
    -

    +00061 }; +00062 +00063 } // stk namespace +00064 +00065 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/TcpServer_8h-source.html b/doc/html/TcpServer_8h-source.html index d556ee6..7f9a8f1 100644 --- a/doc/html/TcpServer_8h-source.html +++ b/doc/html/TcpServer_8h-source.html @@ -8,42 +8,48 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    TcpServer.h

    00001 /***************************************************/
    -00024 /***************************************************/
    -00025 
    -00026 #ifndef STK_TCPSERVER_H
    -00027 #define STK_TCPSERVER_H
    -00028 
    -00029 #include "Socket.h"
    -00030 
    -00031 class TcpServer : public Socket
    -00032 {
    -00033  public:
    -00035 
    -00038   TcpServer( int port = 2006 );
    -00039 
    -00041   ~TcpServer();
    -00042 
    +
    +  
    +
    +

    TcpServer.h

    00001 #ifndef STK_TCPSERVER_H
    +00002 #define STK_TCPSERVER_H
    +00003 
    +00004 #include "Socket.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00031 /***************************************************/
    +00032 
    +00033 class TcpServer : public Socket
    +00034 {
    +00035  public:
    +00037 
    +00040   TcpServer( int port = 2006 );
    +00041 
    +00043   ~TcpServer();
     00044 
    -00049   int accept( void );
    -00050 
    -00052   int writeBuffer(const void *buffer, long bufferSize, int flags = 0);
    -00053 
    -00055   int readBuffer(void *buffer, long bufferSize, int flags = 0);
    -00056 
    -00057  protected:
    +00046 
    +00051   int accept( void );
    +00052 
    +00054   int writeBuffer(const void *buffer, long bufferSize, int flags = 0);
    +00055 
    +00057   int readBuffer(void *buffer, long bufferSize, int flags = 0);
     00058 
    -00059 };
    +00059  protected:
     00060 
    -00061 #endif // defined(STK_TCPSERVER_H)
    -

    +00061 }; +00062 +00063 } // stk namespace +00064 +00065 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/TcpWvIn_8h-source.html b/doc/html/TcpWvIn_8h-source.html deleted file mode 100644 index 878d9c4..0000000 --- a/doc/html/TcpWvIn_8h-source.html +++ /dev/null @@ -1,98 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    TcpWvIn.h

    00001 /***************************************************/
    -00027 /***************************************************/
    -00028 
    -00029 #ifndef STK_TCPWVIN_H
    -00030 #define STK_TCPWVIN_H
    -00031 
    -00032 #include "WvIn.h"
    -00033 #include "Socket.h"
    -00034 #include "Thread.h"
    -00035 #include "Mutex.h"
    -00036 
    -00037 typedef struct {
    -00038   bool finished;
    -00039   void *object;
    -00040 } thread_info;
    -00041 
    -00042 class TcpWvIn : protected WvIn
    -00043 {
    -00044 public:
    -00046 
    -00049   TcpWvIn( int port = 2006 );
    -00050 
    -00052   ~TcpWvIn();
    -00053 
    -00055 
    -00058   void listen(unsigned int nChannels = 1, Stk::StkFormat format = STK_SINT16);
    -00059 
    -00061 
    -00065   bool isConnected(void);
    -00066 
    -00068   StkFloat lastOut(void) const;
    -00069 
    -00071   StkFloat tick(void);
    -00072 
    -00074   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
    -00075 
    -00077 
    -00083   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
    -00084 
    -00086   const StkFloat *lastFrame(void) const;
    -00087 
    -00089   const StkFloat *tickFrame(void);
    -00090 
    -00092   StkFloat *tickFrame(StkFloat *frameVector, unsigned int frames);
    -00093 
    -00095 
    -00100   StkFrames& tickFrame( StkFrames& frames );
    -00101 
    -00102   // Called by the thread routine to receive data via the socket connection
    -00103   // and fill the socket buffer.  This is not intended for general use but
    -00104   // had to be made public for access from the thread.
    -00105   void receive(void);
    -00106 
    -00107 protected:
    -00108 
    -00109   // Initialize class variables.
    -00110   void init( int port );
    -00111 
    -00112   // Read buffered socket data into the data buffer ... will block if none available.
    -00113   int readData( void );
    -00114 
    -00115   Socket *soket_;
    -00116   Thread *thread_;
    -00117   Mutex mutex_;
    -00118   char *buffer_;
    -00119   long bufferBytes_;
    -00120   long bytesFilled_;
    -00121   long writePoint_;
    -00122   long readPoint_;
    -00123   long counter_;
    -00124   int dataSize_;
    -00125   bool connected_;
    -00126   int fd_;
    -00127   thread_info threadInfo_;
    -00128 
    -00129 };
    -00130 
    -00131 #endif
    -

    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/TcpWvOut_8h-source.html b/doc/html/TcpWvOut_8h-source.html deleted file mode 100644 index ce080ca..0000000 --- a/doc/html/TcpWvOut_8h-source.html +++ /dev/null @@ -1,74 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    TcpWvOut.h

    00001 /***************************************************/
    -00026 /***************************************************/
    -00027 
    -00028 #ifndef STK_TCPWVOUT_H
    -00029 #define STK_TCPWVOUT_H
    -00030 
    -00031 #include "WvOut.h"
    -00032 #include "Socket.h"
    -00033 
    -00034 class TcpWvOut : protected WvOut
    -00035 {
    -00036  public:
    -00038   TcpWvOut();
    -00039 
    -00041 
    -00044   TcpWvOut(int port, const char *hostname = "localhost", unsigned int nChannels = 1, Stk::StkFormat format = STK_SINT16);
    -00045 
    -00047   ~TcpWvOut();
    -00048 
    -00050 
    -00053   void connect(int port, const char *hostname = "localhost", unsigned int nChannels = 1, Stk::StkFormat format = STK_SINT16);
    -00054 
    -00056   void disconnect(void);
    -00057 
    -00059   unsigned long getFrames( void ) const;
    -00060 
    -00062   StkFloat getTime( void ) const;
    -00063 
    -00065 
    -00068   void tick( const StkFloat sample );
    -00069 
    -00071 
    -00074   void tick( const StkFloat *vector, unsigned int vectorSize );
    -00075 
    -00077 
    -00083   void tick( const StkFrames& frames, unsigned int channel = 1 );
    -00084 
    -00086 
    -00089   void tickFrame( const StkFloat *frameVector, unsigned int frames = 1 );
    -00090 
    -00092 
    -00097   virtual void tickFrame( const StkFrames& frames );
    -00098 
    -00099  protected:
    -00100 
    -00101   // Write a buffer of length \e frames via the socket connection.
    -00102   void writeData( unsigned long frames );
    -00103 
    -00104   char *buffer_;
    -00105   Socket *soket_;
    -00106   int dataSize_;
    -00107 };
    -00108 
    -00109 #endif
    -

    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/Thread_8h-source.html b/doc/html/Thread_8h-source.html index 0f392c1..2f16647 100644 --- a/doc/html/Thread_8h-source.html +++ b/doc/html/Thread_8h-source.html @@ -8,67 +8,73 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Thread.h

    00001 /***************************************************/
    -00021 /***************************************************/
    +
    +  
    +
    +

    Thread.h

    00001 #ifndef STK_THREAD_H
    +00002 #define STK_THREAD_H
    +00003 
    +00004 #include "Stk.h"
    +00005 
    +00006 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
    +00007 
    +00008   #include <pthread.h>
    +00009   #define THREAD_TYPE
    +00010   typedef pthread_t THREAD_HANDLE;
    +00011   typedef void * THREAD_RETURN;
    +00012   typedef void * (*THREAD_FUNCTION)(void *);
    +00013 
    +00014 #elif defined(__OS_WINDOWS__)
    +00015 
    +00016   #include <windows.h>
    +00017   #include <process.h>
    +00018   #define THREAD_TYPE __stdcall
    +00019   typedef unsigned long THREAD_HANDLE;
    +00020   typedef unsigned THREAD_RETURN;
    +00021   typedef unsigned (__stdcall *THREAD_FUNCTION)(void *);
     00022 
    -00023 #ifndef STK_THREAD_H
    -00024 #define STK_THREAD_H
    -00025 
    -00026 #include "Stk.h"
    -00027 
    -00028 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
    -00029 
    -00030   #include <pthread.h>
    -00031   #define THREAD_TYPE
    -00032   typedef pthread_t THREAD_HANDLE;
    -00033   typedef void * THREAD_RETURN;
    -00034   typedef void * (*THREAD_FUNCTION)(void *);
    -00035 
    -00036 #elif defined(__OS_WINDOWS__)
    -00037 
    -00038   #include <windows.h>
    -00039   #include <process.h>
    -00040   #define THREAD_TYPE __stdcall
    -00041   typedef unsigned long THREAD_HANDLE;
    -00042   typedef unsigned THREAD_RETURN;
    -00043   typedef unsigned (__stdcall *THREAD_FUNCTION)(void *);
    -00044 
    -00045 #endif
    -00046 
    -00047 class Thread : public Stk
    -00048 {
    -00049  public:
    -00051   Thread();
    -00052 
    -00054   ~Thread();
    -00055 
    +00023 #endif
    +00024 
    +00025 namespace stk {
    +00026 
    +00027 /***************************************************/
    +00047 /***************************************************/
    +00048 
    +00049 class Thread : public Stk
    +00050 {
    +00051  public:
    +00053   Thread();
    +00054 
    +00056   ~Thread();
     00057 
    -00062   bool start( THREAD_FUNCTION routine, void * ptr = NULL );
    -00063 
    +00059 
    +00064   bool start( THREAD_FUNCTION routine, void * ptr = NULL );
     00065 
    -00072   bool cancel(void);
    -00073 
    +00067 
    +00074   bool cancel(void);
     00075 
    -00078   bool wait(void);
    -00079 
    +00077 
    +00080   bool wait(void);
     00081 
    -00086   void testCancel(void);
    -00087 
    -00088  protected:
    +00083 
    +00088   void testCancel(void);
     00089 
    -00090   THREAD_HANDLE thread_;
    +00090  protected:
     00091 
    -00092 };
    +00092   THREAD_HANDLE thread_;
     00093 
    -00094 #endif
    -

    +00094 }; +00095 +00096 } // stk namespace +00097 +00098 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/TubeBell_8h-source.html b/doc/html/TubeBell_8h-source.html index 10186cf..7e0f59e 100644 --- a/doc/html/TubeBell_8h-source.html +++ b/doc/html/TubeBell_8h-source.html @@ -8,38 +8,69 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    TubeBell.h

    00001 /***************************************************/
    -00031 /***************************************************/
    -00032 
    -00033 #ifndef STK_TUBEBELL_H
    -00034 #define STK_TUBEBELL_H
    -00035 
    -00036 #include "FM.h"
    -00037 
    -00038 class TubeBell : public FM
    -00039 {
    -00040  public:
    -00042 
    -00045   TubeBell();
    -00046 
    -00048   ~TubeBell();
    -00049 
    -00051   void noteOn(StkFloat frequency, StkFloat amplitude);
    -00052 
    -00053  protected:
    +
    +  
    +
    +

    TubeBell.h

    00001 #ifndef STK_TUBEBELL_H
    +00002 #define STK_TUBEBELL_H
    +00003 
    +00004 #include "FM.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00038 /***************************************************/
    +00039 
    +00040 class TubeBell : public FM
    +00041 {
    +00042  public:
    +00044 
    +00047   TubeBell( void );
    +00048 
    +00050   ~TubeBell( void );
    +00051 
    +00053   void noteOn( StkFloat frequency, StkFloat amplitude );
     00054 
    -00055   StkFloat computeSample( void );
    -00056 };
    +00056   StkFloat tick( unsigned int channel = 0 );
     00057 
    -00058 #endif
    -

    +00058 protected: +00059 +00060 }; +00061 +00062 inline StkFloat TubeBell :: tick( unsigned int ) +00063 { +00064 StkFloat temp, temp2; +00065 +00066 temp = gains_[1] * adsr_[1]->tick() * waves_[1]->tick(); +00067 temp = temp * control1_; +00068 +00069 waves_[0]->addPhaseOffset( temp ); +00070 waves_[3]->addPhaseOffset( twozero_.lastOut() ); +00071 temp = gains_[3] * adsr_[3]->tick() * waves_[3]->tick(); +00072 twozero_.tick( temp ); +00073 +00074 waves_[2]->addPhaseOffset( temp ); +00075 temp = ( 1.0 - (control2_ * 0.5)) * gains_[0] * adsr_[0]->tick() * waves_[0]->tick(); +00076 temp += control2_ * 0.5 * gains_[2] * adsr_[2]->tick() * waves_[2]->tick(); +00077 +00078 // Calculate amplitude modulation and apply it to output. +00079 temp2 = vibrato_.tick() * modDepth_; +00080 temp = temp * (1.0 + temp2); +00081 +00082 lastFrame_[0] = temp * 0.5; +00083 return lastFrame_[0]; +00084 } +00085 +00086 } // stk namespace +00087 +00088 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/TwoPole_8h-source.html b/doc/html/TwoPole_8h-source.html index 75be760..5f66494 100644 --- a/doc/html/TwoPole_8h-source.html +++ b/doc/html/TwoPole_8h-source.html @@ -8,61 +8,120 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    TwoPole.h

    00001 /***************************************************/
    -00013 /***************************************************/
    -00014 
    -00015 #ifndef STK_TWOPOLE_H
    -00016 #define STK_TWOPOLE_H
    -00017 
    -00018 #include "Filter.h"
    +
    +  
    +
    +

    TwoPole.h

    00001 #ifndef STK_TWOPOLE_H
    +00002 #define STK_TWOPOLE_H
    +00003 
    +00004 #include "Filter.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00018 /***************************************************/
     00019 
    -00020 class TwoPole : protected Filter
    +00020 class TwoPole : public Filter
     00021 {
     00022  public:
     00023 
    -00025   TwoPole();
    +00025   TwoPole( void );
     00026 
    -00028   ~TwoPole();
    +00028   ~TwoPole();
     00029 
    -00031   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
    +00031   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
     00032 
    -00034   void clear(void);
    +00034   void setB0( StkFloat b0 ) { b_[0] = b0; };
     00035 
    -00037   void setB0(StkFloat b0);
    +00037   void setA1( StkFloat a1 ) { a_[1] = a1; };
     00038 
    -00040   void setA1(StkFloat a1);
    +00040   void setA2( StkFloat a2 ) { a_[2] = a2; };
     00041 
    -00043   void setA2(StkFloat a2);
    +00043   void setCoefficients( StkFloat b0, StkFloat a1, StkFloat a2, bool clearState = false );
     00044 
     00046 
    -00059   void setResonance(StkFloat frequency, StkFloat radius, bool normalize = false);
    +00059   void setResonance(StkFloat frequency, StkFloat radius, bool normalize = false);
     00060 
    -00062 
    -00066   void setGain(StkFloat gain);
    -00067 
    -00069   StkFloat getGain(void) const;
    -00070 
    -00072   StkFloat lastOut(void) const;
    -00073 
    -00075   StkFloat tick(StkFloat sample);
    -00076 
    -00078 
    -00084   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    -00085 
    -00086  protected:
    -00087 
    -00088   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
    -00089 };
    +00062   StkFloat lastOut( void ) const { return lastFrame_[0]; };
    +00063 
    +00065   StkFloat tick( StkFloat input );
    +00066 
    +00068 
    +00076   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    +00077 
    +00079 
    +00087   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
    +00088 
    +00089  protected:
     00090 
    -00091 #endif
    -

    +00091 virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate ); +00092 }; +00093 +00094 inline StkFloat TwoPole :: tick( StkFloat input ) +00095 { +00096 inputs_[0] = gain_ * input; +00097 lastFrame_[0] = b_[0] * inputs_[0] - a_[1] * outputs_[1] - a_[2] * outputs_[2]; +00098 outputs_[2] = outputs_[1]; +00099 outputs_[1] = lastFrame_[0]; +00100 +00101 return lastFrame_[0]; +00102 } +00103 +00104 inline StkFrames& TwoPole :: tick( StkFrames& frames, unsigned int channel ) +00105 { +00106 #if defined(_STK_DEBUG_) +00107 if ( channel >= frames.channels() ) { +00108 errorString_ << "TwoPole::tick(): channel and StkFrames arguments are incompatible!"; +00109 handleError( StkError::FUNCTION_ARGUMENT ); +00110 } +00111 #endif +00112 +00113 StkFloat *samples = &frames[channel]; +00114 unsigned int hop = frames.channels(); +00115 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00116 inputs_[0] = gain_ * *samples; +00117 *samples = b_[0] * inputs_[0] - a_[1] * outputs_[1] - a_[2] * outputs_[2]; +00118 outputs_[2] = outputs_[1]; +00119 outputs_[1] = *samples; +00120 } +00121 +00122 lastFrame_[0] = outputs_[1]; +00123 return frames; +00124 } +00125 +00126 inline StkFrames& TwoPole :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00127 { +00128 #if defined(_STK_DEBUG_) +00129 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00130 errorString_ << "TwoPole::tick(): channel and StkFrames arguments are incompatible!"; +00131 handleError( StkError::FUNCTION_ARGUMENT ); +00132 } +00133 #endif +00134 +00135 StkFloat *iSamples = &iFrames[iChannel]; +00136 StkFloat *oSamples = &oFrames[oChannel]; +00137 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00138 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00139 inputs_[0] = gain_ * *iSamples; +00140 *oSamples = b_[0] * inputs_[0] - a_[1] * outputs_[1] - a_[2] * outputs_[2]; +00141 outputs_[2] = outputs_[1]; +00142 outputs_[1] = *oSamples; +00143 } +00144 +00145 lastFrame_[0] = outputs_[1]; +00146 return iFrames; +00147 } +00148 +00149 } // stk namespace +00150 +00151 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/TwoZero_8h-source.html b/doc/html/TwoZero_8h-source.html index cc0c252..77367ed 100644 --- a/doc/html/TwoZero_8h-source.html +++ b/doc/html/TwoZero_8h-source.html @@ -8,60 +8,119 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    TwoZero.h

    00001 /***************************************************/
    -00013 /***************************************************/
    -00014 
    -00015 #ifndef STK_TWOZERO_H
    -00016 #define STK_TWOZERO_H
    -00017 
    -00018 #include "Filter.h"
    +
    +  
    +
    +

    TwoZero.h

    00001 #ifndef STK_TWOZERO_H
    +00002 #define STK_TWOZERO_H
    +00003 
    +00004 #include "Filter.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00018 /***************************************************/
     00019 
    -00020 class TwoZero : protected Filter
    +00020 class TwoZero : public Filter
     00021 {
     00022  public:
    -00024   TwoZero();
    +00024   TwoZero();
     00025 
    -00027   ~TwoZero();
    +00027   ~TwoZero();
     00028 
    -00030   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
    +00030   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
     00031 
    -00033   void clear(void);
    +00033   void setB0( StkFloat b0 ) { b_[0] = b0; };
     00034 
    -00036   void setB0(StkFloat b0);
    +00036   void setB1( StkFloat b1 ) { b_[1] = b1; };
     00037 
    -00039   void setB1(StkFloat b1);
    +00039   void setB2( StkFloat b2 ) { b_[2] = b2; };
     00040 
    -00042   void setB2(StkFloat b2);
    +00042   void setCoefficients( StkFloat b0, StkFloat b1, StkFloat b2, bool clearState = false );
     00043 
     00045 
    -00055   void setNotch(StkFloat frequency, StkFloat radius);
    +00055   void setNotch( StkFloat frequency, StkFloat radius );
     00056 
    -00058 
    -00062   void setGain(StkFloat gain);
    -00063 
    -00065   StkFloat getGain(void) const;
    -00066 
    -00068   StkFloat lastOut(void) const;
    -00069 
    -00071   StkFloat tick(StkFloat sample);
    -00072 
    -00074 
    -00080   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    -00081 
    -00082  protected:
    -00083 
    -00084   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
    -00085 };
    +00058   StkFloat lastOut( void ) const { return lastFrame_[0]; };
    +00059 
    +00061   StkFloat tick( StkFloat input );
    +00062 
    +00064 
    +00072   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    +00073 
    +00075 
    +00083   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
    +00084 
    +00085  protected:
     00086 
    -00087 #endif
    -

    +00087 void sampleRateChanged( StkFloat newRate, StkFloat oldRate ); +00088 }; +00089 +00090 inline StkFloat TwoZero :: tick( StkFloat input ) +00091 { +00092 inputs_[0] = gain_ * input; +00093 lastFrame_[0] = b_[2] * inputs_[2] + b_[1] * inputs_[1] + b_[0] * inputs_[0]; +00094 inputs_[2] = inputs_[1]; +00095 inputs_[1] = inputs_[0]; +00096 +00097 return lastFrame_[0]; +00098 } +00099 +00100 inline StkFrames& TwoZero :: tick( StkFrames& frames, unsigned int channel ) +00101 { +00102 #if defined(_STK_DEBUG_) +00103 if ( channel >= frames.channels() ) { +00104 errorString_ << "TwoZero::tick(): channel and StkFrames arguments are incompatible!"; +00105 handleError( StkError::FUNCTION_ARGUMENT ); +00106 } +00107 #endif +00108 +00109 StkFloat *samples = &frames[channel]; +00110 unsigned int hop = frames.channels(); +00111 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00112 inputs_[0] = gain_ * *samples; +00113 *samples = b_[2] * inputs_[2] + b_[1] * inputs_[1] + b_[0] * inputs_[0]; +00114 inputs_[2] = inputs_[1]; +00115 inputs_[1] = inputs_[0]; +00116 } +00117 +00118 lastFrame_[0] = *(samples-hop); +00119 return frames; +00120 } +00121 +00122 inline StkFrames& TwoZero :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel ) +00123 { +00124 #if defined(_STK_DEBUG_) +00125 if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) { +00126 errorString_ << "TwoZero::tick(): channel and StkFrames arguments are incompatible!"; +00127 handleError( StkError::FUNCTION_ARGUMENT ); +00128 } +00129 #endif +00130 +00131 StkFloat *iSamples = &iFrames[iChannel]; +00132 StkFloat *oSamples = &oFrames[oChannel]; +00133 unsigned int iHop = iFrames.channels(), oHop = oFrames.channels(); +00134 for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) { +00135 inputs_[0] = gain_ * *iSamples; +00136 *oSamples = b_[2] * inputs_[2] + b_[1] * inputs_[1] + b_[0] * inputs_[0]; +00137 inputs_[2] = inputs_[1]; +00138 inputs_[1] = inputs_[0]; +00139 } +00140 +00141 lastFrame_[0] = *(oSamples-oHop); +00142 return iFrames; +00143 } +00144 +00145 } // stk namespace +00146 +00147 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/UdpSocket_8h-source.html b/doc/html/UdpSocket_8h-source.html index 93de775..5d7d18c 100644 --- a/doc/html/UdpSocket_8h-source.html +++ b/doc/html/UdpSocket_8h-source.html @@ -8,51 +8,57 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    UdpSocket.h

    00001 /***************************************************/
    -00022 /***************************************************/
    -00023 
    -00024 #ifndef STK_UDPSOCKET_H
    -00025 #define STK_UDPSOCKET_H
    -00026 
    -00027 #include "Socket.h"
    -00028 
    -00029 class UdpSocket : public Socket
    -00030 {
    -00031  public:
    -00033 
    -00036   UdpSocket( int port = 2006 );
    -00037 
    -00039   ~UdpSocket();
    -00040 
    +
    +  
    +
    +

    UdpSocket.h

    00001 #ifndef STK_UDPSOCKET_H
    +00002 #define STK_UDPSOCKET_H
    +00003 
    +00004 #include "Socket.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00029 /***************************************************/
    +00030 
    +00031 class UdpSocket : public Socket
    +00032 {
    +00033  public:
    +00035 
    +00038   UdpSocket( int port = 2006 );
    +00039 
    +00041   ~UdpSocket();
     00042 
    -00045   void setDestination( int port = 2006, std::string hostname = "localhost" );
    -00046 
    +00044 
    +00047   void setDestination( int port = 2006, std::string hostname = "localhost" );
     00048 
    -00051   int writeBuffer(const void *buffer, long bufferSize, int flags = 0);
    -00052 
    -00054   int readBuffer(void *buffer, long bufferSize, int flags = 0);
    -00055 
    -00057   int writeBufferTo(const void *buffer, long bufferSize, int port, std::string hostname = "localhost", int flags = 0 );
    -00058 
    -00059  protected:
    +00050 
    +00053   int writeBuffer(const void *buffer, long bufferSize, int flags = 0);
    +00054 
    +00056   int readBuffer(void *buffer, long bufferSize, int flags = 0);
    +00057 
    +00059   int writeBufferTo(const void *buffer, long bufferSize, int port, std::string hostname = "localhost", int flags = 0 );
     00060 
    +00061  protected:
     00062 
    -00065   void setAddress( struct sockaddr_in *address, int port = 2006, std::string hostname = "localhost" );
    -00066 
    -00067   struct sockaddr_in address_;
    -00068   bool validAddress_;
    -00069 
    -00070 };
    +00064 
    +00067   void setAddress( struct sockaddr_in *address, int port = 2006, std::string hostname = "localhost" );
    +00068 
    +00069   struct sockaddr_in address_;
    +00070   bool validAddress_;
     00071 
    -00072 #endif // defined(STK_UDPSOCKET_H)
    -

    +00072 }; +00073 +00074 } // stk namespace +00075 +00076 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/Vector3D_8h-source.html b/doc/html/Vector3D_8h-source.html index 1a5f057..ad049b5 100644 --- a/doc/html/Vector3D_8h-source.html +++ b/doc/html/Vector3D_8h-source.html @@ -8,53 +8,68 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Vector3D.h

    00001 /***************************************************/
    +
    +  
    +
    +

    Vector3D.h

    00001 #ifndef STK_VECTOR3D_H
    +00002 #define STK_VECTOR3D_H
    +00003 
    +00004 #include "Stk.h"
    +00005 #include <cmath>
    +00006 
    +00007 namespace stk {
    +00008 
     00009 /***************************************************/
    -00010 
    -00011 #ifndef STK_VECTOR3D_H
    -00012 #define STK_VECTOR3D_H
    -00013 
    -00014 #include "Stk.h"
    -00015 
    -00016 class Vector3D : public Stk
    -00017 {
    +00017 /***************************************************/
     00018 
    -00019 public:
    -00021   Vector3D(StkFloat initX=0.0, StkFloat initY=0.0, StkFloat initZ=0.0);
    -00022 
    -00024   ~Vector3D();
    +00019 class Vector3D : public Stk
    +00020 {
    +00021 
    +00022 public:
    +00024   Vector3D( StkFloat x = 0.0, StkFloat y = 0.0, StkFloat z = 0.0 ) { setXYZ( x, y, z ); };
     00025 
    -00027   StkFloat getX();
    +00027   StkFloat getX( void ) { return X_; };
     00028 
    -00030   StkFloat getY();
    +00030   StkFloat getY( void ) { return Y_; };
     00031 
    -00033   StkFloat getZ();
    +00033   StkFloat getZ( void ) { return Z_; };
     00034 
    -00036   StkFloat getLength();
    +00036   StkFloat getLength( void );
     00037 
    -00039   void setXYZ(StkFloat x, StkFloat y, StkFloat z);
    +00039   void setXYZ( StkFloat x, StkFloat y, StkFloat z ) { X_ = x; Y_ = y; Z_ = z; };
     00040 
    -00042   void setX(StkFloat x);
    +00042   void setX( StkFloat x ) { X_ = x; };
     00043 
    -00045   void setY(StkFloat y);
    +00045   void setY( StkFloat y ) { Y_ = y; };
     00046 
    -00048   void setZ(StkFloat z);
    +00048   void setZ( StkFloat z ) { Z_ = z; };
     00049 
     00050 protected:
    -00051   StkFloat myX_;
    -00052   StkFloat myY_;
    -00053   StkFloat myZ_;
    +00051   StkFloat X_;
    +00052   StkFloat Y_;
    +00053   StkFloat Z_;
     00054 };
     00055 
    -00056 #endif
    -

    +00056 inline StkFloat Vector3D :: getLength( void ) +00057 { +00058 StkFloat temp; +00059 temp = X_ * X_; +00060 temp += Y_ * Y_; +00061 temp += Z_ * Z_; +00062 temp = sqrt( temp ); +00063 return temp; +00064 } +00065 +00066 } // stk namespace +00067 +00068 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/VoicForm_8h-source.html b/doc/html/VoicForm_8h-source.html index d75239c..fbf7118 100644 --- a/doc/html/VoicForm_8h-source.html +++ b/doc/html/VoicForm_8h-source.html @@ -8,74 +8,99 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    VoicForm.h

    00001 /***************************************************/
    -00026 /***************************************************/
    -00027 
    -00028 #ifndef STK_VOICFORM_H
    -00029 #define STK_VOICFORM_H
    -00030 
    -00031 #include "Instrmnt.h"
    -00032 #include "Envelope.h"
    -00033 #include "Noise.h"
    -00034 #include "SingWave.h"
    -00035 #include "FormSwep.h"
    -00036 #include "OnePole.h"
    -00037 #include "OneZero.h"
    -00038 
    -00039 class VoicForm : public Instrmnt
    -00040 {
    -00041   public:
    -00043 
    -00046   VoicForm();
    -00047 
    -00049   ~VoicForm();
    -00050 
    -00052   void clear();
    -00053 
    -00055   void setFrequency(StkFloat frequency);
    -00056 
    -00058   bool setPhoneme(const char* phoneme);
    -00059 
    -00061   void setVoiced(StkFloat vGain);
    -00062 
    -00064   void setUnVoiced(StkFloat nGain);
    -00065 
    -00067   void setFilterSweepRate(unsigned int whichOne, StkFloat rate);
    -00068 
    -00070   void setPitchSweepRate(StkFloat rate);
    -00071 
    -00073   void speak();
    -00074 
    -00076   void quiet();
    -00077 
    -00079   void noteOn(StkFloat frequency, StkFloat amplitude);
    -00080 
    -00082   void noteOff(StkFloat amplitude);
    -00083 
    -00085   void controlChange(int number, StkFloat value);
    -00086 
    -00087 protected:
    +
    +  
    +
    +

    VoicForm.h

    00001 #ifndef STK_VOICFORM_H
    +00002 #define STK_VOICFORM_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "Envelope.h"
    +00006 #include "Noise.h"
    +00007 #include "SingWave.h"
    +00008 #include "FormSwep.h"
    +00009 #include "OnePole.h"
    +00010 #include "OneZero.h"
    +00011 
    +00012 namespace stk {
    +00013 
    +00014 /***************************************************/
    +00039 /***************************************************/
    +00040 
    +00041 class VoicForm : public Instrmnt
    +00042 {
    +00043   public:
    +00045 
    +00048   VoicForm( void );
    +00049 
    +00051   ~VoicForm( void );
    +00052 
    +00054   void clear( void );
    +00055 
    +00057   void setFrequency( StkFloat frequency );
    +00058 
    +00060   bool setPhoneme( const char* phoneme );
    +00061 
    +00063   void setVoiced( StkFloat vGain ) { voiced_->setGainTarget(vGain); };
    +00064 
    +00066   void setUnVoiced( StkFloat nGain ) { noiseEnv_.setTarget(nGain); };
    +00067 
    +00069   void setFilterSweepRate( unsigned int whichOne, StkFloat rate );
    +00070 
    +00072   void setPitchSweepRate( StkFloat rate ) { voiced_->setSweepRate(rate); };
    +00073 
    +00075   void speak( void ) { voiced_->noteOn(); };
    +00076 
    +00078   void quiet( void );
    +00079 
    +00081   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00082 
    +00084   void noteOff( StkFloat amplitude ) { this->quiet(); };
    +00085 
    +00087   void controlChange( int number, StkFloat value );
     00088 
    -00089   StkFloat computeSample( void );
    -00090 
    -00091   SingWave *voiced_;
    -00092   Noise    noise_;
    -00093   Envelope noiseEnv_;
    -00094   FormSwep filters_[4];
    -00095   OnePole  onepole_;
    -00096   OneZero  onezero_;
    -00097 
    -00098 };
    -00099 
    -00100 #endif
    -

    +00090 StkFloat tick( unsigned int channel = 0 ); +00091 +00092 protected: +00093 +00094 SingWave *voiced_; +00095 Noise noise_; +00096 Envelope noiseEnv_; +00097 FormSwep filters_[4]; +00098 OnePole onepole_; +00099 OneZero onezero_; +00100 +00101 }; +00102 +00103 inline StkFloat VoicForm :: tick( unsigned int ) +00104 { +00105 StkFloat temp; +00106 temp = onepole_.tick( onezero_.tick( voiced_->tick() ) ); +00107 temp += noiseEnv_.tick() * noise_.tick(); +00108 lastFrame_[0] = filters_[0].tick(temp); +00109 lastFrame_[0] += filters_[1].tick(temp); +00110 lastFrame_[0] += filters_[2].tick(temp); +00111 lastFrame_[0] += filters_[3].tick(temp); +00112 /* +00113 temp += noiseEnv_.tick() * noise_.tick(); +00114 lastFrame_[0] = filters_[0].tick(temp); +00115 lastFrame_[0] = filters_[1].tick(lastFrame_[0]); +00116 lastFrame_[0] = filters_[2].tick(lastFrame_[0]); +00117 lastFrame_[0] = filters_[3].tick(lastFrame_[0]); +00118 */ +00119 return lastFrame_[0]; +00120 } +00121 +00122 } // stk namespace +00123 +00124 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/Voicer_8h-source.html b/doc/html/Voicer_8h-source.html index b62a348..9079974 100644 --- a/doc/html/Voicer_8h-source.html +++ b/doc/html/Voicer_8h-source.html @@ -8,99 +8,153 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Voicer.h

    00001 /***************************************************/
    -00030 /***************************************************/
    -00031 
    -00032 #ifndef STK_VOICER_H
    -00033 #define STK_VOICER_H
    -00034 
    -00035 #include "Instrmnt.h"
    -00036 #include <vector>
    -00037 
    -00038 class Voicer : public Stk
    -00039 {
    -00040 public:
    -00042   Voicer( StkFloat decayTime=0.2 );
    -00043 
    -00045   ~Voicer();
    +
    +  
    +
    +

    Voicer.h

    00001 #ifndef STK_VOICER_H
    +00002 #define STK_VOICER_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include <vector>
    +00006 
    +00007 namespace stk {
    +00008 
    +00009 /***************************************************/
    +00032 /***************************************************/
    +00033 
    +00034 class Voicer : public Stk
    +00035 {
    +00036  public:
    +00038   Voicer( StkFloat decayTime = 0.2 );
    +00039 
    +00041 
    +00045   void addInstrument( Instrmnt *instrument, int group=0 );
     00046 
     00048 
    -00052   void addInstrument( Instrmnt *instrument, int channel=0 );
    -00053 
    -00055 
    -00060   void removeInstrument( Instrmnt *instrument );
    -00061 
    -00063 
    -00071   long noteOn( StkFloat noteNumber, StkFloat amplitude, int channel=0 );
    -00072 
    -00074 
    -00077   void noteOff( StkFloat noteNumber, StkFloat amplitude, int channel=0 );
    -00078 
    -00080 
    -00083   void noteOff( long tag, StkFloat amplitude );
    -00084 
    -00086 
    -00089   void setFrequency( StkFloat noteNumber, int channel=0 );
    -00090 
    +00053   void removeInstrument( Instrmnt *instrument );
    +00054 
    +00056 
    +00064   long noteOn( StkFloat noteNumber, StkFloat amplitude, int group=0 );
    +00065 
    +00067 
    +00070   void noteOff( StkFloat noteNumber, StkFloat amplitude, int group=0 );
    +00071 
    +00073 
    +00076   void noteOff( long tag, StkFloat amplitude );
    +00077 
    +00079 
    +00082   void setFrequency( StkFloat noteNumber, int group=0 );
    +00083 
    +00085 
    +00088   void setFrequency( long tag, StkFloat noteNumber );
    +00089 
    +00091   void pitchBend( StkFloat value, int group=0 );
     00092 
    -00095   void setFrequency( long tag, StkFloat noteNumber );
    -00096 
    -00098   void pitchBend( StkFloat value, int channel=0 );
    -00099 
    -00101   void pitchBend( long tag, StkFloat value );
    -00102 
    -00104   void controlChange( int number, StkFloat value, int channel=0 );
    -00105 
    -00107   void controlChange( long tag, int number, StkFloat value );
    -00108 
    -00110   void silence( void );
    -00111 
    -00113   StkFloat tick();
    -00114 
    -00116   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
    -00117 
    -00119 
    -00125   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
    -00126 
    -00128   StkFloat lastOut() const;
    -00129 
    -00131   StkFloat lastOutLeft() const;
    +00094   void pitchBend( long tag, StkFloat value );
    +00095 
    +00097   void controlChange( int number, StkFloat value, int group=0 );
    +00098 
    +00100   void controlChange( long tag, int number, StkFloat value );
    +00101 
    +00103   void silence( void );
    +00104 
    +00106   unsigned int channelsOut( void ) const { return lastFrame_.channels(); };
    +00107 
    +00109   const StkFrames& lastFrame( void ) const { return lastFrame_; };
    +00110 
    +00112 
    +00120   StkFloat lastOut( unsigned int channel = 0 );
    +00121 
    +00123 
    +00131   StkFloat tick( unsigned int channel = 0 );
     00132 
    -00134   StkFloat lastOutRight() const;
    -00135 
    -00136 protected:
    -00137 
    -00138   struct Voice {
    -00139     Instrmnt *instrument;
    -00140     long tag;
    -00141     StkFloat noteNumber;
    -00142     StkFloat frequency;
    -00143     int sounding;
    -00144     int channel;
    +00134 
    +00142   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    +00143 
    +00144  protected:
     00145 
    -00146     // Default constructor.
    -00147     Voice()
    -00148       :instrument(0), tag(0), noteNumber(-1.0), frequency(0.0),
    -00149          sounding(0), channel(0) {}
    -00150   };
    -00151 
    -00152   std::vector<Voice> voices_;
    -00153   long tags_;
    -00154   int muteTime_;
    -00155   StkFloat lastOutput_;
    -00156   StkFloat lastOutputLeft_;
    -00157   StkFloat lastOutputRight_;
    -00158 };
    -00159 
    -00160 #endif
    -

    +00146 struct Voice { +00147 Instrmnt *instrument; +00148 long tag; +00149 StkFloat noteNumber; +00150 StkFloat frequency; +00151 int sounding; +00152 int group; +00153 +00154 // Default constructor. +00155 Voice() +00156 :instrument(0), tag(0), noteNumber(-1.0), frequency(0.0), sounding(0), group(0) {} +00157 }; +00158 +00159 std::vector<Voice> voices_; +00160 long tags_; +00161 int muteTime_; +00162 StkFrames lastFrame_; +00163 }; +00164 +00165 inline StkFloat Voicer :: lastOut( unsigned int channel ) +00166 { +00167 #if defined(_STK_DEBUG_) +00168 if ( channel >= lastFrame_.channels() ) { +00169 errorString_ << "Voicer::lastOut(): channel argument is invalid!"; +00170 handleError( StkError::FUNCTION_ARGUMENT ); +00171 } +00172 #endif +00173 +00174 return lastFrame_[channel]; +00175 } +00176 +00177 +00178 inline StkFloat Voicer :: tick( unsigned int channel ) +00179 { +00180 unsigned int j; +00181 for ( j=0; j<lastFrame_.channels(); j++ ) lastFrame_[j] = 0.0; +00182 for ( unsigned int i=0; i<voices_.size(); i++ ) { +00183 if ( voices_[i].sounding != 0 ) { +00184 voices_[i].instrument->tick(); +00185 for ( j=0; j<voices_[i].instrument->channelsOut(); j++ ) lastFrame_[j] += voices_[i].instrument->lastOut( j ); +00186 } +00187 if ( voices_[i].sounding < 0 ) { +00188 voices_[i].sounding++; +00189 if ( voices_[i].sounding == 0 ) +00190 voices_[i].noteNumber = -1; +00191 } +00192 } +00193 +00194 return lastFrame_[channel]; +00195 } +00196 +00197 inline StkFrames& Voicer :: tick( StkFrames& frames, unsigned int channel ) +00198 { +00199 unsigned int nChannels = lastFrame_.channels(); +00200 #if defined(_STK_DEBUG_) +00201 if ( channel > frames.channels() - nChannels ) { +00202 errorString_ << "Voicer::tick(): channel and StkFrames arguments are incompatible!"; +00203 handleError( StkError::FUNCTION_ARGUMENT ); +00204 } +00205 #endif +00206 +00207 StkFloat *samples = &frames[channel]; +00208 unsigned int j, hop = frames.channels() - nChannels; +00209 for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) { +00210 tick(); +00211 for ( j=0; j<nChannels; j++ ) +00212 *samples++ = lastFrame_[j]; +00213 } +00214 +00215 return frames; +00216 } +00217 +00218 } // stk namespace +00219 +00220 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/WaveLoop_8h-source.html b/doc/html/WaveLoop_8h-source.html deleted file mode 100644 index 9f9631b..0000000 --- a/doc/html/WaveLoop_8h-source.html +++ /dev/null @@ -1,68 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - - -

    WaveLoop.h

    00001 /***************************************************/
    -00017 /***************************************************/
    -00018 
    -00019 #ifndef STK_WAVELOOP_H
    -00020 #define STK_WAVELOOP_H
    -00021 
    -00022 #include "FileWvIn.h"
    -00023 
    -00024 class WaveLoop : public FileWvIn
    -00025 {
    -00026 public:
    -00028   WaveLoop( unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
    -00029 
    -00031   WaveLoop( std::string fileName, bool raw = false, bool doNormalize = true,
    -00032             unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
    -00033 
    -00035   virtual ~WaveLoop();
    -00036 
    -00038 
    -00047   void openFile( std::string fileName, bool raw = false, bool doNormalize = true );
    -00048 
    -00050 
    -00053   void setRate( StkFloat rate );
    -00054 
    -00056 
    -00062   void setFrequency( StkFloat frequency );
    -00063 
    -00065   void addTime( StkFloat time );
    -00066 
    -00068 
    -00073   void addPhase( StkFloat angle );
    -00074 
    -00076 
    -00081   void addPhaseOffset( StkFloat angle );
    -00082 
    -00083 protected:
    -00084 
    -00085   virtual void computeFrame( void );
    -00086   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
    -00087 
    -00088   StkFrames firstFrame_;
    -00089   StkFloat phaseOffset_;
    -00090 
    -00091 };
    -00092 
    -00093 #endif
    -

    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/Whistle_8h-source.html b/doc/html/Whistle_8h-source.html index 5bfa033..a6add69 100644 --- a/doc/html/Whistle_8h-source.html +++ b/doc/html/Whistle_8h-source.html @@ -8,75 +8,80 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Whistle.h

    00001 /***************************************************/
    -00017 /***************************************************/
    -00018 
    -00019 #ifndef STK_WHISTLE_H
    -00020 #define STK_WHISTLE_H
    -00021 
    -00022 #include "Instrmnt.h"
    -00023 #include "Sphere.h"
    -00024 #include "Vector3D.h"
    -00025 #include "Noise.h"
    -00026 #include "SineWave.h"
    -00027 #include "OnePole.h"
    -00028 #include "Envelope.h"
    -00029 
    -00030 class Whistle : public Instrmnt
    -00031 {
    -00032 public:
    -00034 
    -00037   Whistle();
    -00038 
    -00040   ~Whistle();
    -00041 
    -00043   void clear();
    -00044 
    -00046   void setFrequency(StkFloat frequency);
    -00047 
    -00049   void startBlowing(StkFloat amplitude, StkFloat rate);
    -00050 
    -00052   void stopBlowing(StkFloat rate);
    -00053 
    -00055   void noteOn(StkFloat frequency, StkFloat amplitude);
    -00056 
    -00058   void noteOff(StkFloat amplitude);
    -00059 
    -00061   void controlChange(int number, StkFloat value);
    -00062 
    -00063 protected:
    +
    +  
    +
    +

    Whistle.h

    00001 #ifndef STK_WHISTLE_H
    +00002 #define STK_WHISTLE_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "Sphere.h"
    +00006 #include "Vector3D.h"
    +00007 #include "Noise.h"
    +00008 #include "SineWave.h"
    +00009 #include "OnePole.h"
    +00010 #include "Envelope.h"
    +00011 
    +00012 namespace stk {
    +00013 
    +00014 /***************************************************/
    +00030 /***************************************************/
    +00031 
    +00032 class Whistle : public Instrmnt
    +00033 {
    +00034 public:
    +00036 
    +00039   Whistle( void );
    +00040 
    +00042   ~Whistle( void );
    +00043 
    +00045   void clear( void );
    +00046 
    +00048   void setFrequency( StkFloat frequency );
    +00049 
    +00051   void startBlowing( StkFloat amplitude, StkFloat rate );
    +00052 
    +00054   void stopBlowing( StkFloat rate );
    +00055 
    +00057   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00058 
    +00060   void noteOff( StkFloat amplitude );
    +00061 
    +00063   void controlChange( int number, StkFloat value );
     00064 
    -00065   StkFloat computeSample( void );
    -00066 
    -00067          Vector3D *tempVectorP_;
    -00068   Vector3D tempVector_;
    -00069   OnePole onepole_;
    -00070   Noise noise_;
    -00071          Envelope envelope_;
    -00072   Sphere can_;           // Declare a Spherical "can".
    -00073   Sphere pea_, bumper_;  // One spherical "pea", and a spherical "bumper".
    -00074 
    -00075   SineWave sine_;
    -00076 
    -00077   StkFloat baseFrequency_;
    -00078   StkFloat noiseGain_;
    -00079   StkFloat fippleFreqMod_;
    -00080          StkFloat fippleGainMod_;
    -00081          StkFloat blowFreqMod_;
    -00082          StkFloat tickSize_;
    -00083          StkFloat canLoss_;
    -00084          int subSample_, subSampCount_;
    -00085 };
    -00086 
    -00087 #endif
    -

    +00066 StkFloat tick( unsigned int channel = 0 ); +00067 +00068 protected: +00069 +00070 Vector3D *tempVectorP_; +00071 Vector3D tempVector_; +00072 OnePole onepole_; +00073 Noise noise_; +00074 Envelope envelope_; +00075 Sphere can_; // Declare a Spherical "can". +00076 Sphere pea_, bumper_; // One spherical "pea", and a spherical "bumper". +00077 +00078 SineWave sine_; +00079 +00080 StkFloat baseFrequency_; +00081 StkFloat noiseGain_; +00082 StkFloat fippleFreqMod_; +00083 StkFloat fippleGainMod_; +00084 StkFloat blowFreqMod_; +00085 StkFloat tickSize_; +00086 StkFloat canLoss_; +00087 int subSample_, subSampCount_; +00088 }; +00089 +00090 } // stk namespace +00091 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/Wurley_8h-source.html b/doc/html/Wurley_8h-source.html index a6362d6..740c9a3 100644 --- a/doc/html/Wurley_8h-source.html +++ b/doc/html/Wurley_8h-source.html @@ -8,40 +8,71 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    Wurley.h

    00001 /***************************************************/
    -00031 /***************************************************/
    -00032 
    -00033 #ifndef STK_WURLEY_H
    -00034 #define STK_WURLEY_H
    -00035 
    -00036 #include "FM.h"
    -00037 
    -00038 class Wurley : public FM
    -00039 {
    -00040  public:
    -00042 
    -00045   Wurley();
    -00046 
    -00048   ~Wurley();
    -00049 
    -00051   void setFrequency(StkFloat frequency);
    -00052 
    -00054   void noteOn(StkFloat frequency, StkFloat amplitude);
    -00055 
    -00056  protected:
    +
    +  
    +
    +

    Wurley.h

    00001 #ifndef STK_WURLEY_H
    +00002 #define STK_WURLEY_H
    +00003 
    +00004 #include "FM.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00038 /***************************************************/
    +00039 
    +00040 class Wurley : public FM
    +00041 {
    +00042  public:
    +00044 
    +00047   Wurley( void );
    +00048 
    +00050   ~Wurley( void );
    +00051 
    +00053   void setFrequency( StkFloat frequency );
    +00054 
    +00056   void noteOn( StkFloat frequency, StkFloat amplitude );
     00057 
    -00058   StkFloat computeSample( void );
    -00059 };
    +00059   StkFloat tick( unsigned int channel = 0 );
     00060 
    -00061 #endif
    -

    +00061 protected: +00062 +00063 }; +00064 +00065 inline StkFloat Wurley :: tick( unsigned int ) +00066 { +00067 StkFloat temp, temp2; +00068 +00069 temp = gains_[1] * adsr_[1]->tick() * waves_[1]->tick(); +00070 temp = temp * control1_; +00071 +00072 waves_[0]->addPhaseOffset( temp ); +00073 waves_[3]->addPhaseOffset( twozero_.lastOut() ); +00074 temp = gains_[3] * adsr_[3]->tick() * waves_[3]->tick(); +00075 twozero_.tick(temp); +00076 +00077 waves_[2]->addPhaseOffset( temp ); +00078 temp = ( 1.0 - (control2_ * 0.5)) * gains_[0] * adsr_[0]->tick() * waves_[0]->tick(); +00079 temp += control2_ * 0.5 * gains_[2] * adsr_[2]->tick() * waves_[2]->tick(); +00080 +00081 // Calculate amplitude modulation and apply it to output. +00082 temp2 = vibrato_.tick() * modDepth_; +00083 temp = temp * (1.0 + temp2); +00084 +00085 lastFrame_[0] = temp * 0.5; +00086 return lastFrame_[0]; +00087 } +00088 +00089 } // stk namespace +00090 +00091 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/WvIn_8h-source.html b/doc/html/WvIn_8h-source.html index e78db59..4007513 100644 --- a/doc/html/WvIn_8h-source.html +++ b/doc/html/WvIn_8h-source.html @@ -8,60 +8,46 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    WvIn.h

    00001 /***************************************************/
    -00018 /***************************************************/
    -00019 
    -00020 #ifndef STK_WVIN_H
    -00021 #define STK_WVIN_H
    -00022 
    -00023 #include "Stk.h"
    -00024 #include <vector>
    -00025 
    -00026 class WvIn : public Stk
    -00027 {
    -00028 public:
    -00030   WvIn();
    -00031 
    -00033   virtual ~WvIn();
    -00034 
    -00036   unsigned int getChannels( void ) const { return data_.channels(); };
    -00037 
    -00039 
    -00042   StkFloat lastOut( void ) const;
    -00043 
    -00045 
    -00048   const StkFrames& lastFrame( void ) const { return lastOutputs_; };
    -00049 
    -00051 
    -00054   StkFloat tick( void );
    -00055 
    -00057 
    -00064   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    -00065 
    -00067 
    -00073   StkFrames& tickFrame( StkFrames& frames );
    -00074 
    -00075 protected:
    -00076 
    -00077   // This abstract function must be implemented in all subclasses.
    -00078   // It is used to get around a C++ problem with overloaded virtual
    -00079   // functions.
    -00080   virtual void computeFrame( void ) = 0;
    -00081 
    -00082   StkFrames data_;
    -00083   StkFrames lastOutputs_;
    -00084 
    -00085 };
    -00086 
    -00087 #endif
    -

    + + +
    +

    WvIn.h

    00001 #ifndef STK_WVIN_H
    +00002 #define STK_WVIN_H
    +00003 
    +00004 #include "Stk.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00017 /***************************************************/
    +00018 
    +00019 class WvIn : public Stk
    +00020 {
    +00021 public:
    +00023   unsigned int channelsOut( void ) const { return data_.channels(); };
    +00024 
    +00026 
    +00029   const StkFrames& lastFrame( void ) const { return lastFrame_; };
    +00030 
    +00032   virtual StkFloat tick( unsigned int channel = 0 ) = 0;
    +00033 
    +00034 protected:
    +00035 
    +00036   StkFrames data_;
    +00037   StkFrames lastFrame_;
    +00038 
    +00039 };
    +00040 
    +00041 } // stk namespace
    +00042 
    +00043 #endif
    +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/WvOut_8h-source.html b/doc/html/WvOut_8h-source.html index 5586a67..16c390d 100644 --- a/doc/html/WvOut_8h-source.html +++ b/doc/html/WvOut_8h-source.html @@ -8,67 +8,79 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    WvOut.h

    00001 /***************************************************/
    -00021 /***************************************************/
    -00022 
    -00023 #ifndef STK_WVOUT_H
    -00024 #define STK_WVOUT_H
    -00025 
    -00026 #include "Stk.h"
    -00027 #include <vector>
    +
    +  
    +
    +

    WvOut.h

    00001 #ifndef STK_WVOUT_H
    +00002 #define STK_WVOUT_H
    +00003 
    +00004 #include "Stk.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00020 /***************************************************/
    +00021 
    +00022 class WvOut : public Stk
    +00023 {
    +00024  public:
    +00025 
    +00027   WvOut( void ) : frameCounter_(0), clipping_(false) {};
     00028 
    -00029 class WvOut : public Stk
    -00030 {
    -00031  public:
    -00032 
    -00034   WvOut();
    -00035 
    -00037   virtual ~WvOut();
    -00038 
    -00040   unsigned long getFrameCount( void ) const;
    -00041 
    -00043   StkFloat getTime( void ) const;
    -00044 
    -00046   bool clipStatus( void ) { return clipping_; };
    -00047 
    -00049   void resetClipStatus( void ) { clipping_ = false; };
    -00050 
    -00052 
    -00055   void tick( const StkFloat sample );
    -00056 
    -00058 
    -00064   void tick( const StkFrames& frames, unsigned int channel = 0 );
    -00065 
    -00067 
    -00072   void tickFrame( const StkFrames& frames );
    -00073 
    -00074  protected:
    -00075 
    -00076   // These abstract functions must be implemented in all subclasses.
    -00077   // They are used to get around a C++ problem with overloaded virtual
    -00078   // functions.
    -00079   virtual void computeSample( const StkFloat sample ) = 0;
    -00080 
    -00081   virtual void computeFrames( const StkFrames& frames ) = 0;
    -00082 
    -00083   // Check for sample clipping and clamp.
    -00084   StkFloat& clipTest( StkFloat& sample );
    -00085 
    -00086   StkFrames data_;
    -00087   unsigned long frameCounter_;
    -00088   bool clipping_;
    -00089 
    -00090 };
    -00091 
    -00092 #endif
    -

    +00030 unsigned long getFrameCount( void ) const { return frameCounter_; }; +00031 +00033 StkFloat getTime( void ) const { return (StkFloat) frameCounter_ / Stk::sampleRate(); }; +00034 +00036 bool clipStatus( void ) { return clipping_; }; +00037 +00039 void resetClipStatus( void ) { clipping_ = false; }; +00040 +00042 +00045 virtual void tick( const StkFloat sample ) = 0; +00046 +00047 protected: +00048 +00049 // Check for sample clipping and clamp. +00050 StkFloat& clipTest( StkFloat& sample ); +00051 +00052 StkFrames data_; +00053 unsigned long frameCounter_; +00054 bool clipping_; +00055 +00056 }; +00057 +00058 inline StkFloat& WvOut :: clipTest( StkFloat& sample ) +00059 { +00060 bool clip = false; +00061 if ( sample > 1.0 ) { +00062 sample = 1.0; +00063 clip = true; +00064 } +00065 else if ( sample < -1.0 ) { +00066 sample = -1.0; +00067 clip = true; +00068 } +00069 +00070 if ( clip == true && clipping_ == false ) { +00071 // First occurrence of clipping since instantiation or reset. +00072 clipping_ = true; +00073 errorString_ << "WvOut: data value(s) outside +-1.0 detected ... clamping at outer bound!"; +00074 handleError( StkError::WARNING ); +00075 } +00076 +00077 return sample; +00078 } +00079 +00080 } // stk namespace +00081 +00082 #endif +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/annotated.html b/doc/html/annotated.html index 6b7c6f7..4d41fd8 100644 --- a/doc/html/annotated.html +++ b/doc/html/annotated.html @@ -8,118 +8,122 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    STK Class List

    Here are the classes, structs, unions and interfaces with brief descriptions: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
    +

    Class List

    Here are the classes, structs, unions and interfaces with brief descriptions:
    ADSRSTK ADSR envelope class
    AsympSTK asymptotic curve envelope class
    BandedWGBanded waveguide modeling class
    BeeThreeSTK Hammond-oid organ FM synthesis instrument
    BiQuadSTK biquad (two-pole, two-zero) filter class
    BlitSTK band-limited impulse train class
    BlitSawSTK band-limited sawtooth wave class
    BlitSquareSTK band-limited square wave class
    BlowBotlSTK blown bottle instrument class
    BlowHoleSTK clarinet physical model with one register hole and one tonehole
    BowedSTK bowed string instrument class
    BowTableSTK bowed string table class
    BrassSTK simple brass instrument class
    ChorusSTK chorus effect class
    ClarinetSTK clarinet physical model class
    DelaySTK non-interpolating delay line class
    DelayASTK allpass interpolating delay line class
    DelayLSTK linear interpolating delay line class
    DrummerSTK drum sample player class
    EchoSTK echo effect class
    EffectSTK abstract effects parent class
    EnvelopeSTK envelope base class
    FileReadSTK audio file input class
    FileWriteSTK audio file output class
    FileWvInSTK audio file input class
    FileWvOutSTK audio file output class
    FilterSTK filter class
    FluteSTK flute physical model class
    FMSTK abstract FM synthesis base class
    FMVoicesSTK singing FM synthesis instrument
    FormSwepSTK sweepable formant filter class
    FunctionSTK abstract function parent class
    GeneratorSTK abstract unit generator parent class
    GranulateSTK granular synthesis class
    HevyMetlSTK heavy metal FM synthesis instrument
    InetWvInSTK internet streaming input class
    InetWvOutSTK internet streaming output class
    InstrmntSTK instrument abstract base class
    JCRevJohn Chowning's reverberator class
    JetTableSTK jet table class
    MandolinSTK mandolin instrument model class
    Mesh2DTwo-dimensional rectilinear waveguide mesh class
    MessagerSTK input control message parser
    MidiFileInA standard MIDI file reading/parsing class
    ModalSTK resonance model instrument
    ModalBarSTK resonant bar instrument class
    ModulateSTK periodic/random modulator
    MoogSTK moog-like swept filter sampling synthesis class
    MutexSTK mutex class
    NoiseSTK noise generator
    NRevCCRMA's NRev reverberator class
    OnePoleSTK one-pole filter class
    OneZeroSTK one-zero filter class
    PercFlutSTK percussive flute FM synthesis instrument
    PhonemesSTK phonemes table
    PitShiftSTK simple pitch shifter effect class
    PluckedSTK plucked string model class
    PluckTwoSTK enhanced plucked string model class
    PoleZeroSTK one-pole, one-zero filter class
    PRCRevPerry's simple reverberator class
    ReedTableSTK reed table class
    ResonateSTK noise driven formant filter
    RhodeySTK Fender Rhodes electric piano FM synthesis instrument
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    stk::ADSRSTK ADSR envelope class
    stk::AsympSTK asymptotic curve envelope class
    stk::BandedWGBanded waveguide modeling class
    stk::BeeThreeSTK Hammond-oid organ FM synthesis instrument
    stk::BiQuadSTK biquad (two-pole, two-zero) filter class
    stk::BlitSTK band-limited impulse train class
    stk::BlitSawSTK band-limited sawtooth wave class
    stk::BlitSquareSTK band-limited square wave class
    stk::BlowBotlSTK blown bottle instrument class
    stk::BlowHoleSTK clarinet physical model with one register hole and one tonehole
    stk::BowedSTK bowed string instrument class
    stk::BowTableSTK bowed string table class
    stk::BrassSTK simple brass instrument class
    stk::ChorusSTK chorus effect class
    stk::ClarinetSTK clarinet physical model class
    stk::DelaySTK non-interpolating delay line class
    stk::DelayASTK allpass interpolating delay line class
    stk::DelayLSTK linear interpolating delay line class
    stk::DrummerSTK drum sample player class
    stk::EchoSTK echo effect class
    stk::EffectSTK abstract effects parent class
    stk::EnvelopeSTK linear line envelope class
    stk::FileLoopSTK file looping / oscillator class
    stk::FileReadSTK audio file input class
    stk::FileWriteSTK audio file output class
    stk::FileWvInSTK audio file input class
    stk::FileWvOutSTK audio file output class
    stk::FilterSTK abstract filter class
    stk::FirSTK general finite impulse response filter class
    stk::FluteSTK flute physical model class
    stk::FMSTK abstract FM synthesis base class
    stk::FMVoicesSTK singing FM synthesis instrument
    stk::FormSwepSTK sweepable formant filter class
    stk::FunctionSTK abstract function parent class
    stk::GeneratorSTK abstract unit generator parent class
    stk::GranulateSTK granular synthesis class
    stk::HevyMetlSTK heavy metal FM synthesis instrument
    stk::IirSTK general infinite impulse response filter class
    stk::InetWvInSTK internet streaming input class
    stk::InetWvOutSTK internet streaming output class
    stk::InstrmntSTK instrument abstract base class
    stk::JCRevJohn Chowning's reverberator class
    stk::JetTableSTK jet table class
    stk::MandolinSTK mandolin instrument model class
    stk::Mesh2DTwo-dimensional rectilinear waveguide mesh class
    stk::MessagerSTK input control message parser
    stk::MidiFileInA standard MIDI file reading/parsing class
    stk::ModalSTK resonance model abstract base class
    stk::ModalBarSTK resonant bar instrument class
    stk::ModulateSTK periodic/random modulator
    stk::MoogSTK moog-like swept filter sampling synthesis class
    stk::MutexSTK mutex class
    stk::NoiseSTK noise generator
    stk::NRevCCRMA's NRev reverberator class
    stk::OnePoleSTK one-pole filter class
    stk::OneZeroSTK one-zero filter class
    stk::PercFlutSTK percussive flute FM synthesis instrument
    stk::PhonemesSTK phonemes table
    stk::PitShiftSTK simple pitch shifter effect class
    stk::PluckedSTK plucked string model class
    stk::PluckTwoSTK enhanced plucked string model class
    stk::PoleZeroSTK one-pole, one-zero filter class
    stk::PRCRevPerry's simple reverberator class
    stk::ReedTableSTK reed table class
    stk::ResonateSTK noise driven formant filter
    stk::RhodeySTK Fender Rhodes electric piano FM synthesis instrument
    RtAudioRealtime audio i/o C++ classes
    RtAudio::DeviceInfoThe public device information structure for returning queried values
    RtAudio::StreamOptionsThe structure for specifying stream options
    RtAudio::StreamParametersThe structure for specifying input or ouput stream parameters
    RtErrorException handling class for RtAudio & RtMidi
    RtAudio::RtAudio::DeviceInfoThe public device information structure for returning queried values
    RtAudio::RtAudio::StreamOptionsThe structure for specifying stream options
    RtAudio::RtAudio::StreamParametersThe structure for specifying input or ouput stream parameters
    RtErrorException handling class for RtAudio & RtMidi
    RtMidiAn abstract base class for realtime MIDI input/output
    RtMidiInA realtime MIDI input class
    RtMidiOutA realtime MIDI output class
    RtWvInSTK realtime audio (blocking) input class
    RtWvOutSTK realtime audio (blocking) output class
    SamplerSTK sampling synthesis abstract base class
    SaxofonySTK faux conical bore reed instrument class
    ShakersPhISEM and PhOLIES class
    SimpleSTK wavetable/noise instrument
    SineWaveSTK sinusoid oscillator class
    SingWaveSTK "singing" looped soundfile class
    SitarSTK sitar string model class
    SkiniSTK SKINI parsing class
    Skini::MessageA message structure to store and pass parsed SKINI messages
    SocketSTK internet socket abstract base class
    SphereSTK sphere class
    StifKarpSTK plucked stiff string instrument
    StkSTK base class
    StkErrorSTK error handling class
    StkFramesAn STK class to handle vectorized audio data
    SubNoiseSTK sub-sampled noise generator
    TcpClientSTK TCP socket client class
    TcpServerSTK TCP socket server class
    ThreadSTK thread class
    TubeBellSTK tubular bell (orchestral chime) FM synthesis instrument
    TwoPoleSTK two-pole filter class
    TwoZeroSTK two-zero filter class
    UdpSocketSTK UDP socket server/client class
    Vector3DSTK 3D vector class
    VoicerSTK voice manager class
    VoicFormFour formant synthesis instrument
    WaveLoopSTK waveform oscillator class
    WhistleSTK police/referee whistle instrument class
    WurleySTK Wurlitzer electric piano FM synthesis instrument
    WvInSTK audio input abstract base class
    WvOutSTK audio output abstract base class
    stk::RtWvInSTK realtime audio (blocking) input class
    stk::RtWvOutSTK realtime audio (blocking) output class
    stk::SamplerSTK sampling synthesis abstract base class
    stk::SaxofonySTK faux conical bore reed instrument class
    stk::ShakersPhISEM and PhOLIES class
    stk::SimpleSTK wavetable/noise instrument
    stk::SineWaveSTK sinusoid oscillator class
    stk::SingWaveSTK "singing" looped soundfile class
    stk::SitarSTK sitar string model class
    stk::SkiniSTK SKINI parsing class
    stk::Skini::Skini::MessageA message structure to store and pass parsed SKINI messages
    stk::SocketSTK internet socket abstract base class
    stk::SphereSTK sphere class
    stk::StifKarpSTK plucked stiff string instrument
    stk::StkSTK base class
    stk::StkErrorSTK error handling class
    stk::StkFramesAn STK class to handle vectorized audio data
    stk::TapDelaySTK non-interpolating tapped delay line class
    stk::TcpClientSTK TCP socket client class
    stk::TcpServerSTK TCP socket server class
    stk::ThreadSTK thread class
    stk::TubeBellSTK tubular bell (orchestral chime) FM synthesis instrument
    stk::TwoPoleSTK two-pole filter class
    stk::TwoZeroSTK two-zero filter class
    stk::UdpSocketSTK UDP socket server/client class
    stk::Vector3DSTK 3D vector class
    stk::VoicerSTK voice manager class
    stk::VoicFormFour formant synthesis instrument
    stk::WhistleSTK police/referee whistle instrument class
    stk::WurleySTK Wurlitzer electric piano FM synthesis instrument
    stk::WvInSTK audio input abstract base class
    stk::WvOutSTK audio output abstract base class
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classADSR-members.html b/doc/html/classADSR-members.html deleted file mode 100644 index 35e57da..0000000 --- a/doc/html/classADSR-members.html +++ /dev/null @@ -1,71 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    ADSR Member List

    This is the complete list of members for ADSR, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    ADSR(void)ADSR
    Envelope(void)Envelope
    Envelope(const Envelope &e)Envelope
    Generator(void)Generator
    getState(void) const ADSR [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    keyOff(void)ADSR [virtual]
    keyOn(void)ADSR [virtual]
    lastOut(void) const Generator [inline, virtual]
    operator=(const Envelope &e)Envelope
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    setAllTimes(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)ADSR
    setAttackRate(StkFloat rate)ADSR
    setAttackTime(StkFloat time)ADSR
    setDecayRate(StkFloat rate)ADSR
    setDecayTime(StkFloat time)ADSR
    setRate(StkFloat rate)Envelope
    setRawwavePath(std::string path)Stk [static]
    setReleaseRate(StkFloat rate)ADSR
    setReleaseTime(StkFloat time)ADSR
    setSampleRate(StkFloat rate)Stk [static]
    setSustainLevel(StkFloat level)ADSR
    setTarget(StkFloat target)ADSR [virtual]
    setTime(StkFloat time)Envelope
    setValue(StkFloat value)ADSR [virtual]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~ADSR(void)ADSR
    ~Envelope(void)Envelope [virtual]
    ~Generator(void)Generator [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classADSR.html b/doc/html/classADSR.html deleted file mode 100644 index c6eaa5a..0000000 --- a/doc/html/classADSR.html +++ /dev/null @@ -1,105 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    ADSR Class Reference

    #include <ADSR.h> -

    -

    Inheritance diagram for ADSR: -

    - -Envelope -Generator -Stk - -List of all members.

    Detailed Description

    -STK ADSR envelope class. -

    -This Envelope subclass implements a traditional ADSR (Attack, Decay, Sustain, Release) envelope. It responds to simple keyOn and keyOff messages, keeping track of its state. The state = ADSR::DONE after the envelope value reaches 0.0 in the ADSR::RELEASE state.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Types

    enum  
     Envelope states.

    Public Member Functions

    ADSR (void)
     Default constructor.
    ~ADSR (void)
     Class destructor.
    -void keyOn (void)
     Set target = 1, state = ADSR::ATTACK.
    -void keyOff (void)
     Set target = 0, state = ADSR::RELEASE.
    -void setAttackRate (StkFloat rate)
     Set the attack rate.
    -void setDecayRate (StkFloat rate)
     Set the decay rate.
    -void setSustainLevel (StkFloat level)
     Set the sustain level.
    -void setReleaseRate (StkFloat rate)
     Set the release rate.
    -void setAttackTime (StkFloat time)
     Set the attack rate based on a time duration.
    -void setDecayTime (StkFloat time)
     Set the decay rate based on a time duration.
    -void setReleaseTime (StkFloat time)
     Set the release rate based on a time duration.
    -void setAllTimes (StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)
     Set sustain level and attack, decay, and release time durations.
    -void setTarget (StkFloat target)
     Set the target value.
    -int getState (void) const
     Return the current envelope state (ATTACK, DECAY, SUSTAIN, RELEASE, DONE).
    -void setValue (StkFloat value)
     Set to state = ADSR::SUSTAIN with current and target values of aValue.
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classADSR.png b/doc/html/classADSR.png deleted file mode 100644 index e88c057..0000000 Binary files a/doc/html/classADSR.png and /dev/null differ diff --git a/doc/html/classADSR__coll__graph.map b/doc/html/classADSR__coll__graph.map deleted file mode 100644 index 9a3afcf..0000000 --- a/doc/html/classADSR__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classEnvelope.html 9,155 73,176 -rect $classGenerator.html 7,86 76,107 -rect $classStk.html 23,16 60,38 diff --git a/doc/html/classADSR__coll__graph.md5 b/doc/html/classADSR__coll__graph.md5 deleted file mode 100644 index 1c9258f..0000000 --- a/doc/html/classADSR__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a88fb28711921053489fa725d2a75ef5 \ No newline at end of file diff --git a/doc/html/classADSR__coll__graph.png b/doc/html/classADSR__coll__graph.png deleted file mode 100644 index 92f5c3a..0000000 Binary files a/doc/html/classADSR__coll__graph.png and /dev/null differ diff --git a/doc/html/classADSR__inherit__graph.map b/doc/html/classADSR__inherit__graph.map deleted file mode 100644 index 9a3afcf..0000000 --- a/doc/html/classADSR__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classEnvelope.html 9,155 73,176 -rect $classGenerator.html 7,86 76,107 -rect $classStk.html 23,16 60,38 diff --git a/doc/html/classADSR__inherit__graph.md5 b/doc/html/classADSR__inherit__graph.md5 deleted file mode 100644 index 7ee02ab..0000000 --- a/doc/html/classADSR__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -bc6efc045f2030ce7b5bd6dd00eafcf5 \ No newline at end of file diff --git a/doc/html/classADSR__inherit__graph.png b/doc/html/classADSR__inherit__graph.png deleted file mode 100644 index 92f5c3a..0000000 Binary files a/doc/html/classADSR__inherit__graph.png and /dev/null differ diff --git a/doc/html/classAsymp-members.html b/doc/html/classAsymp-members.html deleted file mode 100644 index 56fbd84..0000000 --- a/doc/html/classAsymp-members.html +++ /dev/null @@ -1,64 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Asymp Member List

    This is the complete list of members for Asymp, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Asymp(void)Asymp
    Envelope(void)Envelope
    Envelope(const Envelope &e)Envelope
    Generator(void)Generator
    getState(void) const Envelope [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    keyOff(void)Asymp [virtual]
    keyOn(void)Asymp [virtual]
    lastOut(void) const Generator [inline, virtual]
    operator=(const Envelope &e)Envelope
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    setRate(StkFloat rate)Envelope
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setTarget(StkFloat target)Asymp [virtual]
    setTau(StkFloat tau)Asymp
    setTime(StkFloat time)Asymp
    setValue(StkFloat value)Envelope [virtual]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~Asymp(void)Asymp
    ~Envelope(void)Envelope [virtual]
    ~Generator(void)Generator [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classAsymp.html b/doc/html/classAsymp.html deleted file mode 100644 index 4daf16e..0000000 --- a/doc/html/classAsymp.html +++ /dev/null @@ -1,101 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Asymp Class Reference

    #include <Asymp.h> -

    -

    Inheritance diagram for Asymp: -

    - -Envelope -Generator -Stk - -List of all members.

    Detailed Description

    -STK asymptotic curve envelope class. -

    -This class implements a simple envelope generator which asymptotically approaches a target value. The algorithm used is of the form:

    -x[n] = a x[n-1] + (1-a) target,

    -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 keyOn and keyOff messages by ramping to 1.0 on keyOn and to 0.0 on keyOff.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Asymp (void)
     Default constructor.
    ~Asymp (void)
     Class destructor.
    -void keyOn (void)
     Set target = 1.
    -void keyOff (void)
     Set target = 0.
    void setTau (StkFloat tau)
     Set the asymptotic rate via the time factor tau (must be > 0).
    -void setTime (StkFloat time)
     Set the asymptotic rate based on a time duration (must be > 0).
    -void setTarget (StkFloat target)
     Set the target value.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void Asymp::setTau StkFloat  tau  ) 
    -
    - - - - - -
    -   - - -

    -Set the asymptotic rate via the time factor tau (must be > 0). -

    -The rate is computed as described above. The value of tau must be greater than zero. Values of tau close to zero produce fast approach rates, while values greater than 1.0 produce rather slow rates.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classAsymp.png b/doc/html/classAsymp.png deleted file mode 100644 index fe7270c..0000000 Binary files a/doc/html/classAsymp.png and /dev/null differ diff --git a/doc/html/classAsymp__coll__graph.map b/doc/html/classAsymp__coll__graph.map deleted file mode 100644 index 9a3afcf..0000000 --- a/doc/html/classAsymp__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classEnvelope.html 9,155 73,176 -rect $classGenerator.html 7,86 76,107 -rect $classStk.html 23,16 60,38 diff --git a/doc/html/classAsymp__coll__graph.md5 b/doc/html/classAsymp__coll__graph.md5 deleted file mode 100644 index c0ebf5e..0000000 --- a/doc/html/classAsymp__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5ea5446eaf58c1b6af2b3acd0746c151 \ No newline at end of file diff --git a/doc/html/classAsymp__coll__graph.png b/doc/html/classAsymp__coll__graph.png deleted file mode 100644 index d040609..0000000 Binary files a/doc/html/classAsymp__coll__graph.png and /dev/null differ diff --git a/doc/html/classAsymp__inherit__graph.map b/doc/html/classAsymp__inherit__graph.map deleted file mode 100644 index 9a3afcf..0000000 --- a/doc/html/classAsymp__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classEnvelope.html 9,155 73,176 -rect $classGenerator.html 7,86 76,107 -rect $classStk.html 23,16 60,38 diff --git a/doc/html/classAsymp__inherit__graph.md5 b/doc/html/classAsymp__inherit__graph.md5 deleted file mode 100644 index 6cf3a8b..0000000 --- a/doc/html/classAsymp__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -93c5b8b8873243d39320901abc0bdb3e \ No newline at end of file diff --git a/doc/html/classAsymp__inherit__graph.png b/doc/html/classAsymp__inherit__graph.png deleted file mode 100644 index d040609..0000000 Binary files a/doc/html/classAsymp__inherit__graph.png and /dev/null differ diff --git a/doc/html/classBandedWG-members.html b/doc/html/classBandedWG-members.html deleted file mode 100644 index e10a656..0000000 --- a/doc/html/classBandedWG-members.html +++ /dev/null @@ -1,65 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BandedWG Member List

    This is the complete list of members for BandedWG, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    BandedWG()BandedWG
    clear()BandedWG
    controlChange(int number, StkFloat value)BandedWG [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)BandedWG [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)BandedWG [virtual]
    pluck(StkFloat amp)BandedWG
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)BandedWG [virtual]
    setPreset(int preset)BandedWG
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setStrikePosition(StkFloat position)BandedWG
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBowing(StkFloat amplitude, StkFloat rate)BandedWG
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBowing(StkFloat rate)BandedWG
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~BandedWG()BandedWG
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBandedWG.html b/doc/html/classBandedWG.html deleted file mode 100644 index c5da608..0000000 --- a/doc/html/classBandedWG.html +++ /dev/null @@ -1,93 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BandedWG Class Reference

    #include <BandedWG.h> -

    -

    Inheritance diagram for BandedWG: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -Banded waveguide modeling class. -

    -This class uses banded waveguide techniques to model a variety of sounds, including bowed bars, glasses, and bowls. For more information, see Essl, G. and Cook, P. "Banded Waveguides: Towards Physical Modelling of Bar Percussion Instruments", Proceedings of the 1999 International Computer Music Conference.

    -Control Change Numbers:

      -
    • Bow Pressure = 2
    • Bow Motion = 4
    • Strike Position = 8 (not implemented)
    • Vibrato Frequency = 11
    • Gain = 1
    • Bow Velocity = 128
    • Set Striking = 64
    • Instrument Presets = 16
        -
      • Uniform Bar = 0
      • Tuned Bar = 1
      • Glass Harmonica = 2
      • Tibetan Bowl = 3
      -
    -

    -by Georg Essl, 1999 - 2004. Modified for Stk 4.0 by Gary Scavone. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    BandedWG ()
     Class constructor.
    ~BandedWG ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setStrikePosition (StkFloat position)
     Set strike position (0.0 - 1.0).
    -void setPreset (int preset)
     Select a preset.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void startBowing (StkFloat amplitude, StkFloat rate)
     Apply bow velocity/pressure to instrument with given amplitude and rate of increase.
    -void stopBowing (StkFloat rate)
     Decrease bow velocity/breath pressure with given rate of decrease.
    -void pluck (StkFloat amp)
     Pluck the instrument with given amplitude.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBandedWG.png b/doc/html/classBandedWG.png deleted file mode 100644 index 09362da..0000000 Binary files a/doc/html/classBandedWG.png and /dev/null differ diff --git a/doc/html/classBandedWG__coll__graph.map b/doc/html/classBandedWG__coll__graph.map deleted file mode 100644 index d1600cb..0000000 --- a/doc/html/classBandedWG__coll__graph.map +++ /dev/null @@ -1,12 +0,0 @@ -base referer -rect $classInstrmnt.html 7,134 63,155 -rect $classStk.html 132,16 169,38 -rect $classGenerator.html 72,88 141,110 -rect $classFunction.html 165,88 227,110 -rect $classFilter.html 284,88 324,110 -rect $classADSR.html 76,270 124,291 -rect $classEnvelope.html 73,179 137,200 -rect $classBowTable.html 147,224 216,246 -rect $classBiQuad.html 277,224 331,246 -rect $classDelay.html 359,179 401,200 -rect $classDelayL.html 404,270 455,291 diff --git a/doc/html/classBandedWG__coll__graph.md5 b/doc/html/classBandedWG__coll__graph.md5 deleted file mode 100644 index cfd7458..0000000 --- a/doc/html/classBandedWG__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -eb92a118e38e16802d5a811683b15c12 \ No newline at end of file diff --git a/doc/html/classBandedWG__coll__graph.png b/doc/html/classBandedWG__coll__graph.png deleted file mode 100644 index 63b3ab2..0000000 Binary files a/doc/html/classBandedWG__coll__graph.png and /dev/null differ diff --git a/doc/html/classBandedWG__inherit__graph.map b/doc/html/classBandedWG__inherit__graph.map deleted file mode 100644 index 65a1621..0000000 --- a/doc/html/classBandedWG__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 17,85 73,106 -rect $classStk.html 27,16 64,37 diff --git a/doc/html/classBandedWG__inherit__graph.md5 b/doc/html/classBandedWG__inherit__graph.md5 deleted file mode 100644 index 2c71338..0000000 --- a/doc/html/classBandedWG__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -76af4fa6a6305743853a1bc4b396a63e \ No newline at end of file diff --git a/doc/html/classBandedWG__inherit__graph.png b/doc/html/classBandedWG__inherit__graph.png deleted file mode 100644 index 86d1c1b..0000000 Binary files a/doc/html/classBandedWG__inherit__graph.png and /dev/null differ diff --git a/doc/html/classBeeThree-members.html b/doc/html/classBeeThree-members.html deleted file mode 100644 index aa33507..0000000 --- a/doc/html/classBeeThree-members.html +++ /dev/null @@ -1,71 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BeeThree Member List

    This is the complete list of members for BeeThree, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    BeeThree()BeeThree
    clear()FM
    controlChange(int number, StkFloat value)FM [virtual]
    FM(unsigned int operators=4)FM
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()FM
    keyOn()FM
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    loadWaves(const char **filenames)FM
    noteOff(StkFloat amplitude)FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)BeeThree [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setControl1(StkFloat cVal)FM
    setControl2(StkFloat cVal)FM
    setFrequency(StkFloat frequency)FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)FM
    setModulationDepth(StkFloat mDepth)FM
    setModulationSpeed(StkFloat mSpeed)FM
    setRatio(unsigned int waveIndex, StkFloat ratio)FM
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~BeeThree()BeeThree
    ~FM()FM [virtual]
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBeeThree.html b/doc/html/classBeeThree.html deleted file mode 100644 index 8c6abd1..0000000 --- a/doc/html/classBeeThree.html +++ /dev/null @@ -1,93 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BeeThree Class Reference

    #include <BeeThree.h> -

    -

    Inheritance diagram for BeeThree: -

    - -FM -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK Hammond-oid organ FM synthesis instrument. -

    -This class implements a simple 4 operator topology, also referred to as algorithm 8 of the TX81Z.

    -

        Algorithm 8 is :
    -                     1 --.
    -                     2 -\|
    -                         +-> Out
    -                     3 -/|
    -                     4 --
    -

    -Control Change Numbers:

      -
    • Operator 4 (feedback) Gain = 2
    • Operator 3 Gain = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

    -The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - -

    Public Member Functions

     BeeThree ()
     Class constructor.
    ~BeeThree ()
     Class destructor.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    BeeThree::BeeThree  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBeeThree.png b/doc/html/classBeeThree.png deleted file mode 100644 index 59b368a..0000000 Binary files a/doc/html/classBeeThree.png and /dev/null differ diff --git a/doc/html/classBeeThree__coll__graph.map b/doc/html/classBeeThree__coll__graph.map deleted file mode 100644 index 2830571..0000000 --- a/doc/html/classBeeThree__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $classFM.html 72,269 109,291 -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 85,16 123,37 -rect $classWvIn.html 84,88 124,109 -rect $classFilter.html 156,88 196,109 -rect $classWaveLoop.html 67,179 141,200 -rect $classTwoZero.html 167,179 231,200 diff --git a/doc/html/classBeeThree__coll__graph.md5 b/doc/html/classBeeThree__coll__graph.md5 deleted file mode 100644 index 04f39c3..0000000 --- a/doc/html/classBeeThree__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -61ccfc176a5ecbde342fe794f606a6a6 \ No newline at end of file diff --git a/doc/html/classBeeThree__coll__graph.png b/doc/html/classBeeThree__coll__graph.png deleted file mode 100644 index c2476b6..0000000 Binary files a/doc/html/classBeeThree__coll__graph.png and /dev/null differ diff --git a/doc/html/classBeeThree__inherit__graph.map b/doc/html/classBeeThree__inherit__graph.map deleted file mode 100644 index 9bd47b7..0000000 --- a/doc/html/classBeeThree__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classFM.html 21,155 59,176 -rect $classInstrmnt.html 12,86 68,107 -rect $classStk.html 21,16 59,38 diff --git a/doc/html/classBeeThree__inherit__graph.md5 b/doc/html/classBeeThree__inherit__graph.md5 deleted file mode 100644 index f175268..0000000 --- a/doc/html/classBeeThree__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3a0b63b742f5e48ed0892f2caef3e73d \ No newline at end of file diff --git a/doc/html/classBeeThree__inherit__graph.png b/doc/html/classBeeThree__inherit__graph.png deleted file mode 100644 index d99210e..0000000 Binary files a/doc/html/classBeeThree__inherit__graph.png and /dev/null differ diff --git a/doc/html/classBiQuad-members.html b/doc/html/classBiQuad-members.html deleted file mode 100644 index f3f4356..0000000 --- a/doc/html/classBiQuad-members.html +++ /dev/null @@ -1,67 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BiQuad Member List

    This is the complete list of members for BiQuad, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    BiQuad()BiQuad
    clear(void)BiQuad
    Filter(void)Filter [protected]
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    getGain(void) const BiQuad [virtual]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)BiQuad [inline]
    lastOut(void) const BiQuad [virtual]
    printErrors(bool status)Stk [inline, protected, static]
    rawwavePath(void)Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, protected, static]
    setA1(StkFloat a1)BiQuad
    setA2(StkFloat a2)BiQuad
    setB0(StkFloat b0)BiQuad
    setB1(StkFloat b1)BiQuad
    setB2(StkFloat b2)BiQuad
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setEqualGainZeroes()BiQuad
    setGain(StkFloat gain)BiQuad [virtual]
    setNotch(StkFloat frequency, StkFloat radius)BiQuad
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)Filter [protected]
    setRawwavePath(std::string path)Stk [protected, static]
    setResonance(StkFloat frequency, StkFloat radius, bool normalize=false)BiQuad
    setSampleRate(StkFloat rate)Stk [protected, static]
    showWarnings(bool status)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    tick(StkFloat sample)BiQuad [inline, virtual]
    tick(StkFrames &frames, unsigned int channel=0)BiQuad [inline, virtual]
    ~BiQuad()BiQuad [virtual]
    ~Filter(void)Filter [protected, virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBiQuad.html b/doc/html/classBiQuad.html deleted file mode 100644 index b2a3618..0000000 --- a/doc/html/classBiQuad.html +++ /dev/null @@ -1,291 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BiQuad Class Reference

    #include <BiQuad.h> -

    -

    Inheritance diagram for BiQuad: -

    - -Filter -Stk -FormSwep - -List of all members.

    Detailed Description

    -STK biquad (two-pole, two-zero) filter class. -

    -This protected Filter subclass implements a two-pole, two-zero digital filter. A method is provided for creating a resonance in the frequency response while maintaining a constant filter gain.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    BiQuad ()
     Default constructor creates a second-order pass-through filter.
    -virtual ~BiQuad ()
     Class destructor.
    -void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    -void clear (void)
     Clears all internal states of the filter.
    -void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    -void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    -void setB2 (StkFloat b2)
     Set the b[2] coefficient value.
    -void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    -void setA2 (StkFloat a2)
     Set the a[2] coefficient value.
    void setResonance (StkFloat frequency, StkFloat radius, bool normalize=false)
     Sets the filter coefficients for a resonance at frequency (in Hz).
    void setNotch (StkFloat frequency, StkFloat radius)
     Set the filter coefficients for a notch at frequency (in Hz).
    void setEqualGainZeroes ()
     Sets the filter zeroes for equal resonance gain.
    void setGain (StkFloat gain)
     Set the filter gain.
    -StkFloat getGain (void) const
     Return the current filter gain.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -virtual StkFloat tick (StkFloat sample)
     Input one sample to the filter and return one output.
    virtual StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void BiQuad::setResonance StkFloat  frequency,
    StkFloat  radius,
    bool  normalize = false
    -
    - - - - - -
    -   - - -

    -Sets the filter coefficients for a resonance at frequency (in Hz). -

    -This method determines the filter coefficients corresponding to two complex-conjugate poles with the given frequency (in Hz) and radius from the z-plane origin. If normalize is true, the filter zeros are placed at z = 1, z = -1, and the coefficients are then normalized to produce a constant unity peak gain (independent of the filter gain parameter). The resulting filter frequency response has a resonance at the given frequency. The closer the poles are to the unit-circle (radius close to one), the narrower the resulting resonance width.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void BiQuad::setNotch StkFloat  frequency,
    StkFloat  radius
    -
    - - - - - -
    -   - - -

    -Set the filter coefficients for a notch at frequency (in Hz). -

    -This method determines the filter coefficients corresponding to two complex-conjugate zeros with the given frequency (in Hz) and radius from the z-plane origin. No filter normalization is attempted.

    -

    - - - - -
    - - - - - - - - -
    void BiQuad::setEqualGainZeroes  ) 
    -
    - - - - - -
    -   - - -

    -Sets the filter zeroes for equal resonance gain. -

    -When using the filter as a resonator, zeroes places at z = 1, z = -1 will result in a constant gain at resonance of 1 / (1 - R), where R is the pole radius setting.

    -

    - - - - -
    - - - - - - - - - -
    void BiQuad::setGain StkFloat  gain  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Set the filter gain. -

    -The gain is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. -

    -Reimplemented from Filter.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFrames & BiQuad::tick StkFrames frames,
    unsigned int  channel = 0
    [inline, virtual]
    -
    - - - - - -
    -   - - -

    -Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object. -

    -Reimplemented from Filter.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBiQuad.png b/doc/html/classBiQuad.png deleted file mode 100644 index 81355aa..0000000 Binary files a/doc/html/classBiQuad.png and /dev/null differ diff --git a/doc/html/classBiQuad__coll__graph.map b/doc/html/classBiQuad__coll__graph.map deleted file mode 100644 index bebaa3f..0000000 --- a/doc/html/classBiQuad__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 13,85 53,106 -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classBiQuad__coll__graph.md5 b/doc/html/classBiQuad__coll__graph.md5 deleted file mode 100644 index 86b6184..0000000 --- a/doc/html/classBiQuad__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -39dcaa0574a2d2b8be950bd945450e06 \ No newline at end of file diff --git a/doc/html/classBiQuad__coll__graph.png b/doc/html/classBiQuad__coll__graph.png deleted file mode 100644 index 25e816b..0000000 Binary files a/doc/html/classBiQuad__coll__graph.png and /dev/null differ diff --git a/doc/html/classBiQuad__inherit__graph.map b/doc/html/classBiQuad__inherit__graph.map deleted file mode 100644 index 494e4ef..0000000 --- a/doc/html/classBiQuad__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classFormSwep.html 7,224 81,246 -rect $classFilter.html 24,86 64,107 -rect $classStk.html 25,16 63,38 diff --git a/doc/html/classBiQuad__inherit__graph.md5 b/doc/html/classBiQuad__inherit__graph.md5 deleted file mode 100644 index fb75707..0000000 --- a/doc/html/classBiQuad__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -01e61d66ac5f0b6a39dca11408788388 \ No newline at end of file diff --git a/doc/html/classBiQuad__inherit__graph.png b/doc/html/classBiQuad__inherit__graph.png deleted file mode 100644 index 5fb7e68..0000000 Binary files a/doc/html/classBiQuad__inherit__graph.png and /dev/null differ diff --git a/doc/html/classBlit-members.html b/doc/html/classBlit-members.html deleted file mode 100644 index 708620d..0000000 --- a/doc/html/classBlit-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Blit Member List

    This is the complete list of members for Blit, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Blit(StkFloat frequency=220.0)Blit
    Generator(void)Generator
    getPhase() const Blit [inline]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut(void) const Generator [inline, virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    reset()Blit
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Blit
    setHarmonics(unsigned int nHarmonics=0)Blit
    setPhase(StkFloat phase)Blit [inline]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~Blit()Blit
    ~Generator(void)Generator [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBlit.html b/doc/html/classBlit.html deleted file mode 100644 index 3bd709a..0000000 --- a/doc/html/classBlit.html +++ /dev/null @@ -1,157 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Blit Class Reference

    #include <Blit.h> -

    -

    Inheritance diagram for Blit: -

    - -Generator -Stk - -List of all members.

    Detailed Description

    -STK band-limited impulse train class. -

    -This class generates a band-limited impulse train using a closed-form algorithm reported by Stilson and Smith in "Alias-Free Digital Synthesis of Classic Analog Waveforms", 1996. The user can specify both the fundamental frequency of the impulse train and the number of harmonics contained in the resulting signal.

    -The signal is normalized so that the peak value is +/-1.0.

    -If nHarmonics is 0, then the signal will contain all harmonics up to half the sample rate. Note, however, that this setting may produce aliasing in the signal when the frequency is changing (no automatic modification of the number of harmonics is performed by the setFrequency() function).

    -Original code by Robin Davies, 2005. Revisions by Gary Scavone for STK, 2005. -

    - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Blit (StkFloat frequency=220.0)
     Default constructor that initializes BLIT frequency to 220 Hz.
    ~Blit ()
     Class destructor.
    -void reset ()
     Resets the oscillator state and phase to 0.
    void setPhase (StkFloat phase)
     Set the phase of the signal.
    StkFloat getPhase () const
     Get the current phase of the signal.
    -void setFrequency (StkFloat frequency)
     Set the impulse train rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void Blit::setPhase StkFloat  phase  )  [inline]
    -
    - - - - - -
    -   - - -

    -Set the phase of the signal. -

    -Set the phase of the signal, in the range 0 to 1.

    -

    - - - - -
    - - - - - - - - -
    StkFloat Blit::getPhase  )  const [inline]
    -
    - - - - - -
    -   - - -

    -Get the current phase of the signal. -

    -Get the phase of the signal, in the range [0 to 1.0).

    -

    - - - - -
    - - - - - - - - - -
    void Blit::setHarmonics unsigned int  nHarmonics = 0  ) 
    -
    - - - - - -
    -   - - -

    -Set the number of harmonics generated in the signal. -

    -This function sets the number of harmonics contained in the resulting signal. It is equivalent to (2 * M) + 1 in the BLIT algorithm. The default value of 0 sets the algorithm for maximum harmonic content (harmonics up to half the sample rate). This parameter is not checked against the current sample rate and fundamental frequency. Thus, aliasing can result if one or more harmonics for a given fundamental frequency exceeds fs / 2. This behavior was chosen over the potentially more problematic solution of automatically modifying the M parameter, which can produce audible clicks in the signal.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBlit.png b/doc/html/classBlit.png deleted file mode 100644 index 5edf8a1..0000000 Binary files a/doc/html/classBlit.png and /dev/null differ diff --git a/doc/html/classBlitSaw-members.html b/doc/html/classBlitSaw-members.html deleted file mode 100644 index 384c9c2..0000000 --- a/doc/html/classBlitSaw-members.html +++ /dev/null @@ -1,56 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BlitSaw Member List

    This is the complete list of members for BlitSaw, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    BlitSaw(StkFloat frequency=220.0)BlitSaw
    Generator(void)Generator
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut(void) const Generator [inline, virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    reset()BlitSaw
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)BlitSaw
    setHarmonics(unsigned int nHarmonics=0)BlitSaw
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~BlitSaw()BlitSaw
    ~Generator(void)Generator [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBlitSaw.html b/doc/html/classBlitSaw.html deleted file mode 100644 index b90057a..0000000 --- a/doc/html/classBlitSaw.html +++ /dev/null @@ -1,91 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BlitSaw Class Reference

    #include <BlitSaw.h> -

    -

    Inheritance diagram for BlitSaw: -

    - -Generator -Stk - -List of all members.

    Detailed Description

    -STK band-limited sawtooth wave class. -

    -This class generates a band-limited sawtooth waveform using a closed-form algorithm reported by Stilson and Smith in "Alias-Free Digital Synthesis of Classic Analog Waveforms", 1996. The user can specify both the fundamental frequency of the sawtooth and the number of harmonics contained in the resulting signal.

    -If nHarmonics is 0, then the signal will contain all harmonics up to half the sample rate. Note, however, that this setting may produce aliasing in the signal when the frequency is changing (no automatic modification of the number of harmonics is performed by the setFrequency() function).

    -Based on initial code of Robin Davies, 2005. Modified algorithm code by Gary Scavone, 2005. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    BlitSaw (StkFloat frequency=220.0)
     Class constructor.
    ~BlitSaw ()
     Class destructor.
    -void reset ()
     Resets the oscillator state and phase to 0.
    -void setFrequency (StkFloat frequency)
     Set the sawtooth oscillator rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void BlitSaw::setHarmonics unsigned int  nHarmonics = 0  ) 
    -
    - - - - - -
    -   - - -

    -Set the number of harmonics generated in the signal. -

    -This function sets the number of harmonics contained in the resulting signal. It is equivalent to (2 * M) + 1 in the BLIT algorithm. The default value of 0 sets the algorithm for maximum harmonic content (harmonics up to half the sample rate). This parameter is not checked against the current sample rate and fundamental frequency. Thus, aliasing can result if one or more harmonics for a given fundamental frequency exceeds fs / 2. This behavior was chosen over the potentially more problematic solution of automatically modifying the M parameter, which can produce audible clicks in the signal.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBlitSaw.png b/doc/html/classBlitSaw.png deleted file mode 100644 index 59647a9..0000000 Binary files a/doc/html/classBlitSaw.png and /dev/null differ diff --git a/doc/html/classBlitSquare-members.html b/doc/html/classBlitSquare-members.html deleted file mode 100644 index d72463e..0000000 --- a/doc/html/classBlitSquare-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BlitSquare Member List

    This is the complete list of members for BlitSquare, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    BlitSquare(StkFloat frequency=220.0)BlitSquare
    Generator(void)Generator
    getPhase() const BlitSquare [inline]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut(void) const Generator [inline, virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    reset()BlitSquare
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)BlitSquare
    setHarmonics(unsigned int nHarmonics=0)BlitSquare
    setPhase(StkFloat phase)BlitSquare [inline]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~BlitSquare()BlitSquare
    ~Generator(void)Generator [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBlitSquare.html b/doc/html/classBlitSquare.html deleted file mode 100644 index 5f635af..0000000 --- a/doc/html/classBlitSquare.html +++ /dev/null @@ -1,157 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BlitSquare Class Reference

    #include <BlitSquare.h> -

    -

    Inheritance diagram for BlitSquare: -

    - -Generator -Stk - -List of all members.

    Detailed Description

    -STK band-limited square wave class. -

    -This class generates a band-limited square wave signal. It is derived in part from the approach reported by Stilson and Smith in "Alias-Free Digital Synthesis of Classic Analog Waveforms", 1996. The algorithm implemented in this class uses a SincM function with an even M value to achieve a bipolar bandlimited impulse train. This signal is then integrated to achieve a square waveform. The integration process has an associated DC offset so a DC blocking filter is applied at the output.

    -The user can specify both the fundamental frequency of the waveform and the number of harmonics contained in the resulting signal.

    -If nHarmonics is 0, then the signal will contain all harmonics up to half the sample rate. Note, however, that this setting may produce aliasing in the signal when the frequency is changing (no automatic modification of the number of harmonics is performed by the setFrequency() function). Also note that the harmonics of a square wave fall at odd integer multiples of the fundamental, so aliasing will happen with a lower fundamental than with the other Blit waveforms. This class is not guaranteed to be well behaved in the presence of significant aliasing.

    -Based on initial code of Robin Davies, 2005. Modified algorithm code by Gary Scavone, 2005 - 2006. -

    - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    BlitSquare (StkFloat frequency=220.0)
     Default constructor that initializes BLIT frequency to 220 Hz.
    ~BlitSquare ()
     Class destructor.
    -void reset ()
     Resets the oscillator state and phase to 0.
    void setPhase (StkFloat phase)
     Set the phase of the signal.
    StkFloat getPhase () const
     Get the current phase of the signal.
    -void setFrequency (StkFloat frequency)
     Set the impulse train rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void BlitSquare::setPhase StkFloat  phase  )  [inline]
    -
    - - - - - -
    -   - - -

    -Set the phase of the signal. -

    -Set the phase of the signal, in the range 0 to 1.

    -

    - - - - -
    - - - - - - - - -
    StkFloat BlitSquare::getPhase  )  const [inline]
    -
    - - - - - -
    -   - - -

    -Get the current phase of the signal. -

    -Get the phase of the signal, in the range [0 to 1.0).

    -

    - - - - -
    - - - - - - - - - -
    void BlitSquare::setHarmonics unsigned int  nHarmonics = 0  ) 
    -
    - - - - - -
    -   - - -

    -Set the number of harmonics generated in the signal. -

    -This function sets the number of harmonics contained in the resulting signal. It is equivalent to (2 * M) + 1 in the BLIT algorithm. The default value of 0 sets the algorithm for maximum harmonic content (harmonics up to half the sample rate). This parameter is not checked against the current sample rate and fundamental frequency. Thus, aliasing can result if one or more harmonics for a given fundamental frequency exceeds fs / 2. This behavior was chosen over the potentially more problematic solution of automatically modifying the M parameter, which can produce audible clicks in the signal.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBlitSquare.png b/doc/html/classBlitSquare.png deleted file mode 100644 index 76b2be4..0000000 Binary files a/doc/html/classBlitSquare.png and /dev/null differ diff --git a/doc/html/classBlowBotl-members.html b/doc/html/classBlowBotl-members.html deleted file mode 100644 index 7352f0e..0000000 --- a/doc/html/classBlowBotl-members.html +++ /dev/null @@ -1,62 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BlowBotl Member List

    This is the complete list of members for BlowBotl, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    BlowBotl()BlowBotl
    clear()BlowBotl
    controlChange(int number, StkFloat value)BlowBotl [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)BlowBotl [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)BlowBotl [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)BlowBotl [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)BlowBotl
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBlowing(StkFloat rate)BlowBotl
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~BlowBotl()BlowBotl
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBlowBotl.html b/doc/html/classBlowBotl.html deleted file mode 100644 index 2ea504b..0000000 --- a/doc/html/classBlowBotl.html +++ /dev/null @@ -1,108 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BlowBotl Class Reference

    #include <BlowBotl.h> -

    -

    Inheritance diagram for BlowBotl: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK blown bottle instrument class. -

    -This class implements a helmholtz resonator (biquad filter) with a polynomial jet excitation (a la Cook).

    -Control Change Numbers:

      -
    • Noise Gain = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Volume = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     BlowBotl ()
     Class constructor.
    ~BlowBotl ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath velocity to instrument with given amplitude and rate of increase.
    -void stopBlowing (StkFloat rate)
     Decrease breath velocity with given rate of decrease.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    BlowBotl::BlowBotl  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBlowBotl.png b/doc/html/classBlowBotl.png deleted file mode 100644 index 27ff707..0000000 Binary files a/doc/html/classBlowBotl.png and /dev/null differ diff --git a/doc/html/classBlowBotl__coll__graph.map b/doc/html/classBlowBotl__coll__graph.map deleted file mode 100644 index 38dce5f..0000000 --- a/doc/html/classBlowBotl__coll__graph.map +++ /dev/null @@ -1,14 +0,0 @@ -base referer -rect $classInstrmnt.html 7,134 63,155 -rect $classStk.html 244,16 281,38 -rect $classGenerator.html 132,88 201,110 -rect $classFunction.html 232,88 293,110 -rect $classFilter.html 368,179 408,200 -rect $classWvIn.html 435,88 475,110 -rect $classADSR.html 67,270 115,291 -rect $classEnvelope.html 65,179 129,200 -rect $classNoise.html 144,224 187,246 -rect $classJetTable.html 232,224 293,246 -rect $classPoleZero.html 356,270 420,291 -rect $classBiQuad.html 444,270 497,291 -rect $classWaveLoop.html 504,224 579,246 diff --git a/doc/html/classBlowBotl__coll__graph.md5 b/doc/html/classBlowBotl__coll__graph.md5 deleted file mode 100644 index afbcad6..0000000 --- a/doc/html/classBlowBotl__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -0ce687e471ec531093e4d1073f1085be \ No newline at end of file diff --git a/doc/html/classBlowBotl__coll__graph.png b/doc/html/classBlowBotl__coll__graph.png deleted file mode 100644 index 76fa185..0000000 Binary files a/doc/html/classBlowBotl__coll__graph.png and /dev/null differ diff --git a/doc/html/classBlowBotl__inherit__graph.map b/doc/html/classBlowBotl__inherit__graph.map deleted file mode 100644 index dbb187f..0000000 --- a/doc/html/classBlowBotl__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 9,85 65,106 -rect $classStk.html 19,16 56,37 diff --git a/doc/html/classBlowBotl__inherit__graph.md5 b/doc/html/classBlowBotl__inherit__graph.md5 deleted file mode 100644 index c02c345..0000000 --- a/doc/html/classBlowBotl__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -46970f95a23271e5f9cc105b2b04fe78 \ No newline at end of file diff --git a/doc/html/classBlowBotl__inherit__graph.png b/doc/html/classBlowBotl__inherit__graph.png deleted file mode 100644 index c87649d..0000000 Binary files a/doc/html/classBlowBotl__inherit__graph.png and /dev/null differ diff --git a/doc/html/classBlowHole-members.html b/doc/html/classBlowHole-members.html deleted file mode 100644 index e21f03c..0000000 --- a/doc/html/classBlowHole-members.html +++ /dev/null @@ -1,64 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BlowHole Member List

    This is the complete list of members for BlowHole, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    BlowHole(StkFloat lowestFrequency)BlowHole
    clear()BlowHole
    controlChange(int number, StkFloat value)BlowHole [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)BlowHole [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)BlowHole [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)BlowHole [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setTonehole(StkFloat newValue)BlowHole
    setVent(StkFloat newValue)BlowHole
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)BlowHole
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBlowing(StkFloat rate)BlowHole
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~BlowHole()BlowHole
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBlowHole.html b/doc/html/classBlowHole.html deleted file mode 100644 index 92457e8..0000000 --- a/doc/html/classBlowHole.html +++ /dev/null @@ -1,119 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BlowHole Class Reference

    #include <BlowHole.h> -

    -

    Inheritance diagram for BlowHole: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK clarinet physical model with one register hole and one tonehole. -

    -This class is based on the clarinet model, with the addition of a two-port register hole and a three-port dynamic tonehole implementation, as discussed by Scavone and Cook (1998).

    -In this implementation, the distances between the reed/register hole and tonehole/bell are fixed. As a result, both the tonehole and register hole will have variable influence on the playing frequency, which is dependent on the length of the air column. In addition, the highest playing freqeuency is limited by these fixed lengths.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    -Control Change Numbers:

      -
    • Reed Stiffness = 2
    • Noise Gain = 4
    • Tonehole State = 11
    • Register State = 1
    • Breath Pressure = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     BlowHole (StkFloat lowestFrequency)
     Class constructor.
    ~BlowHole ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setTonehole (StkFloat newValue)
     Set the tonehole state (0.0 = closed, 1.0 = fully open).
    -void setVent (StkFloat newValue)
     Set the register hole state (0.0 = closed, 1.0 = fully open).
    -void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    -void stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    BlowHole::BlowHole StkFloat  lowestFrequency  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBlowHole.png b/doc/html/classBlowHole.png deleted file mode 100644 index 5058b89..0000000 Binary files a/doc/html/classBlowHole.png and /dev/null differ diff --git a/doc/html/classBlowHole__coll__graph.map b/doc/html/classBlowHole__coll__graph.map deleted file mode 100644 index f9e9f65..0000000 --- a/doc/html/classBlowHole__coll__graph.map +++ /dev/null @@ -1,15 +0,0 @@ -base referer -rect $classInstrmnt.html 13,134 69,155 -rect $classStk.html 337,16 375,38 -rect $classGenerator.html 124,179 193,200 -rect $classFilter.html 336,88 376,110 -rect $classFunction.html 433,88 495,110 -rect $classWvIn.html 539,88 579,110 -rect $classNoise.html 60,278 103,299 -rect $classEnvelope.html 127,278 191,299 -rect $classPoleZero.html 221,224 285,246 -rect $classOneZero.html 324,224 388,246 -rect $classDelay.html 401,179 444,200 -rect $classReedTable.html 476,224 551,246 -rect $classWaveLoop.html 575,179 649,200 -rect $classDelayL.html 427,278 477,299 diff --git a/doc/html/classBlowHole__coll__graph.md5 b/doc/html/classBlowHole__coll__graph.md5 deleted file mode 100644 index a03568f..0000000 --- a/doc/html/classBlowHole__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -302e093d8e2de96c4b89953e001d60bb \ No newline at end of file diff --git a/doc/html/classBlowHole__coll__graph.png b/doc/html/classBlowHole__coll__graph.png deleted file mode 100644 index 55a6fe4..0000000 Binary files a/doc/html/classBlowHole__coll__graph.png and /dev/null differ diff --git a/doc/html/classBlowHole__inherit__graph.map b/doc/html/classBlowHole__inherit__graph.map deleted file mode 100644 index 26db36e..0000000 --- a/doc/html/classBlowHole__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 11,85 67,106 -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classBlowHole__inherit__graph.md5 b/doc/html/classBlowHole__inherit__graph.md5 deleted file mode 100644 index db76580..0000000 --- a/doc/html/classBlowHole__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -48d5c706be2c961391f549b27be0888e \ No newline at end of file diff --git a/doc/html/classBlowHole__inherit__graph.png b/doc/html/classBlowHole__inherit__graph.png deleted file mode 100644 index 73e0ab9..0000000 Binary files a/doc/html/classBlowHole__inherit__graph.png and /dev/null differ diff --git a/doc/html/classBowTable-members.html b/doc/html/classBowTable-members.html deleted file mode 100644 index 8dc2886..0000000 --- a/doc/html/classBowTable-members.html +++ /dev/null @@ -1,55 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BowTable Member List

    This is the complete list of members for BowTable, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    BowTable()BowTable
    Function()Function
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut() const Function [inline, virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setOffset(StkFloat offset)BowTable
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setSlope(StkFloat slope)BowTable
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Function
    tick(StkFrames &frames, unsigned int channel=0)Function [virtual]
    ~BowTable()BowTable
    ~Function()Function [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBowTable.html b/doc/html/classBowTable.html deleted file mode 100644 index 1f6f9ac..0000000 --- a/doc/html/classBowTable.html +++ /dev/null @@ -1,115 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    BowTable Class Reference

    #include <BowTable.h> -

    -

    Inheritance diagram for BowTable: -

    - -Function -Stk - -List of all members.

    Detailed Description

    -STK bowed string table class. -

    -This class implements a simple bowed string non-linear function, as described by Smith (1986).

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

    BowTable ()
     Default constructor.
    ~BowTable ()
     Class destructor.
    void setOffset (StkFloat offset)
     Set the table offset value.
    void setSlope (StkFloat slope)
     Set the table slope value.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void BowTable::setOffset StkFloat  offset  ) 
    -
    - - - - - -
    -   - - -

    -Set the table offset value. -

    -The table offset is a bias which controls the symmetry of the friction. If you want the friction to vary with direction, use a non-zero value for the offset. The default value is zero.

    -

    - - - - -
    - - - - - - - - - -
    void BowTable::setSlope StkFloat  slope  ) 
    -
    - - - - - -
    -   - - -

    -Set the table slope value. -

    -The table slope controls the width of the friction pulse, which is related to bow force.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBowTable.png b/doc/html/classBowTable.png deleted file mode 100644 index 4b90c38..0000000 Binary files a/doc/html/classBowTable.png and /dev/null differ diff --git a/doc/html/classBowTable__coll__graph.map b/doc/html/classBowTable__coll__graph.map deleted file mode 100644 index 586bb5f..0000000 --- a/doc/html/classBowTable__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFunction.html 11,85 72,106 -rect $classStk.html 23,16 60,37 diff --git a/doc/html/classBowTable__coll__graph.md5 b/doc/html/classBowTable__coll__graph.md5 deleted file mode 100644 index 46fbdf4..0000000 --- a/doc/html/classBowTable__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5b73cb5165008340cd953cffba64781a \ No newline at end of file diff --git a/doc/html/classBowTable__coll__graph.png b/doc/html/classBowTable__coll__graph.png deleted file mode 100644 index 6895e7a..0000000 Binary files a/doc/html/classBowTable__coll__graph.png and /dev/null differ diff --git a/doc/html/classBowTable__inherit__graph.map b/doc/html/classBowTable__inherit__graph.map deleted file mode 100644 index 586bb5f..0000000 --- a/doc/html/classBowTable__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFunction.html 11,85 72,106 -rect $classStk.html 23,16 60,37 diff --git a/doc/html/classBowTable__inherit__graph.md5 b/doc/html/classBowTable__inherit__graph.md5 deleted file mode 100644 index e04c14e..0000000 --- a/doc/html/classBowTable__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -4e134ca41f131d6da265a8be53424ed9 \ No newline at end of file diff --git a/doc/html/classBowTable__inherit__graph.png b/doc/html/classBowTable__inherit__graph.png deleted file mode 100644 index 6895e7a..0000000 Binary files a/doc/html/classBowTable__inherit__graph.png and /dev/null differ diff --git a/doc/html/classBowed-members.html b/doc/html/classBowed-members.html deleted file mode 100644 index 65efd70..0000000 --- a/doc/html/classBowed-members.html +++ /dev/null @@ -1,63 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Bowed Member List

    This is the complete list of members for Bowed, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Bowed(StkFloat lowestFrequency)Bowed
    clear()Bowed
    controlChange(int number, StkFloat value)Bowed [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Bowed [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Bowed [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Bowed [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setVibrato(StkFloat gain)Bowed
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBowing(StkFloat amplitude, StkFloat rate)Bowed
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBowing(StkFloat rate)Bowed
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Bowed()Bowed
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBowed.html b/doc/html/classBowed.html deleted file mode 100644 index b161fd4..0000000 --- a/doc/html/classBowed.html +++ /dev/null @@ -1,84 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Bowed Class Reference

    #include <Bowed.h> -

    -

    Inheritance diagram for Bowed: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK bowed string instrument class. -

    -This class implements a bowed string model, a la Smith (1986), after McIntyre, Schumacher, Woodhouse (1983).

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    -Control Change Numbers:

      -
    • Bow Pressure = 2
    • Bow Position = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Volume = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Bowed (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Bowed ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setVibrato (StkFloat gain)
     Set vibrato gain.
    -void startBowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    -void stopBowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBowed.png b/doc/html/classBowed.png deleted file mode 100644 index 362fd6f..0000000 Binary files a/doc/html/classBowed.png and /dev/null differ diff --git a/doc/html/classBowed__coll__graph.map b/doc/html/classBowed__coll__graph.map deleted file mode 100644 index fdb1596..0000000 --- a/doc/html/classBowed__coll__graph.map +++ /dev/null @@ -1,15 +0,0 @@ -base referer -rect $classInstrmnt.html 7,134 63,155 -rect $classStk.html 177,16 215,38 -rect $classGenerator.html 72,88 141,110 -rect $classFunction.html 165,88 227,110 -rect $classFilter.html 337,88 377,110 -rect $classWvIn.html 457,88 497,110 -rect $classADSR.html 75,270 123,291 -rect $classEnvelope.html 73,179 137,200 -rect $classBowTable.html 147,224 216,246 -rect $classOnePole.html 283,224 344,246 -rect $classBiQuad.html 392,224 445,246 -rect $classDelay.html 445,179 488,200 -rect $classWaveLoop.html 609,270 684,291 -rect $classDelayL.html 535,270 585,291 diff --git a/doc/html/classBowed__coll__graph.md5 b/doc/html/classBowed__coll__graph.md5 deleted file mode 100644 index 6567826..0000000 --- a/doc/html/classBowed__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -15353425b4ed3e6203cb9c9d55849301 \ No newline at end of file diff --git a/doc/html/classBowed__coll__graph.png b/doc/html/classBowed__coll__graph.png deleted file mode 100644 index 27647a1..0000000 Binary files a/doc/html/classBowed__coll__graph.png and /dev/null differ diff --git a/doc/html/classBowed__inherit__graph.map b/doc/html/classBowed__inherit__graph.map deleted file mode 100644 index ba86dfe..0000000 --- a/doc/html/classBowed__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 7,85 63,106 -rect $classStk.html 16,16 53,37 diff --git a/doc/html/classBowed__inherit__graph.md5 b/doc/html/classBowed__inherit__graph.md5 deleted file mode 100644 index 5d98dad..0000000 --- a/doc/html/classBowed__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d2e95c65231611fccfb3ee6c5083f6ac \ No newline at end of file diff --git a/doc/html/classBowed__inherit__graph.png b/doc/html/classBowed__inherit__graph.png deleted file mode 100644 index 69c7b16..0000000 Binary files a/doc/html/classBowed__inherit__graph.png and /dev/null differ diff --git a/doc/html/classBrass-members.html b/doc/html/classBrass-members.html deleted file mode 100644 index 880fc03..0000000 --- a/doc/html/classBrass-members.html +++ /dev/null @@ -1,63 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Brass Member List

    This is the complete list of members for Brass, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Brass(StkFloat lowestFrequency)Brass
    clear()Brass
    controlChange(int number, StkFloat value)Brass [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Brass [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Brass [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Brass [virtual]
    setLip(StkFloat frequency)Brass
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)Brass
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBlowing(StkFloat rate)Brass
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Brass()Brass
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBrass.html b/doc/html/classBrass.html deleted file mode 100644 index 1339a97..0000000 --- a/doc/html/classBrass.html +++ /dev/null @@ -1,114 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Brass Class Reference

    #include <Brass.h> -

    -

    Inheritance diagram for Brass: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK simple brass instrument class. -

    -This class implements a simple brass instrument waveguide model, a la Cook (TBone, HosePlayer).

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    -Control Change Numbers:

      -
    • Lip Tension = 2
    • Slide Length = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Volume = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Brass (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Brass ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setLip (StkFloat frequency)
     Set the lips frequency.
    -void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    -void stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    Brass::Brass StkFloat  lowestFrequency  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor, taking the lowest desired playing frequency. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBrass.png b/doc/html/classBrass.png deleted file mode 100644 index f874c05..0000000 Binary files a/doc/html/classBrass.png and /dev/null differ diff --git a/doc/html/classBrass__coll__graph.map b/doc/html/classBrass__coll__graph.map deleted file mode 100644 index 6dbdc1d..0000000 --- a/doc/html/classBrass__coll__graph.map +++ /dev/null @@ -1,13 +0,0 @@ -base referer -rect $classInstrmnt.html 7,134 63,155 -rect $classStk.html 229,16 267,38 -rect $classFilter.html 176,88 216,110 -rect $classGenerator.html 268,88 337,110 -rect $classWvIn.html 400,88 440,110 -rect $classDelayA.html 57,270 111,291 -rect $classDelay.html 93,179 136,200 -rect $classPoleZero.html 135,224 199,246 -rect $classBiQuad.html 240,224 293,246 -rect $classADSR.html 364,270 412,291 -rect $classEnvelope.html 313,179 377,200 -rect $classWaveLoop.html 415,224 489,246 diff --git a/doc/html/classBrass__coll__graph.md5 b/doc/html/classBrass__coll__graph.md5 deleted file mode 100644 index 1d07485..0000000 --- a/doc/html/classBrass__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -68ce6cfe3b3eb1e12003ce8323c77db3 \ No newline at end of file diff --git a/doc/html/classBrass__coll__graph.png b/doc/html/classBrass__coll__graph.png deleted file mode 100644 index c5fb812..0000000 Binary files a/doc/html/classBrass__coll__graph.png and /dev/null differ diff --git a/doc/html/classBrass__inherit__graph.map b/doc/html/classBrass__inherit__graph.map deleted file mode 100644 index ba86dfe..0000000 --- a/doc/html/classBrass__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 7,85 63,106 -rect $classStk.html 16,16 53,37 diff --git a/doc/html/classBrass__inherit__graph.md5 b/doc/html/classBrass__inherit__graph.md5 deleted file mode 100644 index 0d6d851..0000000 --- a/doc/html/classBrass__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -4f0b312cf6a050f23752a4c5f7f594f3 \ No newline at end of file diff --git a/doc/html/classBrass__inherit__graph.png b/doc/html/classBrass__inherit__graph.png deleted file mode 100644 index c8204da..0000000 Binary files a/doc/html/classBrass__inherit__graph.png and /dev/null differ diff --git a/doc/html/classChorus-members.html b/doc/html/classChorus-members.html deleted file mode 100644 index 30118b0..0000000 --- a/doc/html/classChorus-members.html +++ /dev/null @@ -1,59 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Chorus Member List

    This is the complete list of members for Chorus, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Chorus(StkFloat baseDelay=6000)Chorus
    clear()Chorus [virtual]
    Effect()Effect
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut() const Effect
    lastOutLeft() const Effect
    lastOutRight() const Effect
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setEffectMix(StkFloat mix)Effect
    setModDepth(StkFloat depth)Chorus
    setModFrequency(StkFloat frequency)Chorus
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Effect
    tick(StkFrames &frames, unsigned int channel=0)Effect
    ~Chorus()Chorus
    ~Effect()Effect [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classChorus.html b/doc/html/classChorus.html deleted file mode 100644 index abeac8f..0000000 --- a/doc/html/classChorus.html +++ /dev/null @@ -1,90 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Chorus Class Reference

    #include <Chorus.h> -

    -

    Inheritance diagram for Chorus: -

    - -Effect -Stk - -List of all members.

    Detailed Description

    -STK chorus effect class. -

    -This class implements a chorus effect.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Chorus (StkFloat baseDelay=6000)
     Class constructor, taking the median desired delay length.
    ~Chorus ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setModDepth (StkFloat depth)
     Set modulation depth.
    -void setModFrequency (StkFloat frequency)
     Set modulation frequency.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    Chorus::Chorus StkFloat  baseDelay = 6000  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor, taking the median desired delay length. -

    -An StkError can be thrown if the rawwave path is incorrect.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classChorus.png b/doc/html/classChorus.png deleted file mode 100644 index 5426b88..0000000 Binary files a/doc/html/classChorus.png and /dev/null differ diff --git a/doc/html/classChorus__coll__graph.map b/doc/html/classChorus__coll__graph.map deleted file mode 100644 index c09d26c..0000000 --- a/doc/html/classChorus__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $classEffect.html 7,134 52,155 -rect $classStk.html 77,16 115,38 -rect $classWvIn.html 76,88 116,110 -rect $classFilter.html 141,88 181,110 -rect $classWaveLoop.html 59,224 133,246 -rect $classDelayL.html 157,270 208,291 -rect $classDelay.html 152,179 195,200 diff --git a/doc/html/classChorus__coll__graph.md5 b/doc/html/classChorus__coll__graph.md5 deleted file mode 100644 index 1936954..0000000 --- a/doc/html/classChorus__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5cb497a9ca8d6c7a70e61e0bc0a59513 \ No newline at end of file diff --git a/doc/html/classChorus__coll__graph.png b/doc/html/classChorus__coll__graph.png deleted file mode 100644 index 970b67c..0000000 Binary files a/doc/html/classChorus__coll__graph.png and /dev/null differ diff --git a/doc/html/classChorus__inherit__graph.map b/doc/html/classChorus__inherit__graph.map deleted file mode 100644 index f117094..0000000 --- a/doc/html/classChorus__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classEffect.html 11,85 56,106 -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classChorus__inherit__graph.md5 b/doc/html/classChorus__inherit__graph.md5 deleted file mode 100644 index 88ab40b..0000000 --- a/doc/html/classChorus__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8e4971354e6ff0f9427156de63af787a \ No newline at end of file diff --git a/doc/html/classChorus__inherit__graph.png b/doc/html/classChorus__inherit__graph.png deleted file mode 100644 index f885f32..0000000 Binary files a/doc/html/classChorus__inherit__graph.png and /dev/null differ diff --git a/doc/html/classClarinet-members.html b/doc/html/classClarinet-members.html deleted file mode 100644 index 17617cf..0000000 --- a/doc/html/classClarinet-members.html +++ /dev/null @@ -1,62 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Clarinet Member List

    This is the complete list of members for Clarinet, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Clarinet(StkFloat lowestFrequency)Clarinet
    clear()Clarinet
    controlChange(int number, StkFloat value)Clarinet [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Clarinet [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Clarinet [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Clarinet [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)Clarinet
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBlowing(StkFloat rate)Clarinet
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Clarinet()Clarinet
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classClarinet.html b/doc/html/classClarinet.html deleted file mode 100644 index 92ff836..0000000 --- a/doc/html/classClarinet.html +++ /dev/null @@ -1,110 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Clarinet Class Reference

    #include <Clarinet.h> -

    -

    Inheritance diagram for Clarinet: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK clarinet physical model class. -

    -This class implements a simple clarinet physical model, as discussed by Smith (1986), McIntyre, Schumacher, Woodhouse (1983), and others.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    -Control Change Numbers:

      -
    • Reed Stiffness = 2
    • Noise Gain = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Breath Pressure = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Clarinet (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Clarinet ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    -void stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    Clarinet::Clarinet StkFloat  lowestFrequency  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor, taking the lowest desired playing frequency. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classClarinet.png b/doc/html/classClarinet.png deleted file mode 100644 index 20187cb..0000000 Binary files a/doc/html/classClarinet.png and /dev/null differ diff --git a/doc/html/classClarinet__coll__graph.map b/doc/html/classClarinet__coll__graph.map deleted file mode 100644 index 72824cf..0000000 --- a/doc/html/classClarinet__coll__graph.map +++ /dev/null @@ -1,14 +0,0 @@ -base referer -rect $classInstrmnt.html 37,134 93,155 -rect $classStk.html 235,16 272,38 -rect $classGenerator.html 139,179 208,200 -rect $classFunction.html 223,88 284,110 -rect $classWvIn.html 319,88 359,110 -rect $classFilter.html 469,88 509,110 -rect $classNoise.html 65,270 108,291 -rect $classEnvelope.html 141,270 205,291 -rect $classReedTable.html 216,224 291,246 -rect $classWaveLoop.html 329,224 404,246 -rect $classOneZero.html 457,224 521,246 -rect $classDelay.html 539,179 581,200 -rect $classDelayL.html 560,270 611,291 diff --git a/doc/html/classClarinet__coll__graph.md5 b/doc/html/classClarinet__coll__graph.md5 deleted file mode 100644 index bd6e98b..0000000 --- a/doc/html/classClarinet__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1d21af26e8bef472cf053f9214142c56 \ No newline at end of file diff --git a/doc/html/classClarinet__coll__graph.png b/doc/html/classClarinet__coll__graph.png deleted file mode 100644 index 7b70e4d..0000000 Binary files a/doc/html/classClarinet__coll__graph.png and /dev/null differ diff --git a/doc/html/classClarinet__inherit__graph.map b/doc/html/classClarinet__inherit__graph.map deleted file mode 100644 index ba86dfe..0000000 --- a/doc/html/classClarinet__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 7,85 63,106 -rect $classStk.html 16,16 53,37 diff --git a/doc/html/classClarinet__inherit__graph.md5 b/doc/html/classClarinet__inherit__graph.md5 deleted file mode 100644 index 3719ab3..0000000 --- a/doc/html/classClarinet__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2375b64815cd4fa179483a920bd9c585 \ No newline at end of file diff --git a/doc/html/classClarinet__inherit__graph.png b/doc/html/classClarinet__inherit__graph.png deleted file mode 100644 index 7669b81..0000000 Binary files a/doc/html/classClarinet__inherit__graph.png and /dev/null differ diff --git a/doc/html/classDelay-members.html b/doc/html/classDelay-members.html deleted file mode 100644 index d725e63..0000000 --- a/doc/html/classDelay-members.html +++ /dev/null @@ -1,67 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Delay Member List

    This is the complete list of members for Delay, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Delay
    contentsAt(unsigned long tapDelay)Delay
    Delay()Delay
    Delay(unsigned long delay, unsigned long maxDelay)Delay
    energy(void) const Delay
    Filter(void)Filter [protected]
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    getDelay(void) const Delay
    getGain(void) const Filter [protected, virtual]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline, protected]
    lastOut(void) const Delay [virtual]
    nextOut(void)Delay [virtual]
    printErrors(bool status)Stk [inline, protected, static]
    rawwavePath(void)Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, protected, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setDelay(unsigned long delay)Delay
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setGain(StkFloat gain)Filter [protected, virtual]
    setMaximumDelay(unsigned long delay)Delay
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)Filter [protected]
    setRawwavePath(std::string path)Stk [protected, static]
    setSampleRate(StkFloat rate)Stk [protected, static]
    showWarnings(bool status)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    tick(StkFloat sample)Delay [virtual]
    tick(StkFrames &frames, unsigned int channel=0)Delay [virtual]
    ~Delay()Delay [virtual]
    ~Filter(void)Filter [protected, virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classDelay.html b/doc/html/classDelay.html deleted file mode 100644 index 221e9d3..0000000 --- a/doc/html/classDelay.html +++ /dev/null @@ -1,293 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Delay Class Reference

    #include <Delay.h> -

    -

    Inheritance diagram for Delay: -

    - -Filter -Stk -DelayA -DelayL - -List of all members.

    Detailed Description

    -STK non-interpolating delay line class. -

    -This protected Filter subclass implements a non-interpolating digital delay-line. A fixed maximum length of 4095 and a delay of zero is set using the default constructor. Alternatively, the delay and maximum length can be set during instantiation with an overloaded constructor.

    -A non-interpolating delay line is typically used in fixed delay-length applications, such as for reverberation.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Delay ()
     Default constructor creates a delay-line with maximum length of 4095 samples and zero delay.
     Delay (unsigned long delay, unsigned long maxDelay)
     Overloaded constructor which specifies the current and maximum delay-line lengths.
    -virtual ~Delay ()
     Class destructor.
    -void clear ()
     Clears the internal state of the delay line.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setDelay (unsigned long delay)
     Set the delay-line length.
    -unsigned long getDelay (void) const
     Return the current delay-line length.
    -StkFloat energy (void) const
     Calculate and return the signal energy in the delay-line.
    StkFloat contentsAt (unsigned long tapDelay)
     Return the value at tapDelay samples from the delay-line input.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    virtual StkFloat nextOut (void)
     Return the value which will be output by the next call to tick().
    -virtual StkFloat tick (StkFloat sample)
     Input one sample to the filter and return one output.
    virtual StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    Delay::Delay unsigned long  delay,
    unsigned long  maxDelay
    -
    - - - - - -
    -   - - -

    -Overloaded constructor which specifies the current and maximum delay-line lengths. -

    -An StkError will be thrown if the delay parameter is less than zero, the maximum delay parameter is less than one, or the delay parameter is greater than the maxDelay value.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void Delay::setMaximumDelay unsigned long  delay  ) 
    -
    - - - - - -
    -   - - -

    -Set the maximum delay-line length. -

    -This method should generally only be used during initial setup of the delay line. If it is used between calls to the tick() function, without a call to clear(), a signal discontinuity will likely occur. If the current maximum length is greater than the new length, no change will be made.

    -

    - - - - -
    - - - - - - - - - -
    void Delay::setDelay unsigned long  delay  ) 
    -
    - - - - - -
    -   - - -

    -Set the delay-line length. -

    -The valid range for theDelay is from 0 to the maximum delay-line length.

    -

    - - - - -
    - - - - - - - - - -
    StkFloat Delay::contentsAt unsigned long  tapDelay  ) 
    -
    - - - - - -
    -   - - -

    -Return the value at tapDelay samples from the delay-line input. -

    -The tap point is determined modulo the delay-line length and is relative to the last input value (i.e., a tapDelay of zero returns the last input value).

    -

    - - - - -
    - - - - - - - - - -
    virtual StkFloat Delay::nextOut void   )  [virtual]
    -
    - - - - - -
    -   - - -

    -Return the value which will be output by the next call to tick(). -

    -This method is valid only for delay settings greater than zero! -

    -Reimplemented in DelayA, and DelayL.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    virtual StkFrames& Delay::tick StkFrames frames,
    unsigned int  channel = 0
    [virtual]
    -
    - - - - - -
    -   - - -

    -Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object. -

    -Reimplemented from Filter.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classDelay.png b/doc/html/classDelay.png deleted file mode 100644 index 5ebcc6e..0000000 Binary files a/doc/html/classDelay.png and /dev/null differ diff --git a/doc/html/classDelayA-members.html b/doc/html/classDelayA-members.html deleted file mode 100644 index 46dd9ce..0000000 --- a/doc/html/classDelayA-members.html +++ /dev/null @@ -1,71 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    DelayA Member List

    This is the complete list of members for DelayA, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()DelayA
    contentsAt(unsigned long tapDelay)Delay
    Delay()Delay
    Delay(unsigned long delay, unsigned long maxDelay)Delay
    DelayA()DelayA
    DelayA(StkFloat delay, unsigned long maxDelay)DelayA
    energy(void) const Delay
    Filter(void)Filter [protected]
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    getDelay(void) const DelayA
    getGain(void) const Filter [protected, virtual]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline, protected]
    lastOut(void) const Delay [virtual]
    nextOut(void)DelayA [virtual]
    printErrors(bool status)Stk [inline, protected, static]
    rawwavePath(void)Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, protected, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setDelay(StkFloat delay)DelayA
    Delay::setDelay(unsigned long delay)Delay
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setGain(StkFloat gain)Filter [protected, virtual]
    setMaximumDelay(unsigned long delay)Delay
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)Filter [protected]
    setRawwavePath(std::string path)Stk [protected, static]
    setSampleRate(StkFloat rate)Stk [protected, static]
    showWarnings(bool status)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    tick(StkFloat sample)Delay [virtual]
    tick(StkFrames &frames, unsigned int channel=0)Delay [virtual]
    ~Delay()Delay [virtual]
    ~DelayA()DelayA
    ~Filter(void)Filter [protected, virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classDelayA.html b/doc/html/classDelayA.html deleted file mode 100644 index a1d85b7..0000000 --- a/doc/html/classDelayA.html +++ /dev/null @@ -1,170 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    DelayA Class Reference

    #include <DelayA.h> -

    -

    Inheritance diagram for DelayA: -

    - -Delay -Filter -Stk - -List of all members.

    Detailed Description

    -STK allpass interpolating delay line class. -

    -This Delay subclass implements a fractional-length digital delay-line using a first-order allpass filter. A fixed maximum length of 4095 and a delay of 0.5 is set using the default constructor. Alternatively, the delay and maximum length can be set during instantiation with an overloaded constructor.

    -An allpass filter has unity magnitude gain but variable phase delay properties, making it useful in achieving fractional delays without affecting a signal's frequency magnitude response. In order to achieve a maximally flat phase delay response, the minimum delay possible in this implementation is limited to a value of 0.5.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    DelayA ()
     Default constructor creates a delay-line with maximum length of 4095 samples and zero delay.
     DelayA (StkFloat delay, unsigned long maxDelay)
     Overloaded constructor which specifies the current and maximum delay-line lengths.
    ~DelayA ()
     Class destructor.
    -void clear ()
     Clears the internal state of the delay line.
    void setDelay (StkFloat delay)
     Set the delay-line length.
    -StkFloat getDelay (void) const
     Return the current delay-line length.
    StkFloat nextOut (void)
     Return the value which will be output by the next call to tick().
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    DelayA::DelayA StkFloat  delay,
    unsigned long  maxDelay
    -
    - - - - - -
    -   - - -

    -Overloaded constructor which specifies the current and maximum delay-line lengths. -

    -An StkError will be thrown if the delay parameter is less than zero, the maximum delay parameter is less than one, or the delay parameter is greater than the maxDelay value.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void DelayA::setDelay StkFloat  delay  ) 
    -
    - - - - - -
    -   - - -

    -Set the delay-line length. -

    -The valid range for theDelay is from 0.5 to the maximum delay-line length.

    -

    - - - - -
    - - - - - - - - - -
    StkFloat DelayA::nextOut void   )  [virtual]
    -
    - - - - - -
    -   - - -

    -Return the value which will be output by the next call to tick(). -

    -This method is valid only for delay settings greater than zero! -

    -Reimplemented from Delay.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classDelayA.png b/doc/html/classDelayA.png deleted file mode 100644 index f2a9c68..0000000 Binary files a/doc/html/classDelayA.png and /dev/null differ diff --git a/doc/html/classDelayA__coll__graph.map b/doc/html/classDelayA__coll__graph.map deleted file mode 100644 index 520b0cf..0000000 --- a/doc/html/classDelayA__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classDelay.html 12,155 55,176 -rect $classFilter.html 13,86 53,107 -rect $classStk.html 15,16 52,38 diff --git a/doc/html/classDelayA__coll__graph.md5 b/doc/html/classDelayA__coll__graph.md5 deleted file mode 100644 index 38a4228..0000000 --- a/doc/html/classDelayA__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -549f152a4e263b7e715a0ae3a8e84468 \ No newline at end of file diff --git a/doc/html/classDelayA__coll__graph.png b/doc/html/classDelayA__coll__graph.png deleted file mode 100644 index 406e253..0000000 Binary files a/doc/html/classDelayA__coll__graph.png and /dev/null differ diff --git a/doc/html/classDelayA__inherit__graph.map b/doc/html/classDelayA__inherit__graph.map deleted file mode 100644 index 520b0cf..0000000 --- a/doc/html/classDelayA__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classDelay.html 12,155 55,176 -rect $classFilter.html 13,86 53,107 -rect $classStk.html 15,16 52,38 diff --git a/doc/html/classDelayA__inherit__graph.md5 b/doc/html/classDelayA__inherit__graph.md5 deleted file mode 100644 index 4fea0e3..0000000 --- a/doc/html/classDelayA__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -20b3ffc9fc0f8b0265f77873192c148d \ No newline at end of file diff --git a/doc/html/classDelayA__inherit__graph.png b/doc/html/classDelayA__inherit__graph.png deleted file mode 100644 index 406e253..0000000 Binary files a/doc/html/classDelayA__inherit__graph.png and /dev/null differ diff --git a/doc/html/classDelayL-members.html b/doc/html/classDelayL-members.html deleted file mode 100644 index e083318..0000000 --- a/doc/html/classDelayL-members.html +++ /dev/null @@ -1,71 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    DelayL Member List

    This is the complete list of members for DelayL, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Delay
    contentsAt(unsigned long tapDelay)Delay
    Delay()Delay
    Delay(unsigned long delay, unsigned long maxDelay)Delay
    DelayL()DelayL
    DelayL(StkFloat delay, unsigned long maxDelay)DelayL
    energy(void) const Delay
    Filter(void)Filter [protected]
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    getDelay(void) const DelayL
    getGain(void) const Filter [protected, virtual]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline, protected]
    lastOut(void) const Delay [virtual]
    nextOut(void)DelayL [virtual]
    printErrors(bool status)Stk [inline, protected, static]
    rawwavePath(void)Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, protected, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setDelay(StkFloat delay)DelayL
    Delay::setDelay(unsigned long delay)Delay
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setGain(StkFloat gain)Filter [protected, virtual]
    setMaximumDelay(unsigned long delay)Delay
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)Filter [protected]
    setRawwavePath(std::string path)Stk [protected, static]
    setSampleRate(StkFloat rate)Stk [protected, static]
    showWarnings(bool status)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    tick(StkFloat sample)Delay [virtual]
    tick(StkFrames &frames, unsigned int channel=0)Delay [virtual]
    ~Delay()Delay [virtual]
    ~DelayL()DelayL
    ~Filter(void)Filter [protected, virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classDelayL.html b/doc/html/classDelayL.html deleted file mode 100644 index f5b9653..0000000 --- a/doc/html/classDelayL.html +++ /dev/null @@ -1,166 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    DelayL Class Reference

    #include <DelayL.h> -

    -

    Inheritance diagram for DelayL: -

    - -Delay -Filter -Stk - -List of all members.

    Detailed Description

    -STK linear interpolating delay line class. -

    -This Delay subclass implements a fractional- length digital delay-line using first-order linear interpolation. A fixed maximum length of 4095 and a delay of zero is set using the default constructor. Alternatively, the delay and maximum length can be set during instantiation with an overloaded constructor.

    -Linear interpolation is an efficient technique for achieving fractional delay lengths, though it does introduce high-frequency signal attenuation to varying degrees depending on the fractional delay setting. The use of higher order Lagrange interpolators can typically improve (minimize) this attenuation characteristic.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    DelayL ()
     Default constructor creates a delay-line with maximum length of 4095 samples and zero delay.
     DelayL (StkFloat delay, unsigned long maxDelay)
     Overloaded constructor which specifies the current and maximum delay-line lengths.
    ~DelayL ()
     Class destructor.
    void setDelay (StkFloat delay)
     Set the delay-line length.
    -StkFloat getDelay (void) const
     Return the current delay-line length.
    StkFloat nextOut (void)
     Return the value which will be output by the next call to tick().
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    DelayL::DelayL StkFloat  delay,
    unsigned long  maxDelay
    -
    - - - - - -
    -   - - -

    -Overloaded constructor which specifies the current and maximum delay-line lengths. -

    -An StkError will be thrown if the delay parameter is less than zero, the maximum delay parameter is less than one, or the delay parameter is greater than the maxDelay value.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void DelayL::setDelay StkFloat  delay  ) 
    -
    - - - - - -
    -   - - -

    -Set the delay-line length. -

    -The valid range for theDelay is from 0 to the maximum delay-line length.

    -

    - - - - -
    - - - - - - - - - -
    StkFloat DelayL::nextOut void   )  [virtual]
    -
    - - - - - -
    -   - - -

    -Return the value which will be output by the next call to tick(). -

    -This method is valid only for delay settings greater than zero! -

    -Reimplemented from Delay.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classDelayL.png b/doc/html/classDelayL.png deleted file mode 100644 index fca5b71..0000000 Binary files a/doc/html/classDelayL.png and /dev/null differ diff --git a/doc/html/classDelayL__coll__graph.map b/doc/html/classDelayL__coll__graph.map deleted file mode 100644 index 9fd26c7..0000000 --- a/doc/html/classDelayL__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classDelay.html 11,155 53,176 -rect $classFilter.html 12,86 52,107 -rect $classStk.html 13,16 51,38 diff --git a/doc/html/classDelayL__coll__graph.md5 b/doc/html/classDelayL__coll__graph.md5 deleted file mode 100644 index 5606c72..0000000 --- a/doc/html/classDelayL__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3f3a4f05bf4f823ce56cd1be254470de \ No newline at end of file diff --git a/doc/html/classDelayL__coll__graph.png b/doc/html/classDelayL__coll__graph.png deleted file mode 100644 index c8edbae..0000000 Binary files a/doc/html/classDelayL__coll__graph.png and /dev/null differ diff --git a/doc/html/classDelayL__inherit__graph.map b/doc/html/classDelayL__inherit__graph.map deleted file mode 100644 index 9fd26c7..0000000 --- a/doc/html/classDelayL__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classDelay.html 11,155 53,176 -rect $classFilter.html 12,86 52,107 -rect $classStk.html 13,16 51,38 diff --git a/doc/html/classDelayL__inherit__graph.md5 b/doc/html/classDelayL__inherit__graph.md5 deleted file mode 100644 index 9997e53..0000000 --- a/doc/html/classDelayL__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -322b77f78c63d65aa25df44478289bd1 \ No newline at end of file diff --git a/doc/html/classDelayL__inherit__graph.png b/doc/html/classDelayL__inherit__graph.png deleted file mode 100644 index c8edbae..0000000 Binary files a/doc/html/classDelayL__inherit__graph.png and /dev/null differ diff --git a/doc/html/classDelay__coll__graph.map b/doc/html/classDelay__coll__graph.map deleted file mode 100644 index 27cc6da..0000000 --- a/doc/html/classDelay__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 8,85 48,106 -rect $classStk.html 9,16 47,37 diff --git a/doc/html/classDelay__coll__graph.md5 b/doc/html/classDelay__coll__graph.md5 deleted file mode 100644 index 442c969..0000000 --- a/doc/html/classDelay__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c17b704ce62d68ddae080678b5c862ae \ No newline at end of file diff --git a/doc/html/classDelay__coll__graph.png b/doc/html/classDelay__coll__graph.png deleted file mode 100644 index 7074560..0000000 Binary files a/doc/html/classDelay__coll__graph.png and /dev/null differ diff --git a/doc/html/classDelay__inherit__graph.map b/doc/html/classDelay__inherit__graph.map deleted file mode 100644 index 9a8ba25..0000000 --- a/doc/html/classDelay__inherit__graph.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $classDelayA.html 7,224 60,246 -rect $classDelayL.html 84,224 135,246 -rect $classFilter.html 51,86 91,107 -rect $classStk.html 52,16 89,38 diff --git a/doc/html/classDelay__inherit__graph.md5 b/doc/html/classDelay__inherit__graph.md5 deleted file mode 100644 index e456295..0000000 --- a/doc/html/classDelay__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -599f50d0117f253bb28d3bbd0d951e4b \ No newline at end of file diff --git a/doc/html/classDelay__inherit__graph.png b/doc/html/classDelay__inherit__graph.png deleted file mode 100644 index 421ed87..0000000 Binary files a/doc/html/classDelay__inherit__graph.png and /dev/null differ diff --git a/doc/html/classDrummer-members.html b/doc/html/classDrummer-members.html deleted file mode 100644 index 77521a8..0000000 --- a/doc/html/classDrummer-members.html +++ /dev/null @@ -1,59 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Drummer Member List

    This is the complete list of members for Drummer, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    controlChange(int number, StkFloat value)Instrmnt [virtual]
    Drummer()Drummer
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Drummer [virtual]
    noteOn(StkFloat instrument, StkFloat amplitude)Drummer [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Instrmnt [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Drummer()Drummer
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classDrummer.html b/doc/html/classDrummer.html deleted file mode 100644 index 9cf2832..0000000 --- a/doc/html/classDrummer.html +++ /dev/null @@ -1,126 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Drummer Class Reference

    #include <Drummer.h> -

    -

    Inheritance diagram for Drummer: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK drum sample player class. -

    -This class implements a drum sampling synthesizer using WvIn objects and one-pole filters. The drum rawwave files are sampled at 22050 Hz, but will be appropriately interpolated for other sample rates. You can specify the maximum polyphony (maximum number of simultaneous voices) via a define in the Drummer.h.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

     Drummer ()
     Class constructor.
    ~Drummer ()
     Class destructor.
    void noteOn (StkFloat instrument, StkFloat amplitude)
     Start a note with the given drum type and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    Drummer::Drummer  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void Drummer::noteOn StkFloat  instrument,
    StkFloat  amplitude
    [virtual]
    -
    - - - - - -
    -   - - -

    -Start a note with the given drum type and amplitude. -

    -Use general MIDI drum instrument numbers, converted to frequency values as if MIDI note numbers, to select a particular instrument. An StkError will be thrown if the rawwave path is incorrectly set. -

    -Implements Instrmnt.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classDrummer.png b/doc/html/classDrummer.png deleted file mode 100644 index f353f00..0000000 Binary files a/doc/html/classDrummer.png and /dev/null differ diff --git a/doc/html/classDrummer__coll__graph.map b/doc/html/classDrummer__coll__graph.map deleted file mode 100644 index 690a939..0000000 --- a/doc/html/classDrummer__coll__graph.map +++ /dev/null @@ -1,6 +0,0 @@ -base referer -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 88,16 125,37 -rect $classWvIn.html 87,133 127,155 -rect $classFilter.html 155,88 195,109 -rect $classOnePole.html 177,179 239,200 diff --git a/doc/html/classDrummer__coll__graph.md5 b/doc/html/classDrummer__coll__graph.md5 deleted file mode 100644 index b3a46f1..0000000 --- a/doc/html/classDrummer__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fc0580c83ce6015cf21402e7728c4cc4 \ No newline at end of file diff --git a/doc/html/classDrummer__coll__graph.png b/doc/html/classDrummer__coll__graph.png deleted file mode 100644 index c551f5f..0000000 Binary files a/doc/html/classDrummer__coll__graph.png and /dev/null differ diff --git a/doc/html/classDrummer__inherit__graph.map b/doc/html/classDrummer__inherit__graph.map deleted file mode 100644 index 977fee8..0000000 --- a/doc/html/classDrummer__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 12,85 68,106 -rect $classStk.html 21,16 59,37 diff --git a/doc/html/classDrummer__inherit__graph.md5 b/doc/html/classDrummer__inherit__graph.md5 deleted file mode 100644 index dc5bc89..0000000 --- a/doc/html/classDrummer__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d170da593797cb4aa14be15a877bb430 \ No newline at end of file diff --git a/doc/html/classDrummer__inherit__graph.png b/doc/html/classDrummer__inherit__graph.png deleted file mode 100644 index c54f137..0000000 Binary files a/doc/html/classDrummer__inherit__graph.png and /dev/null differ diff --git a/doc/html/classEcho-members.html b/doc/html/classEcho-members.html deleted file mode 100644 index d57d904..0000000 --- a/doc/html/classEcho-members.html +++ /dev/null @@ -1,59 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Echo Member List

    This is the complete list of members for Echo, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Echo [virtual]
    Echo(unsigned long maximumDelay=(unsigned long) Stk::sampleRate())Echo
    Effect()Effect
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut() const Effect
    lastOutLeft() const Effect
    lastOutRight() const Effect
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setDelay(unsigned long delay)Echo
    setEffectMix(StkFloat mix)Effect
    setMaximumDelay(unsigned long delay)Echo
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Effect
    tick(StkFrames &frames, unsigned int channel=0)Effect
    ~Echo()Echo
    ~Effect()Effect [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classEcho.html b/doc/html/classEcho.html deleted file mode 100644 index d4cf8f1..0000000 --- a/doc/html/classEcho.html +++ /dev/null @@ -1,90 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Echo Class Reference

    #include <Echo.h> -

    -

    Inheritance diagram for Echo: -

    - -Effect -Stk - -List of all members.

    Detailed Description

    -STK echo effect class. -

    -This class implements an echo effect.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Echo (unsigned long maximumDelay=(unsigned long) Stk::sampleRate())
     Class constructor, taking the longest desired delay length (one second default value).
    ~Echo ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setMaximumDelay (unsigned long delay)
     Set the maximum delay line length in samples.
    -void setDelay (unsigned long delay)
     Set the delay line length in samples.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    Echo::Echo unsigned long  maximumDelay = (unsigned long) Stk::sampleRate()  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor, taking the longest desired delay length (one second default value). -

    -The default delay value is set to 1/2 the maximum delay length.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classEcho.png b/doc/html/classEcho.png deleted file mode 100644 index e7315c7..0000000 Binary files a/doc/html/classEcho.png and /dev/null differ diff --git a/doc/html/classEcho__coll__graph.map b/doc/html/classEcho__coll__graph.map deleted file mode 100644 index a2730cc..0000000 --- a/doc/html/classEcho__coll__graph.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $classEffect.html 7,133 52,155 -rect $classStk.html 39,16 76,37 -rect $classFilter.html 68,88 108,109 -rect $classDelay.html 68,179 111,200 diff --git a/doc/html/classEcho__coll__graph.md5 b/doc/html/classEcho__coll__graph.md5 deleted file mode 100644 index 1262809..0000000 --- a/doc/html/classEcho__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -9aa8431a907908d62ccb971d774841c6 \ No newline at end of file diff --git a/doc/html/classEcho__coll__graph.png b/doc/html/classEcho__coll__graph.png deleted file mode 100644 index 56741c7..0000000 Binary files a/doc/html/classEcho__coll__graph.png and /dev/null differ diff --git a/doc/html/classEcho__inherit__graph.map b/doc/html/classEcho__inherit__graph.map deleted file mode 100644 index 30760ae..0000000 --- a/doc/html/classEcho__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classEffect.html 7,85 52,106 -rect $classStk.html 11,16 48,37 diff --git a/doc/html/classEcho__inherit__graph.md5 b/doc/html/classEcho__inherit__graph.md5 deleted file mode 100644 index ed31b6a..0000000 --- a/doc/html/classEcho__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -94193657793532957e6486a21abb7a76 \ No newline at end of file diff --git a/doc/html/classEcho__inherit__graph.png b/doc/html/classEcho__inherit__graph.png deleted file mode 100644 index a747f3f..0000000 Binary files a/doc/html/classEcho__inherit__graph.png and /dev/null differ diff --git a/doc/html/classEffect-members.html b/doc/html/classEffect-members.html deleted file mode 100644 index c800cbf..0000000 --- a/doc/html/classEffect-members.html +++ /dev/null @@ -1,55 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Effect Member List

    This is the complete list of members for Effect, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()=0Effect [pure virtual]
    Effect()Effect
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut() const Effect
    lastOutLeft() const Effect
    lastOutRight() const Effect
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setEffectMix(StkFloat mix)Effect
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Effect
    tick(StkFrames &frames, unsigned int channel=0)Effect
    ~Effect()Effect [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classEffect.html b/doc/html/classEffect.html deleted file mode 100644 index b1284a6..0000000 --- a/doc/html/classEffect.html +++ /dev/null @@ -1,120 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Effect Class Reference

    #include <Effect.h> -

    -

    Inheritance diagram for Effect: -

    - -Stk -Chorus -Echo -JCRev -NRev -PitShift -PRCRev - -List of all members.

    Detailed Description

    -STK abstract effects parent class. -

    -This class provides common functionality for STK effects subclasses.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Effect ()
     Class constructor.
    -virtual ~Effect ()
     Class destructor.
    -virtual void clear ()=0
     Reset and clear all internal state.
    -void setEffectMix (StkFloat mix)
     Set the mixture of input and "effected" levels in the output (0.0 = input only, 1.0 = reverb only).
    -StkFloat lastOut () const
     Return the last output value.
    -StkFloat lastOutLeft () const
     Return the last left output value.
    -StkFloat lastOutRight () const
     Return the last right output value.
    -StkFloat tick (StkFloat input)
     Take one sample input and compute one sample of output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFrames& Effect::tick StkFrames frames,
    unsigned int  channel = 0
    -
    - - - - - -
    -   - - -

    -Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classEffect.png b/doc/html/classEffect.png deleted file mode 100644 index e2ac64d..0000000 Binary files a/doc/html/classEffect.png and /dev/null differ diff --git a/doc/html/classEffect__coll__graph.map b/doc/html/classEffect__coll__graph.map deleted file mode 100644 index bd4d253..0000000 --- a/doc/html/classEffect__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 11,16 48,37 diff --git a/doc/html/classEffect__coll__graph.md5 b/doc/html/classEffect__coll__graph.md5 deleted file mode 100644 index d840349..0000000 --- a/doc/html/classEffect__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a1e1e86bbf8b917428cae7d589d94348 \ No newline at end of file diff --git a/doc/html/classEffect__coll__graph.png b/doc/html/classEffect__coll__graph.png deleted file mode 100644 index 36def78..0000000 Binary files a/doc/html/classEffect__coll__graph.png and /dev/null differ diff --git a/doc/html/classEffect__inherit__graph.map b/doc/html/classEffect__inherit__graph.map deleted file mode 100644 index a9be666..0000000 --- a/doc/html/classEffect__inherit__graph.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $classChorus.html 7,154 60,176 -rect $classEcho.html 84,154 124,176 -rect $classJCRev.html 148,154 199,176 -rect $classNRev.html 223,154 265,176 -rect $classPitShift.html 289,154 343,176 -rect $classPRCRev.html 367,154 431,176 -rect $classStk.html 189,16 227,37 diff --git a/doc/html/classEffect__inherit__graph.md5 b/doc/html/classEffect__inherit__graph.md5 deleted file mode 100644 index 8419d57..0000000 --- a/doc/html/classEffect__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -89d66a457f14bad46fa582e346fe30d3 \ No newline at end of file diff --git a/doc/html/classEffect__inherit__graph.png b/doc/html/classEffect__inherit__graph.png deleted file mode 100644 index 05d6804..0000000 Binary files a/doc/html/classEffect__inherit__graph.png and /dev/null differ diff --git a/doc/html/classEnvelope-members.html b/doc/html/classEnvelope-members.html deleted file mode 100644 index 4042a9b..0000000 --- a/doc/html/classEnvelope-members.html +++ /dev/null @@ -1,61 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Envelope Member List

    This is the complete list of members for Envelope, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Envelope(void)Envelope
    Envelope(const Envelope &e)Envelope
    Generator(void)Generator
    getState(void) const Envelope [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    keyOff(void)Envelope [virtual]
    keyOn(void)Envelope [virtual]
    lastOut(void) const Generator [inline, virtual]
    operator=(const Envelope &e)Envelope
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    setRate(StkFloat rate)Envelope
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setTarget(StkFloat target)Envelope [virtual]
    setTime(StkFloat time)Envelope
    setValue(StkFloat value)Envelope [virtual]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~Envelope(void)Envelope [virtual]
    ~Generator(void)Generator [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classEnvelope.html b/doc/html/classEnvelope.html deleted file mode 100644 index 2ed89af..0000000 --- a/doc/html/classEnvelope.html +++ /dev/null @@ -1,86 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Envelope Class Reference

    #include <Envelope.h> -

    -

    Inheritance diagram for Envelope: -

    - -Generator -Stk -ADSR -Asymp - -List of all members.

    Detailed Description

    -STK envelope base class. -

    -This class implements a simple envelope generator which is capable of ramping to a target value by a specified rate. It also responds to simple keyOn and keyOff messages, ramping to 1.0 on keyOn and to 0.0 on keyOff.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Envelope (void)
     Default constructor.
    Envelope (const Envelope &e)
     Copy constructor.
    -virtual ~Envelope (void)
     Class destructor.
    -Envelopeoperator= (const Envelope &e)
     Assignment operator.
    -virtual void keyOn (void)
     Set target = 1.
    -virtual void keyOff (void)
     Set target = 0.
    -void setRate (StkFloat rate)
     Set the rate.
    -void setTime (StkFloat time)
     Set the rate based on a time duration.
    -virtual void setTarget (StkFloat target)
     Set the target value.
    -virtual void setValue (StkFloat value)
     Set current and target values to aValue.
    -virtual int getState (void) const
     Return the current envelope state (0 = at target, 1 otherwise).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classEnvelope.png b/doc/html/classEnvelope.png deleted file mode 100644 index adf0b38..0000000 Binary files a/doc/html/classEnvelope.png and /dev/null differ diff --git a/doc/html/classEnvelope__coll__graph.map b/doc/html/classEnvelope__coll__graph.map deleted file mode 100644 index 337ffbe..0000000 --- a/doc/html/classEnvelope__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classGenerator.html 7,85 76,106 -rect $classStk.html 23,16 60,37 diff --git a/doc/html/classEnvelope__coll__graph.md5 b/doc/html/classEnvelope__coll__graph.md5 deleted file mode 100644 index fb69ea3..0000000 --- a/doc/html/classEnvelope__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fecfa4be9d84de3e116a39ae3cc0c95d \ No newline at end of file diff --git a/doc/html/classEnvelope__coll__graph.png b/doc/html/classEnvelope__coll__graph.png deleted file mode 100644 index 9eddcda..0000000 Binary files a/doc/html/classEnvelope__coll__graph.png and /dev/null differ diff --git a/doc/html/classEnvelope__inherit__graph.map b/doc/html/classEnvelope__inherit__graph.map deleted file mode 100644 index ab5087c..0000000 --- a/doc/html/classEnvelope__inherit__graph.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $classADSR.html 7,224 55,246 -rect $classAsymp.html 79,224 132,246 -rect $classGenerator.html 33,86 103,107 -rect $classStk.html 49,16 87,38 diff --git a/doc/html/classEnvelope__inherit__graph.md5 b/doc/html/classEnvelope__inherit__graph.md5 deleted file mode 100644 index e5126b3..0000000 --- a/doc/html/classEnvelope__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e0857d965c93c018eb44add801e8e8b3 \ No newline at end of file diff --git a/doc/html/classEnvelope__inherit__graph.png b/doc/html/classEnvelope__inherit__graph.png deleted file mode 100644 index 4e5bf29..0000000 Binary files a/doc/html/classEnvelope__inherit__graph.png and /dev/null differ diff --git a/doc/html/classFM-members.html b/doc/html/classFM-members.html deleted file mode 100644 index f3ba6ca..0000000 --- a/doc/html/classFM-members.html +++ /dev/null @@ -1,69 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FM Member List

    This is the complete list of members for FM, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()FM
    controlChange(int number, StkFloat value)FM [virtual]
    FM(unsigned int operators=4)FM
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()FM
    keyOn()FM
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    loadWaves(const char **filenames)FM
    noteOff(StkFloat amplitude)FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0Instrmnt [pure virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setControl1(StkFloat cVal)FM
    setControl2(StkFloat cVal)FM
    setFrequency(StkFloat frequency)FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)FM
    setModulationDepth(StkFloat mDepth)FM
    setModulationSpeed(StkFloat mSpeed)FM
    setRatio(unsigned int waveIndex, StkFloat ratio)FM
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~FM()FM [virtual]
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFM.html b/doc/html/classFM.html deleted file mode 100644 index 9cd4b0f..0000000 --- a/doc/html/classFM.html +++ /dev/null @@ -1,141 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FM Class Reference

    #include <FM.h> -

    -

    Inheritance diagram for FM: -

    - -Instrmnt -Stk -BeeThree -FMVoices -HevyMetl -PercFlut -Rhodey -TubeBell -Wurley - -List of all members.

    Detailed Description

    -STK abstract FM synthesis base class. -

    -This class controls an arbitrary number of waves and envelopes, determined via a constructor argument.

    -Control Change Numbers:

      -
    • Control One = 2
    • Control Two = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

    -The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     FM (unsigned int operators=4)
     Class constructor, taking the number of wave/envelope operators to control.
    -virtual ~FM ()
     Class destructor.
    -void clear ()
     Reset and clear all wave and envelope states.
    -void loadWaves (const char **filenames)
     Load the rawwave filenames in waves.
    -virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setRatio (unsigned int waveIndex, StkFloat ratio)
     Set the frequency ratio for the specified wave.
    -void setGain (unsigned int waveIndex, StkFloat gain)
     Set the gain for the specified wave.
    -void setModulationSpeed (StkFloat mSpeed)
     Set the modulation speed in Hz.
    -void setModulationDepth (StkFloat mDepth)
     Set the modulation depth.
    -void setControl1 (StkFloat cVal)
     Set the value of control1.
    -void setControl2 (StkFloat cVal)
     Set the value of control1.
    -void keyOn ()
     Start envelopes toward "on" targets.
    -void keyOff ()
     Start envelopes toward "off" targets.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -virtual void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    FM::FM unsigned int  operators = 4  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor, taking the number of wave/envelope operators to control. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFM.png b/doc/html/classFM.png deleted file mode 100644 index 095788d..0000000 Binary files a/doc/html/classFM.png and /dev/null differ diff --git a/doc/html/classFMVoices-members.html b/doc/html/classFMVoices-members.html deleted file mode 100644 index efc30cb..0000000 --- a/doc/html/classFMVoices-members.html +++ /dev/null @@ -1,71 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FMVoices Member List

    This is the complete list of members for FMVoices, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()FM
    controlChange(int number, StkFloat value)FMVoices [virtual]
    FM(unsigned int operators=4)FM
    FMVoices()FMVoices
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()FM
    keyOn()FM
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    loadWaves(const char **filenames)FM
    noteOff(StkFloat amplitude)FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)FMVoices [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setControl1(StkFloat cVal)FM
    setControl2(StkFloat cVal)FM
    setFrequency(StkFloat frequency)FMVoices [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)FM
    setModulationDepth(StkFloat mDepth)FM
    setModulationSpeed(StkFloat mSpeed)FM
    setRatio(unsigned int waveIndex, StkFloat ratio)FM
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~FM()FM [virtual]
    ~FMVoices()FMVoices
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFMVoices.html b/doc/html/classFMVoices.html deleted file mode 100644 index d5b9886..0000000 --- a/doc/html/classFMVoices.html +++ /dev/null @@ -1,99 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FMVoices Class Reference

    #include <FMVoices.h> -

    -

    Inheritance diagram for FMVoices: -

    - -FM -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK singing FM synthesis instrument. -

    -This class implements 3 carriers and a common modulator, also referred to as algorithm 6 of the TX81Z.

    -

        Algorithm 6 is :
    -                        /->1 -\
    -                     4-|-->2 - +-> Out
    -                        \->3 -/
    -

    -Control Change Numbers:

      -
    • Vowel = 2
    • Spectral Tilt = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

    -The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     FMVoices ()
     Class constructor.
    ~FMVoices ()
     Class destructor.
    -virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -virtual void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    FMVoices::FMVoices  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFMVoices.png b/doc/html/classFMVoices.png deleted file mode 100644 index 4ffb545..0000000 Binary files a/doc/html/classFMVoices.png and /dev/null differ diff --git a/doc/html/classFMVoices__coll__graph.map b/doc/html/classFMVoices__coll__graph.map deleted file mode 100644 index 2830571..0000000 --- a/doc/html/classFMVoices__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $classFM.html 72,269 109,291 -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 85,16 123,37 -rect $classWvIn.html 84,88 124,109 -rect $classFilter.html 156,88 196,109 -rect $classWaveLoop.html 67,179 141,200 -rect $classTwoZero.html 167,179 231,200 diff --git a/doc/html/classFMVoices__coll__graph.md5 b/doc/html/classFMVoices__coll__graph.md5 deleted file mode 100644 index 9a0376e..0000000 --- a/doc/html/classFMVoices__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -0d86f3045a58c52dec371067a8e72db0 \ No newline at end of file diff --git a/doc/html/classFMVoices__coll__graph.png b/doc/html/classFMVoices__coll__graph.png deleted file mode 100644 index 0caefef..0000000 Binary files a/doc/html/classFMVoices__coll__graph.png and /dev/null differ diff --git a/doc/html/classFMVoices__inherit__graph.map b/doc/html/classFMVoices__inherit__graph.map deleted file mode 100644 index cdfc9f6..0000000 --- a/doc/html/classFMVoices__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classFM.html 23,155 60,176 -rect $classInstrmnt.html 13,86 69,107 -rect $classStk.html 23,16 60,38 diff --git a/doc/html/classFMVoices__inherit__graph.md5 b/doc/html/classFMVoices__inherit__graph.md5 deleted file mode 100644 index 0b4f8ba..0000000 --- a/doc/html/classFMVoices__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fbb28f1e8d9fc8d34bac0dd723a735f7 \ No newline at end of file diff --git a/doc/html/classFMVoices__inherit__graph.png b/doc/html/classFMVoices__inherit__graph.png deleted file mode 100644 index 57b2838..0000000 Binary files a/doc/html/classFMVoices__inherit__graph.png and /dev/null differ diff --git a/doc/html/classFM__coll__graph.map b/doc/html/classFM__coll__graph.map deleted file mode 100644 index 883ece6..0000000 --- a/doc/html/classFM__coll__graph.map +++ /dev/null @@ -1,7 +0,0 @@ -base referer -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 85,16 123,37 -rect $classWvIn.html 84,88 124,109 -rect $classFilter.html 156,88 196,109 -rect $classWaveLoop.html 67,179 141,200 -rect $classTwoZero.html 167,179 231,200 diff --git a/doc/html/classFM__coll__graph.md5 b/doc/html/classFM__coll__graph.md5 deleted file mode 100644 index d954232..0000000 --- a/doc/html/classFM__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d3f98dc4904dd9fb567de463c3283174 \ No newline at end of file diff --git a/doc/html/classFM__coll__graph.png b/doc/html/classFM__coll__graph.png deleted file mode 100644 index 0357173..0000000 Binary files a/doc/html/classFM__coll__graph.png and /dev/null differ diff --git a/doc/html/classFM__inherit__graph.map b/doc/html/classFM__inherit__graph.map deleted file mode 100644 index c270291..0000000 --- a/doc/html/classFM__inherit__graph.map +++ /dev/null @@ -1,10 +0,0 @@ -base referer -rect $classBeeThree.html 7,224 73,246 -rect $classFMVoices.html 97,224 167,246 -rect $classHevyMetl.html 191,224 255,246 -rect $classPercFlut.html 279,224 340,246 -rect $classRhodey.html 364,224 420,246 -rect $classTubeBell.html 444,224 508,246 -rect $classWurley.html 532,224 585,246 -rect $classInstrmnt.html 281,86 337,107 -rect $classStk.html 291,16 328,38 diff --git a/doc/html/classFM__inherit__graph.md5 b/doc/html/classFM__inherit__graph.md5 deleted file mode 100644 index d1c5656..0000000 --- a/doc/html/classFM__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -17738f66202d53517bd0872a0dbe8b43 \ No newline at end of file diff --git a/doc/html/classFM__inherit__graph.png b/doc/html/classFM__inherit__graph.png deleted file mode 100644 index 9d8723d..0000000 Binary files a/doc/html/classFM__inherit__graph.png and /dev/null differ diff --git a/doc/html/classFileRead-members.html b/doc/html/classFileRead-members.html deleted file mode 100644 index 5fac179..0000000 --- a/doc/html/classFileRead-members.html +++ /dev/null @@ -1,56 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FileRead Member List

    This is the complete list of members for FileRead, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    channels(void) const FileRead [inline]
    close(void)FileRead
    fileRate(void) const FileRead [inline]
    FileRead()FileRead
    FileRead(std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)FileRead
    fileSize(void) const FileRead [inline]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    isOpen(void)FileRead
    open(std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)FileRead
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    read(StkFrames &buffer, unsigned long startFrame=0, bool doNormalize=true)FileRead
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    ~FileRead()FileRead
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFileRead.html b/doc/html/classFileRead.html deleted file mode 100644 index 1252d5d..0000000 --- a/doc/html/classFileRead.html +++ /dev/null @@ -1,268 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FileRead Class Reference

    #include <FileRead.h> -

    -

    Inheritance diagram for FileRead: -

    - -Stk - -List of all members.

    Detailed Description

    -STK audio file input class. -

    -This class provides input support for various audio file formats. Multi-channel (>2) soundfiles are supported. The file data is returned via an external StkFrames object passed to the read() function. This class does not store its own copy of the file data, rather the data is read directly from disk.

    -FileRead currently supports uncompressed WAV, AIFF/AIFC, SND (AU), MAT-file (Matlab), and STK RAW file formats. Signed integer (8-, 16-, and 32-bit) and floating-point (32- and 64-bit) data types are supported. Compressed data types are not supported.

    -STK RAW files have no header and are assumed to contain a monophonic stream of 16-bit signed integers in big-endian byte order at a sample rate of 22050 Hz. MAT-file data should be saved in an array with each data channel filling a matrix row. The sample rate for MAT-files is assumed to be 44100 Hz.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    FileRead ()
     Default constructor.
     FileRead (std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)
     Overloaded constructor that opens a file during instantiation.
    ~FileRead ()
     Class destructor.
    void open (std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)
     Open the specified file and determine its formatting.
    -void close (void)
     If a file is open, close it.
    -bool isOpen (void)
     Returns true if a file is currently open.
    -unsigned long fileSize (void) const
     Return the file size in sample frames.
    -unsigned int channels (void) const
     Return the number of audio channels in the file.
    StkFloat fileRate (void) const
     Return the file sample rate in Hz.
    void read (StkFrames &buffer, unsigned long startFrame=0, bool doNormalize=true)
     Read sample frames from the file into an StkFrames object.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FileRead::FileRead std::string  fileName,
    bool  typeRaw = false,
    unsigned int  nChannels = 1,
    StkFormat  format = STK_SINT16,
    StkFloat  rate = 22050.0
    -
    - - - - - -
    -   - - -

    -Overloaded constructor that opens a file during instantiation. -

    -An StkError will be thrown if the file is not found or its format is unknown or unsupported. The optional arguments allow a headerless file type to be supported. If typeRaw is false (the default), the subsequent parameters are ignored.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void FileRead::open std::string  fileName,
    bool  typeRaw = false,
    unsigned int  nChannels = 1,
    StkFormat  format = STK_SINT16,
    StkFloat  rate = 22050.0
    -
    - - - - - -
    -   - - -

    -Open the specified file and determine its formatting. -

    -An StkError will be thrown if the file is not found or its format is unknown or unsupported. The optional arguments allow a headerless file type to be supported. If typeRaw is false (the default), the subsequent parameters are ignored.

    -

    - - - - -
    - - - - - - - - - -
    StkFloat FileRead::fileRate void   )  const [inline]
    -
    - - - - - -
    -   - - -

    -Return the file sample rate in Hz. -

    -WAV, SND, and AIF formatted files specify a sample rate in their headers. By definition, STK RAW files have a sample rate of 22050 Hz. MAT-files are assumed to have a rate of 44100 Hz.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void FileRead::read StkFrames buffer,
    unsigned long  startFrame = 0,
    bool  doNormalize = true
    -
    - - - - - -
    -   - - -

    -Read sample frames from the file into an StkFrames object. -

    -The number of sample frames to read will be determined from the number of frames of the StkFrames argument. If this size is larger than the available data in the file (given the file size and starting frame index), the extra frames will be unaffected (the StkFrames object will not be resized). Optional parameters are provided to specify the starting sample frame within the file (default = 0) and whether to normalize the data with respect to fixed-point limits (default = true). An StkError will be thrown if a file error occurs or if the number of channels in the StkFrames argument is not equal to that in the file.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFileRead.png b/doc/html/classFileRead.png deleted file mode 100644 index 62aa7cc..0000000 Binary files a/doc/html/classFileRead.png and /dev/null differ diff --git a/doc/html/classFileWrite-members.html b/doc/html/classFileWrite-members.html deleted file mode 100644 index 7821ef3..0000000 --- a/doc/html/classFileWrite-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FileWrite Member List

    This is the complete list of members for FileWrite, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    close(void)FileWrite
    FILE_AIFFileWrite [static]
    FILE_MATFileWrite [static]
    FILE_RAWFileWrite [static]
    FILE_SNDFileWrite [static]
    FILE_WAVFileWrite [static]
    FileWrite()FileWrite
    FileWrite(std::string fileName, unsigned int nChannels=1, FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)FileWrite
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    isOpen(void)FileWrite
    open(std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)FileWrite
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    write(StkFrames &buffer)FileWrite
    ~FileWrite()FileWrite [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFileWrite.html b/doc/html/classFileWrite.html deleted file mode 100644 index e8f0a6b..0000000 --- a/doc/html/classFileWrite.html +++ /dev/null @@ -1,327 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FileWrite Class Reference

    #include <FileWrite.h> -

    -

    Inheritance diagram for FileWrite: -

    - -Stk - -List of all members.

    Detailed Description

    -STK audio file output class. -

    -This class provides output support for various audio file formats.

    -FileWrite writes samples to an audio file. It supports multi-channel data.

    -FileWrite currently supports uncompressed WAV, AIFF, AIFC, SND (AU), MAT-file (Matlab), and STK RAW file formats. Signed integer (8-, 16-, and 32-bit) and floating- point (32- and 64-bit) data types are supported. STK RAW files use 16-bit integers by definition. MAT-files will always be written as 64-bit floats. If a data type specification does not match the specified file type, the data type will automatically be modified. Compressed data types are not supported.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    FileWrite ()
     Default constructor.
     FileWrite (std::string fileName, unsigned int nChannels=1, FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)
     Overloaded constructor used to specify a file name, type, and data format with this object.
    -virtual ~FileWrite ()
     Class destructor.
    void open (std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)
     Create a file of the specified type and name and output samples to it in the given data format.
    -void close (void)
     If a file is open, write out samples in the queue and then close it.
    -bool isOpen (void)
     Returns true if a file is currently open.
    void write (StkFrames &buffer)
     Write sample frames from the StkFrames object to the file.

    Static Public Attributes

    static const FILE_TYPE FILE_RAW
    static const FILE_TYPE FILE_WAV
    static const FILE_TYPE FILE_SND
    static const FILE_TYPE FILE_AIF
    static const FILE_TYPE FILE_MAT
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FileWrite::FileWrite std::string  fileName,
    unsigned int  nChannels = 1,
    FILE_TYPE  type = FILE_WAV,
    Stk::StkFormat  format = STK_SINT16
    -
    - - - - - -
    -   - - -

    -Overloaded constructor used to specify a file name, type, and data format with this object. -

    -An StkError is thrown for invalid argument values or if an error occurs when initializing the output file.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void FileWrite::open std::string  fileName,
    unsigned int  nChannels = 1,
    FileWrite::FILE_TYPE  type = FILE_WAV,
    Stk::StkFormat  format = STK_SINT16
    -
    - - - - - -
    -   - - -

    -Create a file of the specified type and name and output samples to it in the given data format. -

    -An StkError is thrown for invalid argument values or if an error occurs when initializing the output file.

    -

    - - - - -
    - - - - - - - - - -
    void FileWrite::write StkFrames buffer  ) 
    -
    - - - - - -
    -   - - -

    -Write sample frames from the StkFrames object to the file. -

    -An StkError will be thrown if the number of channels in the StkFrames argument does not agree with the number of channels specified when opening the file.

    -


    Member Data Documentation

    -

    - - - - -
    - - - - -
    const FILE_TYPE FileWrite::FILE_RAW [static]
    -
    - - - - - -
    -   - - -

    -STK RAW file type.

    -

    - - - - -
    - - - - -
    const FILE_TYPE FileWrite::FILE_WAV [static]
    -
    - - - - - -
    -   - - -

    -WAV file type.

    -

    - - - - -
    - - - - -
    const FILE_TYPE FileWrite::FILE_SND [static]
    -
    - - - - - -
    -   - - -

    -SND (AU) file type.

    -

    - - - - -
    - - - - -
    const FILE_TYPE FileWrite::FILE_AIF [static]
    -
    - - - - - -
    -   - - -

    -AIFF file type.

    -

    - - - - -
    - - - - -
    const FILE_TYPE FileWrite::FILE_MAT [static]
    -
    - - - - - -
    -   - - -

    -Matlab MAT-file type.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFileWrite.png b/doc/html/classFileWrite.png deleted file mode 100644 index 3156222..0000000 Binary files a/doc/html/classFileWrite.png and /dev/null differ diff --git a/doc/html/classFileWvIn-members.html b/doc/html/classFileWvIn-members.html deleted file mode 100644 index 25b019b..0000000 --- a/doc/html/classFileWvIn-members.html +++ /dev/null @@ -1,66 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FileWvIn Member List

    This is the complete list of members for FileWvIn, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    addTime(StkFloat time)FileWvIn [virtual]
    closeFile(void)FileWvIn
    FileWvIn(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)FileWvIn
    FileWvIn(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)FileWvIn
    getChannels(void) const WvIn [inline]
    getFileRate(void) const FileWvIn [inline]
    getSize(void) const FileWvIn [inline]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    isFinished(void) const FileWvIn [inline]
    lastFrame(void) const WvIn [inline]
    normalize(void)FileWvIn
    normalize(StkFloat peak)FileWvIn
    openFile(std::string fileName, bool raw=false, bool doNormalize=true)FileWvIn
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    reset(void)FileWvIn
    sampleRate(void)Stk [inline, static]
    setInterpolate(bool doInterpolate)FileWvIn [inline]
    setRate(StkFloat rate)FileWvIn
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)WvIn
    tick(StkFrames &frames, unsigned int channel=0)WvIn
    tickFrame(StkFrames &frames)WvIn
    WvIn()WvIn
    ~FileWvIn()FileWvIn [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~WvIn()WvIn [virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFileWvIn.html b/doc/html/classFileWvIn.html deleted file mode 100644 index b8cc8e7..0000000 --- a/doc/html/classFileWvIn.html +++ /dev/null @@ -1,383 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FileWvIn Class Reference

    #include <FileWvIn.h> -

    -

    Inheritance diagram for FileWvIn: -

    - -WvIn -Stk -WaveLoop - -List of all members.

    Detailed Description

    -STK audio file input class. -

    -This class inherits from WvIn. It provides a "tick-level" interface to the FileRead class. It also provides variable-rate "playback" functionality. Audio file support is provided by the FileRead class. Linear interpolation is used for fractional "read rates".

    -FileWvIn supports multi-channel data. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return references to multi-channel sample frames.

    -FileWvIn will either load the entire content of an audio file into local memory or incrementally read file data from disk in chunks. This behavior is controlled by the optional constructor arguments chunkThreshold and chunkSize. File sizes greater than chunkThreshold (in sample frames) will be read incrementally in chunks of chunkSize each (also in sample frames).

    -When the file end is reached, subsequent calls to the tick() functions return zero-valued data and isFinished() returns true.

    -See the FileRead class for a description of the supported audio file formats.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    FileWvIn (unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Default constructor.
     FileWvIn (std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Overloaded constructor for file input.
    -virtual ~FileWvIn ()
     Class destructor.
    void openFile (std::string fileName, bool raw=false, bool doNormalize=true)
     Open the specified file and load its data.
    -void closeFile (void)
     Close a file if one is open.
    -void reset (void)
     Clear outputs and reset time (file) pointer to zero.
    void normalize (void)
     Normalize data to a maximum of +-1.0.
    void normalize (StkFloat peak)
     Normalize data to a maximum of +-peak.
    -unsigned long getSize (void) const
     Return the file size in sample frames.
    StkFloat getFileRate (void) const
     Return the input file sample rate in Hz (not the data read rate).
    -bool isFinished (void) const
     Query whether reading is complete.
    void setRate (StkFloat rate)
     Set the data read rate in samples. The rate can be negative.
    virtual void addTime (StkFloat time)
     Increment the read pointer by time samples.
    void setInterpolate (bool doInterpolate)
     Turn linear interpolation on/off.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FileWvIn::FileWvIn std::string  fileName,
    bool  raw = false,
    bool  doNormalize = true,
    unsigned long  chunkThreshold = 1000000,
    unsigned long  chunkSize = 1024
    -
    - - - - - -
    -   - - -

    -Overloaded constructor for file input. -

    -An StkError will be thrown if the file is not found, its format is unknown, or a read error occurs.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void FileWvIn::openFile std::string  fileName,
    bool  raw = false,
    bool  doNormalize = true
    -
    - - - - - -
    -   - - -

    -Open the specified file and load its data. -

    -Data from a previously opened file will be overwritten by this function. An StkError will be thrown if the file is not found, its format is unknown, or a read error occurs. If the file data is to be loaded incrementally from disk and normalization is specified, a scaling will be applied with respect to fixed-point limits. If the data format is floating-point, no scaling is performed. -

    -Reimplemented in WaveLoop.

    -

    - - - - -
    - - - - - - - - - -
    void FileWvIn::normalize void   ) 
    -
    - - - - - -
    -   - - -

    -Normalize data to a maximum of +-1.0. -

    -This function has no effect when data is incrementally loaded from disk.

    -

    - - - - -
    - - - - - - - - - -
    void FileWvIn::normalize StkFloat  peak  ) 
    -
    - - - - - -
    -   - - -

    -Normalize data to a maximum of +-peak. -

    -This function has no effect when data is incrementally loaded from disk.

    -

    - - - - -
    - - - - - - - - - -
    StkFloat FileWvIn::getFileRate void   )  const [inline]
    -
    - - - - - -
    -   - - -

    -Return the input file sample rate in Hz (not the data read rate). -

    -WAV, SND, and AIF formatted files specify a sample rate in their headers. STK RAW files have a sample rate of 22050 Hz by definition. MAT-files are assumed to have a rate of 44100 Hz.

    -

    - - - - -
    - - - - - - - - - -
    void FileWvIn::setRate StkFloat  rate  ) 
    -
    - - - - - -
    -   - - -

    -Set the data read rate in samples. The rate can be negative. -

    -If the rate value is negative, the data is read in reverse order. -

    -Reimplemented in WaveLoop.

    -

    - - - - -
    - - - - - - - - - -
    virtual void FileWvIn::addTime StkFloat  time  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Increment the read pointer by time samples. -

    -Note that this function will not modify the interpolation flag status. -

    -Reimplemented in WaveLoop.

    -

    - - - - -
    - - - - - - - - - -
    void FileWvIn::setInterpolate bool  doInterpolate  )  [inline]
    -
    - - - - - -
    -   - - -

    -Turn linear interpolation on/off. -

    -Interpolation is automatically off when the read rate is an integer value. If interpolation is turned off for a fractional rate, the time index is truncated to an integer value.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFileWvIn.png b/doc/html/classFileWvIn.png deleted file mode 100644 index 1ab6767..0000000 Binary files a/doc/html/classFileWvIn.png and /dev/null differ diff --git a/doc/html/classFileWvOut-members.html b/doc/html/classFileWvOut-members.html deleted file mode 100644 index 7a5abf6..0000000 --- a/doc/html/classFileWvOut-members.html +++ /dev/null @@ -1,60 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FileWvOut Member List

    This is the complete list of members for FileWvOut, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clipStatus(void)WvOut [inline]
    closeFile(void)FileWvOut
    FileWvOut(unsigned int bufferFrames=1024)FileWvOut
    FileWvOut(std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FileWrite::FILE_WAV, Stk::StkFormat format=STK_SINT16, unsigned int bufferFrames=1024)FileWvOut
    getFrameCount(void) const WvOut
    getTime(void) const WvOut
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    openFile(std::string fileName, unsigned int nChannels, FileWrite::FILE_TYPE type, Stk::StkFormat format)FileWvOut
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    resetClipStatus(void)WvOut [inline]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(const StkFloat sample)WvOut
    tick(const StkFrames &frames, unsigned int channel=0)WvOut
    tickFrame(const StkFrames &frames)WvOut
    WvOut()WvOut
    ~FileWvOut()FileWvOut [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~WvOut()WvOut [virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFileWvOut.html b/doc/html/classFileWvOut.html deleted file mode 100644 index 07fff66..0000000 --- a/doc/html/classFileWvOut.html +++ /dev/null @@ -1,229 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FileWvOut Class Reference

    #include <FileWvOut.h> -

    -

    Inheritance diagram for FileWvOut: -

    - -WvOut -Stk - -List of all members.

    Detailed Description

    -STK audio file output class. -

    -This class inherits from WvOut. It provides a "tick-level" interface to the FileWrite class.

    -FileWvOut writes samples to an audio file and supports multi-channel data. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame, from the tickFrame() methods, which take a pointer or reference to multi-channel sample frame data.

    -See the FileWrite class for a description of the supported audio file formats.

    -Currently, FileWvOut is non-interpolating and the output rate is always Stk::sampleRate().

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     FileWvOut (unsigned int bufferFrames=1024)
     Default constructor with optional output buffer size argument.
     FileWvOut (std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FileWrite::FILE_WAV, Stk::StkFormat format=STK_SINT16, unsigned int bufferFrames=1024)
     Overloaded constructor used to specify a file name, type, and data format with this object.
    -virtual ~FileWvOut ()
     Class destructor.
    void openFile (std::string fileName, unsigned int nChannels, FileWrite::FILE_TYPE type, Stk::StkFormat format)
     Open a new file with the specified parameters.
    void closeFile (void)
     Close a file if one is open.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    FileWvOut::FileWvOut unsigned int  bufferFrames = 1024  ) 
    -
    - - - - - -
    -   - - -

    -Default constructor with optional output buffer size argument. -

    -The output buffer size defines the number of frames that are accumulated between writes to disk.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FileWvOut::FileWvOut std::string  fileName,
    unsigned int  nChannels = 1,
    FileWrite::FILE_TYPE  type = FileWrite::FILE_WAV,
    Stk::StkFormat  format = STK_SINT16,
    unsigned int  bufferFrames = 1024
    -
    - - - - - -
    -   - - -

    -Overloaded constructor used to specify a file name, type, and data format with this object. -

    -An StkError is thrown for invalid argument values or if an error occurs when initializing the output file.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void FileWvOut::openFile std::string  fileName,
    unsigned int  nChannels,
    FileWrite::FILE_TYPE  type,
    Stk::StkFormat  format
    -
    - - - - - -
    -   - - -

    -Open a new file with the specified parameters. -

    -If a file was previously open, it will be closed. An StkError will be thrown if any of the specified arguments are invalid or a file error occurs during opening.

    -

    - - - - -
    - - - - - - - - - -
    void FileWvOut::closeFile void   ) 
    -
    - - - - - -
    -   - - -

    -Close a file if one is open. -

    -Any data remaining in the internal buffer will be written to the file before closing.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFileWvOut.png b/doc/html/classFileWvOut.png deleted file mode 100644 index 2d2935e..0000000 Binary files a/doc/html/classFileWvOut.png and /dev/null differ diff --git a/doc/html/classFilter-members.html b/doc/html/classFilter-members.html deleted file mode 100644 index 136affd..0000000 --- a/doc/html/classFilter-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Filter Member List

    This is the complete list of members for Filter, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear(void)Filter
    Filter(void)Filter
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter
    getGain(void) const Filter [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut(void) const Filter [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter
    setGain(StkFloat gain)Filter [virtual]
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)Filter
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Filter [virtual]
    tick(StkFrames &frames, unsigned int channel=0)Filter [virtual]
    ~Filter(void)Filter [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFilter.html b/doc/html/classFilter.html deleted file mode 100644 index 8a65fff..0000000 --- a/doc/html/classFilter.html +++ /dev/null @@ -1,332 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Filter Class Reference

    #include <Filter.h> -

    -

    Inheritance diagram for Filter: -

    - -Stk -BiQuad -Delay -OnePole -OneZero -PoleZero -TwoPole -TwoZero -FormSwep -DelayA -DelayL - -List of all members.

    Detailed Description

    -STK filter class. -

    -This class implements a generic structure that can be used to create a wide range of filters. It can function independently or be subclassed to provide more specific controls based on a particular filter type.

    -In particular, this class implements the standard difference equation:

    -a[0]*y[n] = b[0]*x[n] + ... + b[nb]*x[n-nb] - a[1]*y[n-1] - ... - a[na]*y[n-na]

    -If a[0] is not equal to 1, the filter coeffcients are normalized by a[0].

    -The gain parameter is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. This structure results in one extra multiply per computed sample, but allows easy control of the overall filter gain.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Filter (void)
     Default constructor creates a zero-order pass-through "filter".
     Filter (std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)
     Overloaded constructor which takes filter coefficients.
    -virtual ~Filter (void)
     Class destructor.
    -void clear (void)
     Sets all internal states of the filter to zero.
    void setCoefficients (std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)
     Set filter coefficients.
    void setNumerator (std::vector< StkFloat > &bCoefficients, bool clearState=false)
     Set numerator coefficients.
    void setDenominator (std::vector< StkFloat > &aCoefficients, bool clearState=false)
     Set denominator coefficients.
    virtual void setGain (StkFloat gain)
     Set the filter gain.
    -virtual StkFloat getGain (void) const
     Return the current filter gain.
    -virtual StkFloat lastOut (void) const
     Return the last computed output value.
    -virtual StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    virtual StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    Filter::Filter std::vector< StkFloat > &  bCoefficients,
    std::vector< StkFloat > &  aCoefficients
    -
    - - - - - -
    -   - - -

    -Overloaded constructor which takes filter coefficients. -

    -An StkError can be thrown if either of the coefficient vector sizes is zero, or if the a[0] coefficient is equal to zero.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void Filter::setCoefficients std::vector< StkFloat > &  bCoefficients,
    std::vector< StkFloat > &  aCoefficients,
    bool  clearState = false
    -
    - - - - - -
    -   - - -

    -Set filter coefficients. -

    -An StkError can be thrown if either of the coefficient vector sizes is zero, or if the a[0] coefficient is equal to zero. If a[0] is not equal to 1, the filter coeffcients are normalized by a[0]. The internal state of the filter is not cleared unless the clearState flag is true.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void Filter::setNumerator std::vector< StkFloat > &  bCoefficients,
    bool  clearState = false
    -
    - - - - - -
    -   - - -

    -Set numerator coefficients. -

    -An StkError can be thrown if coefficient vector is empty. Any previously set denominator coefficients are left unaffected. Note that the default constructor sets the single denominator coefficient a[0] to 1.0. The internal state of the filter is not cleared unless the clearState flag is true.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void Filter::setDenominator std::vector< StkFloat > &  aCoefficients,
    bool  clearState = false
    -
    - - - - - -
    -   - - -

    -Set denominator coefficients. -

    -An StkError can be thrown if the coefficient vector is empty or if the a[0] coefficient is equal to zero. Previously set numerator coefficients are unaffected unless a[0] is not equal to 1, in which case all coeffcients are normalized by a[0]. Note that the default constructor sets the single numerator coefficient b[0] to 1.0. The internal state of the filter is not cleared unless the clearState flag is true.

    -

    - - - - -
    - - - - - - - - - -
    virtual void Filter::setGain StkFloat  gain  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Set the filter gain. -

    -The gain is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. -

    -Reimplemented in BiQuad, OnePole, OneZero, PoleZero, TwoPole, and TwoZero.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    virtual StkFrames& Filter::tick StkFrames frames,
    unsigned int  channel = 0
    [virtual]
    -
    - - - - - -
    -   - - -

    -Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object. -

    -Reimplemented in BiQuad, Delay, OnePole, OneZero, PoleZero, TwoPole, and TwoZero.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFilter.png b/doc/html/classFilter.png deleted file mode 100644 index 32842b4..0000000 Binary files a/doc/html/classFilter.png and /dev/null differ diff --git a/doc/html/classFilter__coll__graph.map b/doc/html/classFilter__coll__graph.map deleted file mode 100644 index 4484d54..0000000 --- a/doc/html/classFilter__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 8,16 45,37 diff --git a/doc/html/classFilter__coll__graph.md5 b/doc/html/classFilter__coll__graph.md5 deleted file mode 100644 index d6b4ba4..0000000 --- a/doc/html/classFilter__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a60893e0592dcd8080eca04669cea996 \ No newline at end of file diff --git a/doc/html/classFilter__coll__graph.png b/doc/html/classFilter__coll__graph.png deleted file mode 100644 index ccd251b..0000000 Binary files a/doc/html/classFilter__coll__graph.png and /dev/null differ diff --git a/doc/html/classFilter__inherit__graph.map b/doc/html/classFilter__inherit__graph.map deleted file mode 100644 index 49b739e..0000000 --- a/doc/html/classFilter__inherit__graph.map +++ /dev/null @@ -1,12 +0,0 @@ -base referer -rect $classBiQuad.html 25,155 79,176 -rect $classDelay.html 111,155 153,176 -rect $classOnePole.html 177,155 239,176 -rect $classOneZero.html 263,155 327,176 -rect $classPoleZero.html 351,155 415,176 -rect $classTwoPole.html 439,155 500,176 -rect $classTwoZero.html 524,155 588,176 -rect $classStk.html 276,16 313,38 -rect $classFormSwep.html 7,224 81,246 -rect $classDelayA.html 105,224 159,246 -rect $classDelayL.html 183,224 233,246 diff --git a/doc/html/classFilter__inherit__graph.md5 b/doc/html/classFilter__inherit__graph.md5 deleted file mode 100644 index 511714d..0000000 --- a/doc/html/classFilter__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -847b2d9062040b69260742452c11ed0a \ No newline at end of file diff --git a/doc/html/classFilter__inherit__graph.png b/doc/html/classFilter__inherit__graph.png deleted file mode 100644 index 4d093e4..0000000 Binary files a/doc/html/classFilter__inherit__graph.png and /dev/null differ diff --git a/doc/html/classFlute-members.html b/doc/html/classFlute-members.html deleted file mode 100644 index 30d4295..0000000 --- a/doc/html/classFlute-members.html +++ /dev/null @@ -1,65 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Flute Member List

    This is the complete list of members for Flute, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Flute
    controlChange(int number, StkFloat value)Flute [virtual]
    Flute(StkFloat lowestFrequency)Flute
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Flute [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Flute [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setEndReflection(StkFloat coefficient)Flute
    setFrequency(StkFloat frequency)Flute [virtual]
    setJetDelay(StkFloat aRatio)Flute
    setJetReflection(StkFloat coefficient)Flute
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)Flute
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBlowing(StkFloat rate)Flute
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Flute()Flute
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFlute.html b/doc/html/classFlute.html deleted file mode 100644 index 770e2c2..0000000 --- a/doc/html/classFlute.html +++ /dev/null @@ -1,122 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Flute Class Reference

    #include <Flute.h> -

    -

    Inheritance diagram for Flute: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK flute physical model class. -

    -This class implements a simple flute physical model, as discussed by Karjalainen, Smith, Waryznyk, etc. The jet model uses a polynomial, a la Cook.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    -Control Change Numbers:

      -
    • Jet Delay = 2
    • Noise Gain = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Breath Pressure = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Flute (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Flute ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setJetReflection (StkFloat coefficient)
     Set the reflection coefficient for the jet delay (-1.0 - 1.0).
    -void setEndReflection (StkFloat coefficient)
     Set the reflection coefficient for the air column delay (-1.0 - 1.0).
    -void setJetDelay (StkFloat aRatio)
     Set the length of the jet delay in terms of a ratio of jet delay to air column delay lengths.
    -void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath velocity to instrument with given amplitude and rate of increase.
    -void stopBlowing (StkFloat rate)
     Decrease breath velocity with given rate of decrease.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    Flute::Flute StkFloat  lowestFrequency  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor, taking the lowest desired playing frequency. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFlute.png b/doc/html/classFlute.png deleted file mode 100644 index c574a20..0000000 Binary files a/doc/html/classFlute.png and /dev/null differ diff --git a/doc/html/classFlute__coll__graph.map b/doc/html/classFlute__coll__graph.map deleted file mode 100644 index 76fb617..0000000 --- a/doc/html/classFlute__coll__graph.map +++ /dev/null @@ -1,16 +0,0 @@ -base referer -rect $classInstrmnt.html 7,134 63,155 -rect $classStk.html 244,16 281,38 -rect $classGenerator.html 132,88 201,110 -rect $classFunction.html 232,88 293,110 -rect $classFilter.html 416,88 456,110 -rect $classWvIn.html 539,88 579,110 -rect $classADSR.html 67,270 115,291 -rect $classEnvelope.html 65,179 129,200 -rect $classNoise.html 144,224 187,246 -rect $classJetTable.html 232,224 293,246 -rect $classPoleZero.html 361,224 425,246 -rect $classOnePole.html 473,270 535,291 -rect $classDelay.html 525,179 568,200 -rect $classWaveLoop.html 611,179 685,200 -rect $classDelayL.html 559,270 609,291 diff --git a/doc/html/classFlute__coll__graph.md5 b/doc/html/classFlute__coll__graph.md5 deleted file mode 100644 index 49026b1..0000000 --- a/doc/html/classFlute__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -08aba776bda3a35dcb5d9e6b5617f008 \ No newline at end of file diff --git a/doc/html/classFlute__coll__graph.png b/doc/html/classFlute__coll__graph.png deleted file mode 100644 index 73b2da3..0000000 Binary files a/doc/html/classFlute__coll__graph.png and /dev/null differ diff --git a/doc/html/classFlute__inherit__graph.map b/doc/html/classFlute__inherit__graph.map deleted file mode 100644 index ba86dfe..0000000 --- a/doc/html/classFlute__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 7,85 63,106 -rect $classStk.html 16,16 53,37 diff --git a/doc/html/classFlute__inherit__graph.md5 b/doc/html/classFlute__inherit__graph.md5 deleted file mode 100644 index a423c85..0000000 --- a/doc/html/classFlute__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1d2df6559e3512123f03d5efa289a17f \ No newline at end of file diff --git a/doc/html/classFlute__inherit__graph.png b/doc/html/classFlute__inherit__graph.png deleted file mode 100644 index e04eb8e..0000000 Binary files a/doc/html/classFlute__inherit__graph.png and /dev/null differ diff --git a/doc/html/classFormSwep-members.html b/doc/html/classFormSwep-members.html deleted file mode 100644 index 57d4521..0000000 --- a/doc/html/classFormSwep-members.html +++ /dev/null @@ -1,74 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FormSwep Member List

    This is the complete list of members for FormSwep, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    BiQuad()BiQuad
    clear(void)BiQuad
    Filter(void)Filter [protected]
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    FormSwep()FormSwep
    getGain(void) const BiQuad [virtual]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)BiQuad [inline]
    lastOut(void) const BiQuad [virtual]
    printErrors(bool status)Stk [inline, protected, static]
    rawwavePath(void)Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, protected, static]
    setA1(StkFloat a1)BiQuad
    setA2(StkFloat a2)BiQuad
    setB0(StkFloat b0)BiQuad
    setB1(StkFloat b1)BiQuad
    setB2(StkFloat b2)BiQuad
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setEqualGainZeroes()BiQuad
    setGain(StkFloat gain)BiQuad [virtual]
    setNotch(StkFloat frequency, StkFloat radius)BiQuad
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)Filter [protected]
    setRawwavePath(std::string path)Stk [protected, static]
    setResonance(StkFloat frequency, StkFloat radius)FormSwep
    BiQuad::setResonance(StkFloat frequency, StkFloat radius, bool normalize=false)BiQuad
    setSampleRate(StkFloat rate)Stk [protected, static]
    setStates(StkFloat frequency, StkFloat radius, StkFloat gain=1.0)FormSwep
    setSweepRate(StkFloat rate)FormSwep
    setSweepTime(StkFloat time)FormSwep
    setTargets(StkFloat frequency, StkFloat radius, StkFloat gain=1.0)FormSwep
    showWarnings(bool status)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    tick(StkFloat sample)BiQuad [inline, virtual]
    tick(StkFrames &frames, unsigned int channel=0)BiQuad [inline, virtual]
    ~BiQuad()BiQuad [virtual]
    ~Filter(void)Filter [protected, virtual]
    ~FormSwep()FormSwep
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFormSwep.html b/doc/html/classFormSwep.html deleted file mode 100644 index d08ccdd..0000000 --- a/doc/html/classFormSwep.html +++ /dev/null @@ -1,166 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    FormSwep Class Reference

    #include <FormSwep.h> -

    -

    Inheritance diagram for FormSwep: -

    - -BiQuad -Filter -Stk - -List of all members.

    Detailed Description

    -STK sweepable formant filter class. -

    -This public BiQuad filter subclass implements a formant (resonance) which can be "swept" over time from one frequency setting to another. It provides methods for controlling the sweep rate and target frequency.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    FormSwep ()
     Default constructor creates a second-order pass-through filter.
    ~FormSwep ()
     Class destructor.
    void setResonance (StkFloat frequency, StkFloat radius)
     Sets the filter coefficients for a resonance at frequency (in Hz).
    -void setStates (StkFloat frequency, StkFloat radius, StkFloat gain=1.0)
     Set both the current and target resonance parameters.
    -void setTargets (StkFloat frequency, StkFloat radius, StkFloat gain=1.0)
     Set target resonance parameters.
    void setSweepRate (StkFloat rate)
     Set the sweep rate (between 0.0 - 1.0).
    void setSweepTime (StkFloat time)
     Set the sweep rate in terms of a time value in seconds.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void FormSwep::setResonance StkFloat  frequency,
    StkFloat  radius
    -
    - - - - - -
    -   - - -

    -Sets the filter coefficients for a resonance at frequency (in Hz). -

    -This method determines the filter coefficients corresponding to two complex-conjugate poles with the given frequency (in Hz) and radius from the z-plane origin. The filter zeros are placed at z = 1, z = -1, and the coefficients are then normalized to produce a constant unity gain (independent of the filter gain parameter). The resulting filter frequency response has a resonance at the given frequency. The closer the poles are to the unit-circle (radius close to one), the narrower the resulting resonance width.

    -

    - - - - -
    - - - - - - - - - -
    void FormSwep::setSweepRate StkFloat  rate  ) 
    -
    - - - - - -
    -   - - -

    -Set the sweep rate (between 0.0 - 1.0). -

    -The formant parameters are varied in increments of the sweep rate between their current and target values. A sweep rate of 1.0 will produce an immediate change in resonance parameters from their current values to the target values. A sweep rate of 0.0 will produce no change in resonance parameters.

    -

    - - - - -
    - - - - - - - - - -
    void FormSwep::setSweepTime StkFloat  time  ) 
    -
    - - - - - -
    -   - - -

    -Set the sweep rate in terms of a time value in seconds. -

    -This method adjusts the sweep rate based on a given time for the formant parameters to reach their target values.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFormSwep.png b/doc/html/classFormSwep.png deleted file mode 100644 index 48cb898..0000000 Binary files a/doc/html/classFormSwep.png and /dev/null differ diff --git a/doc/html/classFormSwep__coll__graph.map b/doc/html/classFormSwep__coll__graph.map deleted file mode 100644 index f371245..0000000 --- a/doc/html/classFormSwep__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classBiQuad.html 17,155 71,176 -rect $classFilter.html 24,86 64,107 -rect $classStk.html 25,16 63,38 diff --git a/doc/html/classFormSwep__coll__graph.md5 b/doc/html/classFormSwep__coll__graph.md5 deleted file mode 100644 index 9062859..0000000 --- a/doc/html/classFormSwep__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e824ad78e4593aba1977c88f1c30c0b1 \ No newline at end of file diff --git a/doc/html/classFormSwep__coll__graph.png b/doc/html/classFormSwep__coll__graph.png deleted file mode 100644 index c83c7ae..0000000 Binary files a/doc/html/classFormSwep__coll__graph.png and /dev/null differ diff --git a/doc/html/classFormSwep__inherit__graph.map b/doc/html/classFormSwep__inherit__graph.map deleted file mode 100644 index f371245..0000000 --- a/doc/html/classFormSwep__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classBiQuad.html 17,155 71,176 -rect $classFilter.html 24,86 64,107 -rect $classStk.html 25,16 63,38 diff --git a/doc/html/classFormSwep__inherit__graph.md5 b/doc/html/classFormSwep__inherit__graph.md5 deleted file mode 100644 index a70b1a5..0000000 --- a/doc/html/classFormSwep__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c54e3200bd36146bce8db2cfa9e1df7 \ No newline at end of file diff --git a/doc/html/classFormSwep__inherit__graph.png b/doc/html/classFormSwep__inherit__graph.png deleted file mode 100644 index c83c7ae..0000000 Binary files a/doc/html/classFormSwep__inherit__graph.png and /dev/null differ diff --git a/doc/html/classFunction-members.html b/doc/html/classFunction-members.html deleted file mode 100644 index a06a773..0000000 --- a/doc/html/classFunction-members.html +++ /dev/null @@ -1,51 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Function Member List

    This is the complete list of members for Function, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Function()Function
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut() const Function [inline, virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Function
    tick(StkFrames &frames, unsigned int channel=0)Function [virtual]
    ~Function()Function [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFunction.html b/doc/html/classFunction.html deleted file mode 100644 index 12bbfde..0000000 --- a/doc/html/classFunction.html +++ /dev/null @@ -1,101 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Function Class Reference

    #include <Function.h> -

    -

    Inheritance diagram for Function: -

    - -Stk -BowTable -JetTable -ReedTable - -List of all members.

    Detailed Description

    -STK abstract function parent class. -

    -This class provides common functionality for STK classes which implement tables or other types of input to output function mappings.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Function ()
     Class constructor.
    -virtual ~Function ()
     Class destructor.
    -virtual StkFloat lastOut () const
     Return the last output value.
    -StkFloat tick (StkFloat input)
     Take one sample input and compute one sample of output.
    virtual StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the function and replace with corresponding outputs.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    virtual StkFrames& Function::tick StkFrames frames,
    unsigned int  channel = 0
    [virtual]
    -
    - - - - - -
    -   - - -

    -Take a channel of the StkFrames object as inputs to the function and replace with corresponding outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classFunction.png b/doc/html/classFunction.png deleted file mode 100644 index 7b24105..0000000 Binary files a/doc/html/classFunction.png and /dev/null differ diff --git a/doc/html/classFunction__coll__graph.map b/doc/html/classFunction__coll__graph.map deleted file mode 100644 index 1730383..0000000 --- a/doc/html/classFunction__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 19,16 56,37 diff --git a/doc/html/classFunction__coll__graph.md5 b/doc/html/classFunction__coll__graph.md5 deleted file mode 100644 index d1eb66d..0000000 --- a/doc/html/classFunction__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -121f008381024ab69ce2a8576a76b9eb \ No newline at end of file diff --git a/doc/html/classFunction__coll__graph.png b/doc/html/classFunction__coll__graph.png deleted file mode 100644 index 0d10586..0000000 Binary files a/doc/html/classFunction__coll__graph.png and /dev/null differ diff --git a/doc/html/classFunction__inherit__graph.map b/doc/html/classFunction__inherit__graph.map deleted file mode 100644 index fae4912..0000000 --- a/doc/html/classFunction__inherit__graph.map +++ /dev/null @@ -1,6 +0,0 @@ -base referer -rect $classBowTable.html 7,154 76,176 -rect $classJetTable.html 100,154 161,176 -rect $classReedTable.html 185,154 260,176 -rect $classTable.html 284,154 329,176 -rect $classStk.html 157,16 195,37 diff --git a/doc/html/classFunction__inherit__graph.md5 b/doc/html/classFunction__inherit__graph.md5 deleted file mode 100644 index b4ab18b..0000000 --- a/doc/html/classFunction__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -424e298f093883d0b0ab1773798b818b \ No newline at end of file diff --git a/doc/html/classFunction__inherit__graph.png b/doc/html/classFunction__inherit__graph.png deleted file mode 100644 index 436e3a6..0000000 Binary files a/doc/html/classFunction__inherit__graph.png and /dev/null differ diff --git a/doc/html/classGenerator-members.html b/doc/html/classGenerator-members.html deleted file mode 100644 index b3f0261..0000000 --- a/doc/html/classGenerator-members.html +++ /dev/null @@ -1,51 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Generator Member List

    This is the complete list of members for Generator, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Generator(void)Generator
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut(void) const Generator [inline, virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~Generator(void)Generator [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classGenerator.html b/doc/html/classGenerator.html deleted file mode 100644 index 958ada8..0000000 --- a/doc/html/classGenerator.html +++ /dev/null @@ -1,107 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Generator Class Reference

    #include <Generator.h> -

    -

    Inheritance diagram for Generator: -

    - -Stk -Blit -BlitSaw -BlitSquare -Envelope -Granulate -Modulate -Noise -SineWave -SingWave - -List of all members.

    Detailed Description

    -STK abstract unit generator parent class. -

    -This class provides common functionality for STK unit generator sample-source subclasses.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Generator (void)
     Class constructor.
    -virtual ~Generator (void)
     Class destructor.
    -virtual StkFloat lastOut (void) const
     Return the last output value.
    -StkFloat tick (void)
     Compute one sample and output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFrames& Generator::tick StkFrames frames,
    unsigned int  channel = 0
    -
    - - - - - -
    -   - - -

    -Fill a channel of the StkFrames object with computed outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classGenerator.png b/doc/html/classGenerator.png deleted file mode 100644 index f04d713..0000000 Binary files a/doc/html/classGenerator.png and /dev/null differ diff --git a/doc/html/classGenerator__coll__graph.map b/doc/html/classGenerator__coll__graph.map deleted file mode 100644 index 7836340..0000000 --- a/doc/html/classGenerator__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 23,16 60,37 diff --git a/doc/html/classGenerator__coll__graph.md5 b/doc/html/classGenerator__coll__graph.md5 deleted file mode 100644 index 4710104..0000000 --- a/doc/html/classGenerator__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d8f053f762768c211e03cb0c958bc9e9 \ No newline at end of file diff --git a/doc/html/classGenerator__coll__graph.png b/doc/html/classGenerator__coll__graph.png deleted file mode 100644 index b907444..0000000 Binary files a/doc/html/classGenerator__coll__graph.png and /dev/null differ diff --git a/doc/html/classGenerator__inherit__graph.map b/doc/html/classGenerator__inherit__graph.map deleted file mode 100644 index d5caa5a..0000000 --- a/doc/html/classGenerator__inherit__graph.map +++ /dev/null @@ -1,9 +0,0 @@ -base referer -rect $classEnvelope.html 36,155 100,176 -rect $classModulate.html 124,155 188,176 -rect $classNoise.html 212,155 255,176 -rect $classSingWave.html 279,155 348,176 -rect $classStk.html 176,16 213,38 -rect $classADSR.html 7,224 55,246 -rect $classAsymp.html 79,224 132,246 -rect $classSubNoise.html 200,224 267,246 diff --git a/doc/html/classGenerator__inherit__graph.md5 b/doc/html/classGenerator__inherit__graph.md5 deleted file mode 100644 index 21f96ee..0000000 --- a/doc/html/classGenerator__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -25c455c649710f38b617d2d47de71bd2 \ No newline at end of file diff --git a/doc/html/classGenerator__inherit__graph.png b/doc/html/classGenerator__inherit__graph.png deleted file mode 100644 index e5ba969..0000000 Binary files a/doc/html/classGenerator__inherit__graph.png and /dev/null differ diff --git a/doc/html/classGranulate-members.html b/doc/html/classGranulate-members.html deleted file mode 100644 index e2962af..0000000 --- a/doc/html/classGranulate-members.html +++ /dev/null @@ -1,60 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Granulate Member List

    This is the complete list of members for Granulate, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Generator(void)Generator
    Granulate(void)Granulate
    Granulate(unsigned int nVoices, std::string fileName, bool typeRaw=false)Granulate
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut(void) const Generator [inline, virtual]
    openFile(std::string fileName, bool typeRaw=false)Granulate
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    reset()Granulate
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setGrainParameters(unsigned int duration=30, unsigned int rampPercent=50, int offset=0, unsigned int delay=0)Granulate
    setRandomFactor(StkFloat randomness=0.1)Granulate
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setStretch(unsigned int stretchFactor=1)Granulate
    setVoices(unsigned int nVoices=1)Granulate
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~Generator(void)Generator [virtual]
    ~Granulate()Granulate
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classGranulate.html b/doc/html/classGranulate.html deleted file mode 100644 index 9d853d3..0000000 --- a/doc/html/classGranulate.html +++ /dev/null @@ -1,281 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Granulate Class Reference

    #include <Granulate.h> -

    -

    Inheritance diagram for Granulate: -

    - -Generator -Stk - -List of all members.

    Detailed Description

    -STK granular synthesis class. -

    -This class implements a real-time granular synthesis algorithm that operates on an input soundfile. Currently, only monophonic files are supported. Various functions are provided to allow control over voice and grain parameters.

    -The functionality of this class is based on the program MacPod by Chris Rolfe and Damian Keller, though there are likely to be a number of differences in the actual implementation.

    -by Gary Scavone, 2005. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Granulate (void)
     Default constructor.
    Granulate (unsigned int nVoices, std::string fileName, bool typeRaw=false)
     Constructor taking input audio file and number of voices arguments.
    ~Granulate ()
     Class destructor.
    void openFile (std::string fileName, bool typeRaw=false)
     Load a monophonic soundfile to be "granulated".
    void reset ()
     Reset the file pointer and all existing grains to the file start.
    void setVoices (unsigned int nVoices=1)
     Set the number of simultaneous grain "voices" to use.
    void setStretch (unsigned int stretchFactor=1)
     Set the stretch factor used for grain playback (1 - 1000).
    void setGrainParameters (unsigned int duration=30, unsigned int rampPercent=50, int offset=0, unsigned int delay=0)
     Set global grain parameters used to determine individual grain settings.
    void setRandomFactor (StkFloat randomness=0.1)
     This factor is used when setting individual grain parameters (0.0 - 1.0).
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void Granulate::openFile std::string  fileName,
    bool  typeRaw = false
    -
    - - - - - -
    -   - - -

    -Load a monophonic soundfile to be "granulated". -

    -An StkError will be thrown if the file is not found, its format is unknown or unsupported, or the file has more than one channel.

    -

    - - - - -
    - - - - - - - - -
    void Granulate::reset  ) 
    -
    - - - - - -
    -   - - -

    -Reset the file pointer and all existing grains to the file start. -

    -Multiple grains are offset from one another in time by grain duration / nVoices.

    -

    - - - - -
    - - - - - - - - - -
    void Granulate::setVoices unsigned int  nVoices = 1  ) 
    -
    - - - - - -
    -   - - -

    -Set the number of simultaneous grain "voices" to use. -

    -Multiple grains are offset from one another in time by grain duration / nVoices. For this reason, it is best to set the grain parameters before calling this function (during initialization).

    -

    - - - - -
    - - - - - - - - - -
    void Granulate::setStretch unsigned int  stretchFactor = 1  ) 
    -
    - - - - - -
    -   - - -

    -Set the stretch factor used for grain playback (1 - 1000). -

    -Granular synthesis allows for time-stetching without affecting the original pitch of a sound. A stretch factor of 4 will produce a resulting sound of length 4 times the orignal sound. The default parameter of 1 produces no stretching.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void Granulate::setGrainParameters unsigned int  duration = 30,
    unsigned int  rampPercent = 50,
    int  offset = 0,
    unsigned int  delay = 0
    -
    - - - - - -
    -   - - -

    -Set global grain parameters used to determine individual grain settings. -

    -Each grain is defined as having a length of duration milliseconds which must be greater than zero. For values of rampPercent (0 - 100) greater than zero, a linear envelope will be applied to each grain. If rampPercent = 100, the resultant grain "window" is triangular while rampPercent = 50 produces a trapezoidal window. In addition, each grain can have a time delay of length delay and a grain pointer increment of length offset, which can be negative, before the next ramp onset (in milliseconds). The offset parameter controls grain pointer jumps between enveloped grain segments, while the delay parameter causes grain calculations to pause between grains. The actual values calculated for each grain will be randomized by a factor set using the setRandomFactor() function.

    -

    - - - - -
    - - - - - - - - - -
    void Granulate::setRandomFactor StkFloat  randomness = 0.1  ) 
    -
    - - - - - -
    -   - - -

    -This factor is used when setting individual grain parameters (0.0 - 1.0). -

    -This random factor is applied when all grain state durations are calculated. If set to 0.0, no randomness occurs. When randomness = 1.0, a grain segment of length duration will be randomly augmented by up to +- duration seconds (i.e., a 30 millisecond length will be augmented by an extra length of up to +30 or -30 milliseconds).

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classGranulate.png b/doc/html/classGranulate.png deleted file mode 100644 index 9e91ac5..0000000 Binary files a/doc/html/classGranulate.png and /dev/null differ diff --git a/doc/html/classHevyMetl-members.html b/doc/html/classHevyMetl-members.html deleted file mode 100644 index c8d4d42..0000000 --- a/doc/html/classHevyMetl-members.html +++ /dev/null @@ -1,71 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    HevyMetl Member List

    This is the complete list of members for HevyMetl, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()FM
    controlChange(int number, StkFloat value)FM [virtual]
    FM(unsigned int operators=4)FM
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    HevyMetl()HevyMetl
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()FM
    keyOn()FM
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    loadWaves(const char **filenames)FM
    noteOff(StkFloat amplitude)FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)HevyMetl [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setControl1(StkFloat cVal)FM
    setControl2(StkFloat cVal)FM
    setFrequency(StkFloat frequency)FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)FM
    setModulationDepth(StkFloat mDepth)FM
    setModulationSpeed(StkFloat mSpeed)FM
    setRatio(unsigned int waveIndex, StkFloat ratio)FM
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~FM()FM [virtual]
    ~HevyMetl()HevyMetl
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classHevyMetl.html b/doc/html/classHevyMetl.html deleted file mode 100644 index 6e3616d..0000000 --- a/doc/html/classHevyMetl.html +++ /dev/null @@ -1,89 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    HevyMetl Class Reference

    #include <HevyMetl.h> -

    -

    Inheritance diagram for HevyMetl: -

    - -FM -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK heavy metal FM synthesis instrument. -

    -This class implements 3 cascade operators with feedback modulation, also referred to as algorithm 3 of the TX81Z.

    -

        Algorithm 3 is :    4--\
    -                    3-->2-- + -->1-->Out
    -

    -Control Change Numbers:

      -
    • Total Modulator Index = 2
    • Modulator Crossfade = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

    -The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - -

    Public Member Functions

     HevyMetl ()
     Class constructor.
    ~HevyMetl ()
     Class destructor.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    HevyMetl::HevyMetl  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classHevyMetl.png b/doc/html/classHevyMetl.png deleted file mode 100644 index faf2a17..0000000 Binary files a/doc/html/classHevyMetl.png and /dev/null differ diff --git a/doc/html/classHevyMetl__coll__graph.map b/doc/html/classHevyMetl__coll__graph.map deleted file mode 100644 index 2830571..0000000 --- a/doc/html/classHevyMetl__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $classFM.html 72,269 109,291 -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 85,16 123,37 -rect $classWvIn.html 84,88 124,109 -rect $classFilter.html 156,88 196,109 -rect $classWaveLoop.html 67,179 141,200 -rect $classTwoZero.html 167,179 231,200 diff --git a/doc/html/classHevyMetl__coll__graph.md5 b/doc/html/classHevyMetl__coll__graph.md5 deleted file mode 100644 index 218d102..0000000 --- a/doc/html/classHevyMetl__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5e59cb4e7eb25b70eedaadfc8712399c \ No newline at end of file diff --git a/doc/html/classHevyMetl__coll__graph.png b/doc/html/classHevyMetl__coll__graph.png deleted file mode 100644 index d50b01d..0000000 Binary files a/doc/html/classHevyMetl__coll__graph.png and /dev/null differ diff --git a/doc/html/classHevyMetl__inherit__graph.map b/doc/html/classHevyMetl__inherit__graph.map deleted file mode 100644 index f8524da..0000000 --- a/doc/html/classHevyMetl__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classFM.html 20,155 57,176 -rect $classInstrmnt.html 11,86 67,107 -rect $classStk.html 20,16 57,38 diff --git a/doc/html/classHevyMetl__inherit__graph.md5 b/doc/html/classHevyMetl__inherit__graph.md5 deleted file mode 100644 index 084cfd8..0000000 --- a/doc/html/classHevyMetl__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8499bbff40fec38b977af4f223a390ac \ No newline at end of file diff --git a/doc/html/classHevyMetl__inherit__graph.png b/doc/html/classHevyMetl__inherit__graph.png deleted file mode 100644 index 63f90b8..0000000 Binary files a/doc/html/classHevyMetl__inherit__graph.png and /dev/null differ diff --git a/doc/html/classInetWvIn-members.html b/doc/html/classInetWvIn-members.html deleted file mode 100644 index 18c0b0f..0000000 --- a/doc/html/classInetWvIn-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    InetWvIn Member List

    This is the complete list of members for InetWvIn, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    getChannels(void) const WvIn [inline]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    InetWvIn(unsigned long bufferFrames=1024, unsigned int nBuffers=8)InetWvIn
    isConnected(void)InetWvIn
    lastFrame(void) const WvIn [inline]
    lastOut(void) const WvIn
    listen(int port=2006, unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, Socket::ProtocolType protocol=Socket::PROTO_TCP)InetWvIn
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)WvIn
    tick(StkFrames &frames, unsigned int channel=0)WvIn
    tickFrame(StkFrames &frames)WvIn
    WvIn()WvIn
    ~InetWvIn()InetWvIn
    ~Stk(void)Stk [protected, virtual]
    ~WvIn()WvIn [virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classInetWvIn.html b/doc/html/classInetWvIn.html deleted file mode 100644 index 256e866..0000000 --- a/doc/html/classInetWvIn.html +++ /dev/null @@ -1,177 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    InetWvIn Class Reference

    #include <InetWvIn.h> -

    -

    Inheritance diagram for InetWvIn: -

    - -WvIn -Stk - -List of all members.

    Detailed Description

    -STK internet streaming input class. -

    -This Wvin subclass reads streamed audio data over a network via a TCP or UDP socket connection. The data is assumed in big-endian, or network, byte order. Only a single socket connection is supported.

    -InetWvIn supports multi-channel data. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return references or pointers to multi-channel sample frames.

    -This class implements a socket server. When using the TCP protocol, the server "listens" for a single remote connection within the InetWvIn::start() function. For the UDP protocol, no attempt is made to verify packet delivery or order. The default data type for the incoming stream is signed 16-bit integers, though any of the defined StkFormats are permissible.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

     InetWvIn (unsigned long bufferFrames=1024, unsigned int nBuffers=8)
     Default constructor.
    ~InetWvIn ()
     Class destructor.
    void listen (int port=2006, unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, Socket::ProtocolType protocol=Socket::PROTO_TCP)
     Wait for a (new) socket connection with specified protocol, port, data channels and format.
    bool isConnected (void)
     Returns true is an input connection exists or input data remains in the queue.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    InetWvIn::InetWvIn unsigned long  bufferFrames = 1024,
    unsigned int  nBuffers = 8
    -
    - - - - - -
    -   - - -

    -Default constructor. -

    -An StkError will be thrown if an error occurs while initializing the input thread.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void InetWvIn::listen int  port = 2006,
    unsigned int  nChannels = 1,
    Stk::StkFormat  format = STK_SINT16,
    Socket::ProtocolType  protocol = Socket::PROTO_TCP
    -
    - - - - - -
    -   - - -

    -Wait for a (new) socket connection with specified protocol, port, data channels and format. -

    -For the UDP protocol, this function will create a socket instance and return. For the TCP protocol, this function will block until a connection is established. An StkError will be thrown if a socket error occurs or an invalid function argument is provided.

    -

    - - - - -
    - - - - - - - - - -
    bool InetWvIn::isConnected void   ) 
    -
    - - - - - -
    -   - - -

    -Returns true is an input connection exists or input data remains in the queue. -

    -This method will not return false after an input connection has been closed until all buffered input data has been read out.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classInetWvIn.png b/doc/html/classInetWvIn.png deleted file mode 100644 index 5f7db14..0000000 Binary files a/doc/html/classInetWvIn.png and /dev/null differ diff --git a/doc/html/classInetWvOut-members.html b/doc/html/classInetWvOut-members.html deleted file mode 100644 index 2b9250f..0000000 --- a/doc/html/classInetWvOut-members.html +++ /dev/null @@ -1,60 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    InetWvOut Member List

    This is the complete list of members for InetWvOut, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clipStatus(void)WvOut [inline]
    connect(int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)InetWvOut
    disconnect(void)InetWvOut
    getFrameCount(void) const WvOut
    getTime(void) const WvOut
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    InetWvOut(unsigned long packetFrames=1024)InetWvOut
    InetWvOut(int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, unsigned long packetFrames=1024)InetWvOut
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    resetClipStatus(void)WvOut [inline]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(const StkFloat sample)WvOut
    tick(const StkFrames &frames, unsigned int channel=0)WvOut
    tickFrame(const StkFrames &frames)WvOut
    WvOut()WvOut
    ~InetWvOut()InetWvOut
    ~Stk(void)Stk [protected, virtual]
    ~WvOut()WvOut [virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classInetWvOut.html b/doc/html/classInetWvOut.html deleted file mode 100644 index 9901a1e..0000000 --- a/doc/html/classInetWvOut.html +++ /dev/null @@ -1,182 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    InetWvOut Class Reference

    #include <InetWvOut.h> -

    -

    Inheritance diagram for InetWvOut: -

    - -WvOut -Stk - -List of all members.

    Detailed Description

    -STK internet streaming output class. -

    -This WvOut subclass can stream data over a network via a TCP or UDP socket connection. The data is converted to big-endian byte order, if necessary, before being transmitted.

    -InetWvOut supports multi-channel data. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame, from the tickFrame() method, which takes a reference to multi-channel sample frame data.

    -This class connects to a socket server, the port and IP address of which must be specified as constructor arguments. The default data type is signed 16-bit integers but any of the defined StkFormats are permissible.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    InetWvOut (unsigned long packetFrames=1024)
     Default constructor ... the socket is not instantiated.
     InetWvOut (int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, unsigned long packetFrames=1024)
     Overloaded constructor which opens a network connection during instantiation.
    ~InetWvOut ()
     Class destructor.
    void connect (int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)
     Connect to the specified host and port and prepare to stream nChannels of data in the given data format.
    -void disconnect (void)
     If a connection is open, write out remaining samples in the queue and then disconnect.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    InetWvOut::InetWvOut int  port,
    Socket::ProtocolType  protocol = Socket::PROTO_TCP,
    std::string  hostname = "localhost",
    unsigned int  nChannels = 1,
    Stk::StkFormat  format = STK_SINT16,
    unsigned long  packetFrames = 1024
    -
    - - - - - -
    -   - - -

    -Overloaded constructor which opens a network connection during instantiation. -

    -An StkError is thrown if a socket error occurs or an invalid argument is specified.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void InetWvOut::connect int  port,
    Socket::ProtocolType  protocol = Socket::PROTO_TCP,
    std::string  hostname = "localhost",
    unsigned int  nChannels = 1,
    Stk::StkFormat  format = STK_SINT16
    -
    - - - - - -
    -   - - -

    -Connect to the specified host and port and prepare to stream nChannels of data in the given data format. -

    -An StkError is thrown if a socket error occurs or an invalid argument is specified.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classInetWvOut.png b/doc/html/classInetWvOut.png deleted file mode 100644 index d06d5a1..0000000 Binary files a/doc/html/classInetWvOut.png and /dev/null differ diff --git a/doc/html/classInstrmnt-members.html b/doc/html/classInstrmnt-members.html deleted file mode 100644 index 8dfb6fc..0000000 --- a/doc/html/classInstrmnt-members.html +++ /dev/null @@ -1,57 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Instrmnt Member List

    This is the complete list of members for Instrmnt, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    controlChange(int number, StkFloat value)Instrmnt [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)=0Instrmnt [pure virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0Instrmnt [pure virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Instrmnt [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classInstrmnt.html b/doc/html/classInstrmnt.html deleted file mode 100644 index 917893d..0000000 --- a/doc/html/classInstrmnt.html +++ /dev/null @@ -1,144 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Instrmnt Class Reference

    #include <Instrmnt.h> -

    -

    Inheritance diagram for Instrmnt: -

    - -Stk -BandedWG -BlowBotl -BlowHole -Bowed -Brass -Clarinet -Drummer -Flute -FM -Mesh2D -Modal -Plucked -PluckTwo -Resonate -Sampler -Saxofony -Shakers -Simple -Sitar -StifKarp -VoicForm -Whistle - -List of all members.

    Detailed Description

    -STK instrument abstract base class. -

    -This class provides a common interface for all STK instruments.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Instrmnt ()
     Default constructor.
    -virtual ~Instrmnt ()
     Class destructor.
    -virtual void noteOn (StkFloat frequency, StkFloat amplitude)=0
     Start a note with the given frequency and amplitude.
    -virtual void noteOff (StkFloat amplitude)=0
     Stop a note with the given amplitude (speed of decay).
    -virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -StkFloat lastOut () const
     Return the last output value.
    -StkFloat lastOutLeft () const
     Return the last left output value.
    -StkFloat lastOutRight () const
     Return the last right output value.
    -StkFloat tick (void)
     Compute one sample and output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -virtual void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFrames& Instrmnt::tick StkFrames frames,
    unsigned int  channel = 0
    -
    - - - - - -
    -   - - -

    -Fill a channel of the StkFrames object with computed outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classInstrmnt.png b/doc/html/classInstrmnt.png deleted file mode 100644 index f1094c8..0000000 Binary files a/doc/html/classInstrmnt.png and /dev/null differ diff --git a/doc/html/classInstrmnt__coll__graph.map b/doc/html/classInstrmnt__coll__graph.map deleted file mode 100644 index 40af0fb..0000000 --- a/doc/html/classInstrmnt__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 16,16 53,37 diff --git a/doc/html/classInstrmnt__coll__graph.md5 b/doc/html/classInstrmnt__coll__graph.md5 deleted file mode 100644 index 067f2cd..0000000 --- a/doc/html/classInstrmnt__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -67be1c2ebbd24f37ed58a9e34a3bbb44 \ No newline at end of file diff --git a/doc/html/classInstrmnt__coll__graph.png b/doc/html/classInstrmnt__coll__graph.png deleted file mode 100644 index 0aae731..0000000 Binary files a/doc/html/classInstrmnt__coll__graph.png and /dev/null differ diff --git a/doc/html/classInstrmnt__inherit__graph.map b/doc/html/classInstrmnt__inherit__graph.map deleted file mode 100644 index 6540fb9..0000000 --- a/doc/html/classInstrmnt__inherit__graph.map +++ /dev/null @@ -1,24 +0,0 @@ -base referer -rect $classBandedWG.html 212,5 289,26 -rect $classBlowBotl.html 220,50 281,72 -rect $classBlowHole.html 219,96 283,117 -rect $classBowed.html 225,141 276,162 -rect $classBrass.html 229,186 272,208 -rect $classClarinet.html 223,232 279,253 -rect $classDrummer.html 217,277 284,298 -rect $classFlute.html 231,322 271,344 -rect $classFM.html 232,368 269,389 -rect $classMesh2D.html 223,413 279,434 -rect $classModal.html 228,458 273,480 -rect $classPlucked.html 221,504 280,525 -rect $classPluckTwo.html 216,549 285,570 -rect $classResonate.html 219,594 283,616 -rect $classSampler.html 220,640 281,661 -rect $classSaxofony.html 219,685 283,706 -rect $classShakers.html 221,730 280,752 -rect $classSimple.html 225,776 276,797 -rect $classSitar.html 231,821 271,842 -rect $classStifKarp.html 221,866 280,888 -rect $classVoicForm.html 216,912 285,933 -rect $classWhistle.html 224,957 277,978 -rect $classStk.html 19,481 56,502 diff --git a/doc/html/classInstrmnt__inherit__graph.md5 b/doc/html/classInstrmnt__inherit__graph.md5 deleted file mode 100644 index 0e84595..0000000 --- a/doc/html/classInstrmnt__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -95c12a718b6214808bba3482169fca22 \ No newline at end of file diff --git a/doc/html/classInstrmnt__inherit__graph.png b/doc/html/classInstrmnt__inherit__graph.png deleted file mode 100644 index 25008d4..0000000 Binary files a/doc/html/classInstrmnt__inherit__graph.png and /dev/null differ diff --git a/doc/html/classJCRev-members.html b/doc/html/classJCRev-members.html deleted file mode 100644 index 7c8d85a..0000000 --- a/doc/html/classJCRev-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    JCRev Member List

    This is the complete list of members for JCRev, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()JCRev [virtual]
    Effect()Effect
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    JCRev(StkFloat T60=1.0)JCRev
    lastOut() const Effect
    lastOutLeft() const Effect
    lastOutRight() const Effect
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setEffectMix(StkFloat mix)Effect
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setT60(StkFloat T60)JCRev
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Effect
    tick(StkFrames &frames, unsigned int channel=0)Effect
    ~Effect()Effect [virtual]
    ~JCRev()JCRev
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classJCRev.html b/doc/html/classJCRev.html deleted file mode 100644 index 21e6030..0000000 --- a/doc/html/classJCRev.html +++ /dev/null @@ -1,56 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    JCRev Class Reference

    #include <JCRev.h> -

    -

    Inheritance diagram for JCRev: -

    - -Effect -Stk - -List of all members.

    Detailed Description

    -John Chowning's reverberator class. -

    -This class is derived from the CLM JCRev function, which is based on the use of networks of simple allpass and comb delay filters. This class implements three series allpass units, followed by four parallel comb filters, and two decorrelation delay lines in parallel at the output.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

    JCRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    ~JCRev ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classJCRev.png b/doc/html/classJCRev.png deleted file mode 100644 index 3ab4c73..0000000 Binary files a/doc/html/classJCRev.png and /dev/null differ diff --git a/doc/html/classJCRev__coll__graph.map b/doc/html/classJCRev__coll__graph.map deleted file mode 100644 index a2730cc..0000000 --- a/doc/html/classJCRev__coll__graph.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $classEffect.html 7,133 52,155 -rect $classStk.html 39,16 76,37 -rect $classFilter.html 68,88 108,109 -rect $classDelay.html 68,179 111,200 diff --git a/doc/html/classJCRev__coll__graph.md5 b/doc/html/classJCRev__coll__graph.md5 deleted file mode 100644 index c1ebed8..0000000 --- a/doc/html/classJCRev__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -257ba7060ee34cb3f0c6d1ba3086e80b \ No newline at end of file diff --git a/doc/html/classJCRev__coll__graph.png b/doc/html/classJCRev__coll__graph.png deleted file mode 100644 index cdbe6be..0000000 Binary files a/doc/html/classJCRev__coll__graph.png and /dev/null differ diff --git a/doc/html/classJCRev__inherit__graph.map b/doc/html/classJCRev__inherit__graph.map deleted file mode 100644 index 5d7b3a2..0000000 --- a/doc/html/classJCRev__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classEffect.html 9,85 55,106 -rect $classStk.html 13,16 51,37 diff --git a/doc/html/classJCRev__inherit__graph.md5 b/doc/html/classJCRev__inherit__graph.md5 deleted file mode 100644 index 8bfae60..0000000 --- a/doc/html/classJCRev__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -06e63be131e8edebb4889463ceade12a \ No newline at end of file diff --git a/doc/html/classJCRev__inherit__graph.png b/doc/html/classJCRev__inherit__graph.png deleted file mode 100644 index 2bbf430..0000000 Binary files a/doc/html/classJCRev__inherit__graph.png and /dev/null differ diff --git a/doc/html/classJetTable-members.html b/doc/html/classJetTable-members.html deleted file mode 100644 index 1e073f8..0000000 --- a/doc/html/classJetTable-members.html +++ /dev/null @@ -1,53 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    JetTable Member List

    This is the complete list of members for JetTable, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Function()Function
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    JetTable()JetTable
    lastOut() const Function [inline, virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Function
    tick(StkFrames &frames, unsigned int channel=0)Function [virtual]
    ~Function()Function [virtual]
    ~JetTable()JetTable
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classJetTable.html b/doc/html/classJetTable.html deleted file mode 100644 index a6fa9dd..0000000 --- a/doc/html/classJetTable.html +++ /dev/null @@ -1,49 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    JetTable Class Reference

    #include <JetTable.h> -

    -

    Inheritance diagram for JetTable: -

    - -Function -Stk - -List of all members.

    Detailed Description

    -STK jet table class. -

    -This class implements a flue jet non-linear function, computed by a polynomial calculation. Contrary to the name, this is not a "table".

    -Consult Fletcher and Rossing, Karjalainen, Cook, and others for more information.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - -

    Public Member Functions

    JetTable ()
     Default constructor.
    ~JetTable ()
     Class destructor.
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classJetTable.png b/doc/html/classJetTable.png deleted file mode 100644 index 3b3494d..0000000 Binary files a/doc/html/classJetTable.png and /dev/null differ diff --git a/doc/html/classJetTable__coll__graph.map b/doc/html/classJetTable__coll__graph.map deleted file mode 100644 index 56d7d60..0000000 --- a/doc/html/classJetTable__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFunction.html 7,85 68,106 -rect $classStk.html 19,16 56,37 diff --git a/doc/html/classJetTable__coll__graph.md5 b/doc/html/classJetTable__coll__graph.md5 deleted file mode 100644 index 90310d8..0000000 --- a/doc/html/classJetTable__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -47ed239ba9a844cb13f08091bd609833 \ No newline at end of file diff --git a/doc/html/classJetTable__coll__graph.png b/doc/html/classJetTable__coll__graph.png deleted file mode 100644 index b0b1f53..0000000 Binary files a/doc/html/classJetTable__coll__graph.png and /dev/null differ diff --git a/doc/html/classJetTable__inherit__graph.map b/doc/html/classJetTable__inherit__graph.map deleted file mode 100644 index 56d7d60..0000000 --- a/doc/html/classJetTable__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFunction.html 7,85 68,106 -rect $classStk.html 19,16 56,37 diff --git a/doc/html/classJetTable__inherit__graph.md5 b/doc/html/classJetTable__inherit__graph.md5 deleted file mode 100644 index 82003dd..0000000 --- a/doc/html/classJetTable__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c0bc60c1bed2b4db708dfe606eef1e7a \ No newline at end of file diff --git a/doc/html/classJetTable__inherit__graph.png b/doc/html/classJetTable__inherit__graph.png deleted file mode 100644 index b0b1f53..0000000 Binary files a/doc/html/classJetTable__inherit__graph.png and /dev/null differ diff --git a/doc/html/classMandolin-members.html b/doc/html/classMandolin-members.html deleted file mode 100644 index 466b542..0000000 --- a/doc/html/classMandolin-members.html +++ /dev/null @@ -1,69 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Mandolin Member List

    This is the complete list of members for Mandolin, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()PluckTwo
    controlChange(int number, StkFloat value)Mandolin [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    Mandolin(StkFloat lowestFrequency)Mandolin
    noteOff(StkFloat amplitude)PluckTwo [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Mandolin [virtual]
    pluck(StkFloat amplitude)Mandolin
    pluck(StkFloat amplitude, StkFloat position)Mandolin
    PluckTwo(StkFloat lowestFrequency)PluckTwo
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)PluckTwo
    setBodySize(StkFloat size)Mandolin
    setDetune(StkFloat detune)PluckTwo
    setFreqAndDetune(StkFloat frequency, StkFloat detune)PluckTwo
    setFrequency(StkFloat frequency)PluckTwo [virtual]
    setPluckPosition(StkFloat position)PluckTwo
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Mandolin()Mandolin
    ~PluckTwo()PluckTwo [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMandolin.html b/doc/html/classMandolin.html deleted file mode 100644 index 779117f..0000000 --- a/doc/html/classMandolin.html +++ /dev/null @@ -1,73 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Mandolin Class Reference

    #include <Mandolin.h> -

    -

    Inheritance diagram for Mandolin: -

    - -PluckTwo -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK mandolin instrument model class. -

    -This class inherits from PluckTwo and uses "commuted synthesis" techniques to model a mandolin instrument.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. Commuted Synthesis, in particular, is covered by patents, granted, pending, and/or applied-for. All are assigned to the Board of Trustees, Stanford University. For information, contact the Office of Technology Licensing, Stanford University.

    -Control Change Numbers:

      -
    • Body Size = 2
    • Pluck Position = 4
    • String Sustain = 11
    • String Detuning = 1
    • Microphone Position = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Mandolin (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Mandolin ()
     Class destructor.
    -void pluck (StkFloat amplitude)
     Pluck the strings with the given amplitude (0.0 - 1.0) using the current frequency.
    -void pluck (StkFloat amplitude, StkFloat position)
     Pluck the strings with the given amplitude (0.0 - 1.0) and position (0.0 - 1.0).
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude (0.0 - 1.0).
    -void setBodySize (StkFloat size)
     Set the body size (a value of 1.0 produces the "default" size).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMandolin.png b/doc/html/classMandolin.png deleted file mode 100644 index 720d161..0000000 Binary files a/doc/html/classMandolin.png and /dev/null differ diff --git a/doc/html/classMandolin__coll__graph.map b/doc/html/classMandolin__coll__graph.map deleted file mode 100644 index ec3a3b7..0000000 --- a/doc/html/classMandolin__coll__graph.map +++ /dev/null @@ -1,10 +0,0 @@ -base referer -rect $classPluckTwo.html 177,392 247,414 -rect $classInstrmnt.html 56,134 112,155 -rect $classStk.html 240,16 277,38 -rect $classFilter.html 239,88 279,110 -rect $classWvIn.html 391,339 431,360 -rect $classDelayA.html 84,278 137,299 -rect $classDelay.html 191,179 233,200 -rect $classDelayL.html 187,278 237,299 -rect $classOneZero.html 277,224 341,246 diff --git a/doc/html/classMandolin__coll__graph.md5 b/doc/html/classMandolin__coll__graph.md5 deleted file mode 100644 index a46e585..0000000 --- a/doc/html/classMandolin__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d6f1c3c13c7469ad7806e69cb9bea567 \ No newline at end of file diff --git a/doc/html/classMandolin__coll__graph.png b/doc/html/classMandolin__coll__graph.png deleted file mode 100644 index f13e77b..0000000 Binary files a/doc/html/classMandolin__coll__graph.png and /dev/null differ diff --git a/doc/html/classMandolin__inherit__graph.map b/doc/html/classMandolin__inherit__graph.map deleted file mode 100644 index bb5441f..0000000 --- a/doc/html/classMandolin__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classPluckTwo.html 7,155 76,176 -rect $classInstrmnt.html 13,86 69,107 -rect $classStk.html 23,16 60,38 diff --git a/doc/html/classMandolin__inherit__graph.md5 b/doc/html/classMandolin__inherit__graph.md5 deleted file mode 100644 index 6965f5e..0000000 --- a/doc/html/classMandolin__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d486b3f1ba87a6a1a36b4895ac2203fd \ No newline at end of file diff --git a/doc/html/classMandolin__inherit__graph.png b/doc/html/classMandolin__inherit__graph.png deleted file mode 100644 index 71f7d23..0000000 Binary files a/doc/html/classMandolin__inherit__graph.png and /dev/null differ diff --git a/doc/html/classMesh2D-members.html b/doc/html/classMesh2D-members.html deleted file mode 100644 index cc798ce..0000000 --- a/doc/html/classMesh2D-members.html +++ /dev/null @@ -1,66 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Mesh2D Member List

    This is the complete list of members for Mesh2D, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Mesh2D
    controlChange(int number, StkFloat value)Mesh2D [virtual]
    energy()Mesh2D
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    inputTick(StkFloat input)Mesh2D
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    Mesh2D(short nX, short nY)Mesh2D
    noteOff(StkFloat amplitude)Mesh2D [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Mesh2D [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setDecay(StkFloat decayFactor)Mesh2D
    setFrequency(StkFloat frequency)Instrmnt [virtual]
    setInputPosition(StkFloat xFactor, StkFloat yFactor)Mesh2D
    setNX(short lenX)Mesh2D
    setNY(short lenY)Mesh2D
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Mesh2D()Mesh2D
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMesh2D.html b/doc/html/classMesh2D.html deleted file mode 100644 index 783bdc3..0000000 --- a/doc/html/classMesh2D.html +++ /dev/null @@ -1,92 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Mesh2D Class Reference

    #include <Mesh2D.h> -

    -

    Inheritance diagram for Mesh2D: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -Two-dimensional rectilinear waveguide mesh class. -

    -This class implements a rectilinear, two-dimensional digital waveguide mesh structure. For details, see Van Duyne and Smith, "Physical Modeling with the 2-D Digital Waveguide Mesh", Proceedings of the 1993 International Computer Music Conference.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    -Control Change Numbers:

      -
    • X Dimension = 2
    • Y Dimension = 4
    • Mesh Decay = 11
    • X-Y Input Position = 1
    -

    -by Julius Smith, 2000 - 2002. Revised by Gary Scavone for STK, 2002. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Mesh2D (short nX, short nY)
     Class constructor, taking the x and y dimensions in samples.
    ~Mesh2D ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setNX (short lenX)
     Set the x dimension size in samples.
    -void setNY (short lenY)
     Set the y dimension size in samples.
    -void setInputPosition (StkFloat xFactor, StkFloat yFactor)
     Set the x, y input position on a 0.0 - 1.0 scale.
    -void setDecay (StkFloat decayFactor)
     Set the loss filters gains (0.0 - 1.0).
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Impulse the mesh with the given amplitude (frequency ignored).
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay) ... currently ignored.
    -StkFloat energy ()
     Calculate and return the signal energy stored in the mesh.
    -StkFloat inputTick (StkFloat input)
     Input a sample to the mesh and compute one output sample.
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMesh2D.png b/doc/html/classMesh2D.png deleted file mode 100644 index 7404009..0000000 Binary files a/doc/html/classMesh2D.png and /dev/null differ diff --git a/doc/html/classMesh2D__coll__graph.map b/doc/html/classMesh2D__coll__graph.map deleted file mode 100644 index fd26d3b..0000000 --- a/doc/html/classMesh2D__coll__graph.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 47,16 84,37 -rect $classFilter.html 77,88 117,109 -rect $classOnePole.html 71,179 132,200 diff --git a/doc/html/classMesh2D__coll__graph.md5 b/doc/html/classMesh2D__coll__graph.md5 deleted file mode 100644 index 578c289..0000000 --- a/doc/html/classMesh2D__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6b16b5c0994ace35642c369d5bd2459e \ No newline at end of file diff --git a/doc/html/classMesh2D__coll__graph.png b/doc/html/classMesh2D__coll__graph.png deleted file mode 100644 index ab6fc27..0000000 Binary files a/doc/html/classMesh2D__coll__graph.png and /dev/null differ diff --git a/doc/html/classMesh2D__inherit__graph.map b/doc/html/classMesh2D__inherit__graph.map deleted file mode 100644 index ba86dfe..0000000 --- a/doc/html/classMesh2D__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 7,85 63,106 -rect $classStk.html 16,16 53,37 diff --git a/doc/html/classMesh2D__inherit__graph.md5 b/doc/html/classMesh2D__inherit__graph.md5 deleted file mode 100644 index 8b10ae3..0000000 --- a/doc/html/classMesh2D__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ea0756279046ca4a8922e64d18b5ccfb \ No newline at end of file diff --git a/doc/html/classMesh2D__inherit__graph.png b/doc/html/classMesh2D__inherit__graph.png deleted file mode 100644 index 83d1844..0000000 Binary files a/doc/html/classMesh2D__inherit__graph.png and /dev/null differ diff --git a/doc/html/classMessager-members.html b/doc/html/classMessager-members.html deleted file mode 100644 index 251f079..0000000 --- a/doc/html/classMessager-members.html +++ /dev/null @@ -1,54 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Messager Member List

    This is the complete list of members for Messager, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Messager()Messager
    popMessage(Skini::Message &message)Messager
    printErrors(bool status)Stk [inline, static]
    pushMessage(Skini::Message &message)Messager
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setScoreFile(const char *filename)Messager
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startMidiInput(int port=0)Messager
    startSocketInput(int port=2001)Messager
    startStdInput()Messager
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    ~Messager()Messager
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMessager.html b/doc/html/classMessager.html deleted file mode 100644 index f60b9a5..0000000 --- a/doc/html/classMessager.html +++ /dev/null @@ -1,219 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Messager Class Reference

    #include <Messager.h> -

    -

    Inheritance diagram for Messager: -

    - -Stk - -List of all members.

    Detailed Description

    -STK input control message parser. -

    -This class reads and parses control messages from a variety of sources, such as a scorefile, MIDI port, socket connection, or stdin. MIDI messages are retrieved using the RtMidi class. All other input sources (scorefile, socket, or stdin) are assumed to provide SKINI formatted messages. This class can be compiled with generic, non-realtime support, in which case only scorefile reading is possible.

    -The various realtime message acquisition mechanisms (from MIDI, socket, or stdin) take place asynchronously, filling the message queue. A call to popMessage() will pop the next available control message from the queue and return it via the referenced Message structure. When a non-realtime scorefile is set, it is not possible to start reading realtime input messages (from MIDI, socket, or stdin). Likewise, it is not possible to read from a scorefile when a realtime input mechanism is running.

    -When MIDI input is started, input is also automatically read from stdin. This allows for program termination via the terminal window. An __SK_Exit_ message is pushed onto the stack whenever an "exit" or "Exit" message is received from stdin or when all socket connections close and no stdin thread is running.

    -This class is primarily for use in STK example programs but it is generic enough to work in many other contexts.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Messager ()
     Default constructor.
    ~Messager ()
     Class destructor.
    void popMessage (Skini::Message &message)
     Pop the next message from the queue and write it to the referenced message structure.
    -void pushMessage (Skini::Message &message)
     Push the referenced message onto the message stack.
    bool setScoreFile (const char *filename)
     Specify a SKINI formatted scorefile from which messages should be read.
    bool startStdInput ()
     Initiate the "realtime" retreival from stdin of control messages into the queue.
    bool startSocketInput (int port=2001)
     Start a socket server, accept connections, and read "realtime" control messages into the message queue.
    bool startMidiInput (int port=0)
     Start MIDI input, with optional device and port identifiers.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void Messager::popMessage Skini::Message message  ) 
    -
    - - - - - -
    -   - - -

    -Pop the next message from the queue and write it to the referenced message structure. -

    -Invalid messages (or an empty queue) are indicated by type values of zero, in which case all other message structure values are undefined. The user MUST verify the returned message type is valid before reading other message values.

    -

    - - - - -
    - - - - - - - - - -
    bool Messager::setScoreFile const char *  filename  ) 
    -
    - - - - - -
    -   - - -

    -Specify a SKINI formatted scorefile from which messages should be read. -

    -A return value of true indicates the call was successful. A return value of false can occur if the file is not found, cannot be opened, another file is currently still open, or if a realtime input mechanism is running. Scorefile input is considered to be a non-realtime control mechanism that cannot run concurrently with realtime input.

    -

    - - - - -
    - - - - - - - - -
    bool Messager::startStdInput  ) 
    -
    - - - - - -
    -   - - -

    -Initiate the "realtime" retreival from stdin of control messages into the queue. -

    -This function initiates a thread for asynchronous retrieval of SKINI formatted messages from stdin. A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, a stdin thread is already running, or a thread error occurs during startup. Stdin input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input.

    -

    - - - - -
    - - - - - - - - - -
    bool Messager::startSocketInput int  port = 2001  ) 
    -
    - - - - - -
    -   - - -

    -Start a socket server, accept connections, and read "realtime" control messages into the message queue. -

    -This function creates a socket server on the optional port (default = 2001) and starts a thread for asynchronous retrieval of SKINI formatted messages from socket connections. A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, a socket thread is already running, or an error occurs during the socket server or thread initialization stages. Socket input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input.

    -

    - - - - -
    - - - - - - - - - -
    bool Messager::startMidiInput int  port = 0  ) 
    -
    - - - - - -
    -   - - -

    -Start MIDI input, with optional device and port identifiers. -

    -This function creates an RtMidiIn instance for MIDI input. The RtMidiIn class invokes a local callback function to read incoming messages into the queue. If port = -1, RtMidiIn will open a virtual port to which other software applications can connect (OS X and Linux only). A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, MIDI input is already running, or an error occurs during RtMidiIn construction. Midi input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMessager.png b/doc/html/classMessager.png deleted file mode 100644 index 677ee12..0000000 Binary files a/doc/html/classMessager.png and /dev/null differ diff --git a/doc/html/classMessager__coll__graph.map b/doc/html/classMessager__coll__graph.map deleted file mode 100644 index be80f78..0000000 --- a/doc/html/classMessager__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 21,16 59,37 diff --git a/doc/html/classMessager__coll__graph.md5 b/doc/html/classMessager__coll__graph.md5 deleted file mode 100644 index 325feca..0000000 --- a/doc/html/classMessager__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -947bb994d958c05be9cf48f10449f407 \ No newline at end of file diff --git a/doc/html/classMessager__coll__graph.png b/doc/html/classMessager__coll__graph.png deleted file mode 100644 index 77f3ce3..0000000 Binary files a/doc/html/classMessager__coll__graph.png and /dev/null differ diff --git a/doc/html/classMessager__inherit__graph.map b/doc/html/classMessager__inherit__graph.map deleted file mode 100644 index be80f78..0000000 --- a/doc/html/classMessager__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 21,16 59,37 diff --git a/doc/html/classMessager__inherit__graph.md5 b/doc/html/classMessager__inherit__graph.md5 deleted file mode 100644 index 55e53af..0000000 --- a/doc/html/classMessager__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -9d13c0facfa28de3a2da6f2f07025456 \ No newline at end of file diff --git a/doc/html/classMessager__inherit__graph.png b/doc/html/classMessager__inherit__graph.png deleted file mode 100644 index 77f3ce3..0000000 Binary files a/doc/html/classMessager__inherit__graph.png and /dev/null differ diff --git a/doc/html/classMidiFileIn-members.html b/doc/html/classMidiFileIn-members.html deleted file mode 100644 index 640ef27..0000000 --- a/doc/html/classMidiFileIn-members.html +++ /dev/null @@ -1,55 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    MidiFileIn Member List

    This is the complete list of members for MidiFileIn, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    getDivision() const MidiFileIn
    getFileFormat() const MidiFileIn
    getNextEvent(std::vector< unsigned char > *event, unsigned int track=0)MidiFileIn
    getNextMidiEvent(std::vector< unsigned char > *midiEvent, unsigned int track=0)MidiFileIn
    getNumberOfTracks() const MidiFileIn
    getTickSeconds(unsigned int track=0)MidiFileIn
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    MidiFileIn(std::string fileName)MidiFileIn
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    rewindTrack(unsigned int track=0)MidiFileIn
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    ~MidiFileIn()MidiFileIn
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMidiFileIn.html b/doc/html/classMidiFileIn.html deleted file mode 100644 index 8343f8c..0000000 --- a/doc/html/classMidiFileIn.html +++ /dev/null @@ -1,268 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    MidiFileIn Class Reference

    #include <MidiFileIn.h> -

    -

    Inheritance diagram for MidiFileIn: -

    - -Stk - -List of all members.

    Detailed Description

    -A standard MIDI file reading/parsing class. -

    -This class can be used to read events from a standard MIDI file. Event bytes are copied to a C++ vector and must be subsequently interpreted by the user. The function getNextMidiEvent() skips meta and sysex events, returning only MIDI channel messages. Event delta-times are returned in the form of "ticks" and a function is provided to determine the current "seconds per tick". Tempo changes are internally tracked by the class and reflected in the values returned by the function getTickSeconds().

    -by Gary P. Scavone, 2003. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     MidiFileIn (std::string fileName)
     Default constructor.
    ~MidiFileIn ()
     Class destructor.
    -int getFileFormat () const
     Return the MIDI file format (0, 1, or 2).
    -unsigned int getNumberOfTracks () const
     Return the number of tracks in the MIDI file.
    int getDivision () const
     Return the MIDI file division value from the file header.
    void rewindTrack (unsigned int track=0)
     Move the specified track event reader to the beginning of its track.
    double getTickSeconds (unsigned int track=0)
     Get the current value, in seconds, of delta-time ticks for the specified track.
    unsigned long getNextEvent (std::vector< unsigned char > *event, unsigned int track=0)
     Fill the user-provided vector with the next event in the specified track and return the event delta-time in ticks.
    unsigned long getNextMidiEvent (std::vector< unsigned char > *midiEvent, unsigned int track=0)
     Fill the user-provided vector with the next MIDI channel event in the specified track and return the event delta time in ticks.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    MidiFileIn::MidiFileIn std::string  fileName  ) 
    -
    - - - - - -
    -   - - -

    -Default constructor. -

    -If an error occurs while opening or parsing the file header, an StkError exception will be thrown.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - -
    int MidiFileIn::getDivision  )  const
    -
    - - - - - -
    -   - - -

    -Return the MIDI file division value from the file header. -

    -Note that this value must be "parsed" in accordance with the MIDI File Specification. In particular, if the MSB is set, the file uses time-code representations for delta-time values.

    -

    - - - - -
    - - - - - - - - - -
    void MidiFileIn::rewindTrack unsigned int  track = 0  ) 
    -
    - - - - - -
    -   - - -

    -Move the specified track event reader to the beginning of its track. -

    -The relevant track tempo value is reset as well. If an invalid track number is specified, an StkError exception will be thrown.

    -

    - - - - -
    - - - - - - - - - -
    double MidiFileIn::getTickSeconds unsigned int  track = 0  ) 
    -
    - - - - - -
    -   - - -

    -Get the current value, in seconds, of delta-time ticks for the specified track. -

    -This value can change as events are read (via "Set Tempo" Meta-Events). Therefore, one should call this function after every call to getNextEvent() or getNextMidiEvent(). If an invalid track number is specified, an StkError exception will be thrown.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    unsigned long MidiFileIn::getNextEvent std::vector< unsigned char > *  event,
    unsigned int  track = 0
    -
    - - - - - -
    -   - - -

    -Fill the user-provided vector with the next event in the specified track and return the event delta-time in ticks. -

    -MIDI File events consist of a delta time and a sequence of event bytes. This function returns the delta-time value and writes the subsequent event bytes directly to the event vector. The user must parse the event bytes in accordance with the MIDI File Specification. All returned MIDI channel events are complete ... a status byte is provided even when running status is used in the file. If the track has reached its end, no bytes will be written and the event vector size will be zero. If an invalid track number is specified or an error occurs while reading the file, an StkError exception will be thrown.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    unsigned long MidiFileIn::getNextMidiEvent std::vector< unsigned char > *  midiEvent,
    unsigned int  track = 0
    -
    - - - - - -
    -   - - -

    -Fill the user-provided vector with the next MIDI channel event in the specified track and return the event delta time in ticks. -

    -All returned MIDI events are complete ... a status byte is provided even when running status is used in the file. Meta and sysex events in the track are skipped though "Set Tempo" events are properly parsed for use by the getTickSeconds() function. If the track has reached its end, no bytes will be written and the event vector size will be zero. If an invalid track number is specified or an error occurs while reading the file, an StkError exception will be thrown.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMidiFileIn.png b/doc/html/classMidiFileIn.png deleted file mode 100644 index 13082f0..0000000 Binary files a/doc/html/classMidiFileIn.png and /dev/null differ diff --git a/doc/html/classMidiFileIn__coll__graph.map b/doc/html/classMidiFileIn__coll__graph.map deleted file mode 100644 index fca2ba0..0000000 --- a/doc/html/classMidiFileIn__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classMidiFileIn__coll__graph.md5 b/doc/html/classMidiFileIn__coll__graph.md5 deleted file mode 100644 index eab5779..0000000 --- a/doc/html/classMidiFileIn__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -23af00f229cafe866fea4255d58b646d \ No newline at end of file diff --git a/doc/html/classMidiFileIn__coll__graph.png b/doc/html/classMidiFileIn__coll__graph.png deleted file mode 100644 index 89d77cc..0000000 Binary files a/doc/html/classMidiFileIn__coll__graph.png and /dev/null differ diff --git a/doc/html/classMidiFileIn__inherit__graph.map b/doc/html/classMidiFileIn__inherit__graph.map deleted file mode 100644 index fca2ba0..0000000 --- a/doc/html/classMidiFileIn__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classMidiFileIn__inherit__graph.md5 b/doc/html/classMidiFileIn__inherit__graph.md5 deleted file mode 100644 index 9ae9b54..0000000 --- a/doc/html/classMidiFileIn__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3f70530e5e8c8a0868a5e1511ff14a69 \ No newline at end of file diff --git a/doc/html/classMidiFileIn__inherit__graph.png b/doc/html/classMidiFileIn__inherit__graph.png deleted file mode 100644 index 89d77cc..0000000 Binary files a/doc/html/classMidiFileIn__inherit__graph.png and /dev/null differ diff --git a/doc/html/classModal-members.html b/doc/html/classModal-members.html deleted file mode 100644 index 2df9916..0000000 --- a/doc/html/classModal-members.html +++ /dev/null @@ -1,66 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Modal Member List

    This is the complete list of members for Modal, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Modal
    controlChange(int number, StkFloat value)=0Modal [pure virtual]
    damp(StkFloat amplitude)Modal
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    Modal(unsigned int modes=4)Modal
    noteOff(StkFloat amplitude)Modal [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Modal [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setDirectGain(StkFloat aGain)Modal
    setFrequency(StkFloat frequency)Modal [virtual]
    setMasterGain(StkFloat aGain)Modal
    setModeGain(unsigned int modeIndex, StkFloat gain)Modal
    setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius)Modal
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    strike(StkFloat amplitude)Modal [virtual]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Modal()Modal [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classModal.html b/doc/html/classModal.html deleted file mode 100644 index 2741257..0000000 --- a/doc/html/classModal.html +++ /dev/null @@ -1,123 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Modal Class Reference

    #include <Modal.h> -

    -

    Inheritance diagram for Modal: -

    - -Instrmnt -Stk -ModalBar - -List of all members.

    Detailed Description

    -STK resonance model instrument. -

    -This class contains an excitation wavetable, an envelope, an oscillator, and N resonances (non-sweeping BiQuad filters), where N is set during instantiation.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Modal (unsigned int modes=4)
     Class constructor, taking the desired number of modes to create.
    -virtual ~Modal ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setRatioAndRadius (unsigned int modeIndex, StkFloat ratio, StkFloat radius)
     Set the ratio and radius for a specified mode filter.
    -void setMasterGain (StkFloat aGain)
     Set the master gain.
    -void setDirectGain (StkFloat aGain)
     Set the direct gain.
    -void setModeGain (unsigned int modeIndex, StkFloat gain)
     Set the gain for a specified mode filter.
    -virtual void strike (StkFloat amplitude)
     Initiate a strike with the given amplitude (0.0 - 1.0).
    -void damp (StkFloat amplitude)
     Damp modes with a given decay factor (0.0 - 1.0).
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -virtual void controlChange (int number, StkFloat value)=0
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    Modal::Modal unsigned int  modes = 4  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor, taking the desired number of modes to create. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classModal.png b/doc/html/classModal.png deleted file mode 100644 index 6879540..0000000 Binary files a/doc/html/classModal.png and /dev/null differ diff --git a/doc/html/classModalBar-members.html b/doc/html/classModalBar-members.html deleted file mode 100644 index f3afa09..0000000 --- a/doc/html/classModalBar-members.html +++ /dev/null @@ -1,72 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    ModalBar Member List

    This is the complete list of members for ModalBar, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Modal
    controlChange(int number, StkFloat value)ModalBar [virtual]
    damp(StkFloat amplitude)Modal
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    Modal(unsigned int modes=4)Modal
    ModalBar()ModalBar
    noteOff(StkFloat amplitude)Modal [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Modal [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setDirectGain(StkFloat aGain)Modal
    setFrequency(StkFloat frequency)Modal [virtual]
    setMasterGain(StkFloat aGain)Modal
    setModeGain(unsigned int modeIndex, StkFloat gain)Modal
    setModulationDepth(StkFloat mDepth)ModalBar
    setPreset(int preset)ModalBar
    setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius)Modal
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setStickHardness(StkFloat hardness)ModalBar
    setStrikePosition(StkFloat position)ModalBar
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    strike(StkFloat amplitude)Modal [virtual]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Modal()Modal [virtual]
    ~ModalBar()ModalBar
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classModalBar.html b/doc/html/classModalBar.html deleted file mode 100644 index a6c4d2b..0000000 --- a/doc/html/classModalBar.html +++ /dev/null @@ -1,74 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    ModalBar Class Reference

    #include <ModalBar.h> -

    -

    Inheritance diagram for ModalBar: -

    - -Modal -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK resonant bar instrument class. -

    -This class implements a number of different struck bar instruments. It inherits from the Modal class.

    -Control Change Numbers:

      -
    • Stick Hardness = 2
    • Stick Position = 4
    • Vibrato Gain = 1
    • Vibrato Frequency = 11
    • Direct Stick Mix = 8
    • Volume = 128
    • Modal Presets = 16
        -
      • Marimba = 0
      • Vibraphone = 1
      • Agogo = 2
      • Wood1 = 3
      • Reso = 4
      • Wood2 = 5
      • Beats = 6
      • Two Fixed = 7
      • Clump = 8
      -
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    ModalBar ()
     Class constructor.
    ~ModalBar ()
     Class destructor.
    -void setStickHardness (StkFloat hardness)
     Set stick hardness (0.0 - 1.0).
    -void setStrikePosition (StkFloat position)
     Set stick position (0.0 - 1.0).
    -void setPreset (int preset)
     Select a bar preset (currently modulo 9).
    -void setModulationDepth (StkFloat mDepth)
     Set the modulation (vibrato) depth.
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classModalBar.png b/doc/html/classModalBar.png deleted file mode 100644 index 0b71a26..0000000 Binary files a/doc/html/classModalBar.png and /dev/null differ diff --git a/doc/html/classModalBar__coll__graph.map b/doc/html/classModalBar__coll__graph.map deleted file mode 100644 index fc1e6f6..0000000 --- a/doc/html/classModalBar__coll__graph.map +++ /dev/null @@ -1,11 +0,0 @@ -base referer -rect $classModal.html 193,269 239,291 -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 240,16 277,37 -rect $classWvIn.html 193,88 233,109 -rect $classFilter.html 285,88 325,109 -rect $classGenerator.html 381,88 451,109 -rect $classWaveLoop.html 176,179 251,200 -rect $classOnePole.html 275,179 336,200 -rect $classBiQuad.html 360,179 413,200 -rect $classEnvelope.html 445,179 509,200 diff --git a/doc/html/classModalBar__coll__graph.md5 b/doc/html/classModalBar__coll__graph.md5 deleted file mode 100644 index 389c7b0..0000000 --- a/doc/html/classModalBar__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a3756734bec96c451b96da1f1e0b8959 \ No newline at end of file diff --git a/doc/html/classModalBar__coll__graph.png b/doc/html/classModalBar__coll__graph.png deleted file mode 100644 index 908505d..0000000 Binary files a/doc/html/classModalBar__coll__graph.png and /dev/null differ diff --git a/doc/html/classModalBar__inherit__graph.map b/doc/html/classModalBar__inherit__graph.map deleted file mode 100644 index 0573345..0000000 --- a/doc/html/classModalBar__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classModal.html 17,155 63,176 -rect $classInstrmnt.html 12,86 68,107 -rect $classStk.html 21,16 59,38 diff --git a/doc/html/classModalBar__inherit__graph.md5 b/doc/html/classModalBar__inherit__graph.md5 deleted file mode 100644 index 1caa8fe..0000000 --- a/doc/html/classModalBar__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a5b4f7992c76343d1ff4a78f2b44e070 \ No newline at end of file diff --git a/doc/html/classModalBar__inherit__graph.png b/doc/html/classModalBar__inherit__graph.png deleted file mode 100644 index f4b6bdd..0000000 Binary files a/doc/html/classModalBar__inherit__graph.png and /dev/null differ diff --git a/doc/html/classModal__coll__graph.map b/doc/html/classModal__coll__graph.map deleted file mode 100644 index 03622dc..0000000 --- a/doc/html/classModal__coll__graph.map +++ /dev/null @@ -1,10 +0,0 @@ -base referer -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 240,16 277,37 -rect $classWvIn.html 193,88 233,109 -rect $classFilter.html 285,88 325,109 -rect $classGenerator.html 381,88 451,109 -rect $classWaveLoop.html 176,179 251,200 -rect $classOnePole.html 275,179 336,200 -rect $classBiQuad.html 360,179 413,200 -rect $classEnvelope.html 445,179 509,200 diff --git a/doc/html/classModal__coll__graph.md5 b/doc/html/classModal__coll__graph.md5 deleted file mode 100644 index e74cffe..0000000 --- a/doc/html/classModal__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ca15b5e79addc7cd7a22e1e58f66b4d9 \ No newline at end of file diff --git a/doc/html/classModal__coll__graph.png b/doc/html/classModal__coll__graph.png deleted file mode 100644 index 28d5b61..0000000 Binary files a/doc/html/classModal__coll__graph.png and /dev/null differ diff --git a/doc/html/classModal__inherit__graph.map b/doc/html/classModal__inherit__graph.map deleted file mode 100644 index a21e84b..0000000 --- a/doc/html/classModal__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classModalBar.html 7,224 73,246 -rect $classInstrmnt.html 12,86 68,107 -rect $classStk.html 21,16 59,38 diff --git a/doc/html/classModal__inherit__graph.md5 b/doc/html/classModal__inherit__graph.md5 deleted file mode 100644 index 25463ff..0000000 --- a/doc/html/classModal__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fa70076405fd63e0b4dca2662fc712b2 \ No newline at end of file diff --git a/doc/html/classModal__inherit__graph.png b/doc/html/classModal__inherit__graph.png deleted file mode 100644 index e912fab..0000000 Binary files a/doc/html/classModal__inherit__graph.png and /dev/null differ diff --git a/doc/html/classModulate-members.html b/doc/html/classModulate-members.html deleted file mode 100644 index a7cfda0..0000000 --- a/doc/html/classModulate-members.html +++ /dev/null @@ -1,57 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Modulate Member List

    This is the complete list of members for Modulate, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Generator(void)Generator
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut(void) const Generator [inline, virtual]
    Modulate()Modulate
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    reset()Modulate
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRandomGain(StkFloat gain)Modulate
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setVibratoGain(StkFloat gain)Modulate
    setVibratoRate(StkFloat rate)Modulate
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~Generator(void)Generator [virtual]
    ~Modulate()Modulate
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classModulate.html b/doc/html/classModulate.html deleted file mode 100644 index e07eafd..0000000 --- a/doc/html/classModulate.html +++ /dev/null @@ -1,93 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Modulate Class Reference

    #include <Modulate.h> -

    -

    Inheritance diagram for Modulate: -

    - -Generator -Stk - -List of all members.

    Detailed Description

    -STK periodic/random modulator. -

    -This class combines random and periodic modulations to give a nice, natural human modulation function.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Modulate ()
     Class constructor.
    ~Modulate ()
     Class destructor.
    -void reset ()
     Reset internal state.
    -void setVibratoRate (StkFloat rate)
     Set the periodic (vibrato) rate or frequency in Hz.
    -void setVibratoGain (StkFloat gain)
     Set the periodic (vibrato) gain.
    -void setRandomGain (StkFloat gain)
     Set the random modulation gain.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    Modulate::Modulate  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError can be thrown if the rawwave path is incorrect.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classModulate.png b/doc/html/classModulate.png deleted file mode 100644 index 8a43be5..0000000 Binary files a/doc/html/classModulate.png and /dev/null differ diff --git a/doc/html/classModulate__coll__graph.map b/doc/html/classModulate__coll__graph.map deleted file mode 100644 index d9565ce..0000000 --- a/doc/html/classModulate__coll__graph.map +++ /dev/null @@ -1,9 +0,0 @@ -base referer -rect $classGenerator.html 56,88 125,109 -rect $classNoise.html 69,160 112,181 -rect $classStk.html 153,16 191,37 -rect $classFilter.html 152,88 192,109 -rect $classWvIn.html 223,88 263,109 -rect $classOnePole.html 141,205 203,227 -rect $classSubNoise.html 57,251 124,272 -rect $classWaveLoop.html 228,205 303,227 diff --git a/doc/html/classModulate__coll__graph.md5 b/doc/html/classModulate__coll__graph.md5 deleted file mode 100644 index a1f2c08..0000000 --- a/doc/html/classModulate__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f33a1c25ecc6530f0589e906557d3ab5 \ No newline at end of file diff --git a/doc/html/classModulate__coll__graph.png b/doc/html/classModulate__coll__graph.png deleted file mode 100644 index 85439d1..0000000 Binary files a/doc/html/classModulate__coll__graph.png and /dev/null differ diff --git a/doc/html/classModulate__inherit__graph.map b/doc/html/classModulate__inherit__graph.map deleted file mode 100644 index 337ffbe..0000000 --- a/doc/html/classModulate__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classGenerator.html 7,85 76,106 -rect $classStk.html 23,16 60,37 diff --git a/doc/html/classModulate__inherit__graph.md5 b/doc/html/classModulate__inherit__graph.md5 deleted file mode 100644 index 92ce77e..0000000 --- a/doc/html/classModulate__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1ef14f872b2d49f2124688b0537fffd2 \ No newline at end of file diff --git a/doc/html/classModulate__inherit__graph.png b/doc/html/classModulate__inherit__graph.png deleted file mode 100644 index ba0c0f6..0000000 Binary files a/doc/html/classModulate__inherit__graph.png and /dev/null differ diff --git a/doc/html/classMoog-members.html b/doc/html/classMoog-members.html deleted file mode 100644 index 0cabeeb..0000000 --- a/doc/html/classMoog-members.html +++ /dev/null @@ -1,66 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Moog Member List

    This is the complete list of members for Moog, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Sampler
    controlChange(int number, StkFloat value)Moog [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()Sampler
    keyOn()Sampler
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    Moog()Moog
    noteOff(StkFloat amplitude)Sampler [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Moog [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    Sampler()Sampler
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Moog [virtual]
    setModulationDepth(StkFloat mDepth)Moog
    setModulationSpeed(StkFloat mSpeed)Moog
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Moog()Moog
    ~Sampler()Sampler [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMoog.html b/doc/html/classMoog.html deleted file mode 100644 index d1ed8e3..0000000 --- a/doc/html/classMoog.html +++ /dev/null @@ -1,101 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Moog Class Reference

    #include <Moog.h> -

    -

    Inheritance diagram for Moog: -

    - -Sampler -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK moog-like swept filter sampling synthesis class. -

    -This instrument uses one attack wave, one looped wave, and an ADSR envelope (inherited from the Sampler class) and adds two sweepable formant (FormSwep) filters.

    -Control Change Numbers:

      -
    • Filter Q = 2
    • Filter Sweep Rate = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Gain = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Moog ()
     Class constructor.
    ~Moog ()
     Class destructor.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void setModulationSpeed (StkFloat mSpeed)
     Set the modulation (vibrato) speed in Hz.
    -void setModulationDepth (StkFloat mDepth)
     Set the modulation (vibrato) depth.
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    Moog::Moog  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMoog.png b/doc/html/classMoog.png deleted file mode 100644 index 99e237d..0000000 Binary files a/doc/html/classMoog.png and /dev/null differ diff --git a/doc/html/classMoog__coll__graph.map b/doc/html/classMoog__coll__graph.map deleted file mode 100644 index aa40cf0..0000000 --- a/doc/html/classMoog__coll__graph.map +++ /dev/null @@ -1,11 +0,0 @@ -base referer -rect $classSampler.html 87,342 148,363 -rect $classInstrmnt.html 7,134 63,155 -rect $classStk.html 88,16 125,38 -rect $classGenerator.html 72,88 141,110 -rect $classFilter.html 169,179 209,200 -rect $classADSR.html 73,251 121,272 -rect $classEnvelope.html 73,179 137,200 -rect $classOnePole.html 159,251 220,272 -rect $classBiQuad.html 245,251 299,272 -rect $classFormSwep.html 215,342 289,363 diff --git a/doc/html/classMoog__coll__graph.md5 b/doc/html/classMoog__coll__graph.md5 deleted file mode 100644 index e1c0ea2..0000000 --- a/doc/html/classMoog__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6aeebdcfeac9269e3a51b57f4db06724 \ No newline at end of file diff --git a/doc/html/classMoog__coll__graph.png b/doc/html/classMoog__coll__graph.png deleted file mode 100644 index a3c5d90..0000000 Binary files a/doc/html/classMoog__coll__graph.png and /dev/null differ diff --git a/doc/html/classMoog__inherit__graph.map b/doc/html/classMoog__inherit__graph.map deleted file mode 100644 index 219a2c5..0000000 --- a/doc/html/classMoog__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classSampler.html 7,155 68,176 -rect $classInstrmnt.html 9,86 65,107 -rect $classStk.html 19,16 56,38 diff --git a/doc/html/classMoog__inherit__graph.md5 b/doc/html/classMoog__inherit__graph.md5 deleted file mode 100644 index 8689255..0000000 --- a/doc/html/classMoog__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -b3ef2fe6959091eecc1072513136fed0 \ No newline at end of file diff --git a/doc/html/classMoog__inherit__graph.png b/doc/html/classMoog__inherit__graph.png deleted file mode 100644 index a358b06..0000000 Binary files a/doc/html/classMoog__inherit__graph.png and /dev/null differ diff --git a/doc/html/classMutex-members.html b/doc/html/classMutex-members.html deleted file mode 100644 index fecf820..0000000 --- a/doc/html/classMutex-members.html +++ /dev/null @@ -1,52 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Mutex Member List

    This is the complete list of members for Mutex, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lock(void)Mutex
    Mutex()Mutex
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    signal(void)Mutex
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    unlock(void)Mutex
    wait(void)Mutex
    ~Mutex()Mutex
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMutex.html b/doc/html/classMutex.html deleted file mode 100644 index 952e573..0000000 --- a/doc/html/classMutex.html +++ /dev/null @@ -1,122 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Mutex Class Reference

    #include <Mutex.h> -

    -

    Inheritance diagram for Mutex: -

    - -Stk - -List of all members.

    Detailed Description

    -STK mutex class. -

    -This class provides a uniform interface for cross-platform mutex use. On Linux and IRIX systems, the pthread library is used. Under Windows, critical sections are used.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Mutex ()
     Default constructor.
    ~Mutex ()
     Class destructor.
    -void lock (void)
     Lock the mutex.
    -void unlock (void)
     Unlock the mutex.
    void wait (void)
     Wait indefinitely on the mutex condition variable.
    void signal (void)
     Signal the condition variable.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void Mutex::wait void   ) 
    -
    - - - - - -
    -   - - -

    -Wait indefinitely on the mutex condition variable. -

    -The mutex must be locked before calling this function, and then subsequently unlocked after this function returns.

    -

    - - - - -
    - - - - - - - - - -
    void Mutex::signal void   ) 
    -
    - - - - - -
    -   - - -

    -Signal the condition variable. -

    -The mutex must be locked before calling this function, and then subsequently unlocked after this function returns.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classMutex.png b/doc/html/classMutex.png deleted file mode 100644 index 72a7010..0000000 Binary files a/doc/html/classMutex.png and /dev/null differ diff --git a/doc/html/classMutex__coll__graph.map b/doc/html/classMutex__coll__graph.map deleted file mode 100644 index bd4d253..0000000 --- a/doc/html/classMutex__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 11,16 48,37 diff --git a/doc/html/classMutex__coll__graph.md5 b/doc/html/classMutex__coll__graph.md5 deleted file mode 100644 index 8a5e497..0000000 --- a/doc/html/classMutex__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d618b621fa82116e108bebfdbe61ca98 \ No newline at end of file diff --git a/doc/html/classMutex__coll__graph.png b/doc/html/classMutex__coll__graph.png deleted file mode 100644 index 722c010..0000000 Binary files a/doc/html/classMutex__coll__graph.png and /dev/null differ diff --git a/doc/html/classMutex__inherit__graph.map b/doc/html/classMutex__inherit__graph.map deleted file mode 100644 index bd4d253..0000000 --- a/doc/html/classMutex__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 11,16 48,37 diff --git a/doc/html/classMutex__inherit__graph.md5 b/doc/html/classMutex__inherit__graph.md5 deleted file mode 100644 index f5102e5..0000000 --- a/doc/html/classMutex__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6ccd2a912f8854bcd8a4a693f4379aff \ No newline at end of file diff --git a/doc/html/classMutex__inherit__graph.png b/doc/html/classMutex__inherit__graph.png deleted file mode 100644 index 722c010..0000000 Binary files a/doc/html/classMutex__inherit__graph.png and /dev/null differ diff --git a/doc/html/classNRev-members.html b/doc/html/classNRev-members.html deleted file mode 100644 index d20ebb7..0000000 --- a/doc/html/classNRev-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    NRev Member List

    This is the complete list of members for NRev, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()NRev [virtual]
    Effect()Effect
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut() const Effect
    lastOutLeft() const Effect
    lastOutRight() const Effect
    NRev(StkFloat T60=1.0)NRev
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setEffectMix(StkFloat mix)Effect
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setT60(StkFloat T60)NRev
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Effect
    tick(StkFrames &frames, unsigned int channel=0)Effect
    ~Effect()Effect [virtual]
    ~NRev()NRev
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classNRev.html b/doc/html/classNRev.html deleted file mode 100644 index d577f26..0000000 --- a/doc/html/classNRev.html +++ /dev/null @@ -1,56 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    NRev Class Reference

    #include <NRev.h> -

    -

    Inheritance diagram for NRev: -

    - -Effect -Stk - -List of all members.

    Detailed Description

    -CCRMA's NRev reverberator class. -

    -This class is derived from the CLM NRev function, which is based on the use of networks of simple allpass and comb delay filters. This particular arrangement consists of 6 comb filters in parallel, followed by 3 allpass filters, a lowpass filter, and another allpass in series, followed by two allpass filters in parallel with corresponding right and left outputs.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

    NRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    ~NRev ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classNRev.png b/doc/html/classNRev.png deleted file mode 100644 index 85b61ab..0000000 Binary files a/doc/html/classNRev.png and /dev/null differ diff --git a/doc/html/classNRev__coll__graph.map b/doc/html/classNRev__coll__graph.map deleted file mode 100644 index a2730cc..0000000 --- a/doc/html/classNRev__coll__graph.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $classEffect.html 7,133 52,155 -rect $classStk.html 39,16 76,37 -rect $classFilter.html 68,88 108,109 -rect $classDelay.html 68,179 111,200 diff --git a/doc/html/classNRev__coll__graph.md5 b/doc/html/classNRev__coll__graph.md5 deleted file mode 100644 index 68bec03..0000000 --- a/doc/html/classNRev__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e4159900c2b0682983e4bd04c47cd837 \ No newline at end of file diff --git a/doc/html/classNRev__coll__graph.png b/doc/html/classNRev__coll__graph.png deleted file mode 100644 index 56e0982..0000000 Binary files a/doc/html/classNRev__coll__graph.png and /dev/null differ diff --git a/doc/html/classNRev__inherit__graph.map b/doc/html/classNRev__inherit__graph.map deleted file mode 100644 index 30760ae..0000000 --- a/doc/html/classNRev__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classEffect.html 7,85 52,106 -rect $classStk.html 11,16 48,37 diff --git a/doc/html/classNRev__inherit__graph.md5 b/doc/html/classNRev__inherit__graph.md5 deleted file mode 100644 index bd98a2f..0000000 --- a/doc/html/classNRev__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8627ad35cb87febbba669aca02b577d7 \ No newline at end of file diff --git a/doc/html/classNRev__inherit__graph.png b/doc/html/classNRev__inherit__graph.png deleted file mode 100644 index c75eac1..0000000 Binary files a/doc/html/classNRev__inherit__graph.png and /dev/null differ diff --git a/doc/html/classNoise-members.html b/doc/html/classNoise-members.html deleted file mode 100644 index 3aac01a..0000000 --- a/doc/html/classNoise-members.html +++ /dev/null @@ -1,55 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Noise Member List

    This is the complete list of members for Noise, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Generator(void)Generator
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut(void) const Generator [inline, virtual]
    Noise()Noise
    Noise(unsigned int seed)Noise
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setSeed(unsigned int seed=0)Noise
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~Generator(void)Generator [virtual]
    ~Noise()Noise [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classNoise.html b/doc/html/classNoise.html deleted file mode 100644 index f0cd05e..0000000 --- a/doc/html/classNoise.html +++ /dev/null @@ -1,117 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Noise Class Reference

    #include <Noise.h> -

    -

    Inheritance diagram for Noise: -

    - -Generator -Stk -SubNoise - -List of all members.

    Detailed Description

    -STK noise generator. -

    -Generic random number generation using the C rand() function. The quality of the rand() function varies from one OS to another.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

    Noise ()
     Default constructor which seeds the random number generator with the system time.
     Noise (unsigned int seed)
     Constructor which seeds the random number generator with a given seed.
    -virtual ~Noise ()
     Class destructor.
    void setSeed (unsigned int seed=0)
     Seed the random number generator with a specific seed value.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    Noise::Noise unsigned int  seed  ) 
    -
    - - - - - -
    -   - - -

    -Constructor which seeds the random number generator with a given seed. -

    -If the seed value is zero, the random number generator is seeded with the system time.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void Noise::setSeed unsigned int  seed = 0  ) 
    -
    - - - - - -
    -   - - -

    -Seed the random number generator with a specific seed value. -

    -If no seed is provided or the seed value is zero, the random number generator is seeded with the current system time.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classNoise.png b/doc/html/classNoise.png deleted file mode 100644 index 608804f..0000000 Binary files a/doc/html/classNoise.png and /dev/null differ diff --git a/doc/html/classNoise__coll__graph.map b/doc/html/classNoise__coll__graph.map deleted file mode 100644 index 337ffbe..0000000 --- a/doc/html/classNoise__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classGenerator.html 7,85 76,106 -rect $classStk.html 23,16 60,37 diff --git a/doc/html/classNoise__coll__graph.md5 b/doc/html/classNoise__coll__graph.md5 deleted file mode 100644 index d0f3577..0000000 --- a/doc/html/classNoise__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -4921386a2a319c0d6af4eef869637d89 \ No newline at end of file diff --git a/doc/html/classNoise__coll__graph.png b/doc/html/classNoise__coll__graph.png deleted file mode 100644 index ae09b71..0000000 Binary files a/doc/html/classNoise__coll__graph.png and /dev/null differ diff --git a/doc/html/classNoise__inherit__graph.map b/doc/html/classNoise__inherit__graph.map deleted file mode 100644 index d6c591b..0000000 --- a/doc/html/classNoise__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classSubNoise.html 8,224 75,246 -rect $classGenerator.html 7,86 76,107 -rect $classStk.html 23,16 60,38 diff --git a/doc/html/classNoise__inherit__graph.md5 b/doc/html/classNoise__inherit__graph.md5 deleted file mode 100644 index 6f463cc..0000000 --- a/doc/html/classNoise__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -449140940ff00e587000e2bcc5825886 \ No newline at end of file diff --git a/doc/html/classNoise__inherit__graph.png b/doc/html/classNoise__inherit__graph.png deleted file mode 100644 index a4af5c5..0000000 Binary files a/doc/html/classNoise__inherit__graph.png and /dev/null differ diff --git a/doc/html/classOnePole-members.html b/doc/html/classOnePole-members.html deleted file mode 100644 index 12b3d29..0000000 --- a/doc/html/classOnePole-members.html +++ /dev/null @@ -1,64 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    OnePole Member List

    This is the complete list of members for OnePole, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear(void)OnePole
    Filter(void)Filter [protected]
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    getGain(void) const OnePole [virtual]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline, protected]
    lastOut(void) const OnePole [virtual]
    OnePole()OnePole
    OnePole(StkFloat thePole)OnePole
    printErrors(bool status)Stk [inline, protected, static]
    rawwavePath(void)Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, protected, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setA1(StkFloat a1)OnePole
    setB0(StkFloat b0)OnePole
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setGain(StkFloat gain)OnePole [virtual]
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)Filter [protected]
    setPole(StkFloat thePole)OnePole
    setRawwavePath(std::string path)Stk [protected, static]
    setSampleRate(StkFloat rate)Stk [protected, static]
    showWarnings(bool status)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    tick(StkFloat sample)OnePole [virtual]
    tick(StkFrames &frames, unsigned int channel=0)OnePole [virtual]
    ~Filter(void)Filter [protected, virtual]
    ~OnePole()OnePole
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classOnePole.html b/doc/html/classOnePole.html deleted file mode 100644 index d01a73f..0000000 --- a/doc/html/classOnePole.html +++ /dev/null @@ -1,189 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    OnePole Class Reference

    #include <OnePole.h> -

    -

    Inheritance diagram for OnePole: -

    - -Filter -Stk - -List of all members.

    Detailed Description

    -STK one-pole filter class. -

    -This protected Filter subclass implements a one-pole digital filter. A method is provided for setting the pole position along the real axis of the z-plane while maintaining a constant peak filter gain.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    OnePole ()
     Default constructor creates a first-order low-pass filter.
    OnePole (StkFloat thePole)
     Overloaded constructor which sets the pole position during instantiation.
    ~OnePole ()
     Class destructor.
    -void clear (void)
     Clears the internal state of the filter.
    -void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    -void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    void setPole (StkFloat thePole)
     Set the pole position in the z-plane.
    void setGain (StkFloat gain)
     Set the filter gain.
    -StkFloat getGain (void) const
     Return the current filter gain.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat sample)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void OnePole::setPole StkFloat  thePole  ) 
    -
    - - - - - -
    -   - - -

    -Set the pole position in the z-plane. -

    -This method sets the pole position along the real-axis of the z-plane and normalizes the coefficients for a maximum gain of one. A positive pole value produces a low-pass filter, while a negative pole value produces a high-pass filter. This method does not affect the filter gain value.

    -

    - - - - -
    - - - - - - - - - -
    void OnePole::setGain StkFloat  gain  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Set the filter gain. -

    -The gain is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. -

    -Reimplemented from Filter.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFrames& OnePole::tick StkFrames frames,
    unsigned int  channel = 0
    [virtual]
    -
    - - - - - -
    -   - - -

    -Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object. -

    -Reimplemented from Filter.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classOnePole.png b/doc/html/classOnePole.png deleted file mode 100644 index 618ff03..0000000 Binary files a/doc/html/classOnePole.png and /dev/null differ diff --git a/doc/html/classOnePole__coll__graph.map b/doc/html/classOnePole__coll__graph.map deleted file mode 100644 index f4d02b8..0000000 --- a/doc/html/classOnePole__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 17,85 57,106 -rect $classStk.html 19,16 56,37 diff --git a/doc/html/classOnePole__coll__graph.md5 b/doc/html/classOnePole__coll__graph.md5 deleted file mode 100644 index f2cbf1d..0000000 --- a/doc/html/classOnePole__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -647745154012499401a8bd3e6cd46eb5 \ No newline at end of file diff --git a/doc/html/classOnePole__coll__graph.png b/doc/html/classOnePole__coll__graph.png deleted file mode 100644 index 8a775f7..0000000 Binary files a/doc/html/classOnePole__coll__graph.png and /dev/null differ diff --git a/doc/html/classOnePole__inherit__graph.map b/doc/html/classOnePole__inherit__graph.map deleted file mode 100644 index f4d02b8..0000000 --- a/doc/html/classOnePole__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 17,85 57,106 -rect $classStk.html 19,16 56,37 diff --git a/doc/html/classOnePole__inherit__graph.md5 b/doc/html/classOnePole__inherit__graph.md5 deleted file mode 100644 index 9aa3668..0000000 --- a/doc/html/classOnePole__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -4fb013befbee0b3681c6e0cf3ff5de34 \ No newline at end of file diff --git a/doc/html/classOnePole__inherit__graph.png b/doc/html/classOnePole__inherit__graph.png deleted file mode 100644 index 8a775f7..0000000 Binary files a/doc/html/classOnePole__inherit__graph.png and /dev/null differ diff --git a/doc/html/classOneZero-members.html b/doc/html/classOneZero-members.html deleted file mode 100644 index e860898..0000000 --- a/doc/html/classOneZero-members.html +++ /dev/null @@ -1,64 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    OneZero Member List

    This is the complete list of members for OneZero, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear(void)OneZero
    Filter(void)Filter [protected]
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    getGain(void) const OneZero [virtual]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline, protected]
    lastOut(void) const OneZero [virtual]
    OneZero()OneZero
    OneZero(StkFloat theZero)OneZero
    printErrors(bool status)Stk [inline, protected, static]
    rawwavePath(void)Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, protected, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setB0(StkFloat b0)OneZero
    setB1(StkFloat b1)OneZero
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setGain(StkFloat gain)OneZero [virtual]
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)Filter [protected]
    setRawwavePath(std::string path)Stk [protected, static]
    setSampleRate(StkFloat rate)Stk [protected, static]
    setZero(StkFloat theZero)OneZero
    showWarnings(bool status)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    tick(StkFloat sample)OneZero [virtual]
    tick(StkFrames &frames, unsigned int channel=0)OneZero [virtual]
    ~Filter(void)Filter [protected, virtual]
    ~OneZero()OneZero
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classOneZero.html b/doc/html/classOneZero.html deleted file mode 100644 index 0c4784d..0000000 --- a/doc/html/classOneZero.html +++ /dev/null @@ -1,189 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    OneZero Class Reference

    #include <OneZero.h> -

    -

    Inheritance diagram for OneZero: -

    - -Filter -Stk - -List of all members.

    Detailed Description

    -STK one-zero filter class. -

    -This protected Filter subclass implements a one-zero digital filter. A method is provided for setting the zero position along the real axis of the z-plane while maintaining a constant filter gain.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    OneZero ()
     Default constructor creates a first-order low-pass filter.
    OneZero (StkFloat theZero)
     Overloaded constructor which sets the zero position during instantiation.
    ~OneZero ()
     Class destructor.
    -void clear (void)
     Clears the internal state of the filter.
    -void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    -void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    void setZero (StkFloat theZero)
     Set the zero position in the z-plane.
    void setGain (StkFloat gain)
     Set the filter gain.
    -StkFloat getGain (void) const
     Return the current filter gain.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat sample)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void OneZero::setZero StkFloat  theZero  ) 
    -
    - - - - - -
    -   - - -

    -Set the zero position in the z-plane. -

    -This method sets the zero position along the real-axis of the z-plane and normalizes the coefficients for a maximum gain of one. A positive zero value produces a high-pass filter, while a negative zero value produces a low-pass filter. This method does not affect the filter gain value.

    -

    - - - - -
    - - - - - - - - - -
    void OneZero::setGain StkFloat  gain  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Set the filter gain. -

    -The gain is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. -

    -Reimplemented from Filter.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFrames& OneZero::tick StkFrames frames,
    unsigned int  channel = 0
    [virtual]
    -
    - - - - - -
    -   - - -

    -Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object. -

    -Reimplemented from Filter.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classOneZero.png b/doc/html/classOneZero.png deleted file mode 100644 index fd1cb8c..0000000 Binary files a/doc/html/classOneZero.png and /dev/null differ diff --git a/doc/html/classOneZero__coll__graph.map b/doc/html/classOneZero__coll__graph.map deleted file mode 100644 index 340e662..0000000 --- a/doc/html/classOneZero__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 19,85 59,106 -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classOneZero__coll__graph.md5 b/doc/html/classOneZero__coll__graph.md5 deleted file mode 100644 index 1289036..0000000 --- a/doc/html/classOneZero__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d88e917b4f22cdda12f945045a06f9e6 \ No newline at end of file diff --git a/doc/html/classOneZero__coll__graph.png b/doc/html/classOneZero__coll__graph.png deleted file mode 100644 index 1d6f1e8..0000000 Binary files a/doc/html/classOneZero__coll__graph.png and /dev/null differ diff --git a/doc/html/classOneZero__inherit__graph.map b/doc/html/classOneZero__inherit__graph.map deleted file mode 100644 index 340e662..0000000 --- a/doc/html/classOneZero__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 19,85 59,106 -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classOneZero__inherit__graph.md5 b/doc/html/classOneZero__inherit__graph.md5 deleted file mode 100644 index 6487e90..0000000 --- a/doc/html/classOneZero__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d7f48ea60bcabbab85d8da89171486c7 \ No newline at end of file diff --git a/doc/html/classOneZero__inherit__graph.png b/doc/html/classOneZero__inherit__graph.png deleted file mode 100644 index 1d6f1e8..0000000 Binary files a/doc/html/classOneZero__inherit__graph.png and /dev/null differ diff --git a/doc/html/classPRCRev-members.html b/doc/html/classPRCRev-members.html deleted file mode 100644 index d72d4ad..0000000 --- a/doc/html/classPRCRev-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    PRCRev Member List

    This is the complete list of members for PRCRev, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()PRCRev [virtual]
    Effect()Effect
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut() const Effect
    lastOutLeft() const Effect
    lastOutRight() const Effect
    PRCRev(StkFloat T60=1.0)PRCRev
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setEffectMix(StkFloat mix)Effect
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setT60(StkFloat T60)PRCRev
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Effect
    tick(StkFrames &frames, unsigned int channel=0)Effect
    ~Effect()Effect [virtual]
    ~PRCRev()PRCRev
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPRCRev.html b/doc/html/classPRCRev.html deleted file mode 100644 index b1cd5b0..0000000 --- a/doc/html/classPRCRev.html +++ /dev/null @@ -1,56 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    PRCRev Class Reference

    #include <PRCRev.h> -

    -

    Inheritance diagram for PRCRev: -

    - -Effect -Stk - -List of all members.

    Detailed Description

    -Perry's simple reverberator class. -

    -This class is based on some of the famous Stanford/CCRMA reverbs (NRev, KipRev), which were based on the Chowning/Moorer/Schroeder reverberators using networks of simple allpass and comb delay filters. This class implements two series allpass units and two parallel comb filters.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

    PRCRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    ~PRCRev ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPRCRev.png b/doc/html/classPRCRev.png deleted file mode 100644 index f2b7a8f..0000000 Binary files a/doc/html/classPRCRev.png and /dev/null differ diff --git a/doc/html/classPRCRev__coll__graph.map b/doc/html/classPRCRev__coll__graph.map deleted file mode 100644 index a2730cc..0000000 --- a/doc/html/classPRCRev__coll__graph.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $classEffect.html 7,133 52,155 -rect $classStk.html 39,16 76,37 -rect $classFilter.html 68,88 108,109 -rect $classDelay.html 68,179 111,200 diff --git a/doc/html/classPRCRev__coll__graph.md5 b/doc/html/classPRCRev__coll__graph.md5 deleted file mode 100644 index 0208d5f..0000000 --- a/doc/html/classPRCRev__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1e8d774160ee8466e99de2feaa0cadd0 \ No newline at end of file diff --git a/doc/html/classPRCRev__coll__graph.png b/doc/html/classPRCRev__coll__graph.png deleted file mode 100644 index 97407fe..0000000 Binary files a/doc/html/classPRCRev__coll__graph.png and /dev/null differ diff --git a/doc/html/classPRCRev__inherit__graph.map b/doc/html/classPRCRev__inherit__graph.map deleted file mode 100644 index a003af2..0000000 --- a/doc/html/classPRCRev__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classEffect.html 16,85 61,106 -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classPRCRev__inherit__graph.md5 b/doc/html/classPRCRev__inherit__graph.md5 deleted file mode 100644 index 02759f4..0000000 --- a/doc/html/classPRCRev__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -33e574aa76123e98443a460f74265080 \ No newline at end of file diff --git a/doc/html/classPRCRev__inherit__graph.png b/doc/html/classPRCRev__inherit__graph.png deleted file mode 100644 index 41db9a1..0000000 Binary files a/doc/html/classPRCRev__inherit__graph.png and /dev/null differ diff --git a/doc/html/classPercFlut-members.html b/doc/html/classPercFlut-members.html deleted file mode 100644 index f5c5d79..0000000 --- a/doc/html/classPercFlut-members.html +++ /dev/null @@ -1,71 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    PercFlut Member List

    This is the complete list of members for PercFlut, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()FM
    controlChange(int number, StkFloat value)FM [virtual]
    FM(unsigned int operators=4)FM
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()FM
    keyOn()FM
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    loadWaves(const char **filenames)FM
    noteOff(StkFloat amplitude)FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)PercFlut [virtual]
    PercFlut()PercFlut
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setControl1(StkFloat cVal)FM
    setControl2(StkFloat cVal)FM
    setFrequency(StkFloat frequency)PercFlut [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)FM
    setModulationDepth(StkFloat mDepth)FM
    setModulationSpeed(StkFloat mSpeed)FM
    setRatio(unsigned int waveIndex, StkFloat ratio)FM
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~FM()FM [virtual]
    ~Instrmnt()Instrmnt [virtual]
    ~PercFlut()PercFlut
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPercFlut.html b/doc/html/classPercFlut.html deleted file mode 100644 index 6ed622e..0000000 --- a/doc/html/classPercFlut.html +++ /dev/null @@ -1,93 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    PercFlut Class Reference

    #include <PercFlut.h> -

    -

    Inheritance diagram for PercFlut: -

    - -FM -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK percussive flute FM synthesis instrument. -

    -This class implements algorithm 4 of the TX81Z.

    -

        Algorithm 4 is :   4->3--\
    -                          2-- + -->1-->Out
    -

    -Control Change Numbers:

      -
    • Total Modulator Index = 2
    • Modulator Crossfade = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

    -The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

     PercFlut ()
     Class constructor.
    ~PercFlut ()
     Class destructor.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    PercFlut::PercFlut  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPercFlut.png b/doc/html/classPercFlut.png deleted file mode 100644 index 2b75334..0000000 Binary files a/doc/html/classPercFlut.png and /dev/null differ diff --git a/doc/html/classPercFlut__coll__graph.map b/doc/html/classPercFlut__coll__graph.map deleted file mode 100644 index 2830571..0000000 --- a/doc/html/classPercFlut__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $classFM.html 72,269 109,291 -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 85,16 123,37 -rect $classWvIn.html 84,88 124,109 -rect $classFilter.html 156,88 196,109 -rect $classWaveLoop.html 67,179 141,200 -rect $classTwoZero.html 167,179 231,200 diff --git a/doc/html/classPercFlut__coll__graph.md5 b/doc/html/classPercFlut__coll__graph.md5 deleted file mode 100644 index 384439d..0000000 --- a/doc/html/classPercFlut__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5989590b82faf3f5bd8f29a1fcf75a0d \ No newline at end of file diff --git a/doc/html/classPercFlut__coll__graph.png b/doc/html/classPercFlut__coll__graph.png deleted file mode 100644 index 0b36e16..0000000 Binary files a/doc/html/classPercFlut__coll__graph.png and /dev/null differ diff --git a/doc/html/classPercFlut__inherit__graph.map b/doc/html/classPercFlut__inherit__graph.map deleted file mode 100644 index c539e8b..0000000 --- a/doc/html/classPercFlut__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classFM.html 19,155 56,176 -rect $classInstrmnt.html 9,86 65,107 -rect $classStk.html 19,16 56,38 diff --git a/doc/html/classPercFlut__inherit__graph.md5 b/doc/html/classPercFlut__inherit__graph.md5 deleted file mode 100644 index 50f3907..0000000 --- a/doc/html/classPercFlut__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -32f2a0fdad9a8c11a3c743f869d6bf79 \ No newline at end of file diff --git a/doc/html/classPercFlut__inherit__graph.png b/doc/html/classPercFlut__inherit__graph.png deleted file mode 100644 index 3ffa7bd..0000000 Binary files a/doc/html/classPercFlut__inherit__graph.png and /dev/null differ diff --git a/doc/html/classPhonemes-members.html b/doc/html/classPhonemes-members.html deleted file mode 100644 index 944c958..0000000 --- a/doc/html/classPhonemes-members.html +++ /dev/null @@ -1,52 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Phonemes Member List

    This is the complete list of members for Phonemes, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    formantFrequency(unsigned int index, unsigned int partial)Phonemes [static]
    formantGain(unsigned int index, unsigned int partial)Phonemes [static]
    formantRadius(unsigned int index, unsigned int partial)Phonemes [static]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    name(unsigned int index)Phonemes [static]
    noiseGain(unsigned int index)Phonemes [static]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    voiceGain(unsigned int index)Phonemes [static]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPhonemes.html b/doc/html/classPhonemes.html deleted file mode 100644 index fe0ea83..0000000 --- a/doc/html/classPhonemes.html +++ /dev/null @@ -1,63 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Phonemes Class Reference

    #include <Phonemes.h> -

    -

    Inheritance diagram for Phonemes: -

    - -Stk - -List of all members.

    Detailed Description

    -STK phonemes table. -

    -This class does nothing other than declare a set of 32 static phoneme formant parameters and provide access to those values.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - -

    Static Public Member Functions

    -static const char * name (unsigned int index)
     Returns the phoneme name for the given index (0-31).
    -static StkFloat voiceGain (unsigned int index)
     Returns the voiced component gain for the given phoneme index (0-31).
    -static StkFloat noiseGain (unsigned int index)
     Returns the unvoiced component gain for the given phoneme index (0-31).
    -static StkFloat formantFrequency (unsigned int index, unsigned int partial)
     Returns the formant frequency for the given phoneme index (0-31) and partial (0-3).
    -static StkFloat formantRadius (unsigned int index, unsigned int partial)
     Returns the formant radius for the given phoneme index (0-31) and partial (0-3).
    -static StkFloat formantGain (unsigned int index, unsigned int partial)
     Returns the formant gain for the given phoneme index (0-31) and partial (0-3).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPhonemes.png b/doc/html/classPhonemes.png deleted file mode 100644 index f0ad247..0000000 Binary files a/doc/html/classPhonemes.png and /dev/null differ diff --git a/doc/html/classPhonemes__coll__graph.map b/doc/html/classPhonemes__coll__graph.map deleted file mode 100644 index 2ece4a7..0000000 --- a/doc/html/classPhonemes__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 24,16 61,37 diff --git a/doc/html/classPhonemes__coll__graph.md5 b/doc/html/classPhonemes__coll__graph.md5 deleted file mode 100644 index df47d5e..0000000 --- a/doc/html/classPhonemes__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c7ec71fdb1881bfcc84b20afecc3495c \ No newline at end of file diff --git a/doc/html/classPhonemes__coll__graph.png b/doc/html/classPhonemes__coll__graph.png deleted file mode 100644 index 12a59b3..0000000 Binary files a/doc/html/classPhonemes__coll__graph.png and /dev/null differ diff --git a/doc/html/classPhonemes__inherit__graph.map b/doc/html/classPhonemes__inherit__graph.map deleted file mode 100644 index 2ece4a7..0000000 --- a/doc/html/classPhonemes__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 24,16 61,37 diff --git a/doc/html/classPhonemes__inherit__graph.md5 b/doc/html/classPhonemes__inherit__graph.md5 deleted file mode 100644 index 952c807..0000000 --- a/doc/html/classPhonemes__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a1b97ff9aca61940a35ce16a0faaf0e1 \ No newline at end of file diff --git a/doc/html/classPhonemes__inherit__graph.png b/doc/html/classPhonemes__inherit__graph.png deleted file mode 100644 index 12a59b3..0000000 Binary files a/doc/html/classPhonemes__inherit__graph.png and /dev/null differ diff --git a/doc/html/classPitShift-members.html b/doc/html/classPitShift-members.html deleted file mode 100644 index 03d1922..0000000 --- a/doc/html/classPitShift-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    PitShift Member List

    This is the complete list of members for PitShift, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()PitShift [virtual]
    Effect()Effect
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut() const Effect
    lastOutLeft() const Effect
    lastOutRight() const Effect
    PitShift()PitShift
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setEffectMix(StkFloat mix)Effect
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setShift(StkFloat shift)PitShift
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Effect
    tick(StkFrames &frames, unsigned int channel=0)Effect
    ~Effect()Effect [virtual]
    ~PitShift()PitShift
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPitShift.html b/doc/html/classPitShift.html deleted file mode 100644 index 7851b43..0000000 --- a/doc/html/classPitShift.html +++ /dev/null @@ -1,56 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    PitShift Class Reference

    #include <PitShift.h> -

    -

    Inheritance diagram for PitShift: -

    - -Effect -Stk - -List of all members.

    Detailed Description

    -STK simple pitch shifter effect class. -

    -This class implements a simple pitch shifter using delay lines.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

    PitShift ()
     Class constructor.
    ~PitShift ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setShift (StkFloat shift)
     Set the pitch shift factor (1.0 produces no shift).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPitShift.png b/doc/html/classPitShift.png deleted file mode 100644 index 5ed7bfc..0000000 Binary files a/doc/html/classPitShift.png and /dev/null differ diff --git a/doc/html/classPitShift__coll__graph.map b/doc/html/classPitShift__coll__graph.map deleted file mode 100644 index 040932f..0000000 --- a/doc/html/classPitShift__coll__graph.map +++ /dev/null @@ -1,6 +0,0 @@ -base referer -rect $classEffect.html 7,133 52,155 -rect $classStk.html 39,16 76,37 -rect $classFilter.html 68,88 108,109 -rect $classDelayL.html 67,251 117,272 -rect $classDelay.html 68,179 111,200 diff --git a/doc/html/classPitShift__coll__graph.md5 b/doc/html/classPitShift__coll__graph.md5 deleted file mode 100644 index c96c448..0000000 --- a/doc/html/classPitShift__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -71eb3d9740183fdb5a4691a149c3fb8f \ No newline at end of file diff --git a/doc/html/classPitShift__coll__graph.png b/doc/html/classPitShift__coll__graph.png deleted file mode 100644 index 7a62b3d..0000000 Binary files a/doc/html/classPitShift__coll__graph.png and /dev/null differ diff --git a/doc/html/classPitShift__inherit__graph.map b/doc/html/classPitShift__inherit__graph.map deleted file mode 100644 index f117094..0000000 --- a/doc/html/classPitShift__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classEffect.html 11,85 56,106 -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classPitShift__inherit__graph.md5 b/doc/html/classPitShift__inherit__graph.md5 deleted file mode 100644 index 75dc9e2..0000000 --- a/doc/html/classPitShift__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3acbbd1d692de4a783b55a966004e369 \ No newline at end of file diff --git a/doc/html/classPitShift__inherit__graph.png b/doc/html/classPitShift__inherit__graph.png deleted file mode 100644 index 71ffd90..0000000 Binary files a/doc/html/classPitShift__inherit__graph.png and /dev/null differ diff --git a/doc/html/classPluckTwo-members.html b/doc/html/classPluckTwo-members.html deleted file mode 100644 index c08cf9b..0000000 --- a/doc/html/classPluckTwo-members.html +++ /dev/null @@ -1,64 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    PluckTwo Member List

    This is the complete list of members for PluckTwo, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()PluckTwo
    controlChange(int number, StkFloat value)Instrmnt [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)PluckTwo [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0Instrmnt [pure virtual]
    PluckTwo(StkFloat lowestFrequency)PluckTwo
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)PluckTwo
    setDetune(StkFloat detune)PluckTwo
    setFreqAndDetune(StkFloat frequency, StkFloat detune)PluckTwo
    setFrequency(StkFloat frequency)PluckTwo [virtual]
    setPluckPosition(StkFloat position)PluckTwo
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~PluckTwo()PluckTwo [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPluckTwo.html b/doc/html/classPluckTwo.html deleted file mode 100644 index e2a73cc..0000000 --- a/doc/html/classPluckTwo.html +++ /dev/null @@ -1,109 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    PluckTwo Class Reference

    #include <PluckTwo.h> -

    -

    Inheritance diagram for PluckTwo: -

    - -Instrmnt -Stk -Mandolin - -List of all members.

    Detailed Description

    -STK enhanced plucked string model class. -

    -This class implements an enhanced two-string, plucked physical model, a la Jaffe-Smith, Smith, and others.

    -PluckTwo is an abstract class, with no excitation specified. Therefore, it can't be directly instantiated.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    PluckTwo (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    -virtual ~PluckTwo ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setDetune (StkFloat detune)
     Detune the two strings by the given factor. A value of 1.0 produces unison strings.
    -void setFreqAndDetune (StkFloat frequency, StkFloat detune)
     Efficient combined setting of frequency and detuning.
    -void setPluckPosition (StkFloat position)
     Set the pluck or "excitation" position along the string (0.0 - 1.0).
    void setBaseLoopGain (StkFloat aGain)
     Set the base loop gain.
    -virtual void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void PluckTwo::setBaseLoopGain StkFloat  aGain  ) 
    -
    - - - - - -
    -   - - -

    -Set the base loop gain. -

    -The actual loop gain is set according to the frequency. Because of high-frequency loop filter roll-off, higher frequency settings have greater loop gains.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPluckTwo.png b/doc/html/classPluckTwo.png deleted file mode 100644 index c12d557..0000000 Binary files a/doc/html/classPluckTwo.png and /dev/null differ diff --git a/doc/html/classPluckTwo__coll__graph.map b/doc/html/classPluckTwo__coll__graph.map deleted file mode 100644 index c42e3ef..0000000 --- a/doc/html/classPluckTwo__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $classInstrmnt.html 7,134 63,155 -rect $classStk.html 52,16 89,38 -rect $classFilter.html 87,88 127,110 -rect $classDelayA.html 80,278 133,299 -rect $classDelay.html 85,179 128,200 -rect $classDelayL.html 164,278 215,299 -rect $classOneZero.html 272,224 336,246 diff --git a/doc/html/classPluckTwo__coll__graph.md5 b/doc/html/classPluckTwo__coll__graph.md5 deleted file mode 100644 index 793deb4..0000000 --- a/doc/html/classPluckTwo__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d4f52e33833a619f830f3b7479deb517 \ No newline at end of file diff --git a/doc/html/classPluckTwo__coll__graph.png b/doc/html/classPluckTwo__coll__graph.png deleted file mode 100644 index d22beb8..0000000 Binary files a/doc/html/classPluckTwo__coll__graph.png and /dev/null differ diff --git a/doc/html/classPluckTwo__inherit__graph.map b/doc/html/classPluckTwo__inherit__graph.map deleted file mode 100644 index ab3f9ba..0000000 --- a/doc/html/classPluckTwo__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classMandolin.html 11,224 72,246 -rect $classInstrmnt.html 13,86 69,107 -rect $classStk.html 23,16 60,38 diff --git a/doc/html/classPluckTwo__inherit__graph.md5 b/doc/html/classPluckTwo__inherit__graph.md5 deleted file mode 100644 index 079bfb9..0000000 --- a/doc/html/classPluckTwo__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -378f14e336a82886648928c528edebae \ No newline at end of file diff --git a/doc/html/classPluckTwo__inherit__graph.png b/doc/html/classPluckTwo__inherit__graph.png deleted file mode 100644 index ac9b537..0000000 Binary files a/doc/html/classPluckTwo__inherit__graph.png and /dev/null differ diff --git a/doc/html/classPlucked-members.html b/doc/html/classPlucked-members.html deleted file mode 100644 index e395e0b..0000000 --- a/doc/html/classPlucked-members.html +++ /dev/null @@ -1,61 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Plucked Member List

    This is the complete list of members for Plucked, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Plucked
    controlChange(int number, StkFloat value)Instrmnt [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Plucked [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Plucked [virtual]
    pluck(StkFloat amplitude)Plucked
    Plucked(StkFloat lowestFrequency)Plucked
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Plucked [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Plucked()Plucked
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPlucked.html b/doc/html/classPlucked.html deleted file mode 100644 index 857952e..0000000 --- a/doc/html/classPlucked.html +++ /dev/null @@ -1,69 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Plucked Class Reference

    #include <Plucked.h> -

    -

    Inheritance diagram for Plucked: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK plucked string model class. -

    -This class implements a simple plucked string physical model based on the Karplus-Strong algorithm.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. There exist at least two patents, assigned to Stanford, bearing the names of Karplus and/or Strong.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Plucked (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Plucked ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    -virtual void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -virtual void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPlucked.png b/doc/html/classPlucked.png deleted file mode 100644 index aa99ada..0000000 Binary files a/doc/html/classPlucked.png and /dev/null differ diff --git a/doc/html/classPlucked__coll__graph.map b/doc/html/classPlucked__coll__graph.map deleted file mode 100644 index 9a49282..0000000 --- a/doc/html/classPlucked__coll__graph.map +++ /dev/null @@ -1,10 +0,0 @@ -base referer -rect $classInstrmnt.html 9,134 65,155 -rect $classStk.html 167,16 204,38 -rect $classFilter.html 165,88 205,110 -rect $classGenerator.html 295,88 364,110 -rect $classDelayA.html 75,270 128,291 -rect $classDelay.html 97,179 140,200 -rect $classOnePole.html 155,224 216,246 -rect $classOneZero.html 259,224 323,246 -rect $classNoise.html 408,270 451,291 diff --git a/doc/html/classPlucked__coll__graph.md5 b/doc/html/classPlucked__coll__graph.md5 deleted file mode 100644 index f9087f8..0000000 --- a/doc/html/classPlucked__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -038a1a516966c811e7cb4450f1d57f66 \ No newline at end of file diff --git a/doc/html/classPlucked__coll__graph.png b/doc/html/classPlucked__coll__graph.png deleted file mode 100644 index 077ca77..0000000 Binary files a/doc/html/classPlucked__coll__graph.png and /dev/null differ diff --git a/doc/html/classPlucked__inherit__graph.map b/doc/html/classPlucked__inherit__graph.map deleted file mode 100644 index e84d98d..0000000 --- a/doc/html/classPlucked__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 8,85 64,106 -rect $classStk.html 17,16 55,37 diff --git a/doc/html/classPlucked__inherit__graph.md5 b/doc/html/classPlucked__inherit__graph.md5 deleted file mode 100644 index bcbd79a..0000000 --- a/doc/html/classPlucked__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -b87027f7869d89a546ddebe5632ecb63 \ No newline at end of file diff --git a/doc/html/classPlucked__inherit__graph.png b/doc/html/classPlucked__inherit__graph.png deleted file mode 100644 index 5286642..0000000 Binary files a/doc/html/classPlucked__inherit__graph.png and /dev/null differ diff --git a/doc/html/classPoleZero-members.html b/doc/html/classPoleZero-members.html deleted file mode 100644 index 9415b3c..0000000 --- a/doc/html/classPoleZero-members.html +++ /dev/null @@ -1,65 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    PoleZero Member List

    This is the complete list of members for PoleZero, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear(void)PoleZero
    Filter(void)Filter [protected]
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    getGain(void) const PoleZero [virtual]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline, protected]
    lastOut(void) const PoleZero [virtual]
    PoleZero()PoleZero
    printErrors(bool status)Stk [inline, protected, static]
    rawwavePath(void)Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, protected, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setA1(StkFloat a1)PoleZero
    setAllpass(StkFloat coefficient)PoleZero
    setB0(StkFloat b0)PoleZero
    setB1(StkFloat b1)PoleZero
    setBlockZero(StkFloat thePole=0.99)PoleZero
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setGain(StkFloat gain)PoleZero [virtual]
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)Filter [protected]
    setRawwavePath(std::string path)Stk [protected, static]
    setSampleRate(StkFloat rate)Stk [protected, static]
    showWarnings(bool status)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    tick(StkFloat sample)PoleZero [virtual]
    tick(StkFrames &frames, unsigned int channel=0)PoleZero [virtual]
    ~Filter(void)Filter [protected, virtual]
    ~PoleZero()PoleZero
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPoleZero.html b/doc/html/classPoleZero.html deleted file mode 100644 index 471c2b9..0000000 --- a/doc/html/classPoleZero.html +++ /dev/null @@ -1,222 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    PoleZero Class Reference

    #include <PoleZero.h> -

    -

    Inheritance diagram for PoleZero: -

    - -Filter -Stk - -List of all members.

    Detailed Description

    -STK one-pole, one-zero filter class. -

    -This protected Filter subclass implements a one-pole, one-zero digital filter. A method is provided for creating an allpass filter with a given coefficient. Another method is provided to create a DC blocking filter.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    PoleZero ()
     Default constructor creates a first-order pass-through filter.
    ~PoleZero ()
     Class destructor.
    -void clear (void)
     Clears the internal states of the filter.
    -void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    -void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    -void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    void setAllpass (StkFloat coefficient)
     Set the filter for allpass behavior using coefficient.
    void setBlockZero (StkFloat thePole=0.99)
     Create a DC blocking filter with the given pole position in the z-plane.
    void setGain (StkFloat gain)
     Set the filter gain.
    -StkFloat getGain (void) const
     Return the current filter gain.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat sample)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void PoleZero::setAllpass StkFloat  coefficient  ) 
    -
    - - - - - -
    -   - - -

    -Set the filter for allpass behavior using coefficient. -

    -This method uses coefficient to create an allpass filter, which has unity gain at all frequencies. Note that the coefficient magnitude must be less than one to maintain stability.

    -

    - - - - -
    - - - - - - - - - -
    void PoleZero::setBlockZero StkFloat  thePole = 0.99  ) 
    -
    - - - - - -
    -   - - -

    -Create a DC blocking filter with the given pole position in the z-plane. -

    -This method sets the given pole position, together with a zero at z=1, to create a DC blocking filter. thePole should be close to one to minimize low-frequency attenuation.

    -

    - - - - -
    - - - - - - - - - -
    void PoleZero::setGain StkFloat  gain  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Set the filter gain. -

    -The gain is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. -

    -Reimplemented from Filter.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFrames& PoleZero::tick StkFrames frames,
    unsigned int  channel = 0
    [virtual]
    -
    - - - - - -
    -   - - -

    -Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object. -

    -Reimplemented from Filter.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classPoleZero.png b/doc/html/classPoleZero.png deleted file mode 100644 index 2dca99b..0000000 Binary files a/doc/html/classPoleZero.png and /dev/null differ diff --git a/doc/html/classPoleZero__coll__graph.map b/doc/html/classPoleZero__coll__graph.map deleted file mode 100644 index 340e662..0000000 --- a/doc/html/classPoleZero__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 19,85 59,106 -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classPoleZero__coll__graph.md5 b/doc/html/classPoleZero__coll__graph.md5 deleted file mode 100644 index 7500c3c..0000000 --- a/doc/html/classPoleZero__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8bafc551f7c6dfb1998f8c74a7d04ffa \ No newline at end of file diff --git a/doc/html/classPoleZero__coll__graph.png b/doc/html/classPoleZero__coll__graph.png deleted file mode 100644 index 9866254..0000000 Binary files a/doc/html/classPoleZero__coll__graph.png and /dev/null differ diff --git a/doc/html/classPoleZero__inherit__graph.map b/doc/html/classPoleZero__inherit__graph.map deleted file mode 100644 index 340e662..0000000 --- a/doc/html/classPoleZero__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 19,85 59,106 -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classPoleZero__inherit__graph.md5 b/doc/html/classPoleZero__inherit__graph.md5 deleted file mode 100644 index 0db5ba4..0000000 --- a/doc/html/classPoleZero__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ce4e2610e8313b9df62eefe735febc66 \ No newline at end of file diff --git a/doc/html/classPoleZero__inherit__graph.png b/doc/html/classPoleZero__inherit__graph.png deleted file mode 100644 index 9866254..0000000 Binary files a/doc/html/classPoleZero__inherit__graph.png and /dev/null differ diff --git a/doc/html/classReedTable-members.html b/doc/html/classReedTable-members.html deleted file mode 100644 index 9b8f638..0000000 --- a/doc/html/classReedTable-members.html +++ /dev/null @@ -1,55 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    ReedTable Member List

    This is the complete list of members for ReedTable, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Function()Function
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut() const Function [inline, virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    ReedTable()ReedTable
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setOffset(StkFloat offset)ReedTable
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setSlope(StkFloat slope)ReedTable
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)Function
    tick(StkFrames &frames, unsigned int channel=0)Function [virtual]
    ~Function()Function [virtual]
    ~ReedTable()ReedTable
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classReedTable.html b/doc/html/classReedTable.html deleted file mode 100644 index 53ba03d..0000000 --- a/doc/html/classReedTable.html +++ /dev/null @@ -1,116 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    ReedTable Class Reference

    #include <ReedTable.h> -

    -

    Inheritance diagram for ReedTable: -

    - -Function -Stk - -List of all members.

    Detailed Description

    -STK reed table class. -

    -This class implements a simple one breakpoint, non-linear reed function, as described by Smith (1986). This function is based on a memoryless non-linear spring model of the reed (the reed mass is ignored) which saturates when the reed collides with the mouthpiece facing.

    -See McIntyre, Schumacher, & Woodhouse (1983), Smith (1986), Hirschman, Cook, Scavone, and others for more information.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

    ReedTable ()
     Default constructor.
    ~ReedTable ()
     Class destructor.
    void setOffset (StkFloat offset)
     Set the table offset value.
    void setSlope (StkFloat slope)
     Set the table slope value.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void ReedTable::setOffset StkFloat  offset  ) 
    -
    - - - - - -
    -   - - -

    -Set the table offset value. -

    -The table offset roughly corresponds to the size of the initial reed tip opening (a greater offset represents a smaller opening).

    -

    - - - - -
    - - - - - - - - - -
    void ReedTable::setSlope StkFloat  slope  ) 
    -
    - - - - - -
    -   - - -

    -Set the table slope value. -

    -The table slope roughly corresponds to the reed stiffness (a greater slope represents a harder reed).

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classReedTable.png b/doc/html/classReedTable.png deleted file mode 100644 index 1bed5bb..0000000 Binary files a/doc/html/classReedTable.png and /dev/null differ diff --git a/doc/html/classReedTable__coll__graph.map b/doc/html/classReedTable__coll__graph.map deleted file mode 100644 index 5b67fa0..0000000 --- a/doc/html/classReedTable__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFunction.html 13,85 75,106 -rect $classStk.html 25,16 63,37 diff --git a/doc/html/classReedTable__coll__graph.md5 b/doc/html/classReedTable__coll__graph.md5 deleted file mode 100644 index 54380c4..0000000 --- a/doc/html/classReedTable__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3b159a31ee44d9309cb862d41ccc1f46 \ No newline at end of file diff --git a/doc/html/classReedTable__coll__graph.png b/doc/html/classReedTable__coll__graph.png deleted file mode 100644 index 0cd9361..0000000 Binary files a/doc/html/classReedTable__coll__graph.png and /dev/null differ diff --git a/doc/html/classReedTable__inherit__graph.map b/doc/html/classReedTable__inherit__graph.map deleted file mode 100644 index 5b67fa0..0000000 --- a/doc/html/classReedTable__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFunction.html 13,85 75,106 -rect $classStk.html 25,16 63,37 diff --git a/doc/html/classReedTable__inherit__graph.md5 b/doc/html/classReedTable__inherit__graph.md5 deleted file mode 100644 index 8512ba5..0000000 --- a/doc/html/classReedTable__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -582ab1e715706e2e6e134fd750abd984 \ No newline at end of file diff --git a/doc/html/classReedTable__inherit__graph.png b/doc/html/classReedTable__inherit__graph.png deleted file mode 100644 index 0cd9361..0000000 Binary files a/doc/html/classReedTable__inherit__graph.png and /dev/null differ diff --git a/doc/html/classResonate-members.html b/doc/html/classResonate-members.html deleted file mode 100644 index bddd911..0000000 --- a/doc/html/classResonate-members.html +++ /dev/null @@ -1,65 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Resonate Member List

    This is the complete list of members for Resonate, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Resonate
    controlChange(int number, StkFloat value)Resonate [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()Resonate
    keyOn()Resonate
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Resonate [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Resonate [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    Resonate()Resonate
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setEqualGainZeroes()Resonate
    setFrequency(StkFloat frequency)Instrmnt [virtual]
    setNotch(StkFloat frequency, StkFloat radius)Resonate
    setRawwavePath(std::string path)Stk [static]
    setResonance(StkFloat frequency, StkFloat radius)Resonate
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Resonate()Resonate
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classResonate.html b/doc/html/classResonate.html deleted file mode 100644 index 58dc742..0000000 --- a/doc/html/classResonate.html +++ /dev/null @@ -1,87 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Resonate Class Reference

    #include <Resonate.h> -

    -

    Inheritance diagram for Resonate: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK noise driven formant filter. -

    -This instrument contains a noise source, which excites a biquad resonance filter, with volume controlled by an ADSR.

    -Control Change Numbers:

      -
    • Resonance Frequency (0-Nyquist) = 2
    • Pole Radii = 4
    • Notch Frequency (0-Nyquist) = 11
    • Zero Radii = 1
    • Envelope Gain = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Resonate ()
     Class constructor.
    ~Resonate ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setResonance (StkFloat frequency, StkFloat radius)
     Set the filter for a resonance at the given frequency (Hz) and radius.
    -void setNotch (StkFloat frequency, StkFloat radius)
     Set the filter for a notch at the given frequency (Hz) and radius.
    -void setEqualGainZeroes ()
     Set the filter zero coefficients for contant resonance gain.
    -void keyOn ()
     Initiate the envelope with a key-on event.
    -void keyOff ()
     Signal a key-off event to the envelope.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classResonate.png b/doc/html/classResonate.png deleted file mode 100644 index 58dbe70..0000000 Binary files a/doc/html/classResonate.png and /dev/null differ diff --git a/doc/html/classResonate__coll__graph.map b/doc/html/classResonate__coll__graph.map deleted file mode 100644 index b936065..0000000 --- a/doc/html/classResonate__coll__graph.map +++ /dev/null @@ -1,9 +0,0 @@ -base referer -rect $classInstrmnt.html 7,134 63,155 -rect $classStk.html 123,16 160,38 -rect $classGenerator.html 107,88 176,110 -rect $classFilter.html 205,88 245,110 -rect $classADSR.html 64,270 112,291 -rect $classEnvelope.html 61,179 125,200 -rect $classNoise.html 144,224 187,246 -rect $classBiQuad.html 225,224 279,246 diff --git a/doc/html/classResonate__coll__graph.md5 b/doc/html/classResonate__coll__graph.md5 deleted file mode 100644 index fee5942..0000000 --- a/doc/html/classResonate__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8330ab257ddf78910dc9405d9a9e0724 \ No newline at end of file diff --git a/doc/html/classResonate__coll__graph.png b/doc/html/classResonate__coll__graph.png deleted file mode 100644 index b0fa3ed..0000000 Binary files a/doc/html/classResonate__coll__graph.png and /dev/null differ diff --git a/doc/html/classResonate__inherit__graph.map b/doc/html/classResonate__inherit__graph.map deleted file mode 100644 index 26db36e..0000000 --- a/doc/html/classResonate__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 11,85 67,106 -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classResonate__inherit__graph.md5 b/doc/html/classResonate__inherit__graph.md5 deleted file mode 100644 index beff34d..0000000 --- a/doc/html/classResonate__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -edceffd49f315759b0cb9fb497c7d236 \ No newline at end of file diff --git a/doc/html/classResonate__inherit__graph.png b/doc/html/classResonate__inherit__graph.png deleted file mode 100644 index 7c90ff2..0000000 Binary files a/doc/html/classResonate__inherit__graph.png and /dev/null differ diff --git a/doc/html/classRhodey-members.html b/doc/html/classRhodey-members.html deleted file mode 100644 index 4c46682..0000000 --- a/doc/html/classRhodey-members.html +++ /dev/null @@ -1,71 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Rhodey Member List

    This is the complete list of members for Rhodey, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()FM
    controlChange(int number, StkFloat value)FM [virtual]
    FM(unsigned int operators=4)FM
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()FM
    keyOn()FM
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    loadWaves(const char **filenames)FM
    noteOff(StkFloat amplitude)FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Rhodey [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    Rhodey()Rhodey
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setControl1(StkFloat cVal)FM
    setControl2(StkFloat cVal)FM
    setFrequency(StkFloat frequency)Rhodey [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)FM
    setModulationDepth(StkFloat mDepth)FM
    setModulationSpeed(StkFloat mSpeed)FM
    setRatio(unsigned int waveIndex, StkFloat ratio)FM
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~FM()FM [virtual]
    ~Instrmnt()Instrmnt [virtual]
    ~Rhodey()Rhodey
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRhodey.html b/doc/html/classRhodey.html deleted file mode 100644 index 8e21f37..0000000 --- a/doc/html/classRhodey.html +++ /dev/null @@ -1,94 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Rhodey Class Reference

    #include <Rhodey.h> -

    -

    Inheritance diagram for Rhodey: -

    - -FM -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK Fender Rhodes electric piano FM synthesis instrument. -

    -This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

    -

        Algorithm 5 is :  4->3--\
    -                             + --> Out
    -                      2->1--/
    -

    -Control Change Numbers:

      -
    • Modulator Index One = 2
    • Crossfade of Outputs = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

    -The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

     Rhodey ()
     Class constructor.
    ~Rhodey ()
     Class destructor.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    Rhodey::Rhodey  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRhodey.png b/doc/html/classRhodey.png deleted file mode 100644 index bab297b..0000000 Binary files a/doc/html/classRhodey.png and /dev/null differ diff --git a/doc/html/classRhodey__coll__graph.map b/doc/html/classRhodey__coll__graph.map deleted file mode 100644 index 2830571..0000000 --- a/doc/html/classRhodey__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $classFM.html 72,269 109,291 -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 85,16 123,37 -rect $classWvIn.html 84,88 124,109 -rect $classFilter.html 156,88 196,109 -rect $classWaveLoop.html 67,179 141,200 -rect $classTwoZero.html 167,179 231,200 diff --git a/doc/html/classRhodey__coll__graph.md5 b/doc/html/classRhodey__coll__graph.md5 deleted file mode 100644 index a151845..0000000 --- a/doc/html/classRhodey__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1028a849c2f4ab6d4f80b6ed3542d01a \ No newline at end of file diff --git a/doc/html/classRhodey__coll__graph.png b/doc/html/classRhodey__coll__graph.png deleted file mode 100644 index d99041e..0000000 Binary files a/doc/html/classRhodey__coll__graph.png and /dev/null differ diff --git a/doc/html/classRhodey__inherit__graph.map b/doc/html/classRhodey__inherit__graph.map deleted file mode 100644 index d7c45cc..0000000 --- a/doc/html/classRhodey__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classFM.html 16,155 53,176 -rect $classInstrmnt.html 7,86 63,107 -rect $classStk.html 16,16 53,38 diff --git a/doc/html/classRhodey__inherit__graph.md5 b/doc/html/classRhodey__inherit__graph.md5 deleted file mode 100644 index 45758ba..0000000 --- a/doc/html/classRhodey__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -24fd09c0af09eb846cc5084ba5a9324d \ No newline at end of file diff --git a/doc/html/classRhodey__inherit__graph.png b/doc/html/classRhodey__inherit__graph.png deleted file mode 100644 index 5d122b8..0000000 Binary files a/doc/html/classRhodey__inherit__graph.png and /dev/null differ diff --git a/doc/html/classRtApi-members.html b/doc/html/classRtApi-members.html deleted file mode 100644 index 59bf3ab..0000000 --- a/doc/html/classRtApi-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApi Member List

    This is the complete list of members for RtApi, including all inherited members.

    - - - - - - - - - - - - - - -
    clearStreamInfo()RtApi [protected]
    devices_RtApi [protected]
    error(RtError::Type type)RtApi [protected]
    Float32 typedefRtApi [protected]
    Float64 typedefRtApi [protected]
    Int16 typedefRtApi [protected]
    Int32 typedefRtApi [protected]
    MAX_SAMPLE_RATESRtApi [protected, static]
    message_RtApi [protected]
    nDevices_RtApi [protected]
    SAMPLE_RATESRtApi [protected, static]
    stream_RtApi [protected]
    StreamMode enum nameRtApi [protected]
    StreamState enum nameRtApi


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApi.html b/doc/html/classRtApi.html deleted file mode 100644 index 933211f..0000000 --- a/doc/html/classRtApi.html +++ /dev/null @@ -1,97 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApi Class Reference

    Inheritance diagram for RtApi: -

    - -RtApiAl -RtApiAlsa -RtApiAsio -RtApiCore -RtApiDs -RtApiJack -RtApiOss - -List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 126 of file RtAudio.h. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Types

    enum  StreamState

    Protected Types

    -typedef signed short Int16
    -typedef signed int Int32
    -typedef float Float32
    -typedef double Float64
    enum  
    enum  StreamMode

    Protected Member Functions

    -void clearStreamInfo ()
     Protected common method to clear an RtApiStream structure.
    -void error (RtError::Type type)
     Protected common error method to allow global control over error handling.

    Protected Attributes

    -char message_ [1024]
    -int nDevices_
    -std::vector< RtApiDevicedevices_
    -RtApiStream stream_

    Static Protected Attributes

    -static const unsigned int MAX_SAMPLE_RATES
    -static const unsigned int SAMPLE_RATES []

    Classes

    struct  ConvertInfo
    struct  RtApiDevice
    struct  RtApiStream
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApi.png b/doc/html/classRtApi.png deleted file mode 100644 index 386b88e..0000000 Binary files a/doc/html/classRtApi.png and /dev/null differ diff --git a/doc/html/classRtApiAl-members.html b/doc/html/classRtApiAl-members.html deleted file mode 100644 index 4668918..0000000 --- a/doc/html/classRtApiAl-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiAl Member List

    This is the complete list of members for RtApiAl, including all inherited members.

    - - - - - - - - - - - - - - -
    clearStreamInfo()RtApi [protected]
    devices_RtApi [protected]
    error(RtError::Type type)RtApi [protected]
    Float32 typedefRtApi [protected]
    Float64 typedefRtApi [protected]
    Int16 typedefRtApi [protected]
    Int32 typedefRtApi [protected]
    MAX_SAMPLE_RATESRtApi [protected, static]
    message_RtApi [protected]
    nDevices_RtApi [protected]
    SAMPLE_RATESRtApi [protected, static]
    stream_RtApi [protected]
    StreamMode enum nameRtApi [protected]
    StreamState enum nameRtApi


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiAl.html b/doc/html/classRtApiAl.html deleted file mode 100644 index 795a947..0000000 --- a/doc/html/classRtApiAl.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiAl Class Reference

    Inheritance diagram for RtApiAl: -

    - -RtApi - -List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 781 of file RtAudio.h. - -
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiAl.png b/doc/html/classRtApiAl.png deleted file mode 100644 index 37fdb3e..0000000 Binary files a/doc/html/classRtApiAl.png and /dev/null differ diff --git a/doc/html/classRtApiAlsa-members.html b/doc/html/classRtApiAlsa-members.html deleted file mode 100644 index 07bd53f..0000000 --- a/doc/html/classRtApiAlsa-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiAlsa Member List

    This is the complete list of members for RtApiAlsa, including all inherited members.

    - - - - - - - - - - - - - - -
    clearStreamInfo()RtApi [protected]
    devices_RtApi [protected]
    error(RtError::Type type)RtApi [protected]
    Float32 typedefRtApi [protected]
    Float64 typedefRtApi [protected]
    Int16 typedefRtApi [protected]
    Int32 typedefRtApi [protected]
    MAX_SAMPLE_RATESRtApi [protected, static]
    message_RtApi [protected]
    nDevices_RtApi [protected]
    SAMPLE_RATESRtApi [protected, static]
    stream_RtApi [protected]
    StreamMode enum nameRtApi [protected]
    StreamState enum nameRtApi


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiAlsa.html b/doc/html/classRtApiAlsa.html deleted file mode 100644 index 6deb8e6..0000000 --- a/doc/html/classRtApiAlsa.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiAlsa Class Reference

    Inheritance diagram for RtApiAlsa: -

    - -RtApi - -List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 537 of file RtAudio.h. - -
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiAlsa.png b/doc/html/classRtApiAlsa.png deleted file mode 100644 index 430fd0d..0000000 Binary files a/doc/html/classRtApiAlsa.png and /dev/null differ diff --git a/doc/html/classRtApiAsio-members.html b/doc/html/classRtApiAsio-members.html deleted file mode 100644 index 88bbb5d..0000000 --- a/doc/html/classRtApiAsio-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiAsio Member List

    This is the complete list of members for RtApiAsio, including all inherited members.

    - - - - - - - - - - - - - - -
    clearStreamInfo()RtApi [protected]
    devices_RtApi [protected]
    error(RtError::Type type)RtApi [protected]
    Float32 typedefRtApi [protected]
    Float64 typedefRtApi [protected]
    Int16 typedefRtApi [protected]
    Int32 typedefRtApi [protected]
    MAX_SAMPLE_RATESRtApi [protected, static]
    message_RtApi [protected]
    nDevices_RtApi [protected]
    SAMPLE_RATESRtApi [protected, static]
    stream_RtApi [protected]
    StreamMode enum nameRtApi [protected]
    StreamState enum nameRtApi


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiAsio.html b/doc/html/classRtApiAsio.html deleted file mode 100644 index c44df16..0000000 --- a/doc/html/classRtApiAsio.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiAsio Class Reference

    Inheritance diagram for RtApiAsio: -

    - -RtApi - -List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 745 of file RtAudio.h. - -
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiAsio.png b/doc/html/classRtApiAsio.png deleted file mode 100644 index 31937d9..0000000 Binary files a/doc/html/classRtApiAsio.png and /dev/null differ diff --git a/doc/html/classRtApiCore-members.html b/doc/html/classRtApiCore-members.html deleted file mode 100644 index f8fb9a9..0000000 --- a/doc/html/classRtApiCore-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiCore Member List

    This is the complete list of members for RtApiCore, including all inherited members.

    - - - - - - - - - - - - - - -
    clearStreamInfo()RtApi [protected]
    devices_RtApi [protected]
    error(RtError::Type type)RtApi [protected]
    Float32 typedefRtApi [protected]
    Float64 typedefRtApi [protected]
    Int16 typedefRtApi [protected]
    Int32 typedefRtApi [protected]
    MAX_SAMPLE_RATESRtApi [protected, static]
    message_RtApi [protected]
    nDevices_RtApi [protected]
    SAMPLE_RATESRtApi [protected, static]
    stream_RtApi [protected]
    StreamMode enum nameRtApi [protected]
    StreamState enum nameRtApi


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiCore.html b/doc/html/classRtApiCore.html deleted file mode 100644 index c4cfcf3..0000000 --- a/doc/html/classRtApiCore.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiCore Class Reference

    Inheritance diagram for RtApiCore: -

    - -RtApi - -List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 627 of file RtAudio.h. - -
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiCore.png b/doc/html/classRtApiCore.png deleted file mode 100644 index 0d2895a..0000000 Binary files a/doc/html/classRtApiCore.png and /dev/null differ diff --git a/doc/html/classRtApiDs-members.html b/doc/html/classRtApiDs-members.html deleted file mode 100644 index a3dd174..0000000 --- a/doc/html/classRtApiDs-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiDs Member List

    This is the complete list of members for RtApiDs, including all inherited members.

    - - - - - - - - - - - - - - -
    clearStreamInfo()RtApi [protected]
    devices_RtApi [protected]
    error(RtError::Type type)RtApi [protected]
    Float32 typedefRtApi [protected]
    Float64 typedefRtApi [protected]
    Int16 typedefRtApi [protected]
    Int32 typedefRtApi [protected]
    MAX_SAMPLE_RATESRtApi [protected, static]
    message_RtApi [protected]
    nDevices_RtApi [protected]
    SAMPLE_RATESRtApi [protected, static]
    stream_RtApi [protected]
    StreamMode enum nameRtApi [protected]
    StreamState enum nameRtApi


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiDs.html b/doc/html/classRtApiDs.html deleted file mode 100644 index 242f9da..0000000 --- a/doc/html/classRtApiDs.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiDs Class Reference

    Inheritance diagram for RtApiDs: -

    - -RtApi - -List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 662 of file RtAudio.h. - - - - -

    Classes

    struct  RtDsStatistics
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiDs.png b/doc/html/classRtApiDs.png deleted file mode 100644 index 90b5bdc..0000000 Binary files a/doc/html/classRtApiDs.png and /dev/null differ diff --git a/doc/html/classRtApiJack-members.html b/doc/html/classRtApiJack-members.html deleted file mode 100644 index 48b353e..0000000 --- a/doc/html/classRtApiJack-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiJack Member List

    This is the complete list of members for RtApiJack, including all inherited members.

    - - - - - - - - - - - - - - -
    clearStreamInfo()RtApi [protected]
    devices_RtApi [protected]
    error(RtError::Type type)RtApi [protected]
    Float32 typedefRtApi [protected]
    Float64 typedefRtApi [protected]
    Int16 typedefRtApi [protected]
    Int32 typedefRtApi [protected]
    MAX_SAMPLE_RATESRtApi [protected, static]
    message_RtApi [protected]
    nDevices_RtApi [protected]
    SAMPLE_RATESRtApi [protected, static]
    stream_RtApi [protected]
    StreamMode enum nameRtApi [protected]
    StreamState enum nameRtApi


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiJack.html b/doc/html/classRtApiJack.html deleted file mode 100644 index 144bc93..0000000 --- a/doc/html/classRtApiJack.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiJack Class Reference

    Inheritance diagram for RtApiJack: -

    - -RtApi - -List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 565 of file RtAudio.h. - -
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiJack.png b/doc/html/classRtApiJack.png deleted file mode 100644 index 3819a44..0000000 Binary files a/doc/html/classRtApiJack.png and /dev/null differ diff --git a/doc/html/classRtApiOss-members.html b/doc/html/classRtApiOss-members.html deleted file mode 100644 index 9e9e4c6..0000000 --- a/doc/html/classRtApiOss-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiOss Member List

    This is the complete list of members for RtApiOss, including all inherited members.

    - - - - - - - - - - - - - - -
    clearStreamInfo()RtApi [protected]
    devices_RtApi [protected]
    error(RtError::Type type)RtApi [protected]
    Float32 typedefRtApi [protected]
    Float64 typedefRtApi [protected]
    Int16 typedefRtApi [protected]
    Int32 typedefRtApi [protected]
    MAX_SAMPLE_RATESRtApi [protected, static]
    message_RtApi [protected]
    nDevices_RtApi [protected]
    SAMPLE_RATESRtApi [protected, static]
    stream_RtApi [protected]
    StreamMode enum nameRtApi [protected]
    StreamState enum nameRtApi


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiOss.html b/doc/html/classRtApiOss.html deleted file mode 100644 index 92de140..0000000 --- a/doc/html/classRtApiOss.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApiOss Class Reference

    Inheritance diagram for RtApiOss: -

    - -RtApi - -List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 597 of file RtAudio.h. - -
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtApiOss.png b/doc/html/classRtApiOss.png deleted file mode 100644 index 1ec1748..0000000 Binary files a/doc/html/classRtApiOss.png and /dev/null differ diff --git a/doc/html/classRtAudio-members.html b/doc/html/classRtAudio-members.html index 86beacc..0d3b263 100644 --- a/doc/html/classRtAudio-members.html +++ b/doc/html/classRtAudio-members.html @@ -8,40 +8,43 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - + +

    RtAudio Member List

    This is the complete list of members for RtAudio, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    abortStream(void)RtAudio [inline]
    Api enum nameRtAudio
    closeStream(void)RtAudio [inline]
    getCompiledApi(std::vector< RtAudio::Api > &apis)RtAudio [static]
    getCurrentApi(void)RtAudio [inline]
    getDefaultInputDevice(void)RtAudio [inline]
    getDefaultOutputDevice(void)RtAudio [inline]
    getDeviceCount(void)RtAudio [inline]
    getDeviceInfo(unsigned int device)RtAudio [inline]
    getStreamLatency(void)RtAudio [inline]
    getStreamTime(void)RtAudio [inline]
    isStreamOpen(void)RtAudio [inline]
    isStreamRunning(void)RtAudio [inline]
    LINUX_ALSA enum valueRtAudio
    LINUX_OSS enum valueRtAudio
    MACOSX_CORE enum valueRtAudio
    openStream(RtAudio::StreamParameters *outputParameters, RtAudio::StreamParameters *inputParameters, RtAudioFormat format, unsigned int sampleRate, unsigned int *bufferFrames, RtAudioCallback callback, void *userData=NULL, RtAudio::StreamOptions *options=NULL)RtAudio
    RtAudio(RtAudio::Api api=UNSPECIFIED)RtAudio
    RTAUDIO_DUMMY enum valueRtAudio
    showWarnings(bool value=true)RtAudio [inline]
    startStream(void)RtAudio [inline]
    stopStream(void)RtAudio [inline]
    UNIX_JACK enum valueRtAudio
    UNSPECIFIED enum valueRtAudio
    WINDOWS_ASIO enum valueRtAudio
    WINDOWS_DS enum valueRtAudio
    ~RtAudio()RtAudio


    + abortStream(void)RtAudio [inline] + Api enum nameRtAudio + closeStream(void)RtAudio [inline] + getCompiledApi(std::vector< RtAudio::Api > &apis)RtAudio [static] + getCurrentApi(void)RtAudio [inline] + getDefaultInputDevice(void)RtAudio [inline] + getDefaultOutputDevice(void)RtAudio [inline] + getDeviceCount(void)RtAudio [inline] + getDeviceInfo(unsigned int device)RtAudio [inline] + getStreamLatency(void)RtAudio [inline] + getStreamSampleRate(void)RtAudio [inline] + getStreamTime(void)RtAudio [inline] + isStreamOpen(void) const RtAudio [inline] + isStreamRunning(void) const RtAudio [inline] + LINUX_ALSA enum valueRtAudio + LINUX_OSS enum valueRtAudio + MACOSX_CORE enum valueRtAudio + openStream(RtAudio::StreamParameters *outputParameters, RtAudio::StreamParameters *inputParameters, RtAudioFormat format, unsigned int sampleRate, unsigned int *bufferFrames, RtAudioCallback callback, void *userData=NULL, RtAudio::StreamOptions *options=NULL)RtAudio + RtAudio(RtAudio::Api api=UNSPECIFIED)RtAudio + RTAUDIO_DUMMY enum valueRtAudio + showWarnings(bool value=true)RtAudio [inline] + startStream(void)RtAudio [inline] + stopStream(void)RtAudio [inline] + UNIX_JACK enum valueRtAudio + UNSPECIFIED enum valueRtAudio + WINDOWS_ASIO enum valueRtAudio + WINDOWS_DS enum valueRtAudio + ~RtAudio()RtAudio +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtAudio.html b/doc/html/classRtAudio.html index 01f4393..17c6bcf 100644 --- a/doc/html/classRtAudio.html +++ b/doc/html/classRtAudio.html @@ -8,97 +8,17 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    RtAudio Class Reference

    #include <RtAudio.h> + +
    +

    RtAudio Class Reference

    Realtime audio i/o C++ classes. +More...

    -List of all members.


    Detailed Description

    -Realtime audio i/o C++ classes. +#include <RtAudio.h>

    -RtAudio provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, Jack, and OSS), SGI, Macintosh OS X (CoreAudio and Jack), and Windows (DirectSound and ASIO) operating systems.

    -RtAudio WWW site: http://www.music.mcgill.ca/~gary/rtaudio/

    -RtAudio: realtime audio i/o C++ classes Copyright (c) 2001-2007 Gary P. Scavone

    -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    -Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +

    - +List of all members.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -109,540 +29,530 @@ void  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Types

    enum  Api {
    -  UNSPECIFIED, -LINUX_ALSA, -LINUX_OSS, -UNIX_JACK, -
    -  MACOSX_CORE, -WINDOWS_ASIO, -WINDOWS_DS, -RTAUDIO_DUMMY -
    - }
     Audio API specifier arguments. More...

    Public Member Functions

     RtAudio (RtAudio::Api api=UNSPECIFIED) throw ()
     The class constructor.
     ~RtAudio () throw ()
     The destructor.
    -RtAudio::Api getCurrentApi (void) throw ()
     Returns the audio API specifier for the current instance of RtAudio.
    unsigned int getDeviceCount (void) throw ()
     A public function that queries for the number of audio devices available.
    RtAudio::DeviceInfo getDeviceInfo (unsigned int device)
     Return an RtAudio::DeviceInfo structure for a specified device number.
    unsigned int getDefaultOutputDevice (void) throw ()
     A function that returns the index of the default output device.
    unsigned int getDefaultInputDevice (void) throw ()
     A function that returns the index of the default input device.
    void openStream (RtAudio::StreamParameters *outputParameters, RtAudio::StreamParameters *inputParameters, RtAudioFormat format, unsigned int sampleRate, unsigned int *bufferFrames, RtAudioCallback callback, void *userData=NULL, RtAudio::StreamOptions *options=NULL)
     A public function for opening a stream with the specified parameters.
    void closeStream (void) throw ()
     A function that closes a stream and frees any associated stream memory.
    void startStream (void)
     A function that starts a stream.
    void stopStream (void)
     Stop a stream, allowing any samples remaining in the output queue to be played.
    void abortStream (void)
     Stop a stream, discarding any samples remaining in the input/output queue.
    -bool isStreamOpen (void) throw ()
     Returns true if a stream is open and false if not.
    -bool isStreamRunning (void) throw ()
     Returns true if the stream is running and false if it is stopped or not open.
    double getStreamTime (void)
     Returns the number of elapsed seconds since the stream was started.
    long getStreamLatency (void)
     Returns the internal stream latency in sample frames.
    -void showWarnings (bool value=true) throw ()
     Specify whether warning messages should be printed to stderr.

    Static Public Member Functions

    static void getCompiledApi (std::vector< RtAudio::Api > &apis) throw ()
     A static function to determine the available compiled audio APIs.

    Classes

    struct  DeviceInfo
    struct  StreamParameters
     The structure for specifying input or ouput stream parameters. More...

    Public Types

    enum  Api {
    +  UNSPECIFIED, +LINUX_ALSA, +LINUX_OSS, +UNIX_JACK, +
    +  MACOSX_CORE, +WINDOWS_ASIO, +WINDOWS_DS, +RTAUDIO_DUMMY +
    + }
     Audio API specifier arguments. More...

    Public Member Functions

     RtAudio (RtAudio::Api api=UNSPECIFIED) throw ()
     The class constructor.
     ~RtAudio () throw ()
     The destructor.
    +RtAudio::Api getCurrentApi (void) throw ()
     Returns the audio API specifier for the current instance of RtAudio.
    unsigned int getDeviceCount (void) throw ()
     A public function that queries for the number of audio devices available.
    RtAudio::DeviceInfo getDeviceInfo (unsigned int device)
     Return an RtAudio::DeviceInfo structure for a specified device number.
    unsigned int getDefaultOutputDevice (void) throw ()
     A function that returns the index of the default output device.
    unsigned int getDefaultInputDevice (void) throw ()
     A function that returns the index of the default input device.
    void openStream (RtAudio::StreamParameters *outputParameters, RtAudio::StreamParameters *inputParameters, RtAudioFormat format, unsigned int sampleRate, unsigned int *bufferFrames, RtAudioCallback callback, void *userData=NULL, RtAudio::StreamOptions *options=NULL)
     A public function for opening a stream with the specified parameters.
    void closeStream (void) throw ()
     A function that closes a stream and frees any associated stream memory.
    void startStream (void)
     A function that starts a stream.
    void stopStream (void)
     Stop a stream, allowing any samples remaining in the output queue to be played.
    void abortStream (void)
     Stop a stream, discarding any samples remaining in the input/output queue.
    +bool isStreamOpen (void) const throw ()
     Returns true if a stream is open and false if not.
    +bool isStreamRunning (void) const throw ()
     Returns true if the stream is running and false if it is stopped or not open.
    double getStreamTime (void)
     Returns the number of elapsed seconds since the stream was started.
    long getStreamLatency (void)
     Returns the internal stream latency in sample frames.
    unsigned int getStreamSampleRate (void)
     Returns actual sample rate in use by the stream.
    +void showWarnings (bool value=true) throw ()
     Specify whether warning messages should be printed to stderr.

    Static Public Member Functions

    static void getCompiledApi (std::vector< RtAudio::Api > &apis) throw ()
     A static function to determine the available compiled audio APIs.
    -


    Member Enumeration Documentation

    -

    - - - - -
    - +

    Detailed Description

    +Realtime audio i/o C++ classes. +

    +RtAudio provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, Jack, and OSS), Macintosh OS X (CoreAudio and Jack), and Windows (DirectSound and ASIO) operating systems.

    +RtAudio WWW site: http://www.music.mcgill.ca/~gary/rtaudio/

    +RtAudio: realtime audio i/o C++ classes Copyright (c) 2001-2009 Gary P. Scavone

    +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    +Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


    Member Enumeration Documentation

    + +
    +
    +
    - +
    enum RtAudio::Api enum RtAudio::Api
    -
    - - - - - -
    -   - + +

    Audio API specifier arguments.

    Enumerator:
    - - - - - - - -
    UNSPECIFIED  +
    UNSPECIFIED  Search for a working compiled API.
    LINUX_ALSA  +
    LINUX_ALSA  The Advanced Linux Sound Architecture API.
    LINUX_OSS  +
    LINUX_OSS  The Linux Open Sound System API.
    UNIX_JACK  +
    UNIX_JACK  The Jack Low-Latency Audio Server API.
    MACOSX_CORE  +
    MACOSX_CORE  Macintosh OS-X Core Audio API.
    WINDOWS_ASIO  +
    WINDOWS_ASIO  The Steinberg Audio Stream I/O API.
    WINDOWS_DS  +
    WINDOWS_DS  The Microsoft Direct Sound API.
    RTAUDIO_DUMMY  +
    RTAUDIO_DUMMY  A compilable but non-functional API.
    -
    + +

    +


    Constructor & Destructor Documentation

    -

    - - - - -
    - + +
    +
    +
    - - - - - - + + + + + +
    RtAudio::RtAudio RtAudio::Api  api = UNSPECIFIED  )  throw ()RtAudio::RtAudio (RtAudio::Api  api = UNSPECIFIED  )  throw ()
    -
    - - - - - -
    -   - + +

    The class constructor.

    The constructor performs minor initialization tasks. No exceptions can be thrown.

    -If no API argument is specified and multiple API support has been compiled, the default order of use is JACK, ALSA, OSS (Linux systems) and ASIO, DS (Windows systems).

    -

    - - - - -
    - +If no API argument is specified and multiple API support has been compiled, the default order of use is JACK, ALSA, OSS (Linux systems) and ASIO, DS (Windows systems). + +

    + +

    +
    +
    - - - - - + + + + +
    RtAudio::~RtAudio  )  throw ()RtAudio::~RtAudio (  )  throw ()
    -
    - - - - - -
    -   - + +

    The destructor.

    -If a stream is running or open, it will be stopped and closed automatically.

    +If a stream is running or open, it will be stopped and closed automatically. + +


    Member Function Documentation

    -

    - - - - -
    - + +
    +
    +
    - - - - - - + + + + + +
    static void RtAudio::getCompiledApi std::vector< RtAudio::Api > &  apis  )  throw () [static]static void RtAudio::getCompiledApi (std::vector< RtAudio::Api > &  apis  )  throw () [static]
    -
    - - - - - -
    -   - + +

    A static function to determine the available compiled audio APIs.

    -The values returned in the std::vector can be compared against the enumerated list values. Note that there can be more than one API compiled for certain operating systems.

    -

    - - - - -
    - +The values returned in the std::vector can be compared against the enumerated list values. Note that there can be more than one API compiled for certain operating systems. + +

    + +

    +
    +
    - - - - - - + + + + + +
    unsigned int RtAudio::getDeviceCount void   )  throw () [inline]unsigned int RtAudio::getDeviceCount (void   )  throw () [inline]
    -
    - - - - - -
    -   - + +

    A public function that queries for the number of audio devices available.

    -This function performs a system query of available devices each time it is called, thus supporting devices connected after instantiation. If a system error occurs during processing, a warning will be issued.

    -

    - - - - -
    - +This function performs a system query of available devices each time it is called, thus supporting devices connected after instantiation. If a system error occurs during processing, a warning will be issued. + +

    + +

    +
    +
    - - - - - - + + + + + +
    RtAudio::DeviceInfo RtAudio::getDeviceInfo unsigned int  device  )  [inline]RtAudio::DeviceInfo RtAudio::getDeviceInfo (unsigned int  device  )  [inline]
    -
    - - - - - -
    -   - + +

    -Return an RtAudio::DeviceInfo structure for a specified device number. +Return an RtAudio::DeviceInfo structure for a specified device number.

    -Any device integer between 0 and getDeviceCount() - 1 is valid. If an invalid argument is provided, an RtError (type = INVALID_USE) will be thrown. If a device is busy or otherwise unavailable, the structure member "probed" will have a value of "false" and all other members are undefined. If the specified device is the current default input or output device, the corresponding "isDefault" member will have a value of "true".

    -

    - - - - -
    - +Any device integer between 0 and getDeviceCount() - 1 is valid. If an invalid argument is provided, an RtError (type = INVALID_USE) will be thrown. If a device is busy or otherwise unavailable, the structure member "probed" will have a value of "false" and all other members are undefined. If the specified device is the current default input or output device, the corresponding "isDefault" member will have a value of "true". + +

    + +

    +
    +
    - - - - - - + + + + + +
    unsigned int RtAudio::getDefaultOutputDevice void   )  throw () [inline]unsigned int RtAudio::getDefaultOutputDevice (void   )  throw () [inline]
    -
    - - - - - -
    -   - + +

    A function that returns the index of the default output device.

    -If the underlying audio API does not provide a "default device", or if no devices are available, the return value will be 0. Note that this is a valid device identifier and it is the client's responsibility to verify that a device is available before attempting to open a stream.

    -

    - - - - -
    - +If the underlying audio API does not provide a "default device", or if no devices are available, the return value will be 0. Note that this is a valid device identifier and it is the client's responsibility to verify that a device is available before attempting to open a stream. + +

    + +

    +
    +
    - - - - - - + + + + + +
    unsigned int RtAudio::getDefaultInputDevice void   )  throw () [inline]unsigned int RtAudio::getDefaultInputDevice (void   )  throw () [inline]
    -
    - - - - - -
    -   - + +

    A function that returns the index of the default input device.

    -If the underlying audio API does not provide a "default device", or if no devices are available, the return value will be 0. Note that this is a valid device identifier and it is the client's responsibility to verify that a device is available before attempting to open a stream.

    -

    - - - - -
    - +If the underlying audio API does not provide a "default device", or if no devices are available, the return value will be 0. Note that this is a valid device identifier and it is the client's responsibility to verify that a device is available before attempting to open a stream. + +

    + +

    +
    +
    - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + +
    void RtAudio::openStream RtAudio::StreamParameters outputParameters, void RtAudio::openStream (RtAudio::StreamParameters outputParameters,
    RtAudio::StreamParameters inputParameters, RtAudio::StreamParameters inputParameters,
    RtAudioFormat  format, RtAudioFormat  format,
    unsigned int  sampleRate, unsigned int  sampleRate,
    unsigned int *  bufferFrames, unsigned int *  bufferFrames,
    RtAudioCallback  callback, RtAudioCallback  callback,
    void *  userData = NULL, void *  userData = NULL,
    RtAudio::StreamOptions options = NULLRtAudio::StreamOptions options = NULL 
    )
    -
    - - - - - -
    -   - + +

    A public function for opening a stream with the specified parameters.

    -An RtError (type = SYSTEM_ERROR) is thrown if a stream cannot be opened with the specified parameters or an error occurs during processing. An RtError (type = INVALID_USE) is thrown if any invalid device ID or channel number parameters are specified.

    +An RtError (type = SYSTEM_ERROR) is thrown if a stream cannot be opened with the specified parameters or an error occurs during processing. An RtError (type = INVALID_USE) is thrown if any invalid device ID or channel number parameters are specified.

    Parameters:
    - - + + - +
    outputParameters Specifies output stream parameters to use when opening a stream, including a device ID, number of channels, and starting channel number. For input-only streams, this argument should be NULL. The device ID is an index value between 0 and getDeviceCount() - 1.
    inputParameters Specifies input stream parameters to use when opening a stream, including a device ID, number of channels, and starting channel number. For output-only streams, this argument should be NULL. The device ID is an index value between 0 and getDeviceCount() - 1.
    outputParameters Specifies output stream parameters to use when opening a stream, including a device ID, number of channels, and starting channel number. For input-only streams, this argument should be NULL. The device ID is an index value between 0 and getDeviceCount() - 1.
    inputParameters Specifies input stream parameters to use when opening a stream, including a device ID, number of channels, and starting channel number. For output-only streams, this argument should be NULL. The device ID is an index value between 0 and getDeviceCount() - 1.
    format An RtAudioFormat specifying the desired sample data format.
    sampleRate The desired sample rate (sample frames per second).
    *bufferFrames A pointer to a value indicating the desired internal buffer size in sample frames. The actual value used by the device is returned via the same pointer. A value of zero can be specified, in which case the lowest allowable value is determined.
    callback A client-defined function that will be invoked when input data is available and/or output data is needed.
    userData An optional pointer to data that can be accessed from within the callback function.
    options An optional pointer to a structure containing various global stream options, including a list of OR'ed RtAudioStreamFlags and a suggested number of stream buffers that can be used to control stream latency. More buffers typically result in more robust performance, though at a cost of greater latency. If a value of zero is specified, a system-specific median value is chosen. If the RTAUDIO_MINIMIZE_LATENCY flag bit is set, the lowest allowable value is used. The actual value used is returned via the structure argument. The parameter is API dependent.
    options An optional pointer to a structure containing various global stream options, including a list of OR'ed RtAudioStreamFlags and a suggested number of stream buffers that can be used to control stream latency. More buffers typically result in more robust performance, though at a cost of greater latency. If a value of zero is specified, a system-specific median value is chosen. If the RTAUDIO_MINIMIZE_LATENCY flag bit is set, the lowest allowable value is used. The actual value used is returned via the structure argument. The parameter is API dependent.
    -
    -

    - - - - -
    - + + +

    + +

    +
    +
    - - - - - - + + + + + +
    void RtAudio::closeStream void   )  throw () [inline]void RtAudio::closeStream (void   )  throw () [inline]
    -
    - - - - - -
    -   - + +

    A function that closes a stream and frees any associated stream memory.

    -If a stream is not open, this function issues a warning and returns (no exception is thrown).

    -

    - - - - -
    - +If a stream is not open, this function issues a warning and returns (no exception is thrown). + +

    + +

    +
    +
    - - - - - - + + + + + +
    void RtAudio::startStream void   )  [inline]void RtAudio::startStream (void   )  [inline]
    -
    - - - - - -
    -   - + +

    A function that starts a stream.

    -An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already running.

    -

    - - - - -
    - +An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already running. + +

    + +

    +
    +
    - - - - - - + + + + + +
    void RtAudio::stopStream void   )  [inline]void RtAudio::stopStream (void   )  [inline]
    -
    - - - - - -
    -   - + +

    Stop a stream, allowing any samples remaining in the output queue to be played.

    -An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already stopped.

    -

    - - - - -
    - +An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already stopped. + +

    + +

    +
    +
    - - - - - - + + + + + +
    void RtAudio::abortStream void   )  [inline]void RtAudio::abortStream (void   )  [inline]
    -
    - - - - - -
    -   - + +

    Stop a stream, discarding any samples remaining in the input/output queue.

    -An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already stopped.

    -

    - - - - -
    - +An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already stopped. + +

    + +

    +
    +
    - - - - - - + + + + + +
    double RtAudio::getStreamTime void   )  [inline]double RtAudio::getStreamTime (void   )  [inline]
    -
    - - - - - -
    -   - + +

    Returns the number of elapsed seconds since the stream was started.

    -If a stream is not open, an RtError (type = INVALID_USE) will be thrown.

    -

    - - - - -
    - +If a stream is not open, an RtError (type = INVALID_USE) will be thrown. + +

    + +

    +
    +
    - - - - - - + + + + + +
    long RtAudio::getStreamLatency void   )  [inline]long RtAudio::getStreamLatency (void   )  [inline]
    -
    - - - - - -
    -   - + +

    Returns the internal stream latency in sample frames.

    -The stream latency refers to delay in audio input and/or output caused by internal buffering by the audio system and/or hardware. For duplex streams, the returned value will represent the sum of the input and output latencies. If a stream is not open, an RtError (type = INVALID_USE) will be thrown. If the API does not report latency, the return value will be zero.

    +The stream latency refers to delay in audio input and/or output caused by internal buffering by the audio system and/or hardware. For duplex streams, the returned value will represent the sum of the input and output latencies. If a stream is not open, an RtError (type = INVALID_USE) will be thrown. If the API does not report latency, the return value will be zero. + +

    + +

    +
    + + + + + + + + + +
    unsigned int RtAudio::getStreamSampleRate (void   )  [inline]
    +
    +
    + +

    +Returns actual sample rate in use by the stream. +

    +On some systems, the sample rate used may be slightly different than that specified in the stream parameters. If a stream is not open, an RtError (type = INVALID_USE) will be thrown. +

    +


    The documentation for this class was generated from the following file: +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtDuplex-members.html b/doc/html/classRtDuplex-members.html deleted file mode 100644 index a6ef561..0000000 --- a/doc/html/classRtDuplex-members.html +++ /dev/null @@ -1,53 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    RtDuplex Member List

    This is the complete list of members for RtDuplex, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    lastFrame(void) const RtDuplex
    lastOut(void) const RtDuplex
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    RtDuplex(int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=2)RtDuplex
    sampleRate(void)Stk [inline, static]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [inline, static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    start(void)RtDuplex
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stop(void)RtDuplex
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(const StkFloat sample)RtDuplex
    tick(StkFloat *vector, unsigned int vectorSize)RtDuplex
    tick(StkFrames &frames, unsigned int channel=1)RtDuplex
    tickFrame(StkFloat *frameVector, unsigned int frames=1)RtDuplex
    tickFrame(StkFrames &frames)RtDuplex
    ~RtDuplex()RtDuplex
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtDuplex.html b/doc/html/classRtDuplex.html deleted file mode 100644 index 899fb8e..0000000 --- a/doc/html/classRtDuplex.html +++ /dev/null @@ -1,373 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    RtDuplex Class Reference

    #include <RtDuplex.h> -

    -

    Inheritance diagram for RtDuplex: -

    - -Stk - -List of all members.

    Detailed Description

    -STK realtime audio (blocking) input/output class. -

    -This class provides a simplified interface to RtAudio for realtime audio input/output. It may also be possible to achieve duplex operation using separate RtWvIn and RtWvOut classes, but this class ensures better input/output synchronization.

    -Because this class makes use of RtAudio's blocking input/output routines, its performance is less robust on systems where the audio API is callback-based (Macintosh CoreAudio and Windows ASIO).

    -RtDuplex supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame and return samples produced by averaging across sample frames, from the tickFrame() methods, which take/return pointers to multi-channel sample frames.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     RtDuplex (int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=2)
     Default constructor.
    ~RtDuplex ()
     Class destructor.
    void start (void)
     Start the audio input/output stream.
    void stop (void)
     Stop the audio input/output stream.
    -StkFloat lastOut (void) const
     Return the average across the last output sample frame.
    StkFloat tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame and return the average across one new input sample frame of data.
    StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Output each sample in vector to all channels per frame and return averaged input sample frames of new data in vector.
    StkFramestick (StkFrames &frames, unsigned int channel=1)
     Output a channel of the StkFrames object to all channels and replace with averaged sample frames of input.
    -const StkFloat * lastFrame (void) const
     Return a pointer to the last output sample frame.
    StkFloat * tickFrame (StkFloat *frameVector, unsigned int frames=1)
     Output sample frames from frameVector and return new input frames in frameVector.
    StkFramestickFrame (StkFrames &frames)
     Output the StkFrames data and replace with new input frames.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    RtDuplex::RtDuplex int  nChannels = 1,
    StkFloat  sampleRate = Stk::sampleRate(),
    int  device = 0,
    int  bufferFrames = RT_BUFFER_SIZE,
    int  nBuffers = 2
    -
    - - - - - -
    -   - - -

    -Default constructor. -

    -The device argument is passed to RtAudio during instantiation. The default value (zero) will select the default device on your system or the first device found meeting the specified parameters. On systems with multiple soundcards/devices, values greater than zero can be specified in accordance with the order that the devices are enumerated by the underlying audio API. The default buffer size of RT_BUFFER_SIZE is defined in Stk.h. An StkError will be thrown if an error occurs duing instantiation.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void RtDuplex::start void   ) 
    -
    - - - - - -
    -   - - -

    -Start the audio input/output stream. -

    -The stream is started automatically, if necessary, when a tick() or tickFrame method is called.

    -

    - - - - -
    - - - - - - - - - -
    void RtDuplex::stop void   ) 
    -
    - - - - - -
    -   - - -

    -Stop the audio input/output stream. -

    -It may be necessary to use this method to avoid audio overflow/underflow problems if you wish to temporarily stop the audio stream.

    -

    - - - - -
    - - - - - - - - - -
    StkFloat RtDuplex::tick const StkFloat  sample  ) 
    -
    - - - - - -
    -   - - -

    -Output a single sample to all channels in a sample frame and return the average across one new input sample frame of data. -

    -An StkError will be thrown if an error occurs during input/output.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFloat* RtDuplex::tick StkFloat *  vector,
    unsigned int  vectorSize
    -
    - - - - - -
    -   - - -

    -Output each sample in vector to all channels per frame and return averaged input sample frames of new data in vector. -

    -An StkError will be thrown if an error occurs during input/output.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFrames& RtDuplex::tick StkFrames frames,
    unsigned int  channel = 1
    -
    - - - - - -
    -   - - -

    -Output a channel of the StkFrames object to all channels and replace with averaged sample frames of input. -

    -The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if an error occurs during input/outpu or the channel argument is zero or it is greater than the number of channels in the StkFrames object.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFloat* RtDuplex::tickFrame StkFloat *  frameVector,
    unsigned int  frames = 1
    -
    - - - - - -
    -   - - -

    -Output sample frames from frameVector and return new input frames in frameVector. -

    -An StkError will be thrown if an error occurs during input/output.

    -

    - - - - -
    - - - - - - - - - -
    StkFrames& RtDuplex::tickFrame StkFrames frames  ) 
    -
    - - - - - -
    -   - - -

    -Output the StkFrames data and replace with new input frames. -

    -An StkError will be thrown if an error occurs during input/output or if there is an incompatability between the number of channels in the RtDuplex object and that in the StkFrames object.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtDuplex.png b/doc/html/classRtDuplex.png deleted file mode 100644 index d798d8b..0000000 Binary files a/doc/html/classRtDuplex.png and /dev/null differ diff --git a/doc/html/classRtDuplex__coll__graph.map b/doc/html/classRtDuplex__coll__graph.map deleted file mode 100644 index 145baa3..0000000 --- a/doc/html/classRtDuplex__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classStk.html 7,16 44,37 -rect $classRtAudio.html 68,16 124,37 diff --git a/doc/html/classRtDuplex__coll__graph.md5 b/doc/html/classRtDuplex__coll__graph.md5 deleted file mode 100644 index 0fd38b8..0000000 --- a/doc/html/classRtDuplex__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -aba4785cc9a306c5f4ffb5f10862ce2a \ No newline at end of file diff --git a/doc/html/classRtDuplex__coll__graph.png b/doc/html/classRtDuplex__coll__graph.png deleted file mode 100644 index 017f4db..0000000 Binary files a/doc/html/classRtDuplex__coll__graph.png and /dev/null differ diff --git a/doc/html/classRtDuplex__inherit__graph.map b/doc/html/classRtDuplex__inherit__graph.map deleted file mode 100644 index fca2ba0..0000000 --- a/doc/html/classRtDuplex__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classRtDuplex__inherit__graph.md5 b/doc/html/classRtDuplex__inherit__graph.md5 deleted file mode 100644 index 8a19659..0000000 --- a/doc/html/classRtDuplex__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8f06b5a596d360c5b51b4c56516e5999 \ No newline at end of file diff --git a/doc/html/classRtDuplex__inherit__graph.png b/doc/html/classRtDuplex__inherit__graph.png deleted file mode 100644 index d20078c..0000000 Binary files a/doc/html/classRtDuplex__inherit__graph.png and /dev/null differ diff --git a/doc/html/classRtError-members.html b/doc/html/classRtError-members.html index f3195ff..0093bd0 100644 --- a/doc/html/classRtError-members.html +++ b/doc/html/classRtError-members.html @@ -8,31 +8,33 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - + +

    RtError Member List

    This is the complete list of members for RtError, including all inherited members.

    - - - - - - - - - - - - - - - - - - -
    DEBUG_WARNING enum valueRtError
    DRIVER_ERROR enum valueRtError
    getMessage(void)RtError [inline, virtual]
    getType(void)RtError [inline, virtual]
    INVALID_DEVICE enum valueRtError
    INVALID_PARAMETER enum valueRtError
    INVALID_USE enum valueRtError
    MEMORY_ERROR enum valueRtError
    NO_DEVICES_FOUND enum valueRtError
    printMessage(void)RtError [inline, virtual]
    RtError(const std::string &message, Type type=RtError::UNSPECIFIED)RtError [inline]
    SYSTEM_ERROR enum valueRtError
    THREAD_ERROR enum valueRtError
    Type enum nameRtError
    UNSPECIFIED enum valueRtError
    WARNING enum valueRtError
    what(void) const RtError [inline, virtual]
    ~RtError(void)RtError [inline, virtual]


    + DEBUG_WARNING enum valueRtError + DRIVER_ERROR enum valueRtError + getMessage(void)RtError [inline, virtual] + getType(void)RtError [inline, virtual] + INVALID_DEVICE enum valueRtError + INVALID_PARAMETER enum valueRtError + INVALID_USE enum valueRtError + MEMORY_ERROR enum valueRtError + NO_DEVICES_FOUND enum valueRtError + printMessage(void)RtError [inline, virtual] + RtError(const std::string &message, Type type=RtError::UNSPECIFIED)RtError [inline] + SYSTEM_ERROR enum valueRtError + THREAD_ERROR enum valueRtError + Type enum nameRtError + UNSPECIFIED enum valueRtError + WARNING enum valueRtError + what(void) const RtError [inline, virtual] + ~RtError(void)RtError [inline, virtual] +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtError.html b/doc/html/classRtError.html index 87db89a..4cf276b 100644 --- a/doc/html/classRtError.html +++ b/doc/html/classRtError.html @@ -8,120 +8,117 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    RtError Class Reference

    #include <RtError.h> + +
    +

    RtError Class Reference

    Exception handling class for RtAudio & RtMidi. +More...

    -List of all members.


    Detailed Description

    -Exception handling class for RtAudio & RtMidi. +#include <RtError.h>

    -The RtError class is quite simple but it does allow errors to be "caught" by RtError::Type. See the RtAudio and RtMidi documentation to know which methods can throw an RtError. +

    - +List of all members.
    - - + - + - + - + - + - + - +

    Public Types

    enum  Type {
    -  WARNING, -DEBUG_WARNING, -UNSPECIFIED, -NO_DEVICES_FOUND, +
    enum  Type {
    +  WARNING, +DEBUG_WARNING, +UNSPECIFIED, +NO_DEVICES_FOUND,
    -  INVALID_DEVICE, -MEMORY_ERROR, -INVALID_PARAMETER, -INVALID_USE, +  INVALID_DEVICE, +MEMORY_ERROR, +INVALID_PARAMETER, +INVALID_USE,
    -  DRIVER_ERROR, -SYSTEM_ERROR, -THREAD_ERROR +  DRIVER_ERROR, +SYSTEM_ERROR, +THREAD_ERROR
    }
     Defined RtError types. More...
     Defined RtError types. More...

    Public Member Functions

    RtError (const std::string &message, Type type=RtError::UNSPECIFIED) throw ()
    RtError (const std::string &message, Type type=RtError::UNSPECIFIED) throw ()
     The constructor.
    -virtual ~RtError (void) throw ()
    +virtual ~RtError (void) throw ()
     The destructor.
    -virtual void printMessage (void) throw ()
    +virtual void printMessage (void) throw ()
     Prints thrown error message to stderr.
    -virtual const TypegetType (void) throw ()
    +virtual const TypegetType (void) throw ()
     Returns the thrown error message type.
    -virtual const std::string & getMessage (void) throw ()
    +virtual const std::string & getMessage (void) throw ()
     Returns the thrown error message string.
    -virtual const char * what (void) const throw ()
    +virtual const char * what (void) const throw ()
     Returns the thrown error message as a c-style string.
    -


    Member Enumeration Documentation

    -

    - - - - -
    - +

    Detailed Description

    +Exception handling class for RtAudio & RtMidi. +

    +The RtError class is quite simple but it does allow errors to be "caught" by RtError::Type. See the RtAudio and RtMidi documentation to know which methods can throw an RtError.


    Member Enumeration Documentation

    + +
    +
    +
    - +
    enum RtError::Type enum RtError::Type
    -
    - - - - - -
    -   - + +

    -Defined RtError types. +Defined RtError types.

    Enumerator:
    - - - - - - - - - - -
    WARNING  +
    WARNING  A non-critical error.
    DEBUG_WARNING  +
    DEBUG_WARNING  A non-critical error which might be useful for debugging.
    UNSPECIFIED  +
    UNSPECIFIED  The default, unspecified error type.
    NO_DEVICES_FOUND  +
    NO_DEVICES_FOUND  No devices found on system.
    INVALID_DEVICE  +
    INVALID_DEVICE  An invalid device ID was specified.
    MEMORY_ERROR  +
    MEMORY_ERROR  An error occured during memory allocation.
    INVALID_PARAMETER  +
    INVALID_PARAMETER  An invalid parameter was specified to a function.
    INVALID_USE  +
    INVALID_USE  The function was called incorrectly.
    DRIVER_ERROR  +
    DRIVER_ERROR  A system driver error occured.
    SYSTEM_ERROR  +
    SYSTEM_ERROR  A system error occured.
    THREAD_ERROR  +
    THREAD_ERROR  A thread error occured.
    -
    + +

    +


    The documentation for this class was generated from the following file: +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidi-members.html b/doc/html/classRtMidi-members.html index 0661a92..b6d0cbd 100644 --- a/doc/html/classRtMidi-members.html +++ b/doc/html/classRtMidi-members.html @@ -8,18 +8,20 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - + +

    RtMidi Member List

    This is the complete list of members for RtMidi, including all inherited members.

    - - - - - -
    closePort(void)=0RtMidi [pure virtual]
    getPortCount()=0RtMidi [pure virtual]
    getPortName(unsigned int portNumber=0)=0RtMidi [pure virtual]
    openPort(unsigned int portNumber=0)=0RtMidi [pure virtual]
    openVirtualPort(const std::string portName=std::string("RtMidi"))=0RtMidi [pure virtual]


    + closePort(void)=0RtMidi [pure virtual] + getPortCount()=0RtMidi [pure virtual] + getPortName(unsigned int portNumber=0)=0RtMidi [pure virtual] + openPort(unsigned int portNumber=0, const std::string portName=std::string("RtMidi"))=0RtMidi [pure virtual] + openVirtualPort(const std::string portName=std::string("RtMidi"))=0RtMidi [pure virtual] +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidi.html b/doc/html/classRtMidi.html index 6c8ca00..51a90c0 100644 --- a/doc/html/classRtMidi.html +++ b/doc/html/classRtMidi.html @@ -8,57 +8,66 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    RtMidi Class Reference

    #include <RtMidi.h> + +
    +

    RtMidi Class Reference

    An abstract base class for realtime MIDI input/output. +More...

    -

    Inheritance diagram for RtMidi: +#include <RtMidi.h> +

    +

    +Inheritance diagram for RtMidi:
    +
    +

    RtMidiIn RtMidiOut -List of all members.

    Detailed Description

    +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + +

    Public Member Functions

    +virtual void openPort (unsigned int portNumber=0, const std::string portName=std::string("RtMidi"))=0
     Pure virtual openPort() function.
    +virtual void openVirtualPort (const std::string portName=std::string("RtMidi"))=0
     Pure virtual openVirtualPort() function.
    +virtual unsigned int getPortCount ()=0
     Pure virtual getPortCount() function.
    +virtual std::string getPortName (unsigned int portNumber=0)=0
     Pure virtual getPortName() function.
    +virtual void closePort (void)=0
     Pure virtual closePort() function.
    +


    Detailed Description

    An abstract base class for realtime MIDI input/output.

    -This class implements some common functionality for the realtime MIDI input/output subclasses RtMidiIn and RtMidiOut.

    -RtMidi WWW site: http://music.mcgill.ca/~gary/rtmidi/

    -RtMidi: realtime MIDI i/o C++ classes Copyright (c) 2003-2007 Gary P. Scavone

    +This class implements some common functionality for the realtime MIDI input/output subclasses RtMidiIn and RtMidiOut.

    +RtMidi WWW site: http://music.mcgill.ca/~gary/rtmidi/

    +RtMidi: realtime MIDI i/o C++ classes Copyright (c) 2003-2009 Gary P. Scavone

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    Any person wishing to distribute modifications to the Software is requested to send the modifications to the original developer so that they can be incorporated into the canonical version.

    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    -virtual void openPort (unsigned int portNumber=0)=0
     Pure virtual openPort() function.
    -virtual void openVirtualPort (const std::string portName=std::string("RtMidi"))=0
     Pure virtual openVirtualPort() function.
    -virtual unsigned int getPortCount ()=0
     Pure virtual getPortCount() function.
    -virtual std::string getPortName (unsigned int portNumber=0)=0
     Pure virtual getPortName() function.
    -virtual void closePort (void)=0
     Pure virtual closePort() function.
    -


    The documentation for this class was generated from the following file:
      +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      The documentation for this class was generated from the following file: +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidi.png b/doc/html/classRtMidi.png index 4114caf..8b42720 100644 Binary files a/doc/html/classRtMidi.png and b/doc/html/classRtMidi.png differ diff --git a/doc/html/classRtMidiIn-members.html b/doc/html/classRtMidiIn-members.html index 3c1bdf9..821a597 100644 --- a/doc/html/classRtMidiIn-members.html +++ b/doc/html/classRtMidiIn-members.html @@ -8,26 +8,28 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - + +

    RtMidiIn Member List

    This is the complete list of members for RtMidiIn, including all inherited members.

    - - - - - - - - - - - - - -
    cancelCallback()RtMidiIn
    closePort(void)RtMidiIn [virtual]
    getMessage(std::vector< unsigned char > *message)RtMidiIn
    getPortCount()RtMidiIn [virtual]
    getPortName(unsigned int portNumber=0)RtMidiIn [virtual]
    ignoreTypes(bool midiSysex=true, bool midiTime=true, bool midiSense=true)RtMidiIn
    openPort(unsigned int portNumber=0)RtMidiIn [virtual]
    openVirtualPort(const std::string portName=std::string("RtMidi Input"))RtMidiIn [virtual]
    RtMidiCallback typedefRtMidiIn
    RtMidiIn()RtMidiIn
    setCallback(RtMidiCallback callback, void *userData=0)RtMidiIn
    setQueueSizeLimit(unsigned int queueSize)RtMidiIn
    ~RtMidiIn()RtMidiIn


    + cancelCallback()RtMidiIn + closePort(void)RtMidiIn [virtual] + getMessage(std::vector< unsigned char > *message)RtMidiIn + getPortCount()RtMidiIn [virtual] + getPortName(unsigned int portNumber=0)RtMidiIn [virtual] + ignoreTypes(bool midiSysex=true, bool midiTime=true, bool midiSense=true)RtMidiIn + openPort(unsigned int portNumber=0, const std::string Portname=std::string("RtMidi Input"))RtMidiIn [virtual] + openVirtualPort(const std::string portName=std::string("RtMidi Input"))RtMidiIn [virtual] + RtMidiCallback typedefRtMidiIn + RtMidiIn(const std::string clientName=std::string("RtMidi Input Client"))RtMidiIn + setCallback(RtMidiCallback callback, void *userData=0)RtMidiIn + setQueueSizeLimit(unsigned int queueSize)RtMidiIn + ~RtMidiIn()RtMidiIn +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidiIn.html b/doc/html/classRtMidiIn.html index b08d41b..a770563 100644 --- a/doc/html/classRtMidiIn.html +++ b/doc/html/classRtMidiIn.html @@ -8,375 +8,322 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    RtMidiIn Class Reference

    #include <RtMidi.h> + +
    +

    RtMidiIn Class Reference

    A realtime MIDI input class. +More...

    -

    Inheritance diagram for RtMidiIn: +#include <RtMidi.h> +

    +

    +Inheritance diagram for RtMidiIn:
    +
    +

    RtMidi -List of all members.

    Detailed Description

    -A realtime MIDI input class. +
    +

    -This class provides a common, platform-independent API for realtime MIDI input. It allows access to a single MIDI input port. Incoming MIDI messages are either saved to a queue for retrieval using the getMessage() function or immediately passed to a user-specified callback function. Create multiple instances of this class to connect to more than one MIDI device at the same time. With the OS-X and Linux ALSA MIDI APIs, it is also possible to open a virtual input port to which other MIDI software clients can connect.

    -by Gary P. Scavone, 2003-2004. -

    - +List of all members.
    - + - + - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - - + + - - + + - +

    Public Types

    -typedef void(* RtMidiCallback )(double timeStamp, std::vector< unsigned char > *message, void *userData)
    +typedef void(* RtMidiCallback )(double timeStamp, std::vector< unsigned char > *message, void *userData)
     User callback function type definition.

    Public Member Functions

     RtMidiIn ()
     RtMidiIn (const std::string clientName=std::string("RtMidi Input Client"))
     Default constructor.
    ~RtMidiIn ()
     Default constructor that allows an optional client name.
    ~RtMidiIn ()
     If a MIDI connection is still open, it will be closed by the destructor.
    void openPort (unsigned int portNumber=0)
    void openPort (unsigned int portNumber=0, const std::string Portname=std::string("RtMidi Input"))
     Open a MIDI input connection.
    void openVirtualPort (const std::string portName=std::string("RtMidi Input"))
     Open a MIDI input connection.
    void openVirtualPort (const std::string portName=std::string("RtMidi Input"))
     Create a virtual input port, with optional name, to allow software connections (OS X and ALSA only).
    void setCallback (RtMidiCallback callback, void *userData=0)
     Create a virtual input port, with optional name, to allow software connections (OS X and ALSA only).
    void setCallback (RtMidiCallback callback, void *userData=0)
     Set a callback function to be invoked for incoming MIDI messages.
    void cancelCallback ()
     Set a callback function to be invoked for incoming MIDI messages.
    void cancelCallback ()
     Cancel use of the current callback function (if one exists).
    -void closePort (void)
     Cancel use of the current callback function (if one exists).
    +void closePort (void)
     Close an open MIDI connection (if one exists).
    -unsigned int getPortCount ()
    +unsigned int getPortCount ()
     Return the number of available MIDI input ports.
    std::string getPortName (unsigned int portNumber=0)
    std::string getPortName (unsigned int portNumber=0)
     Return a string identifier for the specified MIDI input port number.
    void setQueueSizeLimit (unsigned int queueSize)
     Return a string identifier for the specified MIDI input port number.
    void setQueueSizeLimit (unsigned int queueSize)
     Set the maximum number of MIDI messages to be saved in the queue.
    void ignoreTypes (bool midiSysex=true, bool midiTime=true, bool midiSense=true)
     Set the maximum number of MIDI messages to be saved in the queue.
    void ignoreTypes (bool midiSysex=true, bool midiTime=true, bool midiSense=true)
     Specify whether certain MIDI message types should be queued or ignored during input.
    double getMessage (std::vector< unsigned char > *message)
     Specify whether certain MIDI message types should be queued or ignored during input.
    double getMessage (std::vector< unsigned char > *message)
     Fill the user-provided vector with the data bytes for the next available MIDI message in the input queue and return the event delta-time in seconds.
     Fill the user-provided vector with the data bytes for the next available MIDI message in the input queue and return the event delta-time in seconds.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - +

    Detailed Description

    +A realtime MIDI input class. +

    +This class provides a common, platform-independent API for realtime MIDI input. It allows access to a single MIDI input port. Incoming MIDI messages are either saved to a queue for retrieval using the getMessage() function or immediately passed to a user-specified callback function. Create multiple instances of this class to connect to more than one MIDI device at the same time. With the OS-X and Linux ALSA MIDI APIs, it is also possible to open a virtual input port to which other MIDI software clients can connect.

    +by Gary P. Scavone, 2003-2008.


    Constructor & Destructor Documentation

    + +
    +
    +
    - - - - - + + + + + +
    RtMidiIn::RtMidiIn  ) RtMidiIn::RtMidiIn (const std::string  clientName = std::string("RtMidi Input Client")  ) 
    -
    - - - - - -
    -   - + +

    -Default constructor. +Default constructor that allows an optional client name.

    -An exception will be thrown if a MIDI system initialization error occurs.

    +An exception will be thrown if a MIDI system initialization error occurs. +

    +


    Member Function Documentation

    -

    - - - - -
    - + +
    +
    +
    - - - - - - + + + + + + + + + + + + + + +
    void RtMidiIn::openPort unsigned int  portNumber = 0  )  [virtual]void RtMidiIn::openPort (unsigned int  portNumber = 0,
    const std::string  Portname = std::string("RtMidi Input") 
    ) [virtual]
    -
    - - - - - -
    -   - + +

    Open a MIDI input connection.

    -An optional port number greater than 0 can be specified. Otherwise, the default or first port found is opened. -

    -Implements RtMidi.

    -

    - - - - -
    - +An optional port number greater than 0 can be specified. Otherwise, the default or first port found is opened. +

    Implements RtMidi.

    + + +

    + +

    +
    +
    - - - - - - + + + + + +
    void RtMidiIn::openVirtualPort const std::string  portName = std::string("RtMidi Input")  )  [virtual]void RtMidiIn::openVirtualPort (const std::string  portName = std::string("RtMidi Input")  )  [virtual]
    -
    - - - - - -
    -   - + +

    Create a virtual input port, with optional name, to allow software connections (OS X and ALSA only).

    -This function creates a virtual MIDI input port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing for the other APIs). -

    -Implements RtMidi.

    -

    - - - - -
    - +This function creates a virtual MIDI input port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing for the other APIs). +

    Implements RtMidi.

    + + +

    + +

    +
    +
    - - - - + + + + - - - - + + + + - - - + + +
    void RtMidiIn::setCallback RtMidiCallback  callback, void RtMidiIn::setCallback (RtMidiCallback  callback,
    void *  userData = 0void *  userData = 0 
    )
    -
    - - - - - -
    -   - + +

    Set a callback function to be invoked for incoming MIDI messages.

    -The callback function will be called whenever an incoming MIDI message is received. While not absolutely necessary, it is best to set the callback function before opening a MIDI port to avoid leaving some messages in the queue.

    -

    - - - - -
    - +The callback function will be called whenever an incoming MIDI message is received. While not absolutely necessary, it is best to set the callback function before opening a MIDI port to avoid leaving some messages in the queue. + +

    + +

    +
    +
    - - - - - + + + + +
    void RtMidiIn::cancelCallback  ) void RtMidiIn::cancelCallback (  ) 
    -
    - - - - - -
    -   - + +

    Cancel use of the current callback function (if one exists).

    -Subsequent incoming MIDI messages will be written to the queue and can be retrieved with the getMessage function.

    -

    - - - - -
    - +Subsequent incoming MIDI messages will be written to the queue and can be retrieved with the getMessage function. + +

    + +

    +
    +
    - - - - - - + + + + + +
    std::string RtMidiIn::getPortName unsigned int  portNumber = 0  )  [virtual]std::string RtMidiIn::getPortName (unsigned int  portNumber = 0  )  [virtual]
    -
    - - - - - -
    -   - + +

    Return a string identifier for the specified MIDI input port number.

    -An exception is thrown if an invalid port specifier is provided. -

    -Implements RtMidi.

    -

    - - - - -
    - +An exception is thrown if an invalid port specifier is provided. +

    Implements RtMidi.

    + + +

    + +

    +
    +
    - - - - - - + + + + + +
    void RtMidiIn::setQueueSizeLimit unsigned int  queueSize  ) void RtMidiIn::setQueueSizeLimit (unsigned int  queueSize  ) 
    -
    - - - - - -
    -   - + +

    Set the maximum number of MIDI messages to be saved in the queue.

    -If the queue size limit is reached, incoming messages will be ignored. The default limit is 1024.

    -

    - - - - -
    - +If the queue size limit is reached, incoming messages will be ignored. The default limit is 1024. + +

    + +

    +
    +
    - - - - + + + + - - - - + + + + - - - - + + + + - - - + + +
    void RtMidiIn::ignoreTypes bool  midiSysex = true, void RtMidiIn::ignoreTypes (bool  midiSysex = true,
    bool  midiTime = true, bool  midiTime = true,
    bool  midiSense = truebool  midiSense = true 
    )
    -
    - - - - - -
    -   - + +

    Specify whether certain MIDI message types should be queued or ignored during input.

    -By default, MIDI timing and active sensing messages are ignored during message input because of their relative high data rates. MIDI sysex messages are ignored by default as well. Variable values of "true" imply that the respective message type will be ignored.

    -

    - - - - -
    - +By default, MIDI timing and active sensing messages are ignored during message input because of their relative high data rates. MIDI sysex messages are ignored by default as well. Variable values of "true" imply that the respective message type will be ignored. + +

    + +

    +
    +
    - - - - - - + + + + + +
    double RtMidiIn::getMessage std::vector< unsigned char > *  message  ) double RtMidiIn::getMessage (std::vector< unsigned char > *  message  ) 
    -
    - - - - - -
    -   - + +

    Fill the user-provided vector with the data bytes for the next available MIDI message in the input queue and return the event delta-time in seconds.

    -This function returns immediately whether a new message is available or not. A valid message is indicated by a non-zero vector size. An exception is thrown if an error occurs during message retrieval or an input connection was not previously established.

    +This function returns immediately whether a new message is available or not. A valid message is indicated by a non-zero vector size. An exception is thrown if an error occurs during message retrieval or an input connection was not previously established. + +


    The documentation for this class was generated from the following file: +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidiIn.png b/doc/html/classRtMidiIn.png index 224cf6d..6e595ec 100644 Binary files a/doc/html/classRtMidiIn.png and b/doc/html/classRtMidiIn.png differ diff --git a/doc/html/classRtMidiIn__coll__graph.map b/doc/html/classRtMidiIn__coll__graph.map deleted file mode 100644 index f4bf312..0000000 --- a/doc/html/classRtMidiIn__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classRtMidi.html 12,16 60,37 diff --git a/doc/html/classRtMidiIn__coll__graph.md5 b/doc/html/classRtMidiIn__coll__graph.md5 deleted file mode 100644 index 6c0e498..0000000 --- a/doc/html/classRtMidiIn__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -7eada9bdbc7cf91d69b402e16dcb1518 \ No newline at end of file diff --git a/doc/html/classRtMidiIn__coll__graph.png b/doc/html/classRtMidiIn__coll__graph.png deleted file mode 100644 index 3686712..0000000 Binary files a/doc/html/classRtMidiIn__coll__graph.png and /dev/null differ diff --git a/doc/html/classRtMidiIn__inherit__graph.map b/doc/html/classRtMidiIn__inherit__graph.map deleted file mode 100644 index f4bf312..0000000 --- a/doc/html/classRtMidiIn__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classRtMidi.html 12,16 60,37 diff --git a/doc/html/classRtMidiIn__inherit__graph.md5 b/doc/html/classRtMidiIn__inherit__graph.md5 deleted file mode 100644 index 2fae4ea..0000000 --- a/doc/html/classRtMidiIn__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -988a7758207136698b3166d51fe9d6ba \ No newline at end of file diff --git a/doc/html/classRtMidiIn__inherit__graph.png b/doc/html/classRtMidiIn__inherit__graph.png deleted file mode 100644 index 3686712..0000000 Binary files a/doc/html/classRtMidiIn__inherit__graph.png and /dev/null differ diff --git a/doc/html/classRtMidiOut-members.html b/doc/html/classRtMidiOut-members.html index e00171f..dd38027 100644 --- a/doc/html/classRtMidiOut-members.html +++ b/doc/html/classRtMidiOut-members.html @@ -8,21 +8,23 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - + +

    RtMidiOut Member List

    This is the complete list of members for RtMidiOut, including all inherited members.

    - - - - - - - - -
    closePort()RtMidiOut [virtual]
    getPortCount()RtMidiOut [virtual]
    getPortName(unsigned int portNumber=0)RtMidiOut [virtual]
    openPort(unsigned int portNumber=0)RtMidiOut [virtual]
    openVirtualPort(const std::string portName=std::string("RtMidi Output"))RtMidiOut [virtual]
    RtMidiOut()RtMidiOut
    sendMessage(std::vector< unsigned char > *message)RtMidiOut
    ~RtMidiOut()RtMidiOut


    + closePort()RtMidiOut [virtual] + getPortCount()RtMidiOut [virtual] + getPortName(unsigned int portNumber=0)RtMidiOut [virtual] + openPort(unsigned int portNumber=0, const std::string portName=std::string("RtMidi Output"))RtMidiOut [virtual] + openVirtualPort(const std::string portName=std::string("RtMidi Output"))RtMidiOut [virtual] + RtMidiOut(const std::string clientName=std::string("RtMidi Output Client"))RtMidiOut + sendMessage(std::vector< unsigned char > *message)RtMidiOut + ~RtMidiOut()RtMidiOut +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidiOut.html b/doc/html/classRtMidiOut.html index 89acfac..dc6e953 100644 --- a/doc/html/classRtMidiOut.html +++ b/doc/html/classRtMidiOut.html @@ -8,215 +8,194 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    RtMidiOut Class Reference

    #include <RtMidi.h> + +
    +

    RtMidiOut Class Reference

    A realtime MIDI output class. +More...

    -

    Inheritance diagram for RtMidiOut: +#include <RtMidi.h> +

    +

    +Inheritance diagram for RtMidiOut:
    +
    +

    RtMidi -List of all members.

    Detailed Description

    +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     RtMidiOut (const std::string clientName=std::string("RtMidi Output Client"))
     Default constructor that allows an optional client name.
    ~RtMidiOut ()
     The destructor closes any open MIDI connections.
    void openPort (unsigned int portNumber=0, const std::string portName=std::string("RtMidi Output"))
     Open a MIDI output connection.
    +void closePort ()
     Close an open MIDI connection (if one exists).
    void openVirtualPort (const std::string portName=std::string("RtMidi Output"))
     Create a virtual output port, with optional name, to allow software connections (OS X and ALSA only).
    +unsigned int getPortCount ()
     Return the number of available MIDI output ports.
    std::string getPortName (unsigned int portNumber=0)
     Return a string identifier for the specified MIDI port type and number.
    void sendMessage (std::vector< unsigned char > *message)
     Immediately send a single message out an open MIDI output port.
    +


    Detailed Description

    A realtime MIDI output class.

    This class provides a common, platform-independent API for MIDI output. It allows one to probe available MIDI output ports, to connect to one such port, and to send MIDI bytes immediately over the connection. Create multiple instances of this class to connect to more than one MIDI device at the same time.

    -by Gary P. Scavone, 2003-2004. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     RtMidiOut ()
     Default constructor.
    ~RtMidiOut ()
     The destructor closes any open MIDI connections.
    void openPort (unsigned int portNumber=0)
     Open a MIDI output connection.
    -void closePort ()
     Close an open MIDI connection (if one exists).
    void openVirtualPort (const std::string portName=std::string("RtMidi Output"))
     Create a virtual output port, with optional name, to allow software connections (OS X and ALSA only).
    -unsigned int getPortCount ()
     Return the number of available MIDI output ports.
    std::string getPortName (unsigned int portNumber=0)
     Return a string identifier for the specified MIDI port type and number.
    void sendMessage (std::vector< unsigned char > *message)
     Immediately send a single message out an open MIDI output port.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - +by Gary P. Scavone, 2003-2008.

    Constructor & Destructor Documentation

    + +
    +
    +
    - - - - - + + + + + +
    RtMidiOut::RtMidiOut  ) RtMidiOut::RtMidiOut (const std::string  clientName = std::string("RtMidi Output Client")  ) 
    -
    - - - - - -
    -   - + +

    -Default constructor. +Default constructor that allows an optional client name.

    -An exception will be thrown if a MIDI system initialization error occurs.

    +An exception will be thrown if a MIDI system initialization error occurs. +

    +


    Member Function Documentation

    -

    - - - - -
    - + +
    +
    +
    - - - - - - + + + + + + + + + + + + + + +
    void RtMidiOut::openPort unsigned int  portNumber = 0  )  [virtual]void RtMidiOut::openPort (unsigned int  portNumber = 0,
    const std::string  portName = std::string("RtMidi Output") 
    ) [virtual]
    -
    - - - - - -
    -   - + +

    Open a MIDI output connection.

    -An optional port number greater than 0 can be specified. Otherwise, the default or first port found is opened. An exception is thrown if an error occurs while attempting to make the port connection. -

    -Implements RtMidi.

    -

    - - - - -
    - +An optional port number greater than 0 can be specified. Otherwise, the default or first port found is opened. An exception is thrown if an error occurs while attempting to make the port connection. +

    Implements RtMidi.

    + + +

    + +

    +
    +
    - - - - - - + + + + + +
    void RtMidiOut::openVirtualPort const std::string  portName = std::string("RtMidi Output")  )  [virtual]void RtMidiOut::openVirtualPort (const std::string  portName = std::string("RtMidi Output")  )  [virtual]
    -
    - - - - - -
    -   - + +

    Create a virtual output port, with optional name, to allow software connections (OS X and ALSA only).

    -This function creates a virtual MIDI output port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing with the other APIs). An exception is thrown if an error occurs while attempting to create the virtual port. -

    -Implements RtMidi.

    -

    - - - - -
    - +This function creates a virtual MIDI output port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing with the other APIs). An exception is thrown if an error occurs while attempting to create the virtual port. +

    Implements RtMidi.

    + + +

    + +

    +
    +
    - - - - - - + + + + + +
    std::string RtMidiOut::getPortName unsigned int  portNumber = 0  )  [virtual]std::string RtMidiOut::getPortName (unsigned int  portNumber = 0  )  [virtual]
    -
    - - - - - -
    -   - + +

    Return a string identifier for the specified MIDI port type and number.

    -An exception is thrown if an invalid port specifier is provided. -

    -Implements RtMidi.

    -

    - - - - -
    - +An exception is thrown if an invalid port specifier is provided. +

    Implements RtMidi.

    + + +

    + +

    +
    +
    - - - - - - + + + + + +
    void RtMidiOut::sendMessage std::vector< unsigned char > *  message  ) void RtMidiOut::sendMessage (std::vector< unsigned char > *  message  ) 
    -
    - - - - - -
    -   - + +

    Immediately send a single message out an open MIDI output port.

    -An exception is thrown if an error occurs during output or an output connection was not previously established.

    +An exception is thrown if an error occurs during output or an output connection was not previously established. + +


    The documentation for this class was generated from the following file: +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidiOut.png b/doc/html/classRtMidiOut.png index 6a41edc..9b2dadb 100644 Binary files a/doc/html/classRtMidiOut.png and b/doc/html/classRtMidiOut.png differ diff --git a/doc/html/classRtMidiOut__coll__graph.map b/doc/html/classRtMidiOut__coll__graph.map deleted file mode 100644 index dd2a0e5..0000000 --- a/doc/html/classRtMidiOut__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classRtMidi.html 17,16 65,37 diff --git a/doc/html/classRtMidiOut__coll__graph.md5 b/doc/html/classRtMidiOut__coll__graph.md5 deleted file mode 100644 index 86c3f7a..0000000 --- a/doc/html/classRtMidiOut__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -639556a6dea3ed9addf6d51cffb7de32 \ No newline at end of file diff --git a/doc/html/classRtMidiOut__coll__graph.png b/doc/html/classRtMidiOut__coll__graph.png deleted file mode 100644 index 07ba35a..0000000 Binary files a/doc/html/classRtMidiOut__coll__graph.png and /dev/null differ diff --git a/doc/html/classRtMidiOut__inherit__graph.map b/doc/html/classRtMidiOut__inherit__graph.map deleted file mode 100644 index dd2a0e5..0000000 --- a/doc/html/classRtMidiOut__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classRtMidi.html 17,16 65,37 diff --git a/doc/html/classRtMidiOut__inherit__graph.md5 b/doc/html/classRtMidiOut__inherit__graph.md5 deleted file mode 100644 index 40198cb..0000000 --- a/doc/html/classRtMidiOut__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a1785325dd4fb8943144efacbc0b01a0 \ No newline at end of file diff --git a/doc/html/classRtMidiOut__inherit__graph.png b/doc/html/classRtMidiOut__inherit__graph.png deleted file mode 100644 index 07ba35a..0000000 Binary files a/doc/html/classRtMidiOut__inherit__graph.png and /dev/null differ diff --git a/doc/html/classRtMidi__inherit__graph.map b/doc/html/classRtMidi__inherit__graph.map deleted file mode 100644 index 895acd7..0000000 --- a/doc/html/classRtMidi__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classRtMidiIn.html 7,85 65,107 -rect $classRtMidiOut.html 89,85 159,107 diff --git a/doc/html/classRtMidi__inherit__graph.md5 b/doc/html/classRtMidi__inherit__graph.md5 deleted file mode 100644 index a72c28c..0000000 --- a/doc/html/classRtMidi__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -9392ab8d1d079634313d59b3ac620937 \ No newline at end of file diff --git a/doc/html/classRtMidi__inherit__graph.png b/doc/html/classRtMidi__inherit__graph.png deleted file mode 100644 index 8a27dc4..0000000 Binary files a/doc/html/classRtMidi__inherit__graph.png and /dev/null differ diff --git a/doc/html/classRtWvIn-members.html b/doc/html/classRtWvIn-members.html deleted file mode 100644 index abe7745..0000000 --- a/doc/html/classRtWvIn-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    RtWvIn Member List

    This is the complete list of members for RtWvIn, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    getChannels(void) const WvIn [inline]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastFrame(void) const WvIn [inline]
    lastOut(void) const WvIn
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    RtWvIn(unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)RtWvIn
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    start(void)RtWvIn
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stop(void)RtWvIn
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)WvIn
    tick(StkFrames &frames, unsigned int channel=0)WvIn
    tickFrame(StkFrames &frames)WvIn
    WvIn()WvIn
    ~RtWvIn()RtWvIn
    ~Stk(void)Stk [protected, virtual]
    ~WvIn()WvIn [virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtWvIn.html b/doc/html/classRtWvIn.html deleted file mode 100644 index 2061ed7..0000000 --- a/doc/html/classRtWvIn.html +++ /dev/null @@ -1,173 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    RtWvIn Class Reference

    #include <RtWvIn.h> -

    -

    Inheritance diagram for RtWvIn: -

    - -WvIn -Stk - -List of all members.

    Detailed Description

    -STK realtime audio (blocking) input class. -

    -This class provides a simplified interface to RtAudio for realtime audio input. It is a subclass of WvIn. This class makes use of RtAudio's callback functionality by creating a large ring-buffer from which data is read. This class should not be used when low-latency is desired.

    -RtWvIn supports multi-channel data in both interleaved and non-interleaved formats. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return references or pointers to multi-channel sample frames.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

     RtWvIn (unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)
     Default constructor.
    ~RtWvIn ()
     Class destructor.
    void start (void)
     Start the audio input stream.
    void stop (void)
     Stop the audio input stream.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    RtWvIn::RtWvIn unsigned int  nChannels = 1,
    StkFloat  sampleRate = Stk::sampleRate(),
    int  device = 0,
    int  bufferFrames = RT_BUFFER_SIZE,
    int  nBuffers = 20
    -
    - - - - - -
    -   - - -

    -Default constructor. -

    -The device argument is passed to RtAudio during instantiation. The default value (zero) will select the default device on your system or the first device found meeting the specified parameters. On systems with multiple soundcards/devices, values greater than zero can be specified in accordance with the order that the devices are enumerated by the underlying audio API. The default buffer size of RT_BUFFER_SIZE is defined in Stk.h. An StkError will be thrown if an error occurs duing instantiation.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void RtWvIn::start void   ) 
    -
    - - - - - -
    -   - - -

    -Start the audio input stream. -

    -The stream is started automatically, if necessary, when a tick() or tickFrame() method is called.

    -

    - - - - -
    - - - - - - - - - -
    void RtWvIn::stop void   ) 
    -
    - - - - - -
    -   - - -

    -Stop the audio input stream. -

    -It may be necessary to use this method to avoid audio underflow problems if you wish to temporarily stop audio input.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtWvIn.png b/doc/html/classRtWvIn.png deleted file mode 100644 index 0446aef..0000000 Binary files a/doc/html/classRtWvIn.png and /dev/null differ diff --git a/doc/html/classRtWvIn__coll__graph.map b/doc/html/classRtWvIn__coll__graph.map deleted file mode 100644 index faccc01..0000000 --- a/doc/html/classRtWvIn__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classWvIn.html 7,88 47,109 -rect $classStk.html 8,16 45,37 -rect $classRtAudio.html 71,88 127,109 diff --git a/doc/html/classRtWvIn__coll__graph.md5 b/doc/html/classRtWvIn__coll__graph.md5 deleted file mode 100644 index 3aac061..0000000 --- a/doc/html/classRtWvIn__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6104399f6f3201f07de135b000d3b367 \ No newline at end of file diff --git a/doc/html/classRtWvIn__coll__graph.png b/doc/html/classRtWvIn__coll__graph.png deleted file mode 100644 index a02a737..0000000 Binary files a/doc/html/classRtWvIn__coll__graph.png and /dev/null differ diff --git a/doc/html/classRtWvIn__inherit__graph.map b/doc/html/classRtWvIn__inherit__graph.map deleted file mode 100644 index 5b3dbc3..0000000 --- a/doc/html/classRtWvIn__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classWvIn.html 13,85 53,106 -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classRtWvIn__inherit__graph.md5 b/doc/html/classRtWvIn__inherit__graph.md5 deleted file mode 100644 index 0ff6771..0000000 --- a/doc/html/classRtWvIn__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -196a7a0fd207ef970c320c5c4774f775 \ No newline at end of file diff --git a/doc/html/classRtWvIn__inherit__graph.png b/doc/html/classRtWvIn__inherit__graph.png deleted file mode 100644 index 0fd7169..0000000 Binary files a/doc/html/classRtWvIn__inherit__graph.png and /dev/null differ diff --git a/doc/html/classRtWvOut-members.html b/doc/html/classRtWvOut-members.html deleted file mode 100644 index a4f3877..0000000 --- a/doc/html/classRtWvOut-members.html +++ /dev/null @@ -1,59 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    RtWvOut Member List

    This is the complete list of members for RtWvOut, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clipStatus(void)WvOut [inline]
    getFrameCount(void) const WvOut
    getTime(void) const WvOut
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    resetClipStatus(void)WvOut [inline]
    RtWvOut(unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)RtWvOut
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    start(void)RtWvOut
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stop(void)RtWvOut
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(const StkFloat sample)WvOut
    tick(const StkFrames &frames, unsigned int channel=0)WvOut
    tickFrame(const StkFrames &frames)WvOut
    WvOut()WvOut
    ~RtWvOut()RtWvOut
    ~Stk(void)Stk [protected, virtual]
    ~WvOut()WvOut [virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtWvOut.html b/doc/html/classRtWvOut.html deleted file mode 100644 index 0b85a0a..0000000 --- a/doc/html/classRtWvOut.html +++ /dev/null @@ -1,173 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    RtWvOut Class Reference

    #include <RtWvOut.h> -

    -

    Inheritance diagram for RtWvOut: -

    - -WvOut -Stk - -List of all members.

    Detailed Description

    -STK realtime audio (blocking) output class. -

    -This class provides a simplified interface to RtAudio for realtime audio output. It is a subclass of WvOut. This class makes use of RtAudio's callback functionality by creating a large ring-buffer into which data is written. This class should not be used when low-latency is desired.

    -RtWvOut supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame, from the tickFrame() method, which take a pointer or reference to multi-channel sample frame data.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

     RtWvOut (unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)
     Default constructor.
    ~RtWvOut ()
     Class destructor.
    void start (void)
     Start the audio output stream.
    void stop (void)
     Stop the audio output stream.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    RtWvOut::RtWvOut unsigned int  nChannels = 1,
    StkFloat  sampleRate = Stk::sampleRate(),
    int  device = 0,
    int  bufferFrames = RT_BUFFER_SIZE,
    int  nBuffers = 20
    -
    - - - - - -
    -   - - -

    -Default constructor. -

    -The device argument is passed to RtAudio during instantiation. The default value (zero) will select the default device on your system. On systems with multiple soundcards/devices, values greater than zero can be specified in accordance with the order that the devices are enumerated by the underlying audio API. The default buffer size of RT_BUFFER_SIZE is defined in Stk.h. An StkError will be thrown if an error occurs duing instantiation.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void RtWvOut::start void   ) 
    -
    - - - - - -
    -   - - -

    -Start the audio output stream. -

    -The stream is started automatically, if necessary, when a tick() or tickFrame method is called.

    -

    - - - - -
    - - - - - - - - - -
    void RtWvOut::stop void   ) 
    -
    - - - - - -
    -   - - -

    -Stop the audio output stream. -

    -It may be necessary to use this method to avoid undesireable audio buffer cycling if you wish to temporarily stop audio output.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classRtWvOut.png b/doc/html/classRtWvOut.png deleted file mode 100644 index 43a3b9a..0000000 Binary files a/doc/html/classRtWvOut.png and /dev/null differ diff --git a/doc/html/classRtWvOut__coll__graph.map b/doc/html/classRtWvOut__coll__graph.map deleted file mode 100644 index 0230e8e..0000000 --- a/doc/html/classRtWvOut__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classWvOut.html 7,88 60,109 -rect $classStk.html 15,16 52,37 -rect $classRtAudio.html 84,88 140,109 diff --git a/doc/html/classRtWvOut__coll__graph.md5 b/doc/html/classRtWvOut__coll__graph.md5 deleted file mode 100644 index a5625e8..0000000 --- a/doc/html/classRtWvOut__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3fa2c4c263f60e1ffcb8b0f9d27f2ef9 \ No newline at end of file diff --git a/doc/html/classRtWvOut__coll__graph.png b/doc/html/classRtWvOut__coll__graph.png deleted file mode 100644 index 9a8532c..0000000 Binary files a/doc/html/classRtWvOut__coll__graph.png and /dev/null differ diff --git a/doc/html/classRtWvOut__inherit__graph.map b/doc/html/classRtWvOut__inherit__graph.map deleted file mode 100644 index 9dd1c51..0000000 --- a/doc/html/classRtWvOut__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classWvOut.html 13,85 67,106 -rect $classStk.html 21,16 59,37 diff --git a/doc/html/classRtWvOut__inherit__graph.md5 b/doc/html/classRtWvOut__inherit__graph.md5 deleted file mode 100644 index 87b183f..0000000 --- a/doc/html/classRtWvOut__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -26b075adfba0d18f25c66f5b2fb79e6a \ No newline at end of file diff --git a/doc/html/classRtWvOut__inherit__graph.png b/doc/html/classRtWvOut__inherit__graph.png deleted file mode 100644 index dcc812d..0000000 Binary files a/doc/html/classRtWvOut__inherit__graph.png and /dev/null differ diff --git a/doc/html/classSampler-members.html b/doc/html/classSampler-members.html deleted file mode 100644 index f83c4ba..0000000 --- a/doc/html/classSampler-members.html +++ /dev/null @@ -1,62 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Sampler Member List

    This is the complete list of members for Sampler, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Sampler
    controlChange(int number, StkFloat value)=0Sampler [pure virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()Sampler
    keyOn()Sampler
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Sampler [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0Instrmnt [pure virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    Sampler()Sampler
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)=0Sampler [pure virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Sampler()Sampler [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSampler.html b/doc/html/classSampler.html deleted file mode 100644 index c835e65..0000000 --- a/doc/html/classSampler.html +++ /dev/null @@ -1,73 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Sampler Class Reference

    #include <Sampler.h> -

    -

    Inheritance diagram for Sampler: -

    - -Instrmnt -Stk -Moog - -List of all members.

    Detailed Description

    -STK sampling synthesis abstract base class. -

    -This instrument provides an ADSR envelope, a one-pole filter, and structures for an arbitrary number of attack and loop waves.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Sampler ()
     Default constructor.
    -virtual ~Sampler ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -virtual void setFrequency (StkFloat frequency)=0
     Set instrument parameters for a particular frequency.
    -void keyOn ()
     Initiate the envelopes with a key-on event and reset the attack waves.
    -void keyOff ()
     Signal a key-off event to the envelopes.
    -virtual void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -virtual void controlChange (int number, StkFloat value)=0
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSampler.png b/doc/html/classSampler.png deleted file mode 100644 index f464be8..0000000 Binary files a/doc/html/classSampler.png and /dev/null differ diff --git a/doc/html/classSampler__coll__graph.map b/doc/html/classSampler__coll__graph.map deleted file mode 100644 index a8c4ddb..0000000 --- a/doc/html/classSampler__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $classInstrmnt.html 7,134 63,155 -rect $classStk.html 88,16 125,38 -rect $classGenerator.html 72,88 141,110 -rect $classFilter.html 165,88 205,110 -rect $classADSR.html 80,270 128,291 -rect $classEnvelope.html 75,179 139,200 -rect $classOnePole.html 155,224 216,246 diff --git a/doc/html/classSampler__coll__graph.md5 b/doc/html/classSampler__coll__graph.md5 deleted file mode 100644 index a0d46fe..0000000 --- a/doc/html/classSampler__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -bdca10734114cca34e4de7063999a09e \ No newline at end of file diff --git a/doc/html/classSampler__coll__graph.png b/doc/html/classSampler__coll__graph.png deleted file mode 100644 index 5dda7de..0000000 Binary files a/doc/html/classSampler__coll__graph.png and /dev/null differ diff --git a/doc/html/classSampler__inherit__graph.map b/doc/html/classSampler__inherit__graph.map deleted file mode 100644 index c2f8a90..0000000 --- a/doc/html/classSampler__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classMoog.html 16,224 59,246 -rect $classInstrmnt.html 9,86 65,107 -rect $classStk.html 19,16 56,38 diff --git a/doc/html/classSampler__inherit__graph.md5 b/doc/html/classSampler__inherit__graph.md5 deleted file mode 100644 index cc8ca0f..0000000 --- a/doc/html/classSampler__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -be000ed07c3d26438d93f996811039ea \ No newline at end of file diff --git a/doc/html/classSampler__inherit__graph.png b/doc/html/classSampler__inherit__graph.png deleted file mode 100644 index f6b9f6b..0000000 Binary files a/doc/html/classSampler__inherit__graph.png and /dev/null differ diff --git a/doc/html/classSaxofony-members.html b/doc/html/classSaxofony-members.html deleted file mode 100644 index 4faf038..0000000 --- a/doc/html/classSaxofony-members.html +++ /dev/null @@ -1,63 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Saxofony Member List

    This is the complete list of members for Saxofony, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Saxofony
    controlChange(int number, StkFloat value)Saxofony [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Saxofony [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Saxofony [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    Saxofony(StkFloat lowestFrequency)Saxofony
    setBlowPosition(StkFloat aPosition)Saxofony
    setFrequency(StkFloat frequency)Saxofony [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)Saxofony
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBlowing(StkFloat rate)Saxofony
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Saxofony()Saxofony
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSaxofony.html b/doc/html/classSaxofony.html deleted file mode 100644 index ddb7c39..0000000 --- a/doc/html/classSaxofony.html +++ /dev/null @@ -1,114 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Saxofony Class Reference

    #include <Saxofony.h> -

    -

    Inheritance diagram for Saxofony: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK faux conical bore reed instrument class. -

    -This class implements a "hybrid" digital waveguide instrument that can generate a variety of wind-like sounds. It has also been referred to as the "blowed string" model. The waveguide section is essentially that of a string, with one rigid and one lossy termination. The non-linear function is a reed table. The string can be "blown" at any point between the terminations, though just as with strings, it is impossible to excite the system at either end. If the excitation is placed at the string mid-point, the sound is that of a clarinet. At points closer to the "bridge", the sound is closer to that of a saxophone. See Scavone (2002) for more details.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    -Control Change Numbers:

      -
    • Reed Stiffness = 2
    • Reed Aperture = 26
    • Noise Gain = 4
    • Blow Position = 11
    • Vibrato Frequency = 29
    • Vibrato Gain = 1
    • Breath Pressure = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Saxofony (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Saxofony ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setBlowPosition (StkFloat aPosition)
     Set the "blowing" position between the air column terminations (0.0 - 1.0).
    -void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    -void stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    Saxofony::Saxofony StkFloat  lowestFrequency  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor, taking the lowest desired playing frequency. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSaxofony.png b/doc/html/classSaxofony.png deleted file mode 100644 index 903f489..0000000 Binary files a/doc/html/classSaxofony.png and /dev/null differ diff --git a/doc/html/classSaxofony__coll__graph.map b/doc/html/classSaxofony__coll__graph.map deleted file mode 100644 index 72824cf..0000000 --- a/doc/html/classSaxofony__coll__graph.map +++ /dev/null @@ -1,14 +0,0 @@ -base referer -rect $classInstrmnt.html 37,134 93,155 -rect $classStk.html 235,16 272,38 -rect $classGenerator.html 139,179 208,200 -rect $classFunction.html 223,88 284,110 -rect $classWvIn.html 319,88 359,110 -rect $classFilter.html 469,88 509,110 -rect $classNoise.html 65,270 108,291 -rect $classEnvelope.html 141,270 205,291 -rect $classReedTable.html 216,224 291,246 -rect $classWaveLoop.html 329,224 404,246 -rect $classOneZero.html 457,224 521,246 -rect $classDelay.html 539,179 581,200 -rect $classDelayL.html 560,270 611,291 diff --git a/doc/html/classSaxofony__coll__graph.md5 b/doc/html/classSaxofony__coll__graph.md5 deleted file mode 100644 index 001e3dd..0000000 --- a/doc/html/classSaxofony__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -610f61af680445f9e5798241e9025dcf \ No newline at end of file diff --git a/doc/html/classSaxofony__coll__graph.png b/doc/html/classSaxofony__coll__graph.png deleted file mode 100644 index 245ab72..0000000 Binary files a/doc/html/classSaxofony__coll__graph.png and /dev/null differ diff --git a/doc/html/classSaxofony__inherit__graph.map b/doc/html/classSaxofony__inherit__graph.map deleted file mode 100644 index 26db36e..0000000 --- a/doc/html/classSaxofony__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 11,85 67,106 -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classSaxofony__inherit__graph.md5 b/doc/html/classSaxofony__inherit__graph.md5 deleted file mode 100644 index d95d994..0000000 --- a/doc/html/classSaxofony__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ba10368c444644b13d09534ce63763d5 \ No newline at end of file diff --git a/doc/html/classSaxofony__inherit__graph.png b/doc/html/classSaxofony__inherit__graph.png deleted file mode 100644 index 504a6a7..0000000 Binary files a/doc/html/classSaxofony__inherit__graph.png and /dev/null differ diff --git a/doc/html/classShakers-members.html b/doc/html/classShakers-members.html deleted file mode 100644 index 0709359..0000000 --- a/doc/html/classShakers-members.html +++ /dev/null @@ -1,59 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Shakers Member List

    This is the complete list of members for Shakers, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    controlChange(int number, StkFloat value)Shakers [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Shakers [virtual]
    noteOn(StkFloat instrument, StkFloat amplitude)Shakers [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Instrmnt [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    Shakers()Shakers
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Shakers()Shakers
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classShakers.html b/doc/html/classShakers.html deleted file mode 100644 index abcea28..0000000 --- a/doc/html/classShakers.html +++ /dev/null @@ -1,107 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Shakers Class Reference

    #include <Shakers.h> -

    -

    Inheritance diagram for Shakers: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -PhISEM and PhOLIES class. -

    -PhISEM (Physically Informed Stochastic Event Modeling) is an algorithmic approach for simulating collisions of multiple independent sound producing objects. This class is a meta-model that can simulate a Maraca, Sekere, Cabasa, Bamboo Wind Chimes, Water Drops, Tambourine, Sleighbells, and a Guiro.

    -PhOLIES (Physically-Oriented Library of Imitated Environmental Sounds) is a similar approach for the synthesis of environmental sounds. This class implements simulations of breaking sticks, crunchy snow (or not), a wrench, sandpaper, and more.

    -Control Change Numbers:

      -
    • Shake Energy = 2
    • System Decay = 4
    • Number Of Objects = 11
    • Resonance Frequency = 1
    • Shake Energy = 128
    • Instrument Selection = 1071
        -
      • Maraca = 0
      • Cabasa = 1
      • Sekere = 2
      • Guiro = 3
      • Water Drops = 4
      • Bamboo Chimes = 5
      • Tambourine = 6
      • Sleigh Bells = 7
      • Sticks = 8
      • Crunch = 9
      • Wrench = 10
      • Sand Paper = 11
      • Coke Can = 12
      • Next Mug = 13
      • Penny + Mug = 14
      • Nickle + Mug = 15
      • Dime + Mug = 16
      • Quarter + Mug = 17
      • Franc + Mug = 18
      • Peso + Mug = 19
      • Big Rocks = 20
      • Little Rocks = 21
      • Tuned Bamboo Chimes = 22
      -
    -

    -by Perry R. Cook, 1996 - 2004. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Shakers ()
     Class constructor.
    ~Shakers ()
     Class destructor.
    void noteOn (StkFloat instrument, StkFloat amplitude)
     Start a note with the given instrument and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void Shakers::noteOn StkFloat  instrument,
    StkFloat  amplitude
    [virtual]
    -
    - - - - - -
    -   - - -

    -Start a note with the given instrument and amplitude. -

    -Use the instrument numbers above, converted to frequency values as if MIDI note numbers, to select a particular instrument. -

    -Implements Instrmnt.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classShakers.png b/doc/html/classShakers.png deleted file mode 100644 index feb70ec..0000000 Binary files a/doc/html/classShakers.png and /dev/null differ diff --git a/doc/html/classShakers__coll__graph.map b/doc/html/classShakers__coll__graph.map deleted file mode 100644 index e84d98d..0000000 --- a/doc/html/classShakers__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 8,85 64,106 -rect $classStk.html 17,16 55,37 diff --git a/doc/html/classShakers__coll__graph.md5 b/doc/html/classShakers__coll__graph.md5 deleted file mode 100644 index 705026d..0000000 --- a/doc/html/classShakers__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ce3f536f8c781c07b84c798cec9ea50b \ No newline at end of file diff --git a/doc/html/classShakers__coll__graph.png b/doc/html/classShakers__coll__graph.png deleted file mode 100644 index 23e7a03..0000000 Binary files a/doc/html/classShakers__coll__graph.png and /dev/null differ diff --git a/doc/html/classShakers__inherit__graph.map b/doc/html/classShakers__inherit__graph.map deleted file mode 100644 index e84d98d..0000000 --- a/doc/html/classShakers__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 8,85 64,106 -rect $classStk.html 17,16 55,37 diff --git a/doc/html/classShakers__inherit__graph.md5 b/doc/html/classShakers__inherit__graph.md5 deleted file mode 100644 index cdedb34..0000000 --- a/doc/html/classShakers__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5c6835c8ee7dd906175fcec4dd2eb4d7 \ No newline at end of file diff --git a/doc/html/classShakers__inherit__graph.png b/doc/html/classShakers__inherit__graph.png deleted file mode 100644 index 23e7a03..0000000 Binary files a/doc/html/classShakers__inherit__graph.png and /dev/null differ diff --git a/doc/html/classSimple-members.html b/doc/html/classSimple-members.html deleted file mode 100644 index 8d85929..0000000 --- a/doc/html/classSimple-members.html +++ /dev/null @@ -1,62 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Simple Member List

    This is the complete list of members for Simple, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Simple
    controlChange(int number, StkFloat value)Simple [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()Simple
    keyOn()Simple
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Simple [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Simple [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Simple [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    Simple()Simple
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Simple()Simple
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSimple.html b/doc/html/classSimple.html deleted file mode 100644 index 569d32a..0000000 --- a/doc/html/classSimple.html +++ /dev/null @@ -1,108 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Simple Class Reference

    #include <Simple.h> -

    -

    Inheritance diagram for Simple: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK wavetable/noise instrument. -

    -This class combines a looped wave, a noise source, a biquad resonance filter, a one-pole filter, and an ADSR envelope to create some interesting sounds.

    -Control Change Numbers:

      -
    • Filter Pole Position = 2
    • Noise/Pitched Cross-Fade = 4
    • Envelope Rate = 11
    • Gain = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Simple ()
     Class constructor.
    ~Simple ()
     Class destructor.
    -void clear ()
     Clear internal states.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void keyOn ()
     Start envelope toward "on" target.
    -void keyOff ()
     Start envelope toward "off" target.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    Simple::Simple  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSimple.png b/doc/html/classSimple.png deleted file mode 100644 index ac84dd5..0000000 Binary files a/doc/html/classSimple.png and /dev/null differ diff --git a/doc/html/classSimple__coll__graph.map b/doc/html/classSimple__coll__graph.map deleted file mode 100644 index 6ad32d7..0000000 --- a/doc/html/classSimple__coll__graph.map +++ /dev/null @@ -1,12 +0,0 @@ -base referer -rect $classInstrmnt.html 7,134 63,155 -rect $classStk.html 200,16 237,38 -rect $classGenerator.html 132,88 201,110 -rect $classFilter.html 249,179 289,200 -rect $classWvIn.html 321,88 361,110 -rect $classADSR.html 68,270 116,291 -rect $classEnvelope.html 65,179 129,200 -rect $classNoise.html 144,224 187,246 -rect $classOnePole.html 239,270 300,291 -rect $classBiQuad.html 324,270 377,291 -rect $classWaveLoop.html 380,224 455,246 diff --git a/doc/html/classSimple__coll__graph.md5 b/doc/html/classSimple__coll__graph.md5 deleted file mode 100644 index d9396d6..0000000 --- a/doc/html/classSimple__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e7d6ff8c158bbb1ae6984d0254ba874a \ No newline at end of file diff --git a/doc/html/classSimple__coll__graph.png b/doc/html/classSimple__coll__graph.png deleted file mode 100644 index 49aed17..0000000 Binary files a/doc/html/classSimple__coll__graph.png and /dev/null differ diff --git a/doc/html/classSimple__inherit__graph.map b/doc/html/classSimple__inherit__graph.map deleted file mode 100644 index ba86dfe..0000000 --- a/doc/html/classSimple__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 7,85 63,106 -rect $classStk.html 16,16 53,37 diff --git a/doc/html/classSimple__inherit__graph.md5 b/doc/html/classSimple__inherit__graph.md5 deleted file mode 100644 index 828fb55..0000000 --- a/doc/html/classSimple__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -066f395390bc56ace8d5837bd8352a04 \ No newline at end of file diff --git a/doc/html/classSimple__inherit__graph.png b/doc/html/classSimple__inherit__graph.png deleted file mode 100644 index 583d503..0000000 Binary files a/doc/html/classSimple__inherit__graph.png and /dev/null differ diff --git a/doc/html/classSineWave-members.html b/doc/html/classSineWave-members.html deleted file mode 100644 index ff9eb19..0000000 --- a/doc/html/classSineWave-members.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    SineWave Member List

    This is the complete list of members for SineWave, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addPhase(StkFloat angle)SineWave
    addPhaseOffset(StkFloat angle)SineWave
    addSampleRateAlert(Stk *ptr)Stk [protected]
    addTime(StkFloat time)SineWave
    Generator(void)Generator
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut(void) const Generator [inline, virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    reset(void)SineWave
    sampleRate(void)Stk [inline, static]
    setFrequency(StkFloat frequency)SineWave
    setRate(StkFloat rate)SineWave [inline]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    SineWave(void)SineWave
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~Generator(void)Generator [virtual]
    ~SineWave(void)SineWave [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSineWave.html b/doc/html/classSineWave.html deleted file mode 100644 index 3869043..0000000 --- a/doc/html/classSineWave.html +++ /dev/null @@ -1,190 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    SineWave Class Reference

    #include <SineWave.h> -

    -

    Inheritance diagram for SineWave: -

    - -Generator -Stk - -List of all members.

    Detailed Description

    -STK sinusoid oscillator class. -

    -This class computes and saves a static sine "table" that can be shared by multiple instances. It has an interface similar to the WaveLoop class but inherits from the Generator class. Output values are computed using linear interpolation.

    -The "table" length, set in SineWave.h, is 2048 samples by default.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    SineWave (void)
     Default constructor.
    -virtual ~SineWave (void)
     Class destructor.
    -void reset (void)
     Clear output and reset time pointer to zero.
    void setRate (StkFloat rate)
     Set the data read rate in samples. The rate can be negative.
    void setFrequency (StkFloat frequency)
     Set the data interpolation rate based on a looping frequency.
    -void addTime (StkFloat time)
     Increment the read pointer by time samples, modulo file size.
    void addPhase (StkFloat angle)
     Increment current read pointer by angle, relative to a looping frequency.
    void addPhaseOffset (StkFloat angle)
     Add a phase offset to the current read pointer.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void SineWave::setRate StkFloat  rate  )  [inline]
    -
    - - - - - -
    -   - - -

    -Set the data read rate in samples. The rate can be negative. -

    -If the rate value is negative, the data is read in reverse order.

    -

    - - - - -
    - - - - - - - - - -
    void SineWave::setFrequency StkFloat  frequency  ) 
    -
    - - - - - -
    -   - - -

    -Set the data interpolation rate based on a looping frequency. -

    -This function determines the interpolation rate based on the file size and the current Stk::sampleRate. The frequency value corresponds to file cycles per second. The frequency can be negative, in which case the loop is read in reverse order.

    -

    - - - - -
    - - - - - - - - - -
    void SineWave::addPhase StkFloat  angle  ) 
    -
    - - - - - -
    -   - - -

    -Increment current read pointer by angle, relative to a looping frequency. -

    -This function increments the read pointer based on the file size and the current Stk::sampleRate. The anAngle value is a multiple of file size.

    -

    - - - - -
    - - - - - - - - - -
    void SineWave::addPhaseOffset StkFloat  angle  ) 
    -
    - - - - - -
    -   - - -

    -Add a phase offset to the current read pointer. -

    -This function determines a time offset based on the file size and the current Stk::sampleRate. The angle value is a multiple of file size.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSineWave.png b/doc/html/classSineWave.png deleted file mode 100644 index c9f5c36..0000000 Binary files a/doc/html/classSineWave.png and /dev/null differ diff --git a/doc/html/classSingWave-members.html b/doc/html/classSingWave-members.html deleted file mode 100644 index a3ad91d..0000000 --- a/doc/html/classSingWave-members.html +++ /dev/null @@ -1,65 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    SingWave Member List

    This is the complete list of members for SingWave, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Generator(void)Generator
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut(void) const Generator [inline, virtual]
    normalize()SingWave
    normalize(StkFloat peak)SingWave
    noteOff()SingWave
    noteOn()SingWave
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    reset()SingWave
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)SingWave
    setGainRate(StkFloat rate)SingWave
    setGainTarget(StkFloat target)SingWave
    setRandomGain(StkFloat gain)SingWave
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setSweepRate(StkFloat rate)SingWave
    setVibratoGain(StkFloat gain)SingWave
    setVibratoRate(StkFloat rate)SingWave
    showWarnings(bool status)Stk [inline, static]
    SingWave(std::string fileName, bool raw=false)SingWave
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~Generator(void)Generator [virtual]
    ~SingWave()SingWave
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSingWave.html b/doc/html/classSingWave.html deleted file mode 100644 index 9e8ec52..0000000 --- a/doc/html/classSingWave.html +++ /dev/null @@ -1,135 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    SingWave Class Reference

    #include <SingWave.h> -

    -

    Inheritance diagram for SingWave: -

    - -Generator -Stk - -List of all members.

    Detailed Description

    -STK "singing" looped soundfile class. -

    -This class contains all that is needed to make a pitched musical sound, like a simple voice or violin. In general, it will not be used alone because of munchkinification effects from pitch shifting. It will be used as an excitation source for other instruments.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     SingWave (std::string fileName, bool raw=false)
     Class constructor taking filename argument.
    ~SingWave ()
     Class destructor.
    -void reset ()
     Reset file to beginning.
    -void normalize ()
     Normalize the file to a maximum of +-1.0.
    -void normalize (StkFloat peak)
     Normalize the file to a maximum of +- peak.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setVibratoRate (StkFloat rate)
     Set the vibrato frequency in Hz.
    -void setVibratoGain (StkFloat gain)
     Set the vibrato gain.
    -void setRandomGain (StkFloat gain)
     Set the random-ness amount.
    -void setSweepRate (StkFloat rate)
     Set the sweep rate.
    -void setGainRate (StkFloat rate)
     Set the gain rate.
    -void setGainTarget (StkFloat target)
     Set the gain target value.
    -void noteOn ()
     Start a note.
    -void noteOff ()
     Stop a note.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    SingWave::SingWave std::string  fileName,
    bool  raw = false
    -
    - - - - - -
    -   - - -

    -Class constructor taking filename argument. -

    -An StkError will be thrown if the file is not found, its format is unknown, a read error occurs, or the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSingWave.png b/doc/html/classSingWave.png deleted file mode 100644 index 6e267d6..0000000 Binary files a/doc/html/classSingWave.png and /dev/null differ diff --git a/doc/html/classSingWave__coll__graph.map b/doc/html/classSingWave__coll__graph.map deleted file mode 100644 index bb2fc62..0000000 --- a/doc/html/classSingWave__coll__graph.map +++ /dev/null @@ -1,11 +0,0 @@ -base referer -rect $classGenerator.html 277,88 347,109 -rect $classModulate.html 209,368 273,389 -rect $classNoise.html 291,178 333,200 -rect $classEnvelope.html 427,314 491,336 -rect $classStk.html 123,16 160,37 -rect $classFilter.html 52,133 92,154 -rect $classWvIn.html 121,88 161,109 -rect $classOnePole.html 21,224 83,245 -rect $classSubNoise.html 279,269 345,290 -rect $classWaveLoop.html 104,269 179,290 diff --git a/doc/html/classSingWave__coll__graph.md5 b/doc/html/classSingWave__coll__graph.md5 deleted file mode 100644 index 70275df..0000000 --- a/doc/html/classSingWave__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ea21121e8180d46ef4d97b5768e24fa3 \ No newline at end of file diff --git a/doc/html/classSingWave__coll__graph.png b/doc/html/classSingWave__coll__graph.png deleted file mode 100644 index ba2f5e0..0000000 Binary files a/doc/html/classSingWave__coll__graph.png and /dev/null differ diff --git a/doc/html/classSingWave__inherit__graph.map b/doc/html/classSingWave__inherit__graph.map deleted file mode 100644 index 337ffbe..0000000 --- a/doc/html/classSingWave__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classGenerator.html 7,85 76,106 -rect $classStk.html 23,16 60,37 diff --git a/doc/html/classSingWave__inherit__graph.md5 b/doc/html/classSingWave__inherit__graph.md5 deleted file mode 100644 index 77b4eac..0000000 --- a/doc/html/classSingWave__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -33d921357a3f70b9db51c70a292f641e \ No newline at end of file diff --git a/doc/html/classSingWave__inherit__graph.png b/doc/html/classSingWave__inherit__graph.png deleted file mode 100644 index d0eefd5..0000000 Binary files a/doc/html/classSingWave__inherit__graph.png and /dev/null differ diff --git a/doc/html/classSitar-members.html b/doc/html/classSitar-members.html deleted file mode 100644 index e63ceee..0000000 --- a/doc/html/classSitar-members.html +++ /dev/null @@ -1,61 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Sitar Member List

    This is the complete list of members for Sitar, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Sitar
    controlChange(int number, StkFloat value)Instrmnt [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Sitar [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Sitar [virtual]
    pluck(StkFloat amplitude)Sitar
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Sitar [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    Sitar(StkFloat lowestFrequency=20)Sitar
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~Sitar()Sitar
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSitar.html b/doc/html/classSitar.html deleted file mode 100644 index af0d686..0000000 --- a/doc/html/classSitar.html +++ /dev/null @@ -1,69 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Sitar Class Reference

    #include <Sitar.h> -

    -

    Inheritance diagram for Sitar: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK sitar string model class. -

    -This class implements a sitar plucked string physical model based on the Karplus-Strong algorithm.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. There exist at least two patents, assigned to Stanford, bearing the names of Karplus and/or Strong.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Sitar (StkFloat lowestFrequency=20)
     Class constructor, taking the lowest desired playing frequency.
    ~Sitar ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSitar.png b/doc/html/classSitar.png deleted file mode 100644 index 3bd747e..0000000 Binary files a/doc/html/classSitar.png and /dev/null differ diff --git a/doc/html/classSitar__coll__graph.map b/doc/html/classSitar__coll__graph.map deleted file mode 100644 index 31ed01d..0000000 --- a/doc/html/classSitar__coll__graph.map +++ /dev/null @@ -1,11 +0,0 @@ -base referer -rect $classInstrmnt.html 7,134 63,155 -rect $classStk.html 125,16 163,38 -rect $classFilter.html 124,88 164,110 -rect $classGenerator.html 280,88 349,110 -rect $classDelayA.html 76,270 129,291 -rect $classDelay.html 89,179 132,200 -rect $classOneZero.html 151,224 215,246 -rect $classADSR.html 291,270 339,291 -rect $classEnvelope.html 283,179 347,200 -rect $classNoise.html 364,224 407,246 diff --git a/doc/html/classSitar__coll__graph.md5 b/doc/html/classSitar__coll__graph.md5 deleted file mode 100644 index 05b48e0..0000000 --- a/doc/html/classSitar__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e7c72ec1cd059eb18cc5790cab6925c4 \ No newline at end of file diff --git a/doc/html/classSitar__coll__graph.png b/doc/html/classSitar__coll__graph.png deleted file mode 100644 index b5b2dc7..0000000 Binary files a/doc/html/classSitar__coll__graph.png and /dev/null differ diff --git a/doc/html/classSitar__inherit__graph.map b/doc/html/classSitar__inherit__graph.map deleted file mode 100644 index ba86dfe..0000000 --- a/doc/html/classSitar__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 7,85 63,106 -rect $classStk.html 16,16 53,37 diff --git a/doc/html/classSitar__inherit__graph.md5 b/doc/html/classSitar__inherit__graph.md5 deleted file mode 100644 index 17b57ab..0000000 --- a/doc/html/classSitar__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -492e6b0c36a45e1c7839dfbb954f0326 \ No newline at end of file diff --git a/doc/html/classSitar__inherit__graph.png b/doc/html/classSitar__inherit__graph.png deleted file mode 100644 index 27d92dc..0000000 Binary files a/doc/html/classSitar__inherit__graph.png and /dev/null differ diff --git a/doc/html/classSkini-members.html b/doc/html/classSkini-members.html deleted file mode 100644 index a85646e..0000000 --- a/doc/html/classSkini-members.html +++ /dev/null @@ -1,53 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Skini Member List

    This is the complete list of members for Skini, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    nextMessage(Skini::Message &message)Skini
    parseString(std::string &line, Skini::Message &message)Skini
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFile(std::string fileName)Skini
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    Skini()Skini
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    whatsThisController(long number)Skini [static]
    whatsThisType(long type)Skini [static]
    ~Skini()Skini
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSkini.html b/doc/html/classSkini.html deleted file mode 100644 index 66683d0..0000000 --- a/doc/html/classSkini.html +++ /dev/null @@ -1,173 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Skini Class Reference

    #include <Skini.h> -

    -

    Inheritance diagram for Skini: -

    - -Stk - -List of all members.

    Detailed Description

    -STK SKINI parsing class. -

    -This class parses SKINI formatted text messages. It can be used to parse individual messages or it can be passed an entire file. The SKINI specification is Perry's and his alone, but it's all text so it shouldn't be too hard to figure out.

    -SKINI (Synthesis toolKit Instrument Network Interface) is like MIDI, but allows for floating-point control changes, note numbers, etc. The following example causes a sharp middle C to be played with a velocity of 111.132:

    -

        noteOn  60.01  111.132
    -

    -

    See also:
    Synthesis toolKit Instrument Network Interface (SKINI)
    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Skini ()
     Default constructor.
    ~Skini ()
     Class destructor.
    bool setFile (std::string fileName)
     Set a SKINI formatted file for reading.
    long nextMessage (Skini::Message &message)
     Parse the next file message (if a file is loaded) and return the message type.
    long parseString (std::string &line, Skini::Message &message)
     Attempt to parse the given string and returning the message type.

    Static Public Member Functions

    -static std::string whatsThisType (long type)
     Return the SKINI type string for the given type value.
    -static std::string whatsThisController (long number)
     Return the SKINI controller string for the given controller number.

    Classes

    struct  Message
     A message structure to store and pass parsed SKINI messages. More...
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    bool Skini::setFile std::string  fileName  ) 
    -
    - - - - - -
    -   - - -

    -Set a SKINI formatted file for reading. -

    -If the file is successfully opened, this function returns true. Otherwise, false is returned.

    -

    - - - - -
    - - - - - - - - - -
    long Skini::nextMessage Skini::Message message  ) 
    -
    - - - - - -
    -   - - -

    -Parse the next file message (if a file is loaded) and return the message type. -

    -This function skips over lines in a file which cannot be parsed. A type value equal to zero in the referenced message structure (and the returned value) indicates the file end is reached or no file is open for reading.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    long Skini::parseString std::string &  line,
    Skini::Message message
    -
    - - - - - -
    -   - - -

    -Attempt to parse the given string and returning the message type. -

    -A type value equal to zero in the referenced message structure indicates an invalid message.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSkini.png b/doc/html/classSkini.png deleted file mode 100644 index 8cdfebc..0000000 Binary files a/doc/html/classSkini.png and /dev/null differ diff --git a/doc/html/classSkini__coll__graph.map b/doc/html/classSkini__coll__graph.map deleted file mode 100644 index 4484d54..0000000 --- a/doc/html/classSkini__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 8,16 45,37 diff --git a/doc/html/classSkini__coll__graph.md5 b/doc/html/classSkini__coll__graph.md5 deleted file mode 100644 index 81c6b32..0000000 --- a/doc/html/classSkini__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ebdebc3f6678ed2ac54287d969bea488 \ No newline at end of file diff --git a/doc/html/classSkini__coll__graph.png b/doc/html/classSkini__coll__graph.png deleted file mode 100644 index f87865f..0000000 Binary files a/doc/html/classSkini__coll__graph.png and /dev/null differ diff --git a/doc/html/classSkini__inherit__graph.map b/doc/html/classSkini__inherit__graph.map deleted file mode 100644 index 4484d54..0000000 --- a/doc/html/classSkini__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 8,16 45,37 diff --git a/doc/html/classSkini__inherit__graph.md5 b/doc/html/classSkini__inherit__graph.md5 deleted file mode 100644 index a457615..0000000 --- a/doc/html/classSkini__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -dde7fa06481696ff15443e592d8763e4 \ No newline at end of file diff --git a/doc/html/classSkini__inherit__graph.png b/doc/html/classSkini__inherit__graph.png deleted file mode 100644 index f87865f..0000000 Binary files a/doc/html/classSkini__inherit__graph.png and /dev/null differ diff --git a/doc/html/classSocket-members.html b/doc/html/classSocket-members.html deleted file mode 100644 index 10b0933..0000000 --- a/doc/html/classSocket-members.html +++ /dev/null @@ -1,57 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Socket Member List

    This is the complete list of members for Socket, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    close(int socket)Socket [static]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    id(void) const Socket
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    isValid(int socket)Socket [static]
    port(void) const Socket
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)=0Socket [pure virtual]
    readBuffer(int socket, void *buffer, long bufferSize, int flags)Socket [static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setBlocking(int socket, bool enable)Socket [static]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Socket()Socket
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    writeBuffer(const void *buffer, long bufferSize, int flags=0)=0Socket [pure virtual]
    writeBuffer(int socket, const void *buffer, long bufferSize, int flags)Socket [static]
    ~Socket()Socket [virtual]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSocket.html b/doc/html/classSocket.html deleted file mode 100644 index e8bd2b3..0000000 --- a/doc/html/classSocket.html +++ /dev/null @@ -1,87 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Socket Class Reference

    #include <Socket.h> -

    -

    Inheritance diagram for Socket: -

    - -Stk -TcpClient -TcpServer -UdpSocket - -List of all members.

    Detailed Description

    -STK internet socket abstract base class. -

    -This class provides common functionality for TCP and UDP internet socket server and client subclasses. This class also provides a number of static functions for use with external socket descriptors.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Socket ()
     Class constructor.
    -virtual ~Socket ()
     Class destructor.
    -int id (void) const
     Return the socket descriptor.
    -int port (void) const
     Return the socket port number.
    -virtual int writeBuffer (const void *buffer, long bufferSize, int flags=0)=0
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    -virtual int readBuffer (void *buffer, long bufferSize, int flags=0)=0
     Read an input buffer, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.

    Static Public Member Functions

    -static void close (int socket)
     Close the socket.
    -static bool isValid (int socket)
     Returns true if the socket descriptor is valid.
    -static void setBlocking (int socket, bool enable)
     If enable = false, the socket is set to non-blocking mode. When first created, sockets are by default in blocking mode.
    -static int writeBuffer (int socket, const void *buffer, long bufferSize, int flags)
     Write a buffer via the specified socket. Returns the number of bytes written or -1 if an error occurs.
    -static int readBuffer (int socket, void *buffer, long bufferSize, int flags)
     Read a buffer via the specified socket. Returns the number of bytes read or -1 if an error occurs.
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSocket.png b/doc/html/classSocket.png deleted file mode 100644 index fa8d11c..0000000 Binary files a/doc/html/classSocket.png and /dev/null differ diff --git a/doc/html/classSocket__coll__graph.map b/doc/html/classSocket__coll__graph.map deleted file mode 100644 index 62122a1..0000000 --- a/doc/html/classSocket__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classSocket__coll__graph.md5 b/doc/html/classSocket__coll__graph.md5 deleted file mode 100644 index 1b2be8a..0000000 --- a/doc/html/classSocket__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -11f1ebe27ee03a87435a537d619d7030 \ No newline at end of file diff --git a/doc/html/classSocket__coll__graph.png b/doc/html/classSocket__coll__graph.png deleted file mode 100644 index cb9c96f..0000000 Binary files a/doc/html/classSocket__coll__graph.png and /dev/null differ diff --git a/doc/html/classSocket__inherit__graph.map b/doc/html/classSocket__inherit__graph.map deleted file mode 100644 index 62122a1..0000000 --- a/doc/html/classSocket__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classSocket__inherit__graph.md5 b/doc/html/classSocket__inherit__graph.md5 deleted file mode 100644 index 9669435..0000000 --- a/doc/html/classSocket__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -9c3497ccf1af590d30c8aa4fc32dcd33 \ No newline at end of file diff --git a/doc/html/classSocket__inherit__graph.png b/doc/html/classSocket__inherit__graph.png deleted file mode 100644 index cb9c96f..0000000 Binary files a/doc/html/classSocket__inherit__graph.png and /dev/null differ diff --git a/doc/html/classSphere-members.html b/doc/html/classSphere-members.html deleted file mode 100644 index 2fc3fd2..0000000 --- a/doc/html/classSphere-members.html +++ /dev/null @@ -1,60 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Sphere Member List

    This is the complete list of members for Sphere, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    addVelocity(StkFloat x, StkFloat y, StkFloat z)Sphere
    getMass()Sphere
    getPosition()Sphere
    getRadius()Sphere
    getRelativePosition(Vector3D *position)Sphere
    getVelocity(Vector3D *velocity)Sphere
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    isInside(Vector3D *position)Sphere
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setMass(StkFloat mass)Sphere
    setPosition(StkFloat x, StkFloat y, StkFloat z)Sphere
    setRadius(StkFloat radius)Sphere
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setVelocity(StkFloat x, StkFloat y, StkFloat z)Sphere
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Sphere(StkFloat radius=1.0)Sphere
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat timeIncrement)Sphere
    ~Sphere()Sphere
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSphere.html b/doc/html/classSphere.html deleted file mode 100644 index e8ff922..0000000 --- a/doc/html/classSphere.html +++ /dev/null @@ -1,95 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Sphere Class Reference

    #include <Sphere.h> -

    -

    Inheritance diagram for Sphere: -

    - -Stk - -List of all members.

    Detailed Description

    -STK sphere class. -

    -This class implements a spherical ball with radius, mass, position, and velocity parameters.

    -by Perry R. Cook, 1995 - 2004. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Sphere (StkFloat radius=1.0)
     Constructor taking an initial radius value.
    ~Sphere ()
     Class destructor.
    -void setPosition (StkFloat x, StkFloat y, StkFloat z)
     Set the 3D center position of the sphere.
    -void setVelocity (StkFloat x, StkFloat y, StkFloat z)
     Set the 3D velocity of the sphere.
    -void setRadius (StkFloat radius)
     Set the radius of the sphere.
    -void setMass (StkFloat mass)
     Set the mass of the sphere.
    -Vector3DgetPosition ()
     Get the current position of the sphere as a 3D vector.
    -Vector3DgetRelativePosition (Vector3D *position)
     Get the relative position of the given point to the sphere as a 3D vector.
    -StkFloat getVelocity (Vector3D *velocity)
     Set the velcoity of the sphere as a 3D vector.
    -StkFloat isInside (Vector3D *position)
     Returns the distance from the sphere boundary to the given position (< 0 if inside).
    -StkFloat getRadius ()
     Get the current sphere radius.
    -StkFloat getMass ()
     Get the current sphere mass.
    -void addVelocity (StkFloat x, StkFloat y, StkFloat z)
     Increase the current sphere velocity by the given 3D components.
    -void tick (StkFloat timeIncrement)
     Move the sphere for the given time increment.
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSphere.png b/doc/html/classSphere.png deleted file mode 100644 index 2167c5e..0000000 Binary files a/doc/html/classSphere.png and /dev/null differ diff --git a/doc/html/classSphere__coll__graph.map b/doc/html/classSphere__coll__graph.map deleted file mode 100644 index d31ee5e..0000000 --- a/doc/html/classSphere__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classStk.html 32,16 69,37 -rect $classVector3D.html 57,88 127,109 diff --git a/doc/html/classSphere__coll__graph.md5 b/doc/html/classSphere__coll__graph.md5 deleted file mode 100644 index 266b0f3..0000000 --- a/doc/html/classSphere__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -dc265380082aeda9648c14d96849c157 \ No newline at end of file diff --git a/doc/html/classSphere__coll__graph.png b/doc/html/classSphere__coll__graph.png deleted file mode 100644 index 049fd04..0000000 Binary files a/doc/html/classSphere__coll__graph.png and /dev/null differ diff --git a/doc/html/classSphere__inherit__graph.map b/doc/html/classSphere__inherit__graph.map deleted file mode 100644 index 62122a1..0000000 --- a/doc/html/classSphere__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classSphere__inherit__graph.md5 b/doc/html/classSphere__inherit__graph.md5 deleted file mode 100644 index 6833849..0000000 --- a/doc/html/classSphere__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fd0eaed1a31331b9cfbb4c449521f6d9 \ No newline at end of file diff --git a/doc/html/classSphere__inherit__graph.png b/doc/html/classSphere__inherit__graph.png deleted file mode 100644 index 21c5d83..0000000 Binary files a/doc/html/classSphere__inherit__graph.png and /dev/null differ diff --git a/doc/html/classStifKarp-members.html b/doc/html/classStifKarp-members.html deleted file mode 100644 index b38295f..0000000 --- a/doc/html/classStifKarp-members.html +++ /dev/null @@ -1,64 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    StifKarp Member List

    This is the complete list of members for StifKarp, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()StifKarp
    controlChange(int number, StkFloat value)StifKarp [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)StifKarp [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)StifKarp [virtual]
    pluck(StkFloat amplitude)StifKarp
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)StifKarp
    setFrequency(StkFloat frequency)StifKarp [virtual]
    setPickupPosition(StkFloat position)StifKarp
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setStretch(StkFloat stretch)StifKarp
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    StifKarp(StkFloat lowestFrequency)StifKarp
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    ~Instrmnt()Instrmnt [virtual]
    ~StifKarp()StifKarp
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classStifKarp.html b/doc/html/classStifKarp.html deleted file mode 100644 index e1847d4..0000000 --- a/doc/html/classStifKarp.html +++ /dev/null @@ -1,118 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    StifKarp Class Reference

    #include <StifKarp.h> -

    -

    Inheritance diagram for StifKarp: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK plucked stiff string instrument. -

    -This class implements a simple plucked string algorithm (Karplus Strong) with enhancements (Jaffe-Smith, Smith, and others), including string stiffness and pluck position controls. The stiffness is modeled with allpass filters.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    -Control Change Numbers:

      -
    • Pickup Position = 4
    • String Sustain = 11
    • String Stretch = 1
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    StifKarp (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~StifKarp ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setStretch (StkFloat stretch)
     Set the stretch "factor" of the string (0.0 - 1.0).
    -void setPickupPosition (StkFloat position)
     Set the pluck or "excitation" position along the string (0.0 - 1.0).
    void setBaseLoopGain (StkFloat aGain)
     Set the base loop gain.
    -void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void StifKarp::setBaseLoopGain StkFloat  aGain  ) 
    -
    - - - - - -
    -   - - -

    -Set the base loop gain. -

    -The actual loop gain is set according to the frequency. Because of high-frequency loop filter roll-off, higher frequency settings have greater loop gains.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classStifKarp.png b/doc/html/classStifKarp.png deleted file mode 100644 index c924dca..0000000 Binary files a/doc/html/classStifKarp.png and /dev/null differ diff --git a/doc/html/classStifKarp__coll__graph.map b/doc/html/classStifKarp__coll__graph.map deleted file mode 100644 index 0456251..0000000 --- a/doc/html/classStifKarp__coll__graph.map +++ /dev/null @@ -1,11 +0,0 @@ -base referer -rect $classInstrmnt.html 52,134 108,155 -rect $classStk.html 285,16 323,38 -rect $classFilter.html 284,88 324,110 -rect $classGenerator.html 383,88 452,110 -rect $classDelayA.html 80,270 133,291 -rect $classDelay.html 184,179 227,200 -rect $classDelayL.html 180,270 231,291 -rect $classBiQuad.html 277,224 331,246 -rect $classOneZero.html 367,224 431,246 -rect $classNoise.html 459,179 501,200 diff --git a/doc/html/classStifKarp__coll__graph.md5 b/doc/html/classStifKarp__coll__graph.md5 deleted file mode 100644 index 7280b82..0000000 --- a/doc/html/classStifKarp__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -b28bf70ad07d5d0d9b08f4f526a29514 \ No newline at end of file diff --git a/doc/html/classStifKarp__coll__graph.png b/doc/html/classStifKarp__coll__graph.png deleted file mode 100644 index e1b1b13..0000000 Binary files a/doc/html/classStifKarp__coll__graph.png and /dev/null differ diff --git a/doc/html/classStifKarp__inherit__graph.map b/doc/html/classStifKarp__inherit__graph.map deleted file mode 100644 index e84d98d..0000000 --- a/doc/html/classStifKarp__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 8,85 64,106 -rect $classStk.html 17,16 55,37 diff --git a/doc/html/classStifKarp__inherit__graph.md5 b/doc/html/classStifKarp__inherit__graph.md5 deleted file mode 100644 index 1b39446..0000000 --- a/doc/html/classStifKarp__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6c20621156843d5438f972863a18460a \ No newline at end of file diff --git a/doc/html/classStifKarp__inherit__graph.png b/doc/html/classStifKarp__inherit__graph.png deleted file mode 100644 index 078cfcd..0000000 Binary files a/doc/html/classStifKarp__inherit__graph.png and /dev/null differ diff --git a/doc/html/classStk-members.html b/doc/html/classStk-members.html deleted file mode 100644 index f3f9bee..0000000 --- a/doc/html/classStk-members.html +++ /dev/null @@ -1,46 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Stk Member List

    This is the complete list of members for Stk, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    ~Stk(void)Stk [protected, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classStk.html b/doc/html/classStk.html deleted file mode 100644 index 8729332..0000000 --- a/doc/html/classStk.html +++ /dev/null @@ -1,354 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Stk Class Reference

    #include <Stk.h> -

    -

    Inheritance diagram for Stk: -

    - -Effect -FileRead -FileWrite -Filter -Function -Generator -Instrmnt -Messager -MidiFileIn -Mutex -Phonemes -Skini -Socket -Sphere -Thread -Vector3D -Voicer -WvIn -WvOut - -List of all members.

    Detailed Description

    -STK base class. -

    -Nearly all STK classes inherit from this class. The global sample rate and rawwave path variables can be queried and modified via Stk. In addition, this class provides error handling and byte-swapping functions.

    -The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. STK currently runs with realtime support (audio and MIDI) on Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    -STK WWW site: http://ccrma.stanford.edu/software/stk/

    -The Synthesis ToolKit in C++ (STK) Copyright (c) 1995-2007 Perry R. Cook and Gary P. Scavone

    -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    -Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.

    Static Public Member Functions

    -static StkFloat sampleRate (void)
     Static method which returns the current STK sample rate.
    static void setSampleRate (StkFloat rate)
     Static method that sets the STK sample rate.
    -static std::string rawwavePath (void)
     Static method which returns the current rawwave path.
    -static void setRawwavePath (std::string path)
     Static method which sets the STK rawwave path.
    -static void swap16 (unsigned char *ptr)
     Static method which byte-swaps a 16-bit data type.
    -static void swap32 (unsigned char *ptr)
     Static method which byte-swaps a 32-bit data type.
    -static void swap64 (unsigned char *ptr)
     Static method which byte-swaps a 64-bit data type.
    -static void sleep (unsigned long milliseconds)
     Static cross-platform method to sleep for a number of milliseconds.
    -static void handleError (const char *message, StkError::Type type)
     Static function for error reporting and handling using c-strings.
    -static void handleError (std::string message, StkError::Type type)
     Static function for error reporting and handling using c++ strings.
    -static void showWarnings (bool status)
     Toggle display of WARNING and STATUS messages.
    -static void printErrors (bool status)
     Toggle display of error messages before throwing exceptions.

    Static Public Attributes

    static const StkFormat STK_SINT8
    static const StkFormat STK_SINT16
    static const StkFormat STK_SINT24
    static const StkFormat STK_SINT32
    static const StkFormat STK_FLOAT32
    static const StkFormat STK_FLOAT64

    Protected Member Functions

    Stk (void)
     Default constructor.
    -virtual ~Stk (void)
     Class destructor.
    -virtual void sampleRateChanged (StkFloat newRate, StkFloat oldRate)
     This function should be implemented in subclasses that depend on the sample rate.
    -void addSampleRateAlert (Stk *ptr)
     Add class pointer to list for sample rate change notification.
    -void removeSampleRateAlert (Stk *ptr)
     Remove class pointer from list for sample rate change notification.
    -void handleError (StkError::Type type)
     Internal function for error reporting which assumes message in errorString_ variable.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    static void Stk::setSampleRate StkFloat  rate  )  [static]
    -
    - - - - - -
    -   - - -

    -Static method that sets the STK sample rate. -

    -The sample rate set using this method is queried by all STK classes which depend on its value. It is initialized to the default SRATE set in Stk.h. Many STK classes use the sample rate during instantiation. Therefore, if you wish to use a rate which is different from the default rate, it is imperative that it be set BEFORE STK objects are instantiated. A few classes that make use of the global STK sample rate are automatically notified when the rate changes so that internal class data can be appropriately updated. However, this has not been fully implemented. Specifically, classes that appropriately update their own data when either a setFrequency() or noteOn() function is called do not currently receive the automatic notification of rate change. If the user wants a specific class instance to ignore such notifications, perhaps in a multi-rate context, the function Stk::ignoreSampleRateChange() should be called.

    -

    - - - - -
    - - - - - - - - - -
    void Stk::ignoreSampleRateChange bool  ignore = true  )  [inline]
    -
    - - - - - -
    -   - - -

    -A function to enable/disable the automatic updating of class data when the STK sample rate changes. -

    -This function allows the user to enable or disable class data updates in response to global sample rate changes on a class by class basis. -

    -Reimplemented in BiQuad, TwoPole, and TwoZero.

    -


    Member Data Documentation

    -

    - - - - -
    - - - - -
    const StkFormat Stk::STK_SINT8 [static]
    -
    - - - - - -
    -   - - -

    --128 to +127

    -

    - - - - -
    - - - - -
    const StkFormat Stk::STK_SINT16 [static]
    -
    - - - - - -
    -   - - -

    --32768 to +32767

    -

    - - - - -
    - - - - -
    const StkFormat Stk::STK_SINT24 [static]
    -
    - - - - - -
    -   - - -

    -Upper 3 bytes of 32-bit signed integer.

    -

    - - - - -
    - - - - -
    const StkFormat Stk::STK_SINT32 [static]
    -
    - - - - - -
    -   - - -

    --2147483648 to +2147483647.

    -

    - - - - -
    - - - - -
    const StkFormat Stk::STK_FLOAT32 [static]
    -
    - - - - - -
    -   - - -

    -Normalized between plus/minus 1.0.

    -

    - - - - -
    - - - - -
    const StkFormat Stk::STK_FLOAT64 [static]
    -
    - - - - - -
    -   - - -

    -Normalized between plus/minus 1.0.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classStk.png b/doc/html/classStk.png deleted file mode 100644 index 671de05..0000000 Binary files a/doc/html/classStk.png and /dev/null differ diff --git a/doc/html/classStkError-members.html b/doc/html/classStkError-members.html deleted file mode 100644 index ecc732e..0000000 --- a/doc/html/classStkError-members.html +++ /dev/null @@ -1,27 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    StkError Member List

    This is the complete list of members for StkError, including all inherited members.

    - - - - - - -
    getMessage(void)StkError [inline, virtual]
    getMessageCString(void)StkError [inline, virtual]
    getType(void)StkError [inline, virtual]
    printMessage(void)StkError [inline, virtual]
    StkError(const std::string &message, Type type=StkError::UNSPECIFIED)StkError [inline]
    ~StkError(void)StkError [inline, virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classStkFrames-members.html b/doc/html/classStkFrames-members.html deleted file mode 100644 index 7ce2e9c..0000000 --- a/doc/html/classStkFrames-members.html +++ /dev/null @@ -1,39 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    StkFrames Member List

    This is the complete list of members for StkFrames, including all inherited members.

    - - - - - - - - - - - - - - - - - - -
    channels(void) const StkFrames [inline]
    dataRate(void) const StkFrames [inline]
    empty() const StkFrames
    frames(void) const StkFrames [inline]
    interleaved(void) const StkFrames [inline]
    interpolate(StkFloat frame, unsigned int channel=0) const StkFrames
    operator()(size_t frame, unsigned int channel)StkFrames
    operator()(size_t frame, unsigned int channel) const StkFrames
    operator[](size_t n)StkFrames
    operator[](size_t n) const StkFrames
    resize(size_t nFrames, unsigned int nChannels=1)StkFrames
    resize(size_t nFrames, unsigned int nChannels, StkFloat value)StkFrames
    setDataRate(StkFloat rate)StkFrames [inline]
    setInterleaved(bool isInterleaved)StkFrames [inline]
    size() const StkFrames [inline]
    StkFrames(unsigned int nFrames=0, unsigned int nChannels=0, bool interleaved=true)StkFrames
    StkFrames(const StkFloat &value, unsigned int nFrames, unsigned int nChannels, bool interleaved=true)StkFrames
    ~StkFrames()StkFrames


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classStkFrames.html b/doc/html/classStkFrames.html deleted file mode 100644 index ac77033..0000000 --- a/doc/html/classStkFrames.html +++ /dev/null @@ -1,449 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    StkFrames Class Reference

    #include <Stk.h> -

    -List of all members.


    Detailed Description

    -An STK class to handle vectorized audio data. -

    -This class can hold single- or multi-channel audio data in either interleaved or non-interleaved formats. The data type is always StkFloat. In an effort to maintain efficiency, no out-of-bounds checks are performed in this class.

    -Possible future improvements in this class could include functions to inter- or de-interleave the data and to convert to and return other data types.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    StkFrames (unsigned int nFrames=0, unsigned int nChannels=0, bool interleaved=true)
     The default constructor initializes the frame data structure to size zero.
    StkFrames (const StkFloat &value, unsigned int nFrames, unsigned int nChannels, bool interleaved=true)
     Overloaded constructor that initializes the frame data to the specified size with value.
    ~StkFrames ()
     The destructor.
    StkFloat & operator[] (size_t n)
     Subscript operator which returns a reference to element n of self.
    StkFloat operator[] (size_t n) const
     Subscript operator that returns the value at element n of self.
    StkFloat & operator() (size_t frame, unsigned int channel)
     Channel / frame subscript operator that returns a reference.
    StkFloat operator() (size_t frame, unsigned int channel) const
     Channel / frame subscript operator that returns a value.
    StkFloat interpolate (StkFloat frame, unsigned int channel=0) const
     Return an interpolated value at the fractional frame index and channel.
    -size_t size () const
     Returns the total number of audio samples represented by the object.
    -bool empty () const
     Returns true if the object size is zero and false otherwise.
    void resize (size_t nFrames, unsigned int nChannels=1)
     Resize self to represent the specified number of channels and frames.
    void resize (size_t nFrames, unsigned int nChannels, StkFloat value)
     Resize self to represent the specified number of channels and frames and perform element initialization.
    -unsigned int channels (void) const
     Return the number of channels represented by the data.
    -unsigned int frames (void) const
     Return the number of sample frames represented by the data.
    void setDataRate (StkFloat rate)
     Set the sample rate associated with the StkFrames data.
    StkFloat dataRate (void) const
     Return the sample rate associated with the StkFrames data.
    -bool interleaved (void) const
     Returns true if the data is in interleaved format, false if the data is non-interleaved.
    void setInterleaved (bool isInterleaved)
     Set the flag to indicate whether the internal data is in interleaved (true) or non-interleaved (false) format.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    StkFloat& StkFrames::operator[] size_t  n  ) 
    -
    - - - - - -
    -   - - -

    -Subscript operator which returns a reference to element n of self. -

    -The result can be used as an lvalue . This reference is valid until the resize function is called or the array is destroyed. The index n must be between 0 and size less one. No range checking is performed unless _STK_DEBUG_ is defined.

    -

    - - - - -
    - - - - - - - - - -
    StkFloat StkFrames::operator[] size_t  n  )  const
    -
    - - - - - -
    -   - - -

    -Subscript operator that returns the value at element n of self. -

    -The index n must be between 0 and size less one. No range checking is performed unless _STK_DEBUG_ is defined.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFloat& StkFrames::operator() size_t  frame,
    unsigned int  channel
    -
    - - - - - -
    -   - - -

    -Channel / frame subscript operator that returns a reference. -

    -The result can be used as an lvalue. This reference is valid until the resize function is called or the array is destroyed. The frame index must be between 0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFloat StkFrames::operator() size_t  frame,
    unsigned int  channel
    const
    -
    - - - - - -
    -   - - -

    -Channel / frame subscript operator that returns a value. -

    -The frame index must be between 0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFloat StkFrames::interpolate StkFloat  frame,
    unsigned int  channel = 0
    const
    -
    - - - - - -
    -   - - -

    -Return an interpolated value at the fractional frame index and channel. -

    -This function performs linear interpolation. The frame index must be between 0.0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void StkFrames::resize size_t  nFrames,
    unsigned int  nChannels = 1
    -
    - - - - - -
    -   - - -

    -Resize self to represent the specified number of channels and frames. -

    -Changes the size of self based on the number of frames and channels. No element assignment is performed. No memory deallocation occurs if the new size is smaller than the previous size. Further, no new memory is allocated when the new size is smaller or equal to a previously allocated size.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void StkFrames::resize size_t  nFrames,
    unsigned int  nChannels,
    StkFloat  value
    -
    - - - - - -
    -   - - -

    -Resize self to represent the specified number of channels and frames and perform element initialization. -

    -Changes the size of self based on the number of frames and channels, and assigns value to every element. No memory deallocation occurs if the new size is smaller than the previous size. Further, no new memory is allocated when the new size is smaller or equal to a previously allocated size.

    -

    - - - - -
    - - - - - - - - - -
    void StkFrames::setDataRate StkFloat  rate  )  [inline]
    -
    - - - - - -
    -   - - -

    -Set the sample rate associated with the StkFrames data. -

    -By default, this value is set equal to the current STK sample rate at the time of instantiation.

    -

    - - - - -
    - - - - - - - - - -
    StkFloat StkFrames::dataRate void   )  const [inline]
    -
    - - - - - -
    -   - - -

    -Return the sample rate associated with the StkFrames data. -

    -By default, this value is set equal to the current STK sample rate at the time of instantiation.

    -

    - - - - -
    - - - - - - - - - -
    void StkFrames::setInterleaved bool  isInterleaved  )  [inline]
    -
    - - - - - -
    -   - - -

    -Set the flag to indicate whether the internal data is in interleaved (true) or non-interleaved (false) format. -

    -Note that this function does not modify the internal data order with respect to the argument value. It simply changes the indicator flag value.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classStk__inherit__graph.map b/doc/html/classStk__inherit__graph.map deleted file mode 100644 index b3d6d33..0000000 --- a/doc/html/classStk__inherit__graph.map +++ /dev/null @@ -1,19 +0,0 @@ -base referer -rect $classEffect.html 123,5 168,27 -rect $classFilter.html 125,51 165,72 -rect $classFunction.html 115,96 176,117 -rect $classGenerator.html 111,141 180,163 -rect $classInstrmnt.html 117,187 173,208 -rect $classMessager.html 112,232 179,253 -rect $classMidiFileIn.html 113,277 177,299 -rect $classMutex.html 123,323 168,344 -rect $classPhonemes.html 109,368 181,389 -rect $classRtDuplex.html 113,413 177,435 -rect $classSkini.html 125,459 165,480 -rect $classSocket.html 119,504 172,525 -rect $classSphere.html 119,549 172,571 -rect $classThread.html 119,595 172,616 -rect $classVector3D.html 111,640 180,661 -rect $classVoicer.html 119,685 172,707 -rect $classWvIn.html 125,731 165,752 -rect $classWvOut.html 119,776 172,797 diff --git a/doc/html/classStk__inherit__graph.md5 b/doc/html/classStk__inherit__graph.md5 deleted file mode 100644 index b660351..0000000 --- a/doc/html/classStk__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -405098fa335c7423a50b8bafe49bed18 \ No newline at end of file diff --git a/doc/html/classStk__inherit__graph.png b/doc/html/classStk__inherit__graph.png deleted file mode 100644 index 7308da4..0000000 Binary files a/doc/html/classStk__inherit__graph.png and /dev/null differ diff --git a/doc/html/classSubNoise-members.html b/doc/html/classSubNoise-members.html deleted file mode 100644 index d7075ae..0000000 --- a/doc/html/classSubNoise-members.html +++ /dev/null @@ -1,59 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    SubNoise Member List

    This is the complete list of members for SubNoise, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    Generator(void)Generator
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut(void) const Generator [inline, virtual]
    Noise()Noise
    Noise(unsigned int seed)Noise
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRate(int subRate)SubNoise
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setSeed(unsigned int seed=0)Noise
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    SubNoise(int subRate=16)SubNoise
    subRate(void) const SubNoise [inline]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Generator
    tick(StkFrames &frames, unsigned int channel=0)Generator
    ~Generator(void)Generator [virtual]
    ~Noise()Noise [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~SubNoise()SubNoise


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSubNoise.html b/doc/html/classSubNoise.html deleted file mode 100644 index 767a758..0000000 --- a/doc/html/classSubNoise.html +++ /dev/null @@ -1,57 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    SubNoise Class Reference

    #include <SubNoise.h> -

    -

    Inheritance diagram for SubNoise: -

    - -Noise -Generator -Stk - -List of all members.

    Detailed Description

    -STK sub-sampled noise generator. -

    -Generates a new random number every "rate" ticks using the C rand() function. The quality of the rand() function varies from one OS to another.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

    SubNoise (int subRate=16)
     Default constructor sets sub-sample rate to 16.
    ~SubNoise ()
     Class destructor.
    -int subRate (void) const
     Return the current sub-sampling rate.
    -void setRate (int subRate)
     Set the sub-sampling rate.
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classSubNoise.png b/doc/html/classSubNoise.png deleted file mode 100644 index 4558add..0000000 Binary files a/doc/html/classSubNoise.png and /dev/null differ diff --git a/doc/html/classSubNoise__coll__graph.map b/doc/html/classSubNoise__coll__graph.map deleted file mode 100644 index 115a600..0000000 --- a/doc/html/classSubNoise__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classNoise.html 20,155 63,176 -rect $classGenerator.html 7,86 76,107 -rect $classStk.html 23,16 60,38 diff --git a/doc/html/classSubNoise__coll__graph.md5 b/doc/html/classSubNoise__coll__graph.md5 deleted file mode 100644 index 4e91e47..0000000 --- a/doc/html/classSubNoise__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2d3b63796fe1f8b74f9c4e13ac5b3315 \ No newline at end of file diff --git a/doc/html/classSubNoise__coll__graph.png b/doc/html/classSubNoise__coll__graph.png deleted file mode 100644 index ca085fa..0000000 Binary files a/doc/html/classSubNoise__coll__graph.png and /dev/null differ diff --git a/doc/html/classSubNoise__inherit__graph.map b/doc/html/classSubNoise__inherit__graph.map deleted file mode 100644 index 115a600..0000000 --- a/doc/html/classSubNoise__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classNoise.html 20,155 63,176 -rect $classGenerator.html 7,86 76,107 -rect $classStk.html 23,16 60,38 diff --git a/doc/html/classSubNoise__inherit__graph.md5 b/doc/html/classSubNoise__inherit__graph.md5 deleted file mode 100644 index 55fb525..0000000 --- a/doc/html/classSubNoise__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -21f3b1001c94b8d32c29333a3207baea \ No newline at end of file diff --git a/doc/html/classSubNoise__inherit__graph.png b/doc/html/classSubNoise__inherit__graph.png deleted file mode 100644 index ca085fa..0000000 Binary files a/doc/html/classSubNoise__inherit__graph.png and /dev/null differ diff --git a/doc/html/classTable-members.html b/doc/html/classTable-members.html deleted file mode 100644 index 40f3797..0000000 --- a/doc/html/classTable-members.html +++ /dev/null @@ -1,49 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    Table Member List

    This is the complete list of members for Table, including all inherited members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Function()Function
    getLength() const Table
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    lastOut() const Function [inline, virtual]
    rawwavePath(void)Stk [inline, static]
    sampleRate(void)Stk [inline, static]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    Table(std::string fileName)Table
    tick(StkFloat index)Table [virtual]
    tick(StkFloat *vector, unsigned int vectorSize)Table [virtual]
    tick(StkFrames &frames, unsigned int channel=1)Table [virtual]
    ~Function()Function [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~Table()Table

    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTable.html b/doc/html/classTable.html deleted file mode 100644 index 0ef52f8..0000000 --- a/doc/html/classTable.html +++ /dev/null @@ -1,172 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    Table Class Reference

    #include <Table.h> -

    -

    Inheritance diagram for Table: -

    - -Function -Stk - -List of all members.

    Detailed Description

    -STK table lookup class. -

    -This class loads a table of floating-point doubles, which are assumed to be in big-endian format. Linear interpolation is performed for fractional lookup indexes.

    -An StkError will be thrown if the table file is not found.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2004. -

    - -

    -Definition at line 22 of file Table.h. - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Table (std::string fileName)
     The constructor loads the data from fileName.

    ~Table ()
     Class destructor.

    -long getLength () const
     Return the number of elements in the table.

    StkFloat tick (StkFloat index)
     Return the table value at position index.

    -StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Take vectorSize inputs from vector and replace them with corresponding outputs.

    StkFramestick (StkFrames &frames, unsigned int channel=1)
     Take a channel of the StkFrames object as inputs to the function and replace with corresponding outputs.

    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - -
    Table::Table std::string  fileName  ) 
    -
    - - - - - -
    -   - - -

    -The constructor loads the data from fileName. -

    -An StkError will be thrown in the file cannot be found or opened.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - -
    StkFloat Table::tick StkFloat  index  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Return the table value at position index. -

    -Linear interpolation is performed if index is fractional. -

    -Implements Function.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - -
    StkFrames& Table::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    -
    - - - - - -
    -   - - -

    -Take a channel of the StkFrames object as inputs to the function and replace with corresponding outputs. -

    -The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. -

    -Reimplemented from Function.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTable.png b/doc/html/classTable.png deleted file mode 100644 index 8d24974..0000000 Binary files a/doc/html/classTable.png and /dev/null differ diff --git a/doc/html/classTable__coll__graph.map b/doc/html/classTable__coll__graph.map deleted file mode 100644 index 56d7d60..0000000 --- a/doc/html/classTable__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFunction.html 7,85 68,106 -rect $classStk.html 19,16 56,37 diff --git a/doc/html/classTable__coll__graph.md5 b/doc/html/classTable__coll__graph.md5 deleted file mode 100644 index 48e1f8b..0000000 --- a/doc/html/classTable__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -655ec2a9346fc9ec331b6b7637a53ff2 \ No newline at end of file diff --git a/doc/html/classTable__coll__graph.png b/doc/html/classTable__coll__graph.png deleted file mode 100644 index 86b60be..0000000 Binary files a/doc/html/classTable__coll__graph.png and /dev/null differ diff --git a/doc/html/classTable__inherit__graph.map b/doc/html/classTable__inherit__graph.map deleted file mode 100644 index 56d7d60..0000000 --- a/doc/html/classTable__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFunction.html 7,85 68,106 -rect $classStk.html 19,16 56,37 diff --git a/doc/html/classTable__inherit__graph.md5 b/doc/html/classTable__inherit__graph.md5 deleted file mode 100644 index daa2312..0000000 --- a/doc/html/classTable__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5df14d39ea6f03ccec4f9328c26f3acf \ No newline at end of file diff --git a/doc/html/classTable__inherit__graph.png b/doc/html/classTable__inherit__graph.png deleted file mode 100644 index 86b60be..0000000 Binary files a/doc/html/classTable__inherit__graph.png and /dev/null differ diff --git a/doc/html/classTcpClient-members.html b/doc/html/classTcpClient-members.html deleted file mode 100644 index a68d022..0000000 --- a/doc/html/classTcpClient-members.html +++ /dev/null @@ -1,60 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    TcpClient Member List

    This is the complete list of members for TcpClient, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    close(int socket)Socket [static]
    connect(int port, std::string hostname="localhost")TcpClient
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    id(void) const Socket
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    isValid(int socket)Socket [static]
    port(void) const Socket
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)TcpClient [virtual]
    Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)Socket [static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setBlocking(int socket, bool enable)Socket [static]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Socket()Socket
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    TcpClient(int port, std::string hostname="localhost")TcpClient
    writeBuffer(const void *buffer, long bufferSize, int flags=0)TcpClient [virtual]
    Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)Socket [static]
    ~Socket()Socket [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~TcpClient()TcpClient


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTcpClient.html b/doc/html/classTcpClient.html deleted file mode 100644 index 2d54dce..0000000 --- a/doc/html/classTcpClient.html +++ /dev/null @@ -1,140 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    TcpClient Class Reference

    #include <TcpClient.h> -

    -

    Inheritance diagram for TcpClient: -

    - -Socket -Stk - -List of all members.

    Detailed Description

    -STK TCP socket client class. -

    -This class provides a uniform cross-platform TCP socket client interface. Methods are provided for reading or writing data buffers to/from connections.

    -TCP sockets are reliable and connection-oriented. A TCP socket client must be connected to a TCP server before data can be sent or received. Data delivery is guaranteed in order, without loss, error, or duplication. That said, TCP transmissions tend to be slower than those using the UDP protocol and data sent with multiple write() calls can be arbitrarily combined by the underlying system.

    -The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate a closed or lost connection or the occurence of an error.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     TcpClient (int port, std::string hostname="localhost")
     Default class constructor creates a socket client connection to the specified host and port.
    ~TcpClient ()
     The class destructor closes the socket instance, breaking any existing connections.
    int connect (int port, std::string hostname="localhost")
     Connect the socket client to the specified host and port and returns the resulting socket descriptor.
    -int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    -int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read a buffer from the socket connection, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    TcpClient::TcpClient int  port,
    std::string  hostname = "localhost"
    -
    - - - - - -
    -   - - -

    -Default class constructor creates a socket client connection to the specified host and port. -

    -An StkError will be thrown if a socket error occurs during instantiation.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    int TcpClient::connect int  port,
    std::string  hostname = "localhost"
    -
    - - - - - -
    -   - - -

    -Connect the socket client to the specified host and port and returns the resulting socket descriptor. -

    -If the socket client is already connected, that connection is terminated and a new connection is attempted. An StkError will be thrown if a socket error occurs.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTcpClient.png b/doc/html/classTcpClient.png deleted file mode 100644 index e0cc9dc..0000000 Binary files a/doc/html/classTcpClient.png and /dev/null differ diff --git a/doc/html/classTcpServer-members.html b/doc/html/classTcpServer-members.html deleted file mode 100644 index a7b2df4..0000000 --- a/doc/html/classTcpServer-members.html +++ /dev/null @@ -1,60 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    TcpServer Member List

    This is the complete list of members for TcpServer, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    accept(void)TcpServer
    addSampleRateAlert(Stk *ptr)Stk [protected]
    close(int socket)Socket [static]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    id(void) const Socket
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    isValid(int socket)Socket [static]
    port(void) const Socket
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)TcpServer [virtual]
    Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)Socket [static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setBlocking(int socket, bool enable)Socket [static]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Socket()Socket
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    TcpServer(int port=2006)TcpServer
    writeBuffer(const void *buffer, long bufferSize, int flags=0)TcpServer [virtual]
    Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)Socket [static]
    ~Socket()Socket [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~TcpServer()TcpServer


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTcpServer.png b/doc/html/classTcpServer.png deleted file mode 100644 index 497eef4..0000000 Binary files a/doc/html/classTcpServer.png and /dev/null differ diff --git a/doc/html/classTcpWvIn-members.html b/doc/html/classTcpWvIn-members.html deleted file mode 100644 index 409b04f..0000000 --- a/doc/html/classTcpWvIn-members.html +++ /dev/null @@ -1,67 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    TcpWvIn Member List

    This is the complete list of members for TcpWvIn, including all inherited members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addTime(StkFloat aTime)WvIn [protected, virtual]
    closeFile(void)WvIn [protected]
    getChannels(void) const WvIn [protected]
    getFileRate(void) const WvIn [protected]
    getSize(void) const WvIn [protected]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    isConnected(void)TcpWvIn
    isFinished(void) const WvIn [protected]
    lastFrame(void) const TcpWvIn [virtual]
    lastOut(void) const TcpWvIn [virtual]
    listen(unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)TcpWvIn
    normalize(void)WvIn [protected]
    normalize(StkFloat peak)WvIn [protected]
    openFile(std::string fileName, bool raw=false, bool doNormalize=true)WvIn [protected]
    rawwavePath(void)Stk [inline, protected, static]
    reset(void)WvIn [protected]
    sampleRate(void)Stk [inline, protected, static]
    setInterpolate(bool doInterpolate)WvIn [protected]
    setRate(StkFloat aRate)WvIn [protected]
    setRawwavePath(std::string path)Stk [protected, static]
    setSampleRate(StkFloat rate)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    TcpWvIn(int port=2006)TcpWvIn
    tick(void)TcpWvIn [virtual]
    tick(StkFloat *vector, unsigned int vectorSize)TcpWvIn [virtual]
    tick(StkFrames &frames, unsigned int channel=1)TcpWvIn [virtual]
    tickFrame(void)TcpWvIn [virtual]
    tickFrame(StkFloat *frameVector, unsigned int frames)TcpWvIn [virtual]
    tickFrame(StkFrames &frames)TcpWvIn [virtual]
    WvIn()WvIn [protected]
    WvIn(std::string fileName, bool raw=false, bool doNormalize=true)WvIn [protected]
    ~Stk(void)Stk [protected, virtual]
    ~TcpWvIn()TcpWvIn
    ~WvIn()WvIn [protected, virtual]

    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTcpWvIn.html b/doc/html/classTcpWvIn.html deleted file mode 100644 index 9889e99..0000000 --- a/doc/html/classTcpWvIn.html +++ /dev/null @@ -1,266 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    TcpWvIn Class Reference

    #include <TcpWvIn.h> -

    -

    Inheritance diagram for TcpWvIn: -

    - -WvIn -Stk - -List of all members.

    Detailed Description

    -STK internet streaming input class. -

    -This protected Wvin subclass can read streamed data over a network via a TCP socket connection. The data is assumed in big-endian, or network, byte order.

    -TcpWvIn supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return pointers to multi-channel sample frames. For single-channel data, these methods return equivalent values.

    -This class starts a socket server, which waits for a single remote connection. The default data type for the incoming stream is signed 16-bit integers, though any of the defined StkFormats are permissible.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2004. -

    - -

    -Definition at line 42 of file TcpWvIn.h. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     TcpWvIn (int port=2006)
     Default constructor starts a socket server. If not specified, the server is associated with port 2006.

    ~TcpWvIn ()
     Class destructor.

    void listen (unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)
     Listen for a (new) connection with specified data channels and format.

    bool isConnected (void)
     Returns true is an input connection exists or input data remains in the queue.

    -StkFloat lastOut (void) const
     Return the average across the last output sample frame.

    -StkFloat tick (void)
     Read out the average across one sample frame of data.

    -StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Read out vectorSize averaged sample frames of data in vector.

    StkFramestick (StkFrames &frames, unsigned int channel=1)
     Fill a channel of the StkFrames object with averaged sample frames.

    -const StkFloat * lastFrame (void) const
     Return a pointer to the last output sample frame.

    -const StkFloat * tickFrame (void)
     Return a pointer to the next sample frame of data.

    -StkFloat * tickFrame (StkFloat *frameVector, unsigned int frames)
     Read out sample frames of data to frameVector.

    StkFramestickFrame (StkFrames &frames)
     Fill the StkFrames object with sample frames of data and return the same reference.

    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - -
    TcpWvIn::TcpWvIn int  port = 2006  ) 
    -
    - - - - - -
    -   - - -

    -Default constructor starts a socket server. If not specified, the server is associated with port 2006. -

    -An StkError will be thrown if an error occurs while initializing the input thread or starting the socket server.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - -
    void TcpWvIn::listen unsigned int  nChannels = 1,
    Stk::StkFormat  format = STK_SINT16
    -
    - - - - - -
    -   - - -

    -Listen for a (new) connection with specified data channels and format. -

    -An StkError will be thrown a socket error or an invalid function argument.

    -

    - - - - -
    - - - - - - - - - - -
    bool TcpWvIn::isConnected void   ) 
    -
    - - - - - -
    -   - - -

    -Returns true is an input connection exists or input data remains in the queue. -

    -This method will not return false after an input connection has been closed until all buffered input data has been read out.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - -
    StkFrames& TcpWvIn::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    -
    - - - - - -
    -   - - -

    -Fill a channel of the StkFrames object with averaged sample frames. -

    -The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. -

    -Reimplemented from WvIn.

    -

    - - - - -
    - - - - - - - - - - -
    StkFrames& TcpWvIn::tickFrame StkFrames frames  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Fill the StkFrames object with sample frames of data and return the same reference. -

    -An StkError will be thrown if there is an incompatability between the number of channels in the TcpWvIn object and that in the StkFrames object. -

    -Reimplemented from WvIn.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTcpWvIn.png b/doc/html/classTcpWvIn.png deleted file mode 100644 index ed4442c..0000000 Binary files a/doc/html/classTcpWvIn.png and /dev/null differ diff --git a/doc/html/classTcpWvIn__coll__graph.map b/doc/html/classTcpWvIn__coll__graph.map deleted file mode 100644 index b427f34..0000000 --- a/doc/html/classTcpWvIn__coll__graph.map +++ /dev/null @@ -1,6 +0,0 @@ -base referer -rect $classWvIn.html 8,88 48,109 -rect $classStk.html 121,16 159,37 -rect $classSocket.html 76,88 129,109 -rect $classMutex.html 156,88 201,109 -rect $classThread.html 241,88 295,109 diff --git a/doc/html/classTcpWvIn__coll__graph.md5 b/doc/html/classTcpWvIn__coll__graph.md5 deleted file mode 100644 index 96ac590..0000000 --- a/doc/html/classTcpWvIn__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -233046b076b8d1d4e335270638b8af90 \ No newline at end of file diff --git a/doc/html/classTcpWvIn__coll__graph.png b/doc/html/classTcpWvIn__coll__graph.png deleted file mode 100644 index cc66aa5..0000000 Binary files a/doc/html/classTcpWvIn__coll__graph.png and /dev/null differ diff --git a/doc/html/classTcpWvIn__inherit__graph.map b/doc/html/classTcpWvIn__inherit__graph.map deleted file mode 100644 index 8e30618..0000000 --- a/doc/html/classTcpWvIn__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classWvIn.html 19,85 59,106 -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classTcpWvIn__inherit__graph.md5 b/doc/html/classTcpWvIn__inherit__graph.md5 deleted file mode 100644 index 9d03228..0000000 --- a/doc/html/classTcpWvIn__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -82cf5ab3904f8cf486c60a7cfcabc8fe \ No newline at end of file diff --git a/doc/html/classTcpWvIn__inherit__graph.png b/doc/html/classTcpWvIn__inherit__graph.png deleted file mode 100644 index ae4567c..0000000 Binary files a/doc/html/classTcpWvIn__inherit__graph.png and /dev/null differ diff --git a/doc/html/classTcpWvOut-members.html b/doc/html/classTcpWvOut-members.html deleted file mode 100644 index 32e9eed..0000000 --- a/doc/html/classTcpWvOut-members.html +++ /dev/null @@ -1,64 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    TcpWvOut Member List

    This is the complete list of members for TcpWvOut, including all inherited members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    closeFile(void)WvOut [protected]
    connect(int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)TcpWvOut
    disconnect(void)TcpWvOut
    getClipStatus(void)WvOut [inline, protected]
    getFrames(void) const TcpWvOut
    getTime(void) const TcpWvOut
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    openFile(const char *fileName, unsigned int nChannels=1, WvOut::FILE_TYPE type=WVOUT_WAV, Stk::StkFormat format=STK_SINT16)WvOut [protected]
    rawwavePath(void)Stk [inline, protected, static]
    resetClipStatus(void)WvOut [inline, protected]
    sampleRate(void)Stk [inline, protected, static]
    setRawwavePath(std::string path)Stk [protected, static]
    setSampleRate(StkFloat rate)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    TcpWvOut()TcpWvOut
    TcpWvOut(int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)TcpWvOut
    tick(const StkFloat sample)TcpWvOut [virtual]
    tick(const StkFloat *vector, unsigned int vectorSize)TcpWvOut [virtual]
    tick(const StkFrames &frames, unsigned int channel=1)TcpWvOut [virtual]
    tickFrame(const StkFloat *frameVector, unsigned int frames=1)TcpWvOut [virtual]
    tickFrame(const StkFrames &frames)TcpWvOut [virtual]
    WvOut()WvOut [protected]
    WvOut(const char *fileName, unsigned int nChannels=1, FILE_TYPE type=WVOUT_WAV, Stk::StkFormat format=STK_SINT16)WvOut [protected]
    WVOUT_AIFWvOut [protected, static]
    WVOUT_MATWvOut [protected, static]
    WVOUT_RAWWvOut [protected, static]
    WVOUT_SNDWvOut [protected, static]
    WVOUT_WAVWvOut [protected, static]
    ~Stk(void)Stk [protected, virtual]
    ~TcpWvOut()TcpWvOut
    ~WvOut()WvOut [protected, virtual]

    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTcpWvOut.html b/doc/html/classTcpWvOut.html deleted file mode 100644 index 67c8fb3..0000000 --- a/doc/html/classTcpWvOut.html +++ /dev/null @@ -1,383 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    TcpWvOut Class Reference

    #include <TcpWvOut.h> -

    -

    Inheritance diagram for TcpWvOut: -

    - -WvOut -Stk - -List of all members.

    Detailed Description

    -STK internet streaming output class. -

    -This protected WvOut subclass can stream data over a network via a TCP socket connection. The data is converted to big-endian byte order, if necessary, before being transmitted.

    -TcpWvOut supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame, from the tickFrame() method, which takes a pointer to multi-channel sample frame data.

    -This class connects to a socket server, the port and IP address of which must be specified as constructor arguments. The default data type is signed 16-bit integers but any of the defined StkFormats are permissible.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2004. -

    - -

    -Definition at line 34 of file TcpWvOut.h. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    TcpWvOut ()
     Default constructor ... the socket is not instantiated.

     TcpWvOut (int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)
     Overloaded constructor which opens a network connection during instantiation.

    ~TcpWvOut ()
     Class destructor.

    void connect (int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)
     Connect to the specified host and port and prepare to stream nChannels of data in the given data format.

    -void disconnect (void)
     If a connection is open, write out remaining samples in the queue and then disconnect.

    -unsigned long getFrames (void) const
     Return the number of sample frames output.

    -StkFloat getTime (void) const
     Return the number of seconds of data output.

    void tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame.

    void tick (const StkFloat *vector, unsigned int vectorSize)
     Output each sample in vector to all channels in vectorSize sample frames.

    void tick (const StkFrames &frames, unsigned int channel=1)
     Output a channel of the StkFrames object to all channels of the TcpWvOut object.

    void tickFrame (const StkFloat *frameVector, unsigned int frames=1)
     Output the frameVector of sample frames of the given length.

    virtual void tickFrame (const StkFrames &frames)
     Output the StkFrames data to the TcpWvOut object.

    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TcpWvOut::TcpWvOut int  port,
    const char *  hostname = "localhost",
    unsigned int  nChannels = 1,
    Stk::StkFormat  format = STK_SINT16
    -
    - - - - - -
    -   - - -

    -Overloaded constructor which opens a network connection during instantiation. -

    -An StkError is thrown if a socket error occurs or an invalid argument is specified.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    void TcpWvOut::connect int  port,
    const char *  hostname = "localhost",
    unsigned int  nChannels = 1,
    Stk::StkFormat  format = STK_SINT16
    -
    - - - - - -
    -   - - -

    -Connect to the specified host and port and prepare to stream nChannels of data in the given data format. -

    -An StkError is thrown if a socket error occurs or an invalid argument is specified.

    -

    - - - - -
    - - - - - - - - - - -
    void TcpWvOut::tick const StkFloat  sample  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Output a single sample to all channels in a sample frame. -

    -An StkError is thrown if a socket write error occurs. -

    -Reimplemented from WvOut.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - -
    void TcpWvOut::tick const StkFloat *  vector,
    unsigned int  vectorSize
    [virtual]
    -
    - - - - - -
    -   - - -

    -Output each sample in vector to all channels in vectorSize sample frames. -

    -An StkError is thrown if a socket write error occurs. -

    -Reimplemented from WvOut.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - -
    void TcpWvOut::tick const StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    -
    - - - - - -
    -   - - -

    -Output a channel of the StkFrames object to all channels of the TcpWvOut object. -

    -The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if a socket write error occurs or the channel argument is zero or it is greater than the number of channels in the StkFrames object. -

    -Reimplemented from WvOut.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - -
    void TcpWvOut::tickFrame const StkFloat *  frameVector,
    unsigned int  frames = 1
    [virtual]
    -
    - - - - - -
    -   - - -

    -Output the frameVector of sample frames of the given length. -

    -An StkError is thrown if a socket write error occurs. -

    -Reimplemented from WvOut.

    -

    - - - - -
    - - - - - - - - - - -
    virtual void TcpWvOut::tickFrame const StkFrames frames  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Output the StkFrames data to the TcpWvOut object. -

    -An StkError will be thrown if a socket write error occurs or if there is an incompatability between the number of channels in the TcpWvOut object and that in the StkFrames object. -

    -Reimplemented from WvOut.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTcpWvOut.png b/doc/html/classTcpWvOut.png deleted file mode 100644 index e690b16..0000000 Binary files a/doc/html/classTcpWvOut.png and /dev/null differ diff --git a/doc/html/classTcpWvOut__coll__graph.map b/doc/html/classTcpWvOut__coll__graph.map deleted file mode 100644 index 44826c2..0000000 --- a/doc/html/classTcpWvOut__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classWvOut.html 7,88 60,109 -rect $classStk.html 56,16 93,37 -rect $classSocket.html 84,88 137,109 diff --git a/doc/html/classTcpWvOut__coll__graph.md5 b/doc/html/classTcpWvOut__coll__graph.md5 deleted file mode 100644 index b2f5954..0000000 --- a/doc/html/classTcpWvOut__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8dca347a216828b696ac292ac8c0ddbe \ No newline at end of file diff --git a/doc/html/classTcpWvOut__coll__graph.png b/doc/html/classTcpWvOut__coll__graph.png deleted file mode 100644 index e7e94b8..0000000 Binary files a/doc/html/classTcpWvOut__coll__graph.png and /dev/null differ diff --git a/doc/html/classTcpWvOut__inherit__graph.map b/doc/html/classTcpWvOut__inherit__graph.map deleted file mode 100644 index 3328e09..0000000 --- a/doc/html/classTcpWvOut__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classWvOut.html 19,85 72,106 -rect $classStk.html 27,16 64,37 diff --git a/doc/html/classTcpWvOut__inherit__graph.md5 b/doc/html/classTcpWvOut__inherit__graph.md5 deleted file mode 100644 index c3a4f0e..0000000 --- a/doc/html/classTcpWvOut__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3f1353d750d5509892ec451e314bae9d \ No newline at end of file diff --git a/doc/html/classTcpWvOut__inherit__graph.png b/doc/html/classTcpWvOut__inherit__graph.png deleted file mode 100644 index caca5c2..0000000 Binary files a/doc/html/classTcpWvOut__inherit__graph.png and /dev/null differ diff --git a/doc/html/classThread-members.html b/doc/html/classThread-members.html deleted file mode 100644 index b2dd315..0000000 --- a/doc/html/classThread-members.html +++ /dev/null @@ -1,52 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Thread Member List

    This is the complete list of members for Thread, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    cancel(void)Thread
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    start(THREAD_FUNCTION routine, void *ptr=NULL)Thread
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    testCancel(void)Thread
    Thread()Thread
    wait(void)Thread
    ~Stk(void)Stk [protected, virtual]
    ~Thread()Thread


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classThread.html b/doc/html/classThread.html deleted file mode 100644 index 918b612..0000000 --- a/doc/html/classThread.html +++ /dev/null @@ -1,192 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Thread Class Reference

    #include <Thread.h> -

    -

    Inheritance diagram for Thread: -

    - -Stk - -List of all members.

    Detailed Description

    -STK thread class. -

    -This class provides a uniform interface for cross-platform threads. On unix systems, the pthread library is used. Under Windows, the C runtime threadex functions are used.

    -Each instance of the Thread class can be used to control a single thread process. Routines are provided to signal cancelation and/or joining with a thread, though it is not possible for this class to know the running status of a thread once it is started.

    -For cross-platform compatability, thread functions should be declared as follows:

    -THREAD_RETURN THREAD_TYPE thread_function(void *ptr)

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Thread ()
     Default constructor.
    ~Thread ()
     The class destructor does not attempt to cancel or join a thread.
    bool start (THREAD_FUNCTION routine, void *ptr=NULL)
     Begin execution of the thread routine. Upon success, true is returned.
    bool cancel (void)
     Signal cancellation of a thread routine, returning true on success.
    bool wait (void)
     Block the calling routine indefinitely until the thread terminates.
    void testCancel (void)
     Create a cancellation point within a thread routine.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    bool Thread::start THREAD_FUNCTION  routine,
    void *  ptr = NULL
    -
    - - - - - -
    -   - - -

    -Begin execution of the thread routine. Upon success, true is returned. -

    -A data pointer can be supplied to the thread routine via the optional ptr argument. If the thread cannot be created, the return value is false.

    -

    - - - - -
    - - - - - - - - - -
    bool Thread::cancel void   ) 
    -
    - - - - - -
    -   - - -

    -Signal cancellation of a thread routine, returning true on success. -

    -This function only signals thread cancellation. It does not wait to verify actual routine termination. A true return value only signifies that the cancellation signal was properly executed, not thread cancellation. A thread routine may need to make use of the testCancel() function to specify a cancellation point.

    -

    - - - - -
    - - - - - - - - - -
    bool Thread::wait void   ) 
    -
    - - - - - -
    -   - - -

    -Block the calling routine indefinitely until the thread terminates. -

    -This function suspends execution of the calling routine until the thread has terminated. It will return immediately if the thread was already terminated. A true return value signifies successful termination. A false return value indicates a problem with the wait call.

    -

    - - - - -
    - - - - - - - - - -
    void Thread::testCancel void   ) 
    -
    - - - - - -
    -   - - -

    -Create a cancellation point within a thread routine. -

    -This function call checks for thread cancellation, allowing the thread to be terminated if a cancellation request was previously signaled.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classThread.png b/doc/html/classThread.png deleted file mode 100644 index 91efc15..0000000 Binary files a/doc/html/classThread.png and /dev/null differ diff --git a/doc/html/classThread__coll__graph.map b/doc/html/classThread__coll__graph.map deleted file mode 100644 index 62122a1..0000000 --- a/doc/html/classThread__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classThread__coll__graph.md5 b/doc/html/classThread__coll__graph.md5 deleted file mode 100644 index 624d084..0000000 --- a/doc/html/classThread__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -b25abdfd9db177b1b498d458e718cc8a \ No newline at end of file diff --git a/doc/html/classThread__coll__graph.png b/doc/html/classThread__coll__graph.png deleted file mode 100644 index 8b3a9e9..0000000 Binary files a/doc/html/classThread__coll__graph.png and /dev/null differ diff --git a/doc/html/classThread__inherit__graph.map b/doc/html/classThread__inherit__graph.map deleted file mode 100644 index 62122a1..0000000 --- a/doc/html/classThread__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classThread__inherit__graph.md5 b/doc/html/classThread__inherit__graph.md5 deleted file mode 100644 index 5985833..0000000 --- a/doc/html/classThread__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -bca2bc3ff5f0767543e0593e8a7ea62a \ No newline at end of file diff --git a/doc/html/classThread__inherit__graph.png b/doc/html/classThread__inherit__graph.png deleted file mode 100644 index 8b3a9e9..0000000 Binary files a/doc/html/classThread__inherit__graph.png and /dev/null differ diff --git a/doc/html/classTubeBell-members.html b/doc/html/classTubeBell-members.html deleted file mode 100644 index 9441362..0000000 --- a/doc/html/classTubeBell-members.html +++ /dev/null @@ -1,71 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    TubeBell Member List

    This is the complete list of members for TubeBell, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()FM
    controlChange(int number, StkFloat value)FM [virtual]
    FM(unsigned int operators=4)FM
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()FM
    keyOn()FM
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    loadWaves(const char **filenames)FM
    noteOff(StkFloat amplitude)FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)TubeBell [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setControl1(StkFloat cVal)FM
    setControl2(StkFloat cVal)FM
    setFrequency(StkFloat frequency)FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)FM
    setModulationDepth(StkFloat mDepth)FM
    setModulationSpeed(StkFloat mSpeed)FM
    setRatio(unsigned int waveIndex, StkFloat ratio)FM
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    TubeBell()TubeBell
    ~FM()FM [virtual]
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~TubeBell()TubeBell


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTubeBell.html b/doc/html/classTubeBell.html deleted file mode 100644 index 3e28145..0000000 --- a/doc/html/classTubeBell.html +++ /dev/null @@ -1,90 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    TubeBell Class Reference

    #include <TubeBell.h> -

    -

    Inheritance diagram for TubeBell: -

    - -FM -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK tubular bell (orchestral chime) FM synthesis instrument. -

    -This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

    -

        Algorithm 5 is :  4->3--\
    -                             + --> Out
    -                      2->1--/
    -

    -Control Change Numbers:

      -
    • Modulator Index One = 2
    • Crossfade of Outputs = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

    -The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - -

    Public Member Functions

     TubeBell ()
     Class constructor.
    ~TubeBell ()
     Class destructor.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    TubeBell::TubeBell  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTubeBell.png b/doc/html/classTubeBell.png deleted file mode 100644 index b6e1039..0000000 Binary files a/doc/html/classTubeBell.png and /dev/null differ diff --git a/doc/html/classTubeBell__coll__graph.map b/doc/html/classTubeBell__coll__graph.map deleted file mode 100644 index 2830571..0000000 --- a/doc/html/classTubeBell__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $classFM.html 72,269 109,291 -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 85,16 123,37 -rect $classWvIn.html 84,88 124,109 -rect $classFilter.html 156,88 196,109 -rect $classWaveLoop.html 67,179 141,200 -rect $classTwoZero.html 167,179 231,200 diff --git a/doc/html/classTubeBell__coll__graph.md5 b/doc/html/classTubeBell__coll__graph.md5 deleted file mode 100644 index a88fc4f..0000000 --- a/doc/html/classTubeBell__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e8c8ad3d55be9256a96f829e95d1ee44 \ No newline at end of file diff --git a/doc/html/classTubeBell__coll__graph.png b/doc/html/classTubeBell__coll__graph.png deleted file mode 100644 index 307a6a8..0000000 Binary files a/doc/html/classTubeBell__coll__graph.png and /dev/null differ diff --git a/doc/html/classTubeBell__inherit__graph.map b/doc/html/classTubeBell__inherit__graph.map deleted file mode 100644 index f8524da..0000000 --- a/doc/html/classTubeBell__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classFM.html 20,155 57,176 -rect $classInstrmnt.html 11,86 67,107 -rect $classStk.html 20,16 57,38 diff --git a/doc/html/classTubeBell__inherit__graph.md5 b/doc/html/classTubeBell__inherit__graph.md5 deleted file mode 100644 index b1c25fd..0000000 --- a/doc/html/classTubeBell__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -260b514318ebc2f40f4c9503fed13021 \ No newline at end of file diff --git a/doc/html/classTubeBell__inherit__graph.png b/doc/html/classTubeBell__inherit__graph.png deleted file mode 100644 index 76350e8..0000000 Binary files a/doc/html/classTubeBell__inherit__graph.png and /dev/null differ diff --git a/doc/html/classTwoPole-members.html b/doc/html/classTwoPole-members.html deleted file mode 100644 index c367fad..0000000 --- a/doc/html/classTwoPole-members.html +++ /dev/null @@ -1,63 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    TwoPole Member List

    This is the complete list of members for TwoPole, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear(void)TwoPole
    Filter(void)Filter [protected]
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    getGain(void) const TwoPole [virtual]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)TwoPole [inline]
    lastOut(void) const TwoPole [virtual]
    printErrors(bool status)Stk [inline, protected, static]
    rawwavePath(void)Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, protected, static]
    setA1(StkFloat a1)TwoPole
    setA2(StkFloat a2)TwoPole
    setB0(StkFloat b0)TwoPole
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setGain(StkFloat gain)TwoPole [virtual]
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)Filter [protected]
    setRawwavePath(std::string path)Stk [protected, static]
    setResonance(StkFloat frequency, StkFloat radius, bool normalize=false)TwoPole
    setSampleRate(StkFloat rate)Stk [protected, static]
    showWarnings(bool status)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    tick(StkFloat sample)TwoPole [virtual]
    tick(StkFrames &frames, unsigned int channel=0)TwoPole [virtual]
    TwoPole()TwoPole
    ~Filter(void)Filter [protected, virtual]
    ~Stk(void)Stk [protected, virtual]
    ~TwoPole()TwoPole


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTwoPole.html b/doc/html/classTwoPole.html deleted file mode 100644 index c065a3f..0000000 --- a/doc/html/classTwoPole.html +++ /dev/null @@ -1,209 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    TwoPole Class Reference

    #include <TwoPole.h> -

    -

    Inheritance diagram for TwoPole: -

    - -Filter -Stk - -List of all members.

    Detailed Description

    -STK two-pole filter class. -

    -This protected Filter subclass implements a two-pole digital filter. A method is provided for creating a resonance in the frequency response while maintaining a nearly constant filter gain.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    TwoPole ()
     Default constructor creates a second-order pass-through filter.
    ~TwoPole ()
     Class destructor.
    -void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    -void clear (void)
     Clears the internal states of the filter.
    -void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    -void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    -void setA2 (StkFloat a2)
     Set the a[2] coefficient value.
    void setResonance (StkFloat frequency, StkFloat radius, bool normalize=false)
     Sets the filter coefficients for a resonance at frequency (in Hz).
    void setGain (StkFloat gain)
     Set the filter gain.
    -StkFloat getGain (void) const
     Return the current filter gain.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat sample)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void TwoPole::setResonance StkFloat  frequency,
    StkFloat  radius,
    bool  normalize = false
    -
    - - - - - -
    -   - - -

    -Sets the filter coefficients for a resonance at frequency (in Hz). -

    -This method determines the filter coefficients corresponding to two complex-conjugate poles with the given frequency (in Hz) and radius from the z-plane origin. If normalize is true, the coefficients are then normalized to produce unity gain at frequency (the actual maximum filter gain tends to be slightly greater than unity when radius is not close to one). The resulting filter frequency response has a resonance at the given frequency. The closer the poles are to the unit-circle (radius close to one), the narrower the resulting resonance width. An unstable filter will result for radius >= 1.0. For a better resonance filter, use a BiQuad filter.

    See also:
    BiQuad filter class
    -
    -

    - - - - -
    - - - - - - - - - -
    void TwoPole::setGain StkFloat  gain  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Set the filter gain. -

    -The gain is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. -

    -Reimplemented from Filter.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFrames& TwoPole::tick StkFrames frames,
    unsigned int  channel = 0
    [virtual]
    -
    - - - - - -
    -   - - -

    -Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object. -

    -Reimplemented from Filter.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTwoPole.png b/doc/html/classTwoPole.png deleted file mode 100644 index de4954a..0000000 Binary files a/doc/html/classTwoPole.png and /dev/null differ diff --git a/doc/html/classTwoPole__coll__graph.map b/doc/html/classTwoPole__coll__graph.map deleted file mode 100644 index f4d02b8..0000000 --- a/doc/html/classTwoPole__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 17,85 57,106 -rect $classStk.html 19,16 56,37 diff --git a/doc/html/classTwoPole__coll__graph.md5 b/doc/html/classTwoPole__coll__graph.md5 deleted file mode 100644 index 43d6f34..0000000 --- a/doc/html/classTwoPole__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -efd5b99c1cb3b159dcb0620702fdc187 \ No newline at end of file diff --git a/doc/html/classTwoPole__coll__graph.png b/doc/html/classTwoPole__coll__graph.png deleted file mode 100644 index 203bb33..0000000 Binary files a/doc/html/classTwoPole__coll__graph.png and /dev/null differ diff --git a/doc/html/classTwoPole__inherit__graph.map b/doc/html/classTwoPole__inherit__graph.map deleted file mode 100644 index f4d02b8..0000000 --- a/doc/html/classTwoPole__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 17,85 57,106 -rect $classStk.html 19,16 56,37 diff --git a/doc/html/classTwoPole__inherit__graph.md5 b/doc/html/classTwoPole__inherit__graph.md5 deleted file mode 100644 index 328187f..0000000 --- a/doc/html/classTwoPole__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -99857a6bb4e726f450ed4bc1193e20eb \ No newline at end of file diff --git a/doc/html/classTwoPole__inherit__graph.png b/doc/html/classTwoPole__inherit__graph.png deleted file mode 100644 index 203bb33..0000000 Binary files a/doc/html/classTwoPole__inherit__graph.png and /dev/null differ diff --git a/doc/html/classTwoZero-members.html b/doc/html/classTwoZero-members.html deleted file mode 100644 index ab049b1..0000000 --- a/doc/html/classTwoZero-members.html +++ /dev/null @@ -1,63 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    TwoZero Member List

    This is the complete list of members for TwoZero, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear(void)TwoZero
    Filter(void)Filter [protected]
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    getGain(void) const TwoZero [virtual]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)TwoZero [inline]
    lastOut(void) const TwoZero [virtual]
    printErrors(bool status)Stk [inline, protected, static]
    rawwavePath(void)Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, protected, static]
    setB0(StkFloat b0)TwoZero
    setB1(StkFloat b1)TwoZero
    setB2(StkFloat b2)TwoZero
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)Filter [protected]
    setGain(StkFloat gain)TwoZero [virtual]
    setNotch(StkFloat frequency, StkFloat radius)TwoZero
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)Filter [protected]
    setRawwavePath(std::string path)Stk [protected, static]
    setSampleRate(StkFloat rate)Stk [protected, static]
    showWarnings(bool status)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    tick(StkFloat sample)TwoZero [virtual]
    tick(StkFrames &frames, unsigned int channel=0)TwoZero [virtual]
    TwoZero()TwoZero
    ~Filter(void)Filter [protected, virtual]
    ~Stk(void)Stk [protected, virtual]
    ~TwoZero()TwoZero


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTwoZero.html b/doc/html/classTwoZero.html deleted file mode 100644 index ce3a957..0000000 --- a/doc/html/classTwoZero.html +++ /dev/null @@ -1,202 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    TwoZero Class Reference

    #include <TwoZero.h> -

    -

    Inheritance diagram for TwoZero: -

    - -Filter -Stk - -List of all members.

    Detailed Description

    -STK two-zero filter class. -

    -This protected Filter subclass implements a two-zero digital filter. A method is provided for creating a "notch" in the frequency response while maintaining a constant filter gain.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    TwoZero ()
     Default constructor creates a second-order pass-through filter.
    ~TwoZero ()
     Class destructor.
    -void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    -void clear (void)
     Clears the internal states of the filter.
    -void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    -void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    -void setB2 (StkFloat b2)
     Set the b[2] coefficient value.
    void setNotch (StkFloat frequency, StkFloat radius)
     Sets the filter coefficients for a "notch" at frequency (in Hz).
    void setGain (StkFloat gain)
     Set the filter gain.
    -StkFloat getGain (void) const
     Return the current filter gain.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat sample)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void TwoZero::setNotch StkFloat  frequency,
    StkFloat  radius
    -
    - - - - - -
    -   - - -

    -Sets the filter coefficients for a "notch" at frequency (in Hz). -

    -This method determines the filter coefficients corresponding to two complex-conjugate zeros with the given frequency (in Hz) and radius from the z-plane origin. The coefficients are then normalized to produce a maximum filter gain of one (independent of the filter gain parameter). The resulting filter frequency response has a "notch" or anti-resonance at the given frequency. The closer the zeros are to the unit-circle (radius close to or equal to one), the narrower the resulting notch width.

    -

    - - - - -
    - - - - - - - - - -
    void TwoZero::setGain StkFloat  gain  )  [virtual]
    -
    - - - - - -
    -   - - -

    -Set the filter gain. -

    -The gain is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. -

    -Reimplemented from Filter.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFrames& TwoZero::tick StkFrames frames,
    unsigned int  channel = 0
    [virtual]
    -
    - - - - - -
    -   - - -

    -Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object. -

    -Reimplemented from Filter.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classTwoZero.png b/doc/html/classTwoZero.png deleted file mode 100644 index f59f4a5..0000000 Binary files a/doc/html/classTwoZero.png and /dev/null differ diff --git a/doc/html/classTwoZero__coll__graph.map b/doc/html/classTwoZero__coll__graph.map deleted file mode 100644 index 340e662..0000000 --- a/doc/html/classTwoZero__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 19,85 59,106 -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classTwoZero__coll__graph.md5 b/doc/html/classTwoZero__coll__graph.md5 deleted file mode 100644 index 261cfba..0000000 --- a/doc/html/classTwoZero__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2bd58550641b89bf8b94e9c0d740742b \ No newline at end of file diff --git a/doc/html/classTwoZero__coll__graph.png b/doc/html/classTwoZero__coll__graph.png deleted file mode 100644 index 43bf676..0000000 Binary files a/doc/html/classTwoZero__coll__graph.png and /dev/null differ diff --git a/doc/html/classTwoZero__inherit__graph.map b/doc/html/classTwoZero__inherit__graph.map deleted file mode 100644 index 340e662..0000000 --- a/doc/html/classTwoZero__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classFilter.html 19,85 59,106 -rect $classStk.html 20,16 57,37 diff --git a/doc/html/classTwoZero__inherit__graph.md5 b/doc/html/classTwoZero__inherit__graph.md5 deleted file mode 100644 index d431169..0000000 --- a/doc/html/classTwoZero__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -27610999d1e335d986e2728d06f6effc \ No newline at end of file diff --git a/doc/html/classTwoZero__inherit__graph.png b/doc/html/classTwoZero__inherit__graph.png deleted file mode 100644 index 43bf676..0000000 Binary files a/doc/html/classTwoZero__inherit__graph.png and /dev/null differ diff --git a/doc/html/classUdpSocket-members.html b/doc/html/classUdpSocket-members.html deleted file mode 100644 index 48b08e5..0000000 --- a/doc/html/classUdpSocket-members.html +++ /dev/null @@ -1,62 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    UdpSocket Member List

    This is the complete list of members for UdpSocket, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    close(int socket)Socket [static]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    id(void) const Socket
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    isValid(int socket)Socket [static]
    port(void) const Socket
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)UdpSocket [virtual]
    Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)Socket [static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setAddress(struct sockaddr_in *address, int port=2006, std::string hostname="localhost")UdpSocket [protected]
    setBlocking(int socket, bool enable)Socket [static]
    setDestination(int port=2006, std::string hostname="localhost")UdpSocket
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Socket()Socket
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    UdpSocket(int port=2006)UdpSocket
    writeBuffer(const void *buffer, long bufferSize, int flags=0)UdpSocket [virtual]
    Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)Socket [static]
    writeBufferTo(const void *buffer, long bufferSize, int port, std::string hostname="localhost", int flags=0)UdpSocket
    ~Socket()Socket [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~UdpSocket()UdpSocket


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classUdpSocket.html b/doc/html/classUdpSocket.html deleted file mode 100644 index b6dca38..0000000 --- a/doc/html/classUdpSocket.html +++ /dev/null @@ -1,230 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    UdpSocket Class Reference

    #include <UdpSocket.h> -

    -

    Inheritance diagram for UdpSocket: -

    - -Socket -Stk - -List of all members.

    Detailed Description

    -STK UDP socket server/client class. -

    -This class provides a uniform cross-platform UDP socket server/client interface. Methods are provided for reading or writing data buffers. The constructor creates a UDP socket and binds it to the specified port. Note that only one socket can be bound to a given port on the same machine.

    -UDP sockets provide unreliable, connection-less service. Messages can be lost, duplicated, or received out of order. That said, data transmission tends to be faster than with TCP connections and datagrams are not potentially combined by the underlying system.

    -The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate the occurence of an error.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     UdpSocket (int port=2006)
     Default constructor creates a local UDP socket on port 2006 (or the specified port number).
    ~UdpSocket ()
     The class destructor closes the socket instance.
    void setDestination (int port=2006, std::string hostname="localhost")
     Set the address for subsequent outgoing data sent via the writeBuffer() function.
    int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Send a buffer to the address specified with the setDestination() function. Returns the number of bytes written or -1 if an error occurs.
    -int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read an input buffer, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    -int writeBufferTo (const void *buffer, long bufferSize, int port, std::string hostname="localhost", int flags=0)
     Write a buffer to the specified socket. Returns the number of bytes written or -1 if an error occurs.

    Protected Member Functions

    void setAddress (struct sockaddr_in *address, int port=2006, std::string hostname="localhost")
     A protected function for use in writing a socket address structure.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - - -
    UdpSocket::UdpSocket int  port = 2006  ) 
    -
    - - - - - -
    -   - - -

    -Default constructor creates a local UDP socket on port 2006 (or the specified port number). -

    -An StkError will be thrown if a socket error occurs during instantiation.

    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void UdpSocket::setDestination int  port = 2006,
    std::string  hostname = "localhost"
    -
    - - - - - -
    -   - - -

    -Set the address for subsequent outgoing data sent via the writeBuffer() function. -

    -An StkError will be thrown if the host is unknown.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    int UdpSocket::writeBuffer const void *  buffer,
    long  bufferSize,
    int  flags = 0
    [virtual]
    -
    - - - - - -
    -   - - -

    -Send a buffer to the address specified with the setDestination() function. Returns the number of bytes written or -1 if an error occurs. -

    -This function will fail if the default address (set with setDestination()) is invalid or has not been specified. -

    -Implements Socket.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void UdpSocket::setAddress struct sockaddr_in *  address,
    int  port = 2006,
    std::string  hostname = "localhost"
    [protected]
    -
    - - - - - -
    -   - - -

    -A protected function for use in writing a socket address structure. -

    -An StkError will be thrown if the host is unknown.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classUdpSocket.png b/doc/html/classUdpSocket.png deleted file mode 100644 index d3df702..0000000 Binary files a/doc/html/classUdpSocket.png and /dev/null differ diff --git a/doc/html/classVector3D-members.html b/doc/html/classVector3D-members.html deleted file mode 100644 index 01b76c9..0000000 --- a/doc/html/classVector3D-members.html +++ /dev/null @@ -1,56 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Vector3D Member List

    This is the complete list of members for Vector3D, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    getLength()Vector3D
    getX()Vector3D
    getY()Vector3D
    getZ()Vector3D
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setX(StkFloat x)Vector3D
    setXYZ(StkFloat x, StkFloat y, StkFloat z)Vector3D
    setY(StkFloat y)Vector3D
    setZ(StkFloat z)Vector3D
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    Vector3D(StkFloat initX=0.0, StkFloat initY=0.0, StkFloat initZ=0.0)Vector3D
    ~Stk(void)Stk [protected, virtual]
    ~Vector3D()Vector3D


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classVector3D.html b/doc/html/classVector3D.html deleted file mode 100644 index fcf5716..0000000 --- a/doc/html/classVector3D.html +++ /dev/null @@ -1,79 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Vector3D Class Reference

    #include <Vector3D.h> -

    -

    Inheritance diagram for Vector3D: -

    - -Stk - -List of all members.

    Detailed Description

    -STK 3D vector class. -

    -This class implements a three-dimensional vector.

    -by Perry R. Cook, 1995 - 2004. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Vector3D (StkFloat initX=0.0, StkFloat initY=0.0, StkFloat initZ=0.0)
     Default constructor taking optional initial X, Y, and Z values.
    ~Vector3D ()
     Class destructor.
    -StkFloat getX ()
     Get the current X value.
    -StkFloat getY ()
     Get the current Y value.
    -StkFloat getZ ()
     Get the current Z value.
    -StkFloat getLength ()
     Calculate the vector length.
    -void setXYZ (StkFloat x, StkFloat y, StkFloat z)
     Set the X, Y, and Z values simultaniously.
    -void setX (StkFloat x)
     Set the X value.
    -void setY (StkFloat y)
     Set the Y value.
    -void setZ (StkFloat z)
     Set the Z value.
    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classVector3D.png b/doc/html/classVector3D.png deleted file mode 100644 index 09c98b1..0000000 Binary files a/doc/html/classVector3D.png and /dev/null differ diff --git a/doc/html/classVector3D__coll__graph.map b/doc/html/classVector3D__coll__graph.map deleted file mode 100644 index 7836340..0000000 --- a/doc/html/classVector3D__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 23,16 60,37 diff --git a/doc/html/classVector3D__coll__graph.md5 b/doc/html/classVector3D__coll__graph.md5 deleted file mode 100644 index 7c991a0..0000000 --- a/doc/html/classVector3D__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1072401bc8177d1a6cfc9d9d339b32d3 \ No newline at end of file diff --git a/doc/html/classVector3D__coll__graph.png b/doc/html/classVector3D__coll__graph.png deleted file mode 100644 index 147ef39..0000000 Binary files a/doc/html/classVector3D__coll__graph.png and /dev/null differ diff --git a/doc/html/classVector3D__inherit__graph.map b/doc/html/classVector3D__inherit__graph.map deleted file mode 100644 index 7836340..0000000 --- a/doc/html/classVector3D__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 23,16 60,37 diff --git a/doc/html/classVector3D__inherit__graph.md5 b/doc/html/classVector3D__inherit__graph.md5 deleted file mode 100644 index c47df5f..0000000 --- a/doc/html/classVector3D__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -252e428cff5e22abadf5241746d0346d \ No newline at end of file diff --git a/doc/html/classVector3D__inherit__graph.png b/doc/html/classVector3D__inherit__graph.png deleted file mode 100644 index 147ef39..0000000 Binary files a/doc/html/classVector3D__inherit__graph.png and /dev/null differ diff --git a/doc/html/classVoicForm-members.html b/doc/html/classVoicForm-members.html deleted file mode 100644 index 709202d..0000000 --- a/doc/html/classVoicForm-members.html +++ /dev/null @@ -1,67 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    VoicForm Member List

    This is the complete list of members for VoicForm, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()VoicForm
    controlChange(int number, StkFloat value)VoicForm [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)VoicForm [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)VoicForm [virtual]
    printErrors(bool status)Stk [inline, static]
    quiet()VoicForm
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFilterSweepRate(unsigned int whichOne, StkFloat rate)VoicForm
    setFrequency(StkFloat frequency)VoicForm [virtual]
    setPhoneme(const char *phoneme)VoicForm
    setPitchSweepRate(StkFloat rate)VoicForm
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    setUnVoiced(StkFloat nGain)VoicForm
    setVoiced(StkFloat vGain)VoicForm
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    speak()VoicForm
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    VoicForm()VoicForm
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~VoicForm()VoicForm


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classVoicForm.html b/doc/html/classVoicForm.html deleted file mode 100644 index 5837351..0000000 --- a/doc/html/classVoicForm.html +++ /dev/null @@ -1,129 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    VoicForm Class Reference

    #include <VoicForm.h> -

    -

    Inheritance diagram for VoicForm: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -Four formant synthesis instrument. -

    -This instrument contains an excitation singing wavetable (looping wave with random and periodic vibrato, smoothing on frequency, etc.), excitation noise, and four sweepable complex resonances.

    -Measured formant data is included, and enough data is there to support either parallel or cascade synthesis. In the floating point case cascade synthesis is the most natural so that's what you'll find here.

    -Control Change Numbers:

      -
    • Voiced/Unvoiced Mix = 2
    • Vowel/Phoneme Selection = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Loudness (Spectral Tilt) = 128
    -

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     VoicForm ()
     Class constructor.
    ~VoicForm ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -bool setPhoneme (const char *phoneme)
     Set instrument parameters for the given phoneme. Returns false if phoneme not found.
    -void setVoiced (StkFloat vGain)
     Set the voiced component gain.
    -void setUnVoiced (StkFloat nGain)
     Set the unvoiced component gain.
    -void setFilterSweepRate (unsigned int whichOne, StkFloat rate)
     Set the sweep rate for a particular formant filter (0-3).
    -void setPitchSweepRate (StkFloat rate)
     Set voiced component pitch sweep rate.
    -void speak ()
     Start the voice.
    -void quiet ()
     Stop the voice.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    VoicForm::VoicForm  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classVoicForm.png b/doc/html/classVoicForm.png deleted file mode 100644 index a26b0b0..0000000 Binary files a/doc/html/classVoicForm.png and /dev/null differ diff --git a/doc/html/classVoicForm__coll__graph.map b/doc/html/classVoicForm__coll__graph.map deleted file mode 100644 index a85d9af..0000000 --- a/doc/html/classVoicForm__coll__graph.map +++ /dev/null @@ -1,14 +0,0 @@ -base referer -rect $classInstrmnt.html 84,133 140,154 -rect $classStk.html 251,16 288,37 -rect $classGenerator.html 235,178 304,200 -rect $classFilter.html 665,88 705,109 -rect $classNoise.html 60,322 103,344 -rect $classSingWave.html 339,376 408,397 -rect $classModulate.html 380,269 444,290 -rect $classEnvelope.html 169,269 233,290 -rect $classOnePole.html 617,178 679,200 -rect $classOneZero.html 775,224 839,245 -rect $classBiQuad.html 703,178 756,200 -rect $classWaveLoop.html 432,178 507,200 -rect $classFormSwep.html 692,322 767,344 diff --git a/doc/html/classVoicForm__coll__graph.md5 b/doc/html/classVoicForm__coll__graph.md5 deleted file mode 100644 index b4c1012..0000000 --- a/doc/html/classVoicForm__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a8c85c4aab3d603c7843176be7f50216 \ No newline at end of file diff --git a/doc/html/classVoicForm__coll__graph.png b/doc/html/classVoicForm__coll__graph.png deleted file mode 100644 index 57e5101..0000000 Binary files a/doc/html/classVoicForm__coll__graph.png and /dev/null differ diff --git a/doc/html/classVoicForm__inherit__graph.map b/doc/html/classVoicForm__inherit__graph.map deleted file mode 100644 index 6e1da3c..0000000 --- a/doc/html/classVoicForm__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 13,85 69,106 -rect $classStk.html 23,16 60,37 diff --git a/doc/html/classVoicForm__inherit__graph.md5 b/doc/html/classVoicForm__inherit__graph.md5 deleted file mode 100644 index 548c099..0000000 --- a/doc/html/classVoicForm__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f86ba32333439a4cb4f1116e6e0ea2c4 \ No newline at end of file diff --git a/doc/html/classVoicForm__inherit__graph.png b/doc/html/classVoicForm__inherit__graph.png deleted file mode 100644 index 4ac245f..0000000 Binary files a/doc/html/classVoicForm__inherit__graph.png and /dev/null differ diff --git a/doc/html/classVoicer-members.html b/doc/html/classVoicer-members.html deleted file mode 100644 index 8963dee..0000000 --- a/doc/html/classVoicer-members.html +++ /dev/null @@ -1,66 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Voicer Member List

    This is the complete list of members for Voicer, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addInstrument(Instrmnt *instrument, int channel=0)Voicer
    addSampleRateAlert(Stk *ptr)Stk [protected]
    controlChange(int number, StkFloat value, int channel=0)Voicer
    controlChange(long tag, int number, StkFloat value)Voicer
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastOut() const Voicer
    lastOutLeft() const Voicer
    lastOutRight() const Voicer
    noteOff(StkFloat noteNumber, StkFloat amplitude, int channel=0)Voicer
    noteOff(long tag, StkFloat amplitude)Voicer
    noteOn(StkFloat noteNumber, StkFloat amplitude, int channel=0)Voicer
    pitchBend(StkFloat value, int channel=0)Voicer
    pitchBend(long tag, StkFloat value)Voicer
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeInstrument(Instrmnt *instrument)Voicer
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat noteNumber, int channel=0)Voicer
    setFrequency(long tag, StkFloat noteNumber)Voicer
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    silence(void)Voicer
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick()Voicer
    tick(StkFloat *vector, unsigned int vectorSize)Voicer
    tick(StkFrames &frames, unsigned int channel=1)Voicer [virtual]
    Voicer(StkFloat decayTime=0.2)Voicer
    ~Stk(void)Stk [protected, virtual]
    ~Voicer()Voicer


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classVoicer.html b/doc/html/classVoicer.html deleted file mode 100644 index ebc64a5..0000000 --- a/doc/html/classVoicer.html +++ /dev/null @@ -1,429 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Voicer Class Reference

    #include <Voicer.h> -

    -

    Inheritance diagram for Voicer: -

    - -Stk - -List of all members.

    Detailed Description

    -STK voice manager class. -

    -This class can be used to manage a group of STK instrument classes. Individual voices can be controlled via unique note tags. Instrument groups can be controlled by channel number.

    -A previously constructed STK instrument class is linked with a voice manager using the addInstrument() function. An optional channel number argument can be specified to the addInstrument() function as well (default channel = 0). The voice manager does not delete any instrument instances ... it is the responsibility of the user to allocate and deallocate all instruments.

    -The tick() function returns the mix of all sounding voices. Each noteOn returns a unique tag (credits to the NeXT MusicKit), so you can send control changes to specific voices within an ensemble. Alternately, control changes can be sent to all voices on a given channel.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Voicer (StkFloat decayTime=0.2)
     Class constructor taking an optional note decay time (in seconds).
    ~Voicer ()
     Class destructor.
    void addInstrument (Instrmnt *instrument, int channel=0)
     Add an instrument with an optional channel number to the voice manager.
    void removeInstrument (Instrmnt *instrument)
     Remove the given instrument pointer from the voice manager's control.
    long noteOn (StkFloat noteNumber, StkFloat amplitude, int channel=0)
     Initiate a noteOn event with the given note number and amplitude and return a unique note tag.
    void noteOff (StkFloat noteNumber, StkFloat amplitude, int channel=0)
     Send a noteOff to all voices having the given noteNumber and optional channel (default channel = 0).
    void noteOff (long tag, StkFloat amplitude)
     Send a noteOff to the voice with the given note tag.
    void setFrequency (StkFloat noteNumber, int channel=0)
     Send a frequency update message to all voices assigned to the optional channel argument (default channel = 0).
    void setFrequency (long tag, StkFloat noteNumber)
     Send a frequency update message to the voice with the given note tag.
    -void pitchBend (StkFloat value, int channel=0)
     Send a pitchBend message to all voices assigned to the optional channel argument (default channel = 0).
    -void pitchBend (long tag, StkFloat value)
     Send a pitchBend message to the voice with the given note tag.
    -void controlChange (int number, StkFloat value, int channel=0)
     Send a controlChange to all instruments assigned to the optional channel argument (default channel = 0).
    -void controlChange (long tag, int number, StkFloat value)
     Send a controlChange to the voice with the given note tag.
    -void silence (void)
     Send a noteOff message to all existing voices.
    -StkFloat tick ()
     Mix the output for all sounding voices.
    -StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Compute vectorSize output mixes and return them in vector.
    virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
     Fill a channel of the StkFrames object with computed outputs.
    -StkFloat lastOut () const
     Return the last output value.
    -StkFloat lastOutLeft () const
     Return the last left output value.
    -StkFloat lastOutRight () const
     Return the last right output value.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void Voicer::addInstrument Instrmnt instrument,
    int  channel = 0
    -
    - - - - - -
    -   - - -

    -Add an instrument with an optional channel number to the voice manager. -

    -A set of instruments can be grouped by channel number and controlled via the functions which take a channel number argument.

    -

    - - - - -
    - - - - - - - - - -
    void Voicer::removeInstrument Instrmnt instrument  ) 
    -
    - - - - - -
    -   - - -

    -Remove the given instrument pointer from the voice manager's control. -

    -It is important that any instruments which are to be deleted by the user while the voice manager is running be first removed from the manager's control via this function!!

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    long Voicer::noteOn StkFloat  noteNumber,
    StkFloat  amplitude,
    int  channel = 0
    -
    - - - - - -
    -   - - -

    -Initiate a noteOn event with the given note number and amplitude and return a unique note tag. -

    -Send the noteOn message to the first available unused voice. If all voices are sounding, the oldest voice is interrupted and sent the noteOn message. If the optional channel argument is non-zero, only voices on that channel are used. If no voices are found for a specified non-zero channel value, the function returns -1. The amplitude value should be in the range 0.0 - 128.0.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void Voicer::noteOff StkFloat  noteNumber,
    StkFloat  amplitude,
    int  channel = 0
    -
    - - - - - -
    -   - - -

    -Send a noteOff to all voices having the given noteNumber and optional channel (default channel = 0). -

    -The amplitude value should be in the range 0.0 - 128.0.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void Voicer::noteOff long  tag,
    StkFloat  amplitude
    -
    - - - - - -
    -   - - -

    -Send a noteOff to the voice with the given note tag. -

    -The amplitude value should be in the range 0.0 - 128.0.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void Voicer::setFrequency StkFloat  noteNumber,
    int  channel = 0
    -
    - - - - - -
    -   - - -

    -Send a frequency update message to all voices assigned to the optional channel argument (default channel = 0). -

    -The noteNumber argument corresponds to a MIDI note number, though it is a floating-point value and can range beyond the normal 0-127 range.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void Voicer::setFrequency long  tag,
    StkFloat  noteNumber
    -
    - - - - - -
    -   - - -

    -Send a frequency update message to the voice with the given note tag. -

    -The noteNumber argument corresponds to a MIDI note number, though it is a floating-point value and can range beyond the normal 0-127 range.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    virtual StkFrames& Voicer::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    -
    - - - - - -
    -   - - -

    -Fill a channel of the StkFrames object with computed outputs. -

    -The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classVoicer.png b/doc/html/classVoicer.png deleted file mode 100644 index 9e654e2..0000000 Binary files a/doc/html/classVoicer.png and /dev/null differ diff --git a/doc/html/classVoicer__coll__graph.map b/doc/html/classVoicer__coll__graph.map deleted file mode 100644 index 62122a1..0000000 --- a/doc/html/classVoicer__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classVoicer__coll__graph.md5 b/doc/html/classVoicer__coll__graph.md5 deleted file mode 100644 index 65326be..0000000 --- a/doc/html/classVoicer__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -985199a9eb0ab21c1f2b0599c98c1379 \ No newline at end of file diff --git a/doc/html/classVoicer__coll__graph.png b/doc/html/classVoicer__coll__graph.png deleted file mode 100644 index 8b739aa..0000000 Binary files a/doc/html/classVoicer__coll__graph.png and /dev/null differ diff --git a/doc/html/classVoicer__inherit__graph.map b/doc/html/classVoicer__inherit__graph.map deleted file mode 100644 index 62122a1..0000000 --- a/doc/html/classVoicer__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classVoicer__inherit__graph.md5 b/doc/html/classVoicer__inherit__graph.md5 deleted file mode 100644 index 75466e1..0000000 --- a/doc/html/classVoicer__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -12c0a1aadb51f4ce52de0a4dc8dede1e \ No newline at end of file diff --git a/doc/html/classVoicer__inherit__graph.png b/doc/html/classVoicer__inherit__graph.png deleted file mode 100644 index 8b739aa..0000000 Binary files a/doc/html/classVoicer__inherit__graph.png and /dev/null differ diff --git a/doc/html/classWaveLoop-members.html b/doc/html/classWaveLoop-members.html deleted file mode 100644 index f5bc615..0000000 --- a/doc/html/classWaveLoop-members.html +++ /dev/null @@ -1,72 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    WaveLoop Member List

    This is the complete list of members for WaveLoop, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addPhase(StkFloat angle)WaveLoop
    addPhaseOffset(StkFloat angle)WaveLoop
    addSampleRateAlert(Stk *ptr)Stk [protected]
    addTime(StkFloat time)WaveLoop [virtual]
    closeFile(void)FileWvIn
    FileWvIn(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)FileWvIn
    FileWvIn(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)FileWvIn
    getChannels(void) const WvIn [inline]
    getFileRate(void) const FileWvIn [inline]
    getSize(void) const FileWvIn [inline]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    isFinished(void) const FileWvIn [inline]
    lastFrame(void) const WvIn [inline]
    normalize(void)FileWvIn
    normalize(StkFloat peak)FileWvIn
    openFile(std::string fileName, bool raw=false, bool doNormalize=true)WaveLoop
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    reset(void)FileWvIn
    sampleRate(void)Stk [inline, static]
    setFrequency(StkFloat frequency)WaveLoop
    setInterpolate(bool doInterpolate)FileWvIn [inline]
    setRate(StkFloat rate)WaveLoop
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)WvIn
    tick(StkFrames &frames, unsigned int channel=0)WvIn
    tickFrame(StkFrames &frames)WvIn
    WaveLoop(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)WaveLoop
    WaveLoop(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)WaveLoop
    WvIn()WvIn
    ~FileWvIn()FileWvIn [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~WaveLoop()WaveLoop [virtual]
    ~WvIn()WvIn [virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classWaveLoop.html b/doc/html/classWaveLoop.html deleted file mode 100644 index 5013816..0000000 --- a/doc/html/classWaveLoop.html +++ /dev/null @@ -1,243 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    WaveLoop Class Reference

    #include <WaveLoop.h> -

    -

    Inheritance diagram for WaveLoop: -

    - -FileWvIn -WvIn -Stk - -List of all members.

    Detailed Description

    -STK waveform oscillator class. -

    -This class inherits from FileWvIn and provides audio file looping functionality. Any audio file that can be loaded by FileRead can be looped using this class.

    -WaveLoop supports multi-channel data. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return references or pointers to multi-channel sample frames.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    WaveLoop (unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Default constructor.
    WaveLoop (std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Class constructor that opens a specified file.
    -virtual ~WaveLoop ()
     Class destructor.
    void openFile (std::string fileName, bool raw=false, bool doNormalize=true)
     Open the specified file and load its data.
    void setRate (StkFloat rate)
     Set the data read rate in samples. The rate can be negative.
    void setFrequency (StkFloat frequency)
     Set the data interpolation rate based on a looping frequency.
    -void addTime (StkFloat time)
     Increment the read pointer by time samples, modulo file size.
    void addPhase (StkFloat angle)
     Increment current read pointer by angle, relative to a looping frequency.
    void addPhaseOffset (StkFloat angle)
     Add a phase offset to the current read pointer.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    void WaveLoop::openFile std::string  fileName,
    bool  raw = false,
    bool  doNormalize = true
    -
    - - - - - -
    -   - - -

    -Open the specified file and load its data. -

    -Data from a previously opened file will be overwritten by this function. An StkError will be thrown if the file is not found, its format is unknown, or a read error occurs. If the file data is to be loaded incrementally from disk and normalization is specified, a scaling will be applied with respect to fixed-point limits. If the data format is floating-point, no scaling is performed. -

    -Reimplemented from FileWvIn.

    -

    - - - - -
    - - - - - - - - - -
    void WaveLoop::setRate StkFloat  rate  ) 
    -
    - - - - - -
    -   - - -

    -Set the data read rate in samples. The rate can be negative. -

    -If the rate value is negative, the data is read in reverse order. -

    -Reimplemented from FileWvIn.

    -

    - - - - -
    - - - - - - - - - -
    void WaveLoop::setFrequency StkFloat  frequency  ) 
    -
    - - - - - -
    -   - - -

    -Set the data interpolation rate based on a looping frequency. -

    -This function determines the interpolation rate based on the file size and the current Stk::sampleRate. The frequency value corresponds to file cycles per second. The frequency can be negative, in which case the loop is read in reverse order.

    -

    - - - - -
    - - - - - - - - - -
    void WaveLoop::addPhase StkFloat  angle  ) 
    -
    - - - - - -
    -   - - -

    -Increment current read pointer by angle, relative to a looping frequency. -

    -This function increments the read pointer based on the file size and the current Stk::sampleRate. The anAngle value is a multiple of file size.

    -

    - - - - -
    - - - - - - - - - -
    void WaveLoop::addPhaseOffset StkFloat  angle  ) 
    -
    - - - - - -
    -   - - -

    -Add a phase offset to the current read pointer. -

    -This function determines a time offset based on the file size and the current Stk::sampleRate. The angle value is a multiple of file size.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classWaveLoop.png b/doc/html/classWaveLoop.png deleted file mode 100644 index 0969909..0000000 Binary files a/doc/html/classWaveLoop.png and /dev/null differ diff --git a/doc/html/classWaveLoop__coll__graph.map b/doc/html/classWaveLoop__coll__graph.map deleted file mode 100644 index 321ff08..0000000 --- a/doc/html/classWaveLoop__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classWvIn.html 24,85 64,106 -rect $classStk.html 25,16 63,37 diff --git a/doc/html/classWaveLoop__coll__graph.md5 b/doc/html/classWaveLoop__coll__graph.md5 deleted file mode 100644 index 84f46ee..0000000 --- a/doc/html/classWaveLoop__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -292d9df1ca4b199f4b9f549b1a2029e2 \ No newline at end of file diff --git a/doc/html/classWaveLoop__coll__graph.png b/doc/html/classWaveLoop__coll__graph.png deleted file mode 100644 index 8482291..0000000 Binary files a/doc/html/classWaveLoop__coll__graph.png and /dev/null differ diff --git a/doc/html/classWaveLoop__inherit__graph.map b/doc/html/classWaveLoop__inherit__graph.map deleted file mode 100644 index 321ff08..0000000 --- a/doc/html/classWaveLoop__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classWvIn.html 24,85 64,106 -rect $classStk.html 25,16 63,37 diff --git a/doc/html/classWaveLoop__inherit__graph.md5 b/doc/html/classWaveLoop__inherit__graph.md5 deleted file mode 100644 index 56d7c0f..0000000 --- a/doc/html/classWaveLoop__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -cbe3e79799f016159212df368acf1935 \ No newline at end of file diff --git a/doc/html/classWaveLoop__inherit__graph.png b/doc/html/classWaveLoop__inherit__graph.png deleted file mode 100644 index 8482291..0000000 Binary files a/doc/html/classWaveLoop__inherit__graph.png and /dev/null differ diff --git a/doc/html/classWhistle-members.html b/doc/html/classWhistle-members.html deleted file mode 100644 index c483056..0000000 --- a/doc/html/classWhistle-members.html +++ /dev/null @@ -1,62 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Whistle Member List

    This is the complete list of members for Whistle, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()Whistle
    controlChange(int number, StkFloat value)Whistle [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    noteOff(StkFloat amplitude)Whistle [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Whistle [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setFrequency(StkFloat frequency)Whistle [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)Whistle
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBlowing(StkFloat rate)Whistle
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    Whistle()Whistle
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~Whistle()Whistle


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classWhistle.html b/doc/html/classWhistle.html deleted file mode 100644 index 7fcb895..0000000 --- a/doc/html/classWhistle.html +++ /dev/null @@ -1,108 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Whistle Class Reference

    #include <Whistle.h> -

    -

    Inheritance diagram for Whistle: -

    - -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK police/referee whistle instrument class. -

    -This class implements a hybrid physical/spectral model of a police whistle (a la Cook).

    -Control Change Numbers:

      -
    • Noise Gain = 4
    • Fipple Modulation Frequency = 11
    • Fipple Modulation Gain = 1
    • Blowing Frequency Modulation = 2
    • Volume = 128
    -

    -by Perry R. Cook 1996 - 2004. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     Whistle ()
     Class constructor.
    ~Whistle ()
     Class destructor.
    -void clear ()
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath velocity to instrument with given amplitude and rate of increase.
    -void stopBlowing (StkFloat rate)
     Decrease breath velocity with given rate of decrease.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    Whistle::Whistle  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classWhistle.png b/doc/html/classWhistle.png deleted file mode 100644 index 8edf4fa..0000000 Binary files a/doc/html/classWhistle.png and /dev/null differ diff --git a/doc/html/classWhistle__coll__graph.map b/doc/html/classWhistle__coll__graph.map deleted file mode 100644 index fc62da7..0000000 --- a/doc/html/classWhistle__coll__graph.map +++ /dev/null @@ -1,12 +0,0 @@ -base referer -rect $classInstrmnt.html 7,149 63,171 -rect $classStk.html 305,16 343,37 -rect $classGenerator.html 148,88 217,109 -rect $classFilter.html 273,88 313,109 -rect $classWvIn.html 337,88 377,109 -rect $classSphere.html 449,219 503,240 -rect $classVector3D.html 452,88 521,109 -rect $classNoise.html 73,219 116,240 -rect $classEnvelope.html 151,219 215,240 -rect $classOnePole.html 265,219 327,240 -rect $classWaveLoop.html 351,219 425,240 diff --git a/doc/html/classWhistle__coll__graph.md5 b/doc/html/classWhistle__coll__graph.md5 deleted file mode 100644 index 3c4d80d..0000000 --- a/doc/html/classWhistle__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -484ebbfc61c72a44ac0de6a89cef7f41 \ No newline at end of file diff --git a/doc/html/classWhistle__coll__graph.png b/doc/html/classWhistle__coll__graph.png deleted file mode 100644 index ba256be..0000000 Binary files a/doc/html/classWhistle__coll__graph.png and /dev/null differ diff --git a/doc/html/classWhistle__inherit__graph.map b/doc/html/classWhistle__inherit__graph.map deleted file mode 100644 index ba86dfe..0000000 --- a/doc/html/classWhistle__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classInstrmnt.html 7,85 63,106 -rect $classStk.html 16,16 53,37 diff --git a/doc/html/classWhistle__inherit__graph.md5 b/doc/html/classWhistle__inherit__graph.md5 deleted file mode 100644 index 4d038e8..0000000 --- a/doc/html/classWhistle__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a9770d3306d60ec72b7fd1739a8ef52e \ No newline at end of file diff --git a/doc/html/classWhistle__inherit__graph.png b/doc/html/classWhistle__inherit__graph.png deleted file mode 100644 index c3bce73..0000000 Binary files a/doc/html/classWhistle__inherit__graph.png and /dev/null differ diff --git a/doc/html/classWurley-members.html b/doc/html/classWurley-members.html deleted file mode 100644 index 95ed3ac..0000000 --- a/doc/html/classWurley-members.html +++ /dev/null @@ -1,71 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Wurley Member List

    This is the complete list of members for Wurley, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clear()FM
    controlChange(int number, StkFloat value)FM [virtual]
    FM(unsigned int operators=4)FM
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    Instrmnt()Instrmnt
    keyOff()FM
    keyOn()FM
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    loadWaves(const char **filenames)FM
    noteOff(StkFloat amplitude)FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Wurley [virtual]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setControl1(StkFloat cVal)FM
    setControl2(StkFloat cVal)FM
    setFrequency(StkFloat frequency)Wurley [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)FM
    setModulationDepth(StkFloat mDepth)FM
    setModulationSpeed(StkFloat mSpeed)FM
    setRatio(unsigned int waveIndex, StkFloat ratio)FM
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)Instrmnt
    tick(StkFrames &frames, unsigned int channel=0)Instrmnt
    Wurley()Wurley
    ~FM()FM [virtual]
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]
    ~Wurley()Wurley


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classWurley.html b/doc/html/classWurley.html deleted file mode 100644 index fce27c3..0000000 --- a/doc/html/classWurley.html +++ /dev/null @@ -1,94 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Wurley Class Reference

    #include <Wurley.h> -

    -

    Inheritance diagram for Wurley: -

    - -FM -Instrmnt -Stk - -List of all members.

    Detailed Description

    -STK Wurlitzer electric piano FM synthesis instrument. -

    -This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

    -

        Algorithm 5 is :  4->3--\
    -                             + --> Out
    -                      2->1--/
    -

    -Control Change Numbers:

      -
    • Modulator Index One = 2
    • Crossfade of Outputs = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

    -The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - -

    Public Member Functions

     Wurley ()
     Class constructor.
    ~Wurley ()
     Class destructor.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - - - - - - - - -
    Wurley::Wurley  ) 
    -
    - - - - - -
    -   - - -

    -Class constructor. -

    -An StkError will be thrown if the rawwave path is incorrectly set.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classWurley.png b/doc/html/classWurley.png deleted file mode 100644 index 7830a7d..0000000 Binary files a/doc/html/classWurley.png and /dev/null differ diff --git a/doc/html/classWurley__coll__graph.map b/doc/html/classWurley__coll__graph.map deleted file mode 100644 index 2830571..0000000 --- a/doc/html/classWurley__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $classFM.html 72,269 109,291 -rect $classInstrmnt.html 7,133 63,155 -rect $classStk.html 85,16 123,37 -rect $classWvIn.html 84,88 124,109 -rect $classFilter.html 156,88 196,109 -rect $classWaveLoop.html 67,179 141,200 -rect $classTwoZero.html 167,179 231,200 diff --git a/doc/html/classWurley__coll__graph.md5 b/doc/html/classWurley__coll__graph.md5 deleted file mode 100644 index 6527724..0000000 --- a/doc/html/classWurley__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d1b57cabe29af3f9c7d23f9aaa13847e \ No newline at end of file diff --git a/doc/html/classWurley__coll__graph.png b/doc/html/classWurley__coll__graph.png deleted file mode 100644 index 6685b5b..0000000 Binary files a/doc/html/classWurley__coll__graph.png and /dev/null differ diff --git a/doc/html/classWurley__inherit__graph.map b/doc/html/classWurley__inherit__graph.map deleted file mode 100644 index d7c45cc..0000000 --- a/doc/html/classWurley__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classFM.html 16,155 53,176 -rect $classInstrmnt.html 7,86 63,107 -rect $classStk.html 16,16 53,38 diff --git a/doc/html/classWurley__inherit__graph.md5 b/doc/html/classWurley__inherit__graph.md5 deleted file mode 100644 index 19f2cae..0000000 --- a/doc/html/classWurley__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a27a0f531d08f05e9a809e2d62667a15 \ No newline at end of file diff --git a/doc/html/classWurley__inherit__graph.png b/doc/html/classWurley__inherit__graph.png deleted file mode 100644 index 0b9b169..0000000 Binary files a/doc/html/classWurley__inherit__graph.png and /dev/null differ diff --git a/doc/html/classWvIn-members.html b/doc/html/classWvIn-members.html deleted file mode 100644 index b2978ba..0000000 --- a/doc/html/classWvIn-members.html +++ /dev/null @@ -1,54 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    WvIn Member List

    This is the complete list of members for WvIn, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    getChannels(void) const WvIn [inline]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    lastFrame(void) const WvIn [inline]
    lastOut(void) const WvIn
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(void)WvIn
    tick(StkFrames &frames, unsigned int channel=0)WvIn
    tickFrame(StkFrames &frames)WvIn
    WvIn()WvIn
    ~Stk(void)Stk [protected, virtual]
    ~WvIn()WvIn [virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classWvIn.html b/doc/html/classWvIn.html deleted file mode 100644 index 2d02490..0000000 --- a/doc/html/classWvIn.html +++ /dev/null @@ -1,232 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    WvIn Class Reference

    #include <WvIn.h> -

    -

    Inheritance diagram for WvIn: -

    - -Stk -FileWvIn -InetWvIn -RtWvIn -WaveLoop - -List of all members.

    Detailed Description

    -STK audio input abstract base class. -

    -This class provides common functionality for a variety of audio data input subclasses.

    -WvIn supports multi-channel data. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return references or pointers to multi-channel sample frames.

    -Both interleaved and non-interleaved data is supported via the use of StkFrames objects.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    WvIn ()
     Default constructor.
    -virtual ~WvIn ()
     Class destructor.
    -unsigned int getChannels (void) const
     Return the number of audio channels in the data.
    StkFloat lastOut (void) const
     Return the average across the last output sample frame.
    const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    StkFloat tick (void)
     Read out the average across one sample frame of data.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with averaged sample frames.
    StkFramestickFrame (StkFrames &frames)
     Fill the StkFrames argument with data and return the same reference.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    StkFloat WvIn::lastOut void   )  const
    -
    - - - - - -
    -   - - -

    -Return the average across the last output sample frame. -

    -If no file data is loaded, the returned value is 0.0.

    -

    - - - - -
    - - - - - - - - - -
    const StkFrames& WvIn::lastFrame void   )  const [inline]
    -
    - - - - - -
    -   - - -

    -Return an StkFrames reference to the last output sample frame. -

    -If no file data is loaded, an empty container is returned.

    -

    - - - - -
    - - - - - - - - - -
    StkFloat WvIn::tick void   ) 
    -
    - - - - - -
    -   - - -

    -Read out the average across one sample frame of data. -

    -If no file data is loaded, the returned value is 0.0.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    StkFrames& WvIn::tick StkFrames frames,
    unsigned int  channel = 0
    -
    - - - - - -
    -   - - -

    -Fill a channel of the StkFrames object with averaged sample frames. -

    -The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is greater than or equal to the number of channels in the StkFrames object. If no file data is loaded, the container is filled with zeroes.

    -

    - - - - -
    - - - - - - - - - -
    StkFrames& WvIn::tickFrame StkFrames frames  ) 
    -
    - - - - - -
    -   - - -

    -Fill the StkFrames argument with data and return the same reference. -

    -An StkError will be thrown if there is an incompatability between the number of channels in the loaded data and that in the StkFrames argument. If no file data is loaded, the container is filled with zeroes.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classWvIn.png b/doc/html/classWvIn.png deleted file mode 100644 index f4652db..0000000 Binary files a/doc/html/classWvIn.png and /dev/null differ diff --git a/doc/html/classWvIn__coll__graph.map b/doc/html/classWvIn__coll__graph.map deleted file mode 100644 index 4484d54..0000000 --- a/doc/html/classWvIn__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 8,16 45,37 diff --git a/doc/html/classWvIn__coll__graph.md5 b/doc/html/classWvIn__coll__graph.md5 deleted file mode 100644 index 6e99a15..0000000 --- a/doc/html/classWvIn__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2997cdc5fb3a6a5edfd7d15ee7f5162d \ No newline at end of file diff --git a/doc/html/classWvIn__coll__graph.png b/doc/html/classWvIn__coll__graph.png deleted file mode 100644 index 7581e02..0000000 Binary files a/doc/html/classWvIn__coll__graph.png and /dev/null differ diff --git a/doc/html/classWvIn__inherit__graph.map b/doc/html/classWvIn__inherit__graph.map deleted file mode 100644 index 0a866d0..0000000 --- a/doc/html/classWvIn__inherit__graph.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $classRtWvIn.html 7,154 60,176 -rect $classTcpWvIn.html 84,154 148,176 -rect $classWaveLoop.html 172,154 247,176 -rect $classStk.html 97,16 135,37 diff --git a/doc/html/classWvIn__inherit__graph.md5 b/doc/html/classWvIn__inherit__graph.md5 deleted file mode 100644 index f046a4f..0000000 --- a/doc/html/classWvIn__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -01555f05ab0625328a62570fe79d160e \ No newline at end of file diff --git a/doc/html/classWvIn__inherit__graph.png b/doc/html/classWvIn__inherit__graph.png deleted file mode 100644 index 905ce00..0000000 Binary files a/doc/html/classWvIn__inherit__graph.png and /dev/null differ diff --git a/doc/html/classWvOut-members.html b/doc/html/classWvOut-members.html deleted file mode 100644 index f2ecdf3..0000000 --- a/doc/html/classWvOut-members.html +++ /dev/null @@ -1,55 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    WvOut Member List

    This is the complete list of members for WvOut, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    addSampleRateAlert(Stk *ptr)Stk [protected]
    clipStatus(void)WvOut [inline]
    getFrameCount(void) const WvOut
    getTime(void) const WvOut
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    ignoreSampleRateChange(bool ignore=true)Stk [inline]
    printErrors(bool status)Stk [inline, static]
    rawwavePath(void)Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)Stk [protected]
    resetClipStatus(void)WvOut [inline]
    sampleRate(void)Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)Stk [protected, virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [static]
    showWarnings(bool status)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(const StkFloat sample)WvOut
    tick(const StkFrames &frames, unsigned int channel=0)WvOut
    tickFrame(const StkFrames &frames)WvOut
    WvOut()WvOut
    ~Stk(void)Stk [protected, virtual]
    ~WvOut()WvOut [virtual]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classWvOut.html b/doc/html/classWvOut.html deleted file mode 100644 index b818e12..0000000 --- a/doc/html/classWvOut.html +++ /dev/null @@ -1,178 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    WvOut Class Reference

    #include <WvOut.h> -

    -

    Inheritance diagram for WvOut: -

    - -Stk -FileWvOut -InetWvOut -RtWvOut - -List of all members.

    Detailed Description

    -STK audio output abstract base class. -

    -This class provides common functionality for a variety of audio data output subclasses.

    -WvOut supports multi-channel data. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame, from the tickFrame() methods, which take a pointer or reference to multi-channel sample frame data.

    -Both interleaved and non-interleaved data is supported via the use of StkFrames objects.

    -Currently, WvOut is non-interpolating and the output rate is always Stk::sampleRate().

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    WvOut ()
     Default constructor.
    -virtual ~WvOut ()
     Class destructor.
    -unsigned long getFrameCount (void) const
     Return the number of sample frames output.
    -StkFloat getTime (void) const
     Return the number of seconds of data output.
    -bool clipStatus (void)
     Returns true if clipping has been detected during output since instantiation or the last reset.
    -void resetClipStatus (void)
     Reset the clipping status to false.
    void tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame.
    void tick (const StkFrames &frames, unsigned int channel=0)
     Output a channel of the StkFrames object to all channels of the WvOut object.
    void tickFrame (const StkFrames &frames)
     Output the StkFrames data.
    -


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - -
    void WvOut::tick const StkFloat  sample  ) 
    -
    - - - - - -
    -   - - -

    -Output a single sample to all channels in a sample frame. -

    -An StkError is thrown if an output error occurs.

    -

    - - - - -
    - - - - - - - - - - - - - - - - - - -
    void WvOut::tick const StkFrames frames,
    unsigned int  channel = 0
    -
    - - - - - -
    -   - - -

    -Output a channel of the StkFrames object to all channels of the WvOut object. -

    -The channel argument should be 0 or greater (the first channel is specified by 0). An StkError will be thrown if an output error occurs or if the channel argument is equal to or greater than the number of channels in the StkFrames object.

    -

    - - - - -
    - - - - - - - - - -
    void WvOut::tickFrame const StkFrames frames  ) 
    -
    - - - - - -
    -   - - -

    -Output the StkFrames data. -

    -An StkError will be thrown if an output error occurs or if there is an incompatability between the number of channels in the WvOut object and that in the StkFrames object.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classWvOut.png b/doc/html/classWvOut.png deleted file mode 100644 index 7b71571..0000000 Binary files a/doc/html/classWvOut.png and /dev/null differ diff --git a/doc/html/classWvOut__coll__graph.map b/doc/html/classWvOut__coll__graph.map deleted file mode 100644 index 62122a1..0000000 --- a/doc/html/classWvOut__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStk.html 15,16 52,37 diff --git a/doc/html/classWvOut__coll__graph.md5 b/doc/html/classWvOut__coll__graph.md5 deleted file mode 100644 index a56a160..0000000 --- a/doc/html/classWvOut__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e45a316f6f5e6ae829147da420a57ada \ No newline at end of file diff --git a/doc/html/classWvOut__coll__graph.png b/doc/html/classWvOut__coll__graph.png deleted file mode 100644 index de6ac3f..0000000 Binary files a/doc/html/classWvOut__coll__graph.png and /dev/null differ diff --git a/doc/html/classWvOut__inherit__graph.map b/doc/html/classWvOut__inherit__graph.map deleted file mode 100644 index 889f359..0000000 --- a/doc/html/classWvOut__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classRtWvOut.html 7,154 73,176 -rect $classTcpWvOut.html 97,154 175,176 -rect $classStk.html 69,16 107,37 diff --git a/doc/html/classWvOut__inherit__graph.md5 b/doc/html/classWvOut__inherit__graph.md5 deleted file mode 100644 index beb9db4..0000000 --- a/doc/html/classWvOut__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -40cf72dab0e31c1ecb78c959966723cb \ No newline at end of file diff --git a/doc/html/classWvOut__inherit__graph.png b/doc/html/classWvOut__inherit__graph.png deleted file mode 100644 index 71213a9..0000000 Binary files a/doc/html/classWvOut__inherit__graph.png and /dev/null differ diff --git a/doc/html/classes.html b/doc/html/classes.html index a57658f..0c99f2a 100644 --- a/doc/html/classes.html +++ b/doc/html/classes.html @@ -8,22 +8,37 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    Class Documentation

    + +
    +

    Class Index

    A | B | C | D | E | F | G | H | I | J | M | N | O | P | R | S | T | U | V | W

    + +
      A  
    +
    Envelope (stk)   JCRev (stk)   PRCRev (stk)   Socket (stk)   
    ADSR (stk)   
      F  
    +
    JetTable (stk)   
      R  
    +
    Sphere (stk)   
    Asymp (stk)   FileLoop (stk)   
      M  
    +
    ReedTable (stk)   StifKarp (stk)   
      B  
    +
    FileRead (stk)   Mandolin (stk)   Resonate (stk)   Stk (stk)   
    BandedWG (stk)   FileWrite (stk)   Mesh2D (stk)   Rhodey (stk)   StkError (stk)   
    BeeThree (stk)   FileWvIn (stk)   Messager (stk)   RtAudio   StkFrames (stk)   
    BiQuad (stk)   FileWvOut (stk)   MidiFileIn (stk)   RtAudio::DeviceInfo   
      T  
    +
    Blit (stk)   Filter (stk)   Modal (stk)   RtAudio::StreamOptions   TapDelay (stk)   
    BlitSaw (stk)   Fir (stk)   ModalBar (stk)   RtAudio::StreamParameters   TcpClient (stk)   
    BlitSquare (stk)   Flute (stk)   Modulate (stk)   RtError   TcpServer (stk)   
    BlowBotl (stk)   FM (stk)   Moog (stk)   RtMidi   Thread (stk)   
    BlowHole (stk)   FMVoices (stk)   Mutex (stk)   RtMidiIn   TubeBell (stk)   
    Bowed (stk)   FormSwep (stk)   
      N  
    +
    RtMidiOut   TwoPole (stk)   
    BowTable (stk)   Function (stk)   Noise (stk)   RtWvIn (stk)   TwoZero (stk)   
    Brass (stk)   
      G  
    +
    NRev (stk)   RtWvOut (stk)   
      U  
    +
      C  
    +
    Generator (stk)   
      O  
    +
      S  
    +
    UdpSocket (stk)   
    Chorus (stk)   Granulate (stk)   OnePole (stk)   Sampler (stk)   
      V  
    +
    Clarinet (stk)   
      H  
    +
    OneZero (stk)   Saxofony (stk)   Vector3D (stk)   
      D  
    +
    HevyMetl (stk)   
      P  
    +
    Shakers (stk)   Voicer (stk)   
    Delay (stk)   
      I  
    +
    PercFlut (stk)   Simple (stk)   VoicForm (stk)   
    DelayA (stk)   Iir (stk)   Phonemes (stk)   SineWave (stk)   
      W  
    +
    DelayL (stk)   InetWvIn (stk)   PitShift (stk)   SingWave (stk)   Whistle (stk)   
    Drummer (stk)   InetWvOut (stk)   Plucked (stk)   Sitar (stk)   Wurley (stk)   
      E  
    +
    Instrmnt (stk)   PluckTwo (stk)   Skini (stk)   WvIn (stk)   
    Echo (stk)   
      J  
    +
    PoleZero (stk)   Skini::Message (stk)   WvOut (stk)   
    Effect (stk)   

    A | B | C | D | E | F | G | H | I | J | M | N | O | P | R | S | T | U | V | W

    +


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1ADSR-members.html b/doc/html/classstk_1_1ADSR-members.html new file mode 100644 index 0000000..844a85e --- /dev/null +++ b/doc/html/classstk_1_1ADSR-members.html @@ -0,0 +1,73 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::ADSR Member List

    This is the complete list of members for stk::ADSR, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    ADSR(void)stk::ADSR
    ATTACK enum valuestk::ADSR
    channelsOut(void) const stk::Generator [inline]
    DECAY enum valuestk::ADSR
    DONE enum valuestk::ADSR
    Generator(void)stk::Generator [inline]
    getState(void) const stk::ADSR [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    keyOff(void)stk::ADSR
    keyOn(void)stk::ADSR
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::ADSR [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    RELEASE enum valuestk::ADSR
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setAllTimes(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)stk::ADSR
    setAttackRate(StkFloat rate)stk::ADSR
    setAttackTime(StkFloat time)stk::ADSR
    setDecayRate(StkFloat rate)stk::ADSR
    setDecayTime(StkFloat time)stk::ADSR
    setRawwavePath(std::string path)stk::Stk [static]
    setReleaseRate(StkFloat rate)stk::ADSR
    setReleaseTime(StkFloat time)stk::ADSR
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSustainLevel(StkFloat level)stk::ADSR
    setTarget(StkFloat target)stk::ADSR
    setValue(StkFloat value)stk::ADSR
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    SUSTAIN enum valuestk::ADSR
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::ADSR [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::ADSR [inline, virtual]
    ~ADSR(void)stk::ADSR
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1ADSR.html b/doc/html/classstk_1_1ADSR.html new file mode 100644 index 0000000..5ec5f97 --- /dev/null +++ b/doc/html/classstk_1_1ADSR.html @@ -0,0 +1,200 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::ADSR Class Reference

    STK ADSR envelope class. +More... +

    +#include <ADSR.h> +

    +

    +Inheritance diagram for stk::ADSR:
    +
    + +

    + +stk::Generator +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Types

    enum  {
    +  ATTACK, +DECAY, +SUSTAIN, +RELEASE, +
    +  DONE +
    + }
     ADSR envelope states. More...

    Public Member Functions

    ADSR (void)
     Default constructor.
    ~ADSR (void)
     Class destructor.
    +void keyOn (void)
     Set target = 1, state = ADSR::ATTACK.
    +void keyOff (void)
     Set target = 0, state = ADSR::RELEASE.
    +void setAttackRate (StkFloat rate)
     Set the attack rate.
    +void setDecayRate (StkFloat rate)
     Set the decay rate.
    +void setSustainLevel (StkFloat level)
     Set the sustain level.
    +void setReleaseRate (StkFloat rate)
     Set the release rate.
    +void setAttackTime (StkFloat time)
     Set the attack rate based on a time duration.
    +void setDecayTime (StkFloat time)
     Set the decay rate based on a time duration.
    +void setReleaseTime (StkFloat time)
     Set the release rate based on a time duration.
    +void setAllTimes (StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)
     Set sustain level and attack, decay, and release time durations.
    +void setTarget (StkFloat target)
     Set the target value.
    +int getState (void) const
     Return the current envelope state (ATTACK, DECAY, SUSTAIN, RELEASE, DONE).
    +void setValue (StkFloat value)
     Set to state = ADSR::SUSTAIN with current and target values of value.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    +


    Detailed Description

    +STK ADSR envelope class. +

    +This class implements a traditional ADSR (Attack, Decay, Sustain, Release) envelope. It responds to simple keyOn and keyOff messages, keeping track of its state. The state = ADSR::DONE after the envelope value reaches 0.0 in the ADSR::RELEASE state.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Enumeration Documentation

    + +
    +
    + + + + +
    anonymous enum
    +
    +
    + +

    +ADSR envelope states. +

    +

    Enumerator:
    + + + + + + +
    ATTACK  +Attack
    DECAY  +Decay
    SUSTAIN  +Sustain
    RELEASE  +Release
    DONE  +End of release
    +
    + +
    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::ADSR::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Generator.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1ADSR.png b/doc/html/classstk_1_1ADSR.png new file mode 100644 index 0000000..608f0a0 Binary files /dev/null and b/doc/html/classstk_1_1ADSR.png differ diff --git a/doc/html/classstk_1_1Asymp-members.html b/doc/html/classstk_1_1Asymp-members.html new file mode 100644 index 0000000..25dde4e --- /dev/null +++ b/doc/html/classstk_1_1Asymp-members.html @@ -0,0 +1,62 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Asymp Member List

    This is the complete list of members for stk::Asymp, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Asymp(void)stk::Asymp
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    getState(void) const stk::Asymp [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    keyOff(void)stk::Asymp
    keyOn(void)stk::Asymp
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Asymp [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTarget(StkFloat target)stk::Asymp
    setTau(StkFloat tau)stk::Asymp
    setTime(StkFloat time)stk::Asymp
    setValue(StkFloat value)stk::Asymp
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Asymp [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Asymp [inline, virtual]
    ~Asymp(void)stk::Asymp
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Asymp.html b/doc/html/classstk_1_1Asymp.html new file mode 100644 index 0000000..7bd8bb8 --- /dev/null +++ b/doc/html/classstk_1_1Asymp.html @@ -0,0 +1,155 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Asymp Class Reference

    STK asymptotic curve envelope class. +More... +

    +#include <Asymp.h> +

    +

    +Inheritance diagram for stk::Asymp:
    +
    + +

    + +stk::Generator +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Asymp (void)
     Default constructor.
    ~Asymp (void)
     Class destructor.
    +void keyOn (void)
     Set target = 1.
    +void keyOff (void)
     Set target = 0.
    void setTau (StkFloat tau)
     Set the asymptotic rate via the time factor tau (must be > 0).
    +void setTime (StkFloat time)
     Set the asymptotic rate based on a time duration (must be > 0).
    +void setTarget (StkFloat target)
     Set the target value.
    +void setValue (StkFloat value)
     Set current and target values to value.
    +int getState (void) const
     Return the current envelope state (0 = at target, 1 otherwise).
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    +


    Detailed Description

    +STK asymptotic curve envelope class. +

    +This class implements a simple envelope generator which asymptotically approaches a target value. The algorithm used is of the form:

    +y[n] = a y[n-1] + (1-a) target,

    +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 keyOn and keyOff messages by ramping to 1.0 on keyOn and to 0.0 on keyOff.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::Asymp::setTau (StkFloat  tau  ) 
    +
    +
    + +

    +Set the asymptotic rate via the time factor tau (must be > 0). +

    +The rate is computed as described above. The value of tau must be greater than zero. Values of tau close to zero produce fast approach rates, while values greater than 1.0 produce rather slow rates. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Asymp::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Generator.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Asymp.png b/doc/html/classstk_1_1Asymp.png new file mode 100644 index 0000000..52da5ec Binary files /dev/null and b/doc/html/classstk_1_1Asymp.png differ diff --git a/doc/html/classstk_1_1BandedWG-members.html b/doc/html/classstk_1_1BandedWG-members.html new file mode 100644 index 0000000..59113e9 --- /dev/null +++ b/doc/html/classstk_1_1BandedWG-members.html @@ -0,0 +1,66 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::BandedWG Member List

    This is the complete list of members for stk::BandedWG, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BandedWG(void)stk::BandedWG
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::BandedWG
    controlChange(int number, StkFloat value)stk::BandedWG [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::BandedWG [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BandedWG [virtual]
    pluck(StkFloat amp)stk::BandedWG
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BandedWG [virtual]
    setPreset(int preset)stk::BandedWG
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStrikePosition(StkFloat position)stk::BandedWG
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBowing(StkFloat amplitude, StkFloat rate)stk::BandedWG
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBowing(StkFloat rate)stk::BandedWG
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BandedWG [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BandedWG(void)stk::BandedWG
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BandedWG.html b/doc/html/classstk_1_1BandedWG.html new file mode 100644 index 0000000..36fc34a --- /dev/null +++ b/doc/html/classstk_1_1BandedWG.html @@ -0,0 +1,108 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::BandedWG Class Reference

    Banded waveguide modeling class. +More... +

    +#include <BandedWG.h> +

    +

    +Inheritance diagram for stk::BandedWG:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    BandedWG (void)
     Class constructor.
    ~BandedWG (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setStrikePosition (StkFloat position)
     Set strike position (0.0 - 1.0).
    +void setPreset (int preset)
     Select a preset.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void startBowing (StkFloat amplitude, StkFloat rate)
     Apply bow velocity/pressure to instrument with given amplitude and rate of increase.
    +void stopBowing (StkFloat rate)
     Decrease bow velocity/breath pressure with given rate of decrease.
    +void pluck (StkFloat amp)
     Pluck the instrument with given amplitude.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +Banded waveguide modeling class. +

    +This class uses banded waveguide techniques to model a variety of sounds, including bowed bars, glasses, and bowls. For more information, see Essl, G. and Cook, P. "Banded Waveguides: Towards Physical Modelling of Bar Percussion Instruments", Proceedings of the 1999 International Computer Music Conference.

    +Control Change Numbers:

      +
    • Bow Pressure = 2
    • Bow Motion = 4
    • Strike Position = 8 (not implemented)
    • Vibrato Frequency = 11
    • Gain = 1
    • Bow Velocity = 128
    • Set Striking = 64
    • Instrument Presets = 16
        +
      • Uniform Bar = 0
      • Tuned Bar = 1
      • Glass Harmonica = 2
      • Tibetan Bowl = 3
      +
    +

    +by Georg Essl, 1999 - 2004. Modified for STK 4.0 by Gary Scavone.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BandedWG.png b/doc/html/classstk_1_1BandedWG.png new file mode 100644 index 0000000..30f3f3a Binary files /dev/null and b/doc/html/classstk_1_1BandedWG.png differ diff --git a/doc/html/classstk_1_1BeeThree-members.html b/doc/html/classstk_1_1BeeThree-members.html new file mode 100644 index 0000000..fd2dd28 --- /dev/null +++ b/doc/html/classstk_1_1BeeThree-members.html @@ -0,0 +1,72 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::BeeThree Member List

    This is the complete list of members for stk::BeeThree, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BeeThree(void)stk::BeeThree
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BeeThree [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BeeThree [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BeeThree(void)stk::BeeThree
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BeeThree.html b/doc/html/classstk_1_1BeeThree.html new file mode 100644 index 0000000..a6cf687 --- /dev/null +++ b/doc/html/classstk_1_1BeeThree.html @@ -0,0 +1,101 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::BeeThree Class Reference

    STK Hammond-oid organ FM synthesis instrument. +More... +

    +#include <BeeThree.h> +

    +

    +Inheritance diagram for stk::BeeThree:
    +
    + +

    + +stk::FM +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + +

    Public Member Functions

     BeeThree (void)
     Class constructor.
    ~BeeThree (void)
     Class destructor.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK Hammond-oid organ FM synthesis instrument. +

    +This class implements a simple 4 operator topology, also referred to as algorithm 8 of the TX81Z.

    +

        Algorithm 8 is :
    +                     1 --.
    +                     2 -\|
    +                         +-> Out
    +                     3 -/|
    +                     4 --
    +

    +Control Change Numbers:

      +
    • Operator 4 (feedback) Gain = 2
    • Operator 3 Gain = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    +

    +The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::BeeThree::BeeThree (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BeeThree.png b/doc/html/classstk_1_1BeeThree.png new file mode 100644 index 0000000..9517c21 Binary files /dev/null and b/doc/html/classstk_1_1BeeThree.png differ diff --git a/doc/html/classstk_1_1BiQuad-members.html b/doc/html/classstk_1_1BiQuad-members.html new file mode 100644 index 0000000..5ce1eec --- /dev/null +++ b/doc/html/classstk_1_1BiQuad-members.html @@ -0,0 +1,69 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::BiQuad Member List

    This is the complete list of members for stk::BiQuad, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BiQuad()stk::BiQuad
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::BiQuad [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::BiQuad [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setA1(StkFloat a1)stk::BiQuad [inline]
    setA2(StkFloat a2)stk::BiQuad [inline]
    setB0(StkFloat b0)stk::BiQuad [inline]
    setB1(StkFloat b1)stk::BiQuad [inline]
    setB2(StkFloat b2)stk::BiQuad [inline]
    setCoefficients(StkFloat b0, StkFloat b1, StkFloat b2, StkFloat a1, StkFloat a2, bool clearState=false)stk::BiQuad
    setEqualGainZeroes(void)stk::BiQuad
    setGain(StkFloat gain)stk::Filter [inline]
    setNotch(StkFloat frequency, StkFloat radius)stk::BiQuad
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius, bool normalize=false)stk::BiQuad
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::BiQuad [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::BiQuad [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::BiQuad [inline]
    ~BiQuad()stk::BiQuad
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BiQuad.html b/doc/html/classstk_1_1BiQuad.html new file mode 100644 index 0000000..33a8ca5 --- /dev/null +++ b/doc/html/classstk_1_1BiQuad.html @@ -0,0 +1,277 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::BiQuad Class Reference

    STK biquad (two-pole, two-zero) filter class. +More... +

    +#include <BiQuad.h> +

    +

    +Inheritance diagram for stk::BiQuad:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    BiQuad ()
     Default constructor creates a second-order pass-through filter.
    ~BiQuad ()
     Class destructor.
    +void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    +void setCoefficients (StkFloat b0, StkFloat b1, StkFloat b2, StkFloat a1, StkFloat a2, bool clearState=false)
     Set all filter coefficients.
    +void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    +void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    +void setB2 (StkFloat b2)
     Set the b[2] coefficient value.
    +void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    +void setA2 (StkFloat a2)
     Set the a[2] coefficient value.
    void setResonance (StkFloat frequency, StkFloat radius, bool normalize=false)
     Sets the filter coefficients for a resonance at frequency (in Hz).
    void setNotch (StkFloat frequency, StkFloat radius)
     Set the filter coefficients for a notch at frequency (in Hz).
    void setEqualGainZeroes (void)
     Sets the filter zeroes for equal resonance gain.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return a reference to one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK biquad (two-pole, two-zero) filter class. +

    +This class implements a two-pole, two-zero digital filter. Methods are provided for creating a resonance or notch in the frequency response while maintaining a constant filter gain.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::BiQuad::setResonance (StkFloat  frequency,
    StkFloat  radius,
    bool  normalize = false 
    )
    +
    +
    + +

    +Sets the filter coefficients for a resonance at frequency (in Hz). +

    +This method determines the filter coefficients corresponding to two complex-conjugate poles with the given frequency (in Hz) and radius from the z-plane origin. If normalize is true, the filter zeros are placed at z = 1, z = -1, and the coefficients are then normalized to produce a constant unity peak gain (independent of the filter gain parameter). The resulting filter frequency response has a resonance at the given frequency. The closer the poles are to the unit-circle (radius close to one), the narrower the resulting resonance width. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void stk::BiQuad::setNotch (StkFloat  frequency,
    StkFloat  radius 
    )
    +
    +
    + +

    +Set the filter coefficients for a notch at frequency (in Hz). +

    +This method determines the filter coefficients corresponding to two complex-conjugate zeros with the given frequency (in Hz) and radius from the z-plane origin. No filter normalization is attempted. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::BiQuad::setEqualGainZeroes (void   ) 
    +
    +
    + +

    +Sets the filter zeroes for equal resonance gain. +

    +When using the filter as a resonator, zeroes places at z = 1, z = -1 will result in a constant gain at resonance of 1 / (1 - R), where R is the pole radius setting. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::BiQuad::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::BiQuad::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BiQuad.png b/doc/html/classstk_1_1BiQuad.png new file mode 100644 index 0000000..f28fe89 Binary files /dev/null and b/doc/html/classstk_1_1BiQuad.png differ diff --git a/doc/html/classstk_1_1Blit-members.html b/doc/html/classstk_1_1Blit-members.html new file mode 100644 index 0000000..714b96e --- /dev/null +++ b/doc/html/classstk_1_1Blit-members.html @@ -0,0 +1,61 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Blit Member List

    This is the complete list of members for stk::Blit, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Blit(StkFloat frequency=220.0)stk::Blit
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    getPhase() const stk::Blit [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Blit [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset()stk::Blit
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Blit
    setHarmonics(unsigned int nHarmonics=0)stk::Blit
    setPhase(StkFloat phase)stk::Blit [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Blit [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Blit [inline, virtual]
    ~Blit()stk::Blit
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Blit.html b/doc/html/classstk_1_1Blit.html new file mode 100644 index 0000000..fab0e18 --- /dev/null +++ b/doc/html/classstk_1_1Blit.html @@ -0,0 +1,188 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Blit Class Reference

    STK band-limited impulse train class. +More... +

    +#include <Blit.h> +

    +

    +Inheritance diagram for stk::Blit:
    +
    + +

    + +stk::Generator +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Blit (StkFloat frequency=220.0)
     Default constructor that initializes BLIT frequency to 220 Hz.
    ~Blit ()
     Class destructor.
    +void reset ()
     Resets the oscillator state and phase to 0.
    void setPhase (StkFloat phase)
     Set the phase of the signal.
    StkFloat getPhase () const
     Get the current phase of the signal.
    +void setFrequency (StkFloat frequency)
     Set the impulse train rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    +


    Detailed Description

    +STK band-limited impulse train class. +

    +This class generates a band-limited impulse train using a closed-form algorithm reported by Stilson and Smith in "Alias-Free Digital Synthesis of Classic Analog Waveforms", 1996. The user can specify both the fundamental frequency of the impulse train and the number of harmonics contained in the resulting signal.

    +The signal is normalized so that the peak value is +/-1.0.

    +If nHarmonics is 0, then the signal will contain all harmonics up to half the sample rate. Note, however, that this setting may produce aliasing in the signal when the frequency is changing (no automatic modification of the number of harmonics is performed by the setFrequency() function).

    +Original code by Robin Davies, 2005. Revisions by Gary Scavone for STK, 2005.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::Blit::setPhase (StkFloat  phase  )  [inline]
    +
    +
    + +

    +Set the phase of the signal. +

    +Set the phase of the signal, in the range 0 to 1. +

    +

    + +

    +
    + + + + + + + + +
    StkFloat stk::Blit::getPhase (  )  const [inline]
    +
    +
    + +

    +Get the current phase of the signal. +

    +Get the phase of the signal, in the range [0 to 1.0). +

    +

    + +

    +
    + + + + + + + + + +
    void stk::Blit::setHarmonics (unsigned int  nHarmonics = 0  ) 
    +
    +
    + +

    +Set the number of harmonics generated in the signal. +

    +This function sets the number of harmonics contained in the resulting signal. It is equivalent to (2 * M) + 1 in the BLIT algorithm. The default value of 0 sets the algorithm for maximum harmonic content (harmonics up to half the sample rate). This parameter is not checked against the current sample rate and fundamental frequency. Thus, aliasing can result if one or more harmonics for a given fundamental frequency exceeds fs / 2. This behavior was chosen over the potentially more problematic solution of automatically modifying the M parameter, which can produce audible clicks in the signal. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Blit::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Generator.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Blit.png b/doc/html/classstk_1_1Blit.png new file mode 100644 index 0000000..39d314d Binary files /dev/null and b/doc/html/classstk_1_1Blit.png differ diff --git a/doc/html/classstk_1_1BlitSaw-members.html b/doc/html/classstk_1_1BlitSaw-members.html new file mode 100644 index 0000000..0d3459f --- /dev/null +++ b/doc/html/classstk_1_1BlitSaw-members.html @@ -0,0 +1,59 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::BlitSaw Member List

    This is the complete list of members for stk::BlitSaw, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlitSaw(StkFloat frequency=220.0)stk::BlitSaw
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::BlitSaw [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset()stk::BlitSaw
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlitSaw
    setHarmonics(unsigned int nHarmonics=0)stk::BlitSaw
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::BlitSaw [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::BlitSaw [inline, virtual]
    ~BlitSaw()stk::BlitSaw
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BlitSaw.html b/doc/html/classstk_1_1BlitSaw.html new file mode 100644 index 0000000..81e5295 --- /dev/null +++ b/doc/html/classstk_1_1BlitSaw.html @@ -0,0 +1,138 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::BlitSaw Class Reference

    STK band-limited sawtooth wave class. +More... +

    +#include <BlitSaw.h> +

    +

    +Inheritance diagram for stk::BlitSaw:
    +
    + +

    + +stk::Generator +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    BlitSaw (StkFloat frequency=220.0)
     Class constructor.
    ~BlitSaw ()
     Class destructor.
    +void reset ()
     Resets the oscillator state and phase to 0.
    +void setFrequency (StkFloat frequency)
     Set the sawtooth oscillator rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    +


    Detailed Description

    +STK band-limited sawtooth wave class. +

    +This class generates a band-limited sawtooth waveform using a closed-form algorithm reported by Stilson and Smith in "Alias-Free Digital Synthesis of Classic Analog Waveforms", 1996. The user can specify both the fundamental frequency of the sawtooth and the number of harmonics contained in the resulting signal.

    +If nHarmonics is 0, then the signal will contain all harmonics up to half the sample rate. Note, however, that this setting may produce aliasing in the signal when the frequency is changing (no automatic modification of the number of harmonics is performed by the setFrequency() function).

    +Based on initial code of Robin Davies, 2005. Modified algorithm code by Gary Scavone, 2005.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::BlitSaw::setHarmonics (unsigned int  nHarmonics = 0  ) 
    +
    +
    + +

    +Set the number of harmonics generated in the signal. +

    +This function sets the number of harmonics contained in the resulting signal. It is equivalent to (2 * M) + 1 in the BLIT algorithm. The default value of 0 sets the algorithm for maximum harmonic content (harmonics up to half the sample rate). This parameter is not checked against the current sample rate and fundamental frequency. Thus, aliasing can result if one or more harmonics for a given fundamental frequency exceeds fs / 2. This behavior was chosen over the potentially more problematic solution of automatically modifying the M parameter, which can produce audible clicks in the signal. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::BlitSaw::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Generator.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BlitSaw.png b/doc/html/classstk_1_1BlitSaw.png new file mode 100644 index 0000000..27a6480 Binary files /dev/null and b/doc/html/classstk_1_1BlitSaw.png differ diff --git a/doc/html/classstk_1_1BlitSquare-members.html b/doc/html/classstk_1_1BlitSquare-members.html new file mode 100644 index 0000000..11f1991 --- /dev/null +++ b/doc/html/classstk_1_1BlitSquare-members.html @@ -0,0 +1,61 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::BlitSquare Member List

    This is the complete list of members for stk::BlitSquare, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlitSquare(StkFloat frequency=220.0)stk::BlitSquare
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    getPhase() const stk::BlitSquare [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::BlitSquare [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset()stk::BlitSquare
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlitSquare
    setHarmonics(unsigned int nHarmonics=0)stk::BlitSquare
    setPhase(StkFloat phase)stk::BlitSquare [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::BlitSquare [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::BlitSquare [inline, virtual]
    ~BlitSquare()stk::BlitSquare
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BlitSquare.html b/doc/html/classstk_1_1BlitSquare.html new file mode 100644 index 0000000..dfdc4c1 --- /dev/null +++ b/doc/html/classstk_1_1BlitSquare.html @@ -0,0 +1,188 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::BlitSquare Class Reference

    STK band-limited square wave class. +More... +

    +#include <BlitSquare.h> +

    +

    +Inheritance diagram for stk::BlitSquare:
    +
    + +

    + +stk::Generator +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    BlitSquare (StkFloat frequency=220.0)
     Default constructor that initializes BLIT frequency to 220 Hz.
    ~BlitSquare ()
     Class destructor.
    +void reset ()
     Resets the oscillator state and phase to 0.
    void setPhase (StkFloat phase)
     Set the phase of the signal.
    StkFloat getPhase () const
     Get the current phase of the signal.
    +void setFrequency (StkFloat frequency)
     Set the impulse train rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    +


    Detailed Description

    +STK band-limited square wave class. +

    +This class generates a band-limited square wave signal. It is derived in part from the approach reported by Stilson and Smith in "Alias-Free Digital Synthesis of Classic Analog Waveforms", 1996. The algorithm implemented in this class uses a SincM function with an even M value to achieve a bipolar bandlimited impulse train. This signal is then integrated to achieve a square waveform. The integration process has an associated DC offset so a DC blocking filter is applied at the output.

    +The user can specify both the fundamental frequency of the waveform and the number of harmonics contained in the resulting signal.

    +If nHarmonics is 0, then the signal will contain all harmonics up to half the sample rate. Note, however, that this setting may produce aliasing in the signal when the frequency is changing (no automatic modification of the number of harmonics is performed by the setFrequency() function). Also note that the harmonics of a square wave fall at odd integer multiples of the fundamental, so aliasing will happen with a lower fundamental than with the other Blit waveforms. This class is not guaranteed to be well behaved in the presence of significant aliasing.

    +Based on initial code of Robin Davies, 2005. Modified algorithm code by Gary Scavone, 2005 - 2006.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::BlitSquare::setPhase (StkFloat  phase  )  [inline]
    +
    +
    + +

    +Set the phase of the signal. +

    +Set the phase of the signal, in the range 0 to 1. +

    +

    + +

    +
    + + + + + + + + +
    StkFloat stk::BlitSquare::getPhase (  )  const [inline]
    +
    +
    + +

    +Get the current phase of the signal. +

    +Get the phase of the signal, in the range [0 to 1.0). +

    +

    + +

    +
    + + + + + + + + + +
    void stk::BlitSquare::setHarmonics (unsigned int  nHarmonics = 0  ) 
    +
    +
    + +

    +Set the number of harmonics generated in the signal. +

    +This function sets the number of harmonics contained in the resulting signal. It is equivalent to (2 * M) + 1 in the BLIT algorithm. The default value of 0 sets the algorithm for maximum harmonic content (harmonics up to half the sample rate). This parameter is not checked against the current sample rate and fundamental frequency. Thus, aliasing can result if one or more harmonics for a given fundamental frequency exceeds fs / 2. This behavior was chosen over the potentially more problematic solution of automatically modifying the M parameter, which can produce audible clicks in the signal. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::BlitSquare::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Generator.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BlitSquare.png b/doc/html/classstk_1_1BlitSquare.png new file mode 100644 index 0000000..0fe8f7f Binary files /dev/null and b/doc/html/classstk_1_1BlitSquare.png differ diff --git a/doc/html/classstk_1_1BlowBotl-members.html b/doc/html/classstk_1_1BlowBotl-members.html new file mode 100644 index 0000000..0f0d48d --- /dev/null +++ b/doc/html/classstk_1_1BlowBotl-members.html @@ -0,0 +1,63 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::BlowBotl Member List

    This is the complete list of members for stk::BlowBotl, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlowBotl(void)stk::BlowBotl
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::BlowBotl
    controlChange(int number, StkFloat value)stk::BlowBotl [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::BlowBotl [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BlowBotl [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlowBotl [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::BlowBotl
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::BlowBotl
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BlowBotl [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BlowBotl(void)stk::BlowBotl
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BlowBotl.html b/doc/html/classstk_1_1BlowBotl.html new file mode 100644 index 0000000..ef90fbb --- /dev/null +++ b/doc/html/classstk_1_1BlowBotl.html @@ -0,0 +1,116 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::BlowBotl Class Reference

    STK blown bottle instrument class. +More... +

    +#include <BlowBotl.h> +

    +

    +Inheritance diagram for stk::BlowBotl:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     BlowBotl (void)
     Class constructor.
    ~BlowBotl (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath velocity to instrument with given amplitude and rate of increase.
    +void stopBlowing (StkFloat rate)
     Decrease breath velocity with given rate of decrease.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK blown bottle instrument class. +

    +This class implements a helmholtz resonator (biquad filter) with a polynomial jet excitation (a la Cook).

    +Control Change Numbers:

      +
    • Noise Gain = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Volume = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::BlowBotl::BlowBotl (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BlowBotl.png b/doc/html/classstk_1_1BlowBotl.png new file mode 100644 index 0000000..46892b1 Binary files /dev/null and b/doc/html/classstk_1_1BlowBotl.png differ diff --git a/doc/html/classstk_1_1BlowHole-members.html b/doc/html/classstk_1_1BlowHole-members.html new file mode 100644 index 0000000..46e3f2f --- /dev/null +++ b/doc/html/classstk_1_1BlowHole-members.html @@ -0,0 +1,65 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::BlowHole Member List

    This is the complete list of members for stk::BlowHole, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlowHole(StkFloat lowestFrequency)stk::BlowHole
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::BlowHole
    controlChange(int number, StkFloat value)stk::BlowHole [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::BlowHole [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BlowHole [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlowHole [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTonehole(StkFloat newValue)stk::BlowHole
    setVent(StkFloat newValue)stk::BlowHole
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::BlowHole
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::BlowHole
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BlowHole [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BlowHole(void)stk::BlowHole
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BlowHole.html b/doc/html/classstk_1_1BlowHole.html new file mode 100644 index 0000000..16a0353 --- /dev/null +++ b/doc/html/classstk_1_1BlowHole.html @@ -0,0 +1,126 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::BlowHole Class Reference

    STK clarinet physical model with one register hole and one tonehole. +More... +

    +#include <BlowHole.h> +

    +

    +Inheritance diagram for stk::BlowHole:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     BlowHole (StkFloat lowestFrequency)
     Class constructor.
    ~BlowHole (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setTonehole (StkFloat newValue)
     Set the tonehole state (0.0 = closed, 1.0 = fully open).
    +void setVent (StkFloat newValue)
     Set the register hole state (0.0 = closed, 1.0 = fully open).
    +void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    +void stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK clarinet physical model with one register hole and one tonehole. +

    +This class is based on the clarinet model, with the addition of a two-port register hole and a three-port dynamic tonehole implementation, as discussed by Scavone and Cook (1998).

    +In this implementation, the distances between the reed/register hole and tonehole/bell are fixed. As a result, both the tonehole and register hole will have variable influence on the playing frequency, which is dependent on the length of the air column. In addition, the highest playing freqeuency is limited by these fixed lengths.

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    +Control Change Numbers:

      +
    • Reed Stiffness = 2
    • Noise Gain = 4
    • Tonehole State = 11
    • Register State = 1
    • Breath Pressure = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::BlowHole::BlowHole (StkFloat  lowestFrequency  ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BlowHole.png b/doc/html/classstk_1_1BlowHole.png new file mode 100644 index 0000000..4d02b92 Binary files /dev/null and b/doc/html/classstk_1_1BlowHole.png differ diff --git a/doc/html/classstk_1_1BowTable-members.html b/doc/html/classstk_1_1BowTable-members.html new file mode 100644 index 0000000..b39f17a --- /dev/null +++ b/doc/html/classstk_1_1BowTable-members.html @@ -0,0 +1,56 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::BowTable Member List

    This is the complete list of members for stk::BowTable, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BowTable(void)stk::BowTable [inline]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setOffset(StkFloat offset)stk::BowTable [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSlope(StkFloat slope)stk::BowTable [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::BowTable [inline, virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::BowTable [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::BowTable [inline]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BowTable.html b/doc/html/classstk_1_1BowTable.html new file mode 100644 index 0000000..1a9188d --- /dev/null +++ b/doc/html/classstk_1_1BowTable.html @@ -0,0 +1,190 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::BowTable Class Reference

    STK bowed string table class. +More... +

    +#include <BowTable.h> +

    +

    +Inheritance diagram for stk::BowTable:
    +
    + +

    + +stk::Function +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    BowTable (void)
     Default constructor.
    void setOffset (StkFloat offset)
     Set the table offset value.
    void setSlope (StkFloat slope)
     Set the table slope value.
    +StkFloat tick (StkFloat input)
     Take one sample input and map to one sample of output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.
    +


    Detailed Description

    +STK bowed string table class. +

    +This class implements a simple bowed string non-linear function, as described by Smith (1986).

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::BowTable::setOffset (StkFloat  offset  )  [inline]
    +
    +
    + +

    +Set the table offset value. +

    +The table offset is a bias which controls the symmetry of the friction. If you want the friction to vary with direction, use a non-zero value for the offset. The default value is zero. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::BowTable::setSlope (StkFloat  slope  )  [inline]
    +
    +
    + +

    +Set the table slope value. +

    +The table slope controls the width of the friction pulse, which is related to bow force. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::BowTable::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::BowTable::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1BowTable.png b/doc/html/classstk_1_1BowTable.png new file mode 100644 index 0000000..0da8955 Binary files /dev/null and b/doc/html/classstk_1_1BowTable.png differ diff --git a/doc/html/classstk_1_1Bowed-members.html b/doc/html/classstk_1_1Bowed-members.html new file mode 100644 index 0000000..b1f590d --- /dev/null +++ b/doc/html/classstk_1_1Bowed-members.html @@ -0,0 +1,64 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Bowed Member List

    This is the complete list of members for stk::Bowed, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Bowed(StkFloat lowestFrequency)stk::Bowed
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Bowed
    controlChange(int number, StkFloat value)stk::Bowed [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Bowed [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Bowed [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Bowed [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setVibrato(StkFloat gain)stk::Bowed
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBowing(StkFloat amplitude, StkFloat rate)stk::Bowed
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBowing(StkFloat rate)stk::Bowed
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Bowed [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Bowed(void)stk::Bowed
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Bowed.html b/doc/html/classstk_1_1Bowed.html new file mode 100644 index 0000000..b86ad6f --- /dev/null +++ b/doc/html/classstk_1_1Bowed.html @@ -0,0 +1,99 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Bowed Class Reference

    STK bowed string instrument class. +More... +

    +#include <Bowed.h> +

    +

    +Inheritance diagram for stk::Bowed:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Bowed (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Bowed (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setVibrato (StkFloat gain)
     Set vibrato gain.
    +void startBowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    +void stopBowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK bowed string instrument class. +

    +This class implements a bowed string model, a la Smith (1986), after McIntyre, Schumacher, Woodhouse (1983).

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    +Control Change Numbers:

      +
    • Bow Pressure = 2
    • Bow Position = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Volume = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Bowed.png b/doc/html/classstk_1_1Bowed.png new file mode 100644 index 0000000..66e9c01 Binary files /dev/null and b/doc/html/classstk_1_1Bowed.png differ diff --git a/doc/html/classstk_1_1Brass-members.html b/doc/html/classstk_1_1Brass-members.html new file mode 100644 index 0000000..383b731 --- /dev/null +++ b/doc/html/classstk_1_1Brass-members.html @@ -0,0 +1,64 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Brass Member List

    This is the complete list of members for stk::Brass, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Brass(StkFloat lowestFrequency)stk::Brass
    channelsOut(void) const stk::Instrmnt [inline]
    clear()stk::Brass
    controlChange(int number, StkFloat value)stk::Brass [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Brass [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Brass [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Brass [virtual]
    setLip(StkFloat frequency)stk::Brass
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Brass
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Brass
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Brass [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Brass()stk::Brass
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Brass.html b/doc/html/classstk_1_1Brass.html new file mode 100644 index 0000000..c5bae5d --- /dev/null +++ b/doc/html/classstk_1_1Brass.html @@ -0,0 +1,121 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Brass Class Reference

    STK simple brass instrument class. +More... +

    +#include <Brass.h> +

    +

    +Inheritance diagram for stk::Brass:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Brass (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Brass ()
     Class destructor.
    +void clear ()
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setLip (StkFloat frequency)
     Set the lips frequency.
    +void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    +void stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK simple brass instrument class. +

    +This class implements a simple brass instrument waveguide model, a la Cook (TBone, HosePlayer).

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    +Control Change Numbers:

      +
    • Lip Tension = 2
    • Slide Length = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Volume = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Brass::Brass (StkFloat  lowestFrequency  ) 
    +
    +
    + +

    +Class constructor, taking the lowest desired playing frequency. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Brass.png b/doc/html/classstk_1_1Brass.png new file mode 100644 index 0000000..1af8b09 Binary files /dev/null and b/doc/html/classstk_1_1Brass.png differ diff --git a/doc/html/classstk_1_1Chorus-members.html b/doc/html/classstk_1_1Chorus-members.html new file mode 100644 index 0000000..28e7e7c --- /dev/null +++ b/doc/html/classstk_1_1Chorus-members.html @@ -0,0 +1,60 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Chorus Member List

    This is the complete list of members for stk::Chorus, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    Chorus(StkFloat baseDelay=6000)stk::Chorus
    clear(void)stk::Chorus [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::Chorus [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setModDepth(StkFloat depth)stk::Chorus [inline]
    setModFrequency(StkFloat frequency)stk::Chorus
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::Chorus [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Chorus [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Chorus [inline]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Chorus.html b/doc/html/classstk_1_1Chorus.html new file mode 100644 index 0000000..c791f48 --- /dev/null +++ b/doc/html/classstk_1_1Chorus.html @@ -0,0 +1,229 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Chorus Class Reference

    STK chorus effect class. +More... +

    +#include <Chorus.h> +

    +

    +Inheritance diagram for stk::Chorus:
    +
    + +

    + +stk::Effect +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Chorus (StkFloat baseDelay=6000)
     Class constructor, taking the median desired delay length.
    +void clear (void)
     Reset and clear all internal state.
    +void setModDepth (StkFloat depth)
     Set modulation depth.
    +void setModFrequency (StkFloat frequency)
     Set modulation frequency.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    +


    Detailed Description

    +STK chorus effect class. +

    +This class implements a chorus effect. It takes a monophonic input signal and produces a stereo output signal.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Chorus::Chorus (StkFloat  baseDelay = 6000  ) 
    +
    +
    + +

    +Class constructor, taking the median desired delay length. +

    +An StkError can be thrown if the rawwave path is incorrect. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    StkFloat stk::Chorus::lastOut (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Return the specified channel value of the last computed stereo frame. +

    +Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFloat stk::Chorus::tick (StkFloat  input,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

    +Input one sample to the effect and return the specified channel value of the computed stereo frame. +

    +Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Chorus::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs. +

    +The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Chorus::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object. +

    +The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Chorus.png b/doc/html/classstk_1_1Chorus.png new file mode 100644 index 0000000..fe5bab7 Binary files /dev/null and b/doc/html/classstk_1_1Chorus.png differ diff --git a/doc/html/classstk_1_1Clarinet-members.html b/doc/html/classstk_1_1Clarinet-members.html new file mode 100644 index 0000000..4c1c232 --- /dev/null +++ b/doc/html/classstk_1_1Clarinet-members.html @@ -0,0 +1,63 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Clarinet Member List

    This is the complete list of members for stk::Clarinet, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    Clarinet(StkFloat lowestFrequency)stk::Clarinet
    clear(void)stk::Clarinet
    controlChange(int number, StkFloat value)stk::Clarinet [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Clarinet [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Clarinet [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Clarinet [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Clarinet
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Clarinet
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Clarinet [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Clarinet(void)stk::Clarinet
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Clarinet.html b/doc/html/classstk_1_1Clarinet.html new file mode 100644 index 0000000..2ac7508 --- /dev/null +++ b/doc/html/classstk_1_1Clarinet.html @@ -0,0 +1,117 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Clarinet Class Reference

    STK clarinet physical model class. +More... +

    +#include <Clarinet.h> +

    +

    +Inheritance diagram for stk::Clarinet:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Clarinet (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Clarinet (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    +void stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK clarinet physical model class. +

    +This class implements a simple clarinet physical model, as discussed by Smith (1986), McIntyre, Schumacher, Woodhouse (1983), and others.

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    +Control Change Numbers:

      +
    • Reed Stiffness = 2
    • Noise Gain = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Breath Pressure = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Clarinet::Clarinet (StkFloat  lowestFrequency  ) 
    +
    +
    + +

    +Class constructor, taking the lowest desired playing frequency. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Clarinet.png b/doc/html/classstk_1_1Clarinet.png new file mode 100644 index 0000000..2f2c5d4 Binary files /dev/null and b/doc/html/classstk_1_1Clarinet.png differ diff --git a/doc/html/classstk_1_1Delay-members.html b/doc/html/classstk_1_1Delay-members.html new file mode 100644 index 0000000..08767d4 --- /dev/null +++ b/doc/html/classstk_1_1Delay-members.html @@ -0,0 +1,67 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Delay Member List

    This is the complete list of members for stk::Delay, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    contentsAt(unsigned long tapDelay)stk::Delay
    Delay(unsigned long delay=0, unsigned long maxDelay=4095)stk::Delay
    energy(void) const stk::Delay
    Filter(void)stk::Filter [inline]
    getDelay(void) const stk::Delay [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::Delay [inline]
    nextOut(void)stk::Delay [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(unsigned long delay)stk::Delay
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::Delay
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Delay [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Delay [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Delay [inline]
    ~Delay()stk::Delay
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Delay.html b/doc/html/classstk_1_1Delay.html new file mode 100644 index 0000000..2573fa6 --- /dev/null +++ b/doc/html/classstk_1_1Delay.html @@ -0,0 +1,290 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Delay Class Reference

    STK non-interpolating delay line class. +More... +

    +#include <Delay.h> +

    +

    +Inheritance diagram for stk::Delay:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Delay (unsigned long delay=0, unsigned long maxDelay=4095)
     The default constructor creates a delay-line with maximum length of 4095 samples and zero delay.
    ~Delay ()
     Class destructor.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setDelay (unsigned long delay)
     Set the delay-line length.
    +unsigned long getDelay (void) const
     Return the current delay-line length.
    StkFloat contentsAt (unsigned long tapDelay)
     Return the value at tapDelay samples from the delay-line input.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    StkFloat nextOut (void)
     Return the value that will be output by the next call to tick().
    +StkFloat energy (void) const
     Calculate and return the signal energy in the delay-line.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK non-interpolating delay line class. +

    +This class implements a non-interpolating digital delay-line. If the delay and maximum length are not specified during instantiation, a fixed maximum length of 4095 and a delay of zero is set.

    +A non-interpolating delay line is typically used in fixed delay-length applications, such as for reverberation.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    stk::Delay::Delay (unsigned long  delay = 0,
    unsigned long  maxDelay = 4095 
    )
    +
    +
    + +

    +The default constructor creates a delay-line with maximum length of 4095 samples and zero delay. +

    +An StkError will be thrown if the delay parameter is less than zero, the maximum delay parameter is less than one, or the delay parameter is greater than the maxDelay value. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::Delay::setMaximumDelay (unsigned long  delay  ) 
    +
    +
    + +

    +Set the maximum delay-line length. +

    +This method should generally only be used during initial setup of the delay line. If it is used between calls to the tick() function, without a call to clear(), a signal discontinuity will likely occur. If the current maximum length is greater than the new length, no change will be made. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::Delay::setDelay (unsigned long  delay  ) 
    +
    +
    + +

    +Set the delay-line length. +

    +The valid range for delay is from 0 to the maximum delay-line length. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::Delay::contentsAt (unsigned long  tapDelay  ) 
    +
    +
    + +

    +Return the value at tapDelay samples from the delay-line input. +

    +The tap point is determined modulo the delay-line length and is relative to the last input value (i.e., a tapDelay of zero returns the last input value). +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::Delay::nextOut (void   )  [inline]
    +
    +
    + +

    +Return the value that will be output by the next call to tick(). +

    +This method is valid only for delay settings greater than zero! +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Delay::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Delay::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Delay.png b/doc/html/classstk_1_1Delay.png new file mode 100644 index 0000000..5d33551 Binary files /dev/null and b/doc/html/classstk_1_1Delay.png differ diff --git a/doc/html/classstk_1_1DelayA-members.html b/doc/html/classstk_1_1DelayA-members.html new file mode 100644 index 0000000..e299a85 --- /dev/null +++ b/doc/html/classstk_1_1DelayA-members.html @@ -0,0 +1,66 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::DelayA Member List

    This is the complete list of members for stk::DelayA, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::DelayA [virtual]
    contentsAt(unsigned long tapDelay)stk::DelayA
    DelayA(StkFloat delay=0.5, unsigned long maxDelay=4095)stk::DelayA
    Filter(void)stk::Filter [inline]
    getDelay(void) const stk::DelayA [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::DelayA [inline]
    nextOut(void)stk::DelayA [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(StkFloat delay)stk::DelayA
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::DelayA
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::DelayA [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::DelayA [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::DelayA [inline]
    ~DelayA()stk::DelayA
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1DelayA.html b/doc/html/classstk_1_1DelayA.html new file mode 100644 index 0000000..4b91029 --- /dev/null +++ b/doc/html/classstk_1_1DelayA.html @@ -0,0 +1,290 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::DelayA Class Reference

    STK allpass interpolating delay line class. +More... +

    +#include <DelayA.h> +

    +

    +Inheritance diagram for stk::DelayA:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     DelayA (StkFloat delay=0.5, unsigned long maxDelay=4095)
     Default constructor creates a delay-line with maximum length of 4095 samples and delay = 0.5.
    ~DelayA ()
     Class destructor.
    +void clear (void)
     Clears all internal states of the delay line.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setDelay (StkFloat delay)
     Set the delay-line length.
    +StkFloat getDelay (void) const
     Return the current delay-line length.
    StkFloat contentsAt (unsigned long tapDelay)
     Return the value at tapDelay samples from the delay-line input.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    StkFloat nextOut (void)
     Return the value which will be output by the next call to tick().
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK allpass interpolating delay line class. +

    +This class implements a fractional-length digital delay-line using a first-order allpass filter. If the delay and maximum length are not specified during instantiation, a fixed maximum length of 4095 and a delay of 0.5 is set.

    +An allpass filter has unity magnitude gain but variable phase delay properties, making it useful in achieving fractional delays without affecting a signal's frequency magnitude response. In order to achieve a maximally flat phase delay response, the minimum delay possible in this implementation is limited to a value of 0.5.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    stk::DelayA::DelayA (StkFloat  delay = 0.5,
    unsigned long  maxDelay = 4095 
    )
    +
    +
    + +

    +Default constructor creates a delay-line with maximum length of 4095 samples and delay = 0.5. +

    +An StkError will be thrown if the delay parameter is less than zero, the maximum delay parameter is less than one, or the delay parameter is greater than the maxDelay value. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::DelayA::setMaximumDelay (unsigned long  delay  ) 
    +
    +
    + +

    +Set the maximum delay-line length. +

    +This method should generally only be used during initial setup of the delay line. If it is used between calls to the tick() function, without a call to clear(), a signal discontinuity will likely occur. If the current maximum length is greater than the new length, no change will be made. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::DelayA::setDelay (StkFloat  delay  ) 
    +
    +
    + +

    +Set the delay-line length. +

    +The valid range for delay is from 0.5 to the maximum delay-line length. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::DelayA::contentsAt (unsigned long  tapDelay  ) 
    +
    +
    + +

    +Return the value at tapDelay samples from the delay-line input. +

    +The tap point is determined modulo the delay-line length and is relative to the last input value (i.e., a tapDelay of zero returns the last input value). +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::DelayA::nextOut (void   )  [inline]
    +
    +
    + +

    +Return the value which will be output by the next call to tick(). +

    +This method is valid only for delay settings greater than zero! +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::DelayA::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::DelayA::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1DelayA.png b/doc/html/classstk_1_1DelayA.png new file mode 100644 index 0000000..ada21f4 Binary files /dev/null and b/doc/html/classstk_1_1DelayA.png differ diff --git a/doc/html/classstk_1_1DelayL-members.html b/doc/html/classstk_1_1DelayL-members.html new file mode 100644 index 0000000..055e341 --- /dev/null +++ b/doc/html/classstk_1_1DelayL-members.html @@ -0,0 +1,66 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::DelayL Member List

    This is the complete list of members for stk::DelayL, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    contentsAt(unsigned long tapDelay)stk::DelayL
    DelayL(StkFloat delay=0.0, unsigned long maxDelay=4095)stk::DelayL
    Filter(void)stk::Filter [inline]
    getDelay(void) const stk::DelayL [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::DelayL [inline]
    nextOut(void)stk::DelayL [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(StkFloat delay)stk::DelayL
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::DelayL
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::DelayL [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::DelayL [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::DelayL [inline]
    ~DelayL()stk::DelayL
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1DelayL.html b/doc/html/classstk_1_1DelayL.html new file mode 100644 index 0000000..3d6d866 --- /dev/null +++ b/doc/html/classstk_1_1DelayL.html @@ -0,0 +1,286 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::DelayL Class Reference

    STK linear interpolating delay line class. +More... +

    +#include <DelayL.h> +

    +

    +Inheritance diagram for stk::DelayL:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     DelayL (StkFloat delay=0.0, unsigned long maxDelay=4095)
     Default constructor creates a delay-line with maximum length of 4095 samples and zero delay.
    ~DelayL ()
     Class destructor.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setDelay (StkFloat delay)
     Set the delay-line length.
    +StkFloat getDelay (void) const
     Return the current delay-line length.
    StkFloat contentsAt (unsigned long tapDelay)
     Return the value at tapDelay samples from the delay-line input.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    StkFloat nextOut (void)
     Return the value which will be output by the next call to tick().
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK linear interpolating delay line class. +

    +This class implements a fractional-length digital delay-line using first-order linear interpolation. If the delay and maximum length are not specified during instantiation, a fixed maximum length of 4095 and a delay of zero is set.

    +Linear interpolation is an efficient technique for achieving fractional delay lengths, though it does introduce high-frequency signal attenuation to varying degrees depending on the fractional delay setting. The use of higher order Lagrange interpolators can typically improve (minimize) this attenuation characteristic.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    stk::DelayL::DelayL (StkFloat  delay = 0.0,
    unsigned long  maxDelay = 4095 
    )
    +
    +
    + +

    +Default constructor creates a delay-line with maximum length of 4095 samples and zero delay. +

    +An StkError will be thrown if the delay parameter is less than zero, the maximum delay parameter is less than one, or the delay parameter is greater than the maxDelay value. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::DelayL::setMaximumDelay (unsigned long  delay  ) 
    +
    +
    + +

    +Set the maximum delay-line length. +

    +This method should generally only be used during initial setup of the delay line. If it is used between calls to the tick() function, without a call to clear(), a signal discontinuity will likely occur. If the current maximum length is greater than the new length, no change will be made. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::DelayL::setDelay (StkFloat  delay  ) 
    +
    +
    + +

    +Set the delay-line length. +

    +The valid range for delay is from 0 to the maximum delay-line length. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::DelayL::contentsAt (unsigned long  tapDelay  ) 
    +
    +
    + +

    +Return the value at tapDelay samples from the delay-line input. +

    +The tap point is determined modulo the delay-line length and is relative to the last input value (i.e., a tapDelay of zero returns the last input value). +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::DelayL::nextOut (void   )  [inline]
    +
    +
    + +

    +Return the value which will be output by the next call to tick(). +

    +This method is valid only for delay settings greater than zero! +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::DelayL::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::DelayL::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1DelayL.png b/doc/html/classstk_1_1DelayL.png new file mode 100644 index 0000000..1e32622 Binary files /dev/null and b/doc/html/classstk_1_1DelayL.png differ diff --git a/doc/html/classstk_1_1Drummer-members.html b/doc/html/classstk_1_1Drummer-members.html new file mode 100644 index 0000000..4087bcb --- /dev/null +++ b/doc/html/classstk_1_1Drummer-members.html @@ -0,0 +1,60 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Drummer Member List

    This is the complete list of members for stk::Drummer, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    Drummer(void)stk::Drummer
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Drummer [virtual]
    noteOn(StkFloat instrument, StkFloat amplitude)stk::Drummer [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Drummer [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Drummer(void)stk::Drummer
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Drummer.html b/doc/html/classstk_1_1Drummer.html new file mode 100644 index 0000000..05a2ca5 --- /dev/null +++ b/doc/html/classstk_1_1Drummer.html @@ -0,0 +1,126 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Drummer Class Reference

    STK drum sample player class. +More... +

    +#include <Drummer.h> +

    +

    +Inheritance diagram for stk::Drummer:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Drummer (void)
     Class constructor.
    ~Drummer (void)
     Class destructor.
    void noteOn (StkFloat instrument, StkFloat amplitude)
     Start a note with the given drum type and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK drum sample player class. +

    +This class implements a drum sampling synthesizer using WvIn objects and one-pole filters. The drum rawwave files are sampled at 22050 Hz, but will be appropriately interpolated for other sample rates. You can specify the maximum polyphony (maximum number of simultaneous voices) via a define in the Drummer.h.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Drummer::Drummer (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void stk::Drummer::noteOn (StkFloat  instrument,
    StkFloat  amplitude 
    ) [virtual]
    +
    +
    + +

    +Start a note with the given drum type and amplitude. +

    +Use general MIDI drum instrument numbers, converted to frequency values as if MIDI note numbers, to select a particular instrument. An StkError will be thrown if the rawwave path is incorrectly set. +

    Implements stk::Instrmnt.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Drummer.png b/doc/html/classstk_1_1Drummer.png new file mode 100644 index 0000000..4fd1e6e Binary files /dev/null and b/doc/html/classstk_1_1Drummer.png differ diff --git a/doc/html/classstk_1_1Echo-members.html b/doc/html/classstk_1_1Echo-members.html new file mode 100644 index 0000000..82854f1 --- /dev/null +++ b/doc/html/classstk_1_1Echo-members.html @@ -0,0 +1,60 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Echo Member List

    This is the complete list of members for stk::Echo, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear()stk::Echo [virtual]
    Echo(unsigned long maximumDelay=(unsigned long) Stk::sampleRate())stk::Echo
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(void) const stk::Echo [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(unsigned long delay)stk::Echo
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setMaximumDelay(unsigned long delay)stk::Echo
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Echo [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Echo [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Echo [inline]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Echo.html b/doc/html/classstk_1_1Echo.html new file mode 100644 index 0000000..3258c9a --- /dev/null +++ b/doc/html/classstk_1_1Echo.html @@ -0,0 +1,178 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Echo Class Reference

    STK echo effect class. +More... +

    +#include <Echo.h> +

    +

    +Inheritance diagram for stk::Echo:
    +
    + +

    + +stk::Effect +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Echo (unsigned long maximumDelay=(unsigned long) Stk::sampleRate())
     Class constructor, taking the longest desired delay length (one second default value).
    +void clear ()
     Reset and clear all internal state.
    +void setMaximumDelay (unsigned long delay)
     Set the maximum delay line length in samples.
    +void setDelay (unsigned long delay)
     Set the delay line length in samples.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the effect and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object.
    +


    Detailed Description

    +STK echo effect class. +

    +This class implements an echo effect.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Echo::Echo (unsigned long  maximumDelay = (unsigned long) Stk::sampleRate()  ) 
    +
    +
    + +

    +Class constructor, taking the longest desired delay length (one second default value). +

    +The default delay value is set to 1/2 the maximum delay length. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Echo::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Echo::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Echo.png b/doc/html/classstk_1_1Echo.png new file mode 100644 index 0000000..7d37634 Binary files /dev/null and b/doc/html/classstk_1_1Echo.png differ diff --git a/doc/html/classstk_1_1Effect-members.html b/doc/html/classstk_1_1Effect-members.html new file mode 100644 index 0000000..0ff9bde --- /dev/null +++ b/doc/html/classstk_1_1Effect-members.html @@ -0,0 +1,53 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Effect Member List

    This is the complete list of members for stk::Effect, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear()=0stk::Effect [pure virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Effect.html b/doc/html/classstk_1_1Effect.html new file mode 100644 index 0000000..dcb9ca1 --- /dev/null +++ b/doc/html/classstk_1_1Effect.html @@ -0,0 +1,76 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Effect Class Reference

    STK abstract effects parent class. +More... +

    +#include <Effect.h> +

    +

    +Inheritance diagram for stk::Effect:
    +
    + +

    + +stk::Stk +stk::Chorus +stk::Echo +stk::JCRev +stk::NRev +stk::PitShift +stk::PRCRev + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Effect (void)
     Class constructor.
    +unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    +const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    +virtual void clear ()=0
     Reset and clear all internal state.
    +void setEffectMix (StkFloat mix)
     Set the mixture of input and "effected" levels in the output (0.0 = input only, 1.0 = effect only).
    +


    Detailed Description

    +STK abstract effects parent class. +

    +This class provides common functionality for STK effects subclasses. It is general enough to support both monophonic and polyphonic input/output classes.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Effect.png b/doc/html/classstk_1_1Effect.png new file mode 100644 index 0000000..8407b11 Binary files /dev/null and b/doc/html/classstk_1_1Effect.png differ diff --git a/doc/html/classstk_1_1Envelope-members.html b/doc/html/classstk_1_1Envelope-members.html new file mode 100644 index 0000000..5b5b8fc --- /dev/null +++ b/doc/html/classstk_1_1Envelope-members.html @@ -0,0 +1,63 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Envelope Member List

    This is the complete list of members for stk::Envelope, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Envelope(void)stk::Envelope
    Generator(void)stk::Generator [inline]
    getState(void) const stk::Envelope [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    keyOff(void)stk::Envelope [inline]
    keyOn(void)stk::Envelope [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Envelope [inline]
    operator=(const Envelope &e)stk::Envelope
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setRate(StkFloat rate)stk::Envelope [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTarget(StkFloat target)stk::Envelope [inline]
    setTime(StkFloat time)stk::Envelope [inline]
    setValue(StkFloat value)stk::Envelope [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Envelope [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Envelope [inline, virtual]
    ~Envelope(void)stk::Envelope
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Envelope.html b/doc/html/classstk_1_1Envelope.html new file mode 100644 index 0000000..4708e55 --- /dev/null +++ b/doc/html/classstk_1_1Envelope.html @@ -0,0 +1,136 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Envelope Class Reference

    STK linear line envelope class. +More... +

    +#include <Envelope.h> +

    +

    +Inheritance diagram for stk::Envelope:
    +
    + +

    + +stk::Generator +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Envelope (void)
     Default constructor.
    ~Envelope (void)
     Class destructor.
    +Envelopeoperator= (const Envelope &e)
     Assignment operator.
    +void keyOn (void)
     Set target = 1.
    +void keyOff (void)
     Set target = 0.
    +void setRate (StkFloat rate)
     Set the rate.
    +void setTime (StkFloat time)
     Set the rate based on a time duration.
    +void setTarget (StkFloat target)
     Set the target value.
    +void setValue (StkFloat value)
     Set current and target values to value.
    +int getState (void) const
     Return the current envelope state (0 = at target, 1 otherwise).
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    +


    Detailed Description

    +STK linear line envelope class. +

    +This class implements a simple linear line envelope generator which is capable of ramping to an arbitrary target value by a specified rate. It also responds to simple keyOn and keyOff messages, ramping to 1.0 on keyOn and to 0.0 on keyOff.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Envelope::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Generator.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Envelope.png b/doc/html/classstk_1_1Envelope.png new file mode 100644 index 0000000..e97e739 Binary files /dev/null and b/doc/html/classstk_1_1Envelope.png differ diff --git a/doc/html/classstk_1_1FM-members.html b/doc/html/classstk_1_1FM-members.html new file mode 100644 index 0000000..ebe169f --- /dev/null +++ b/doc/html/classstk_1_1FM-members.html @@ -0,0 +1,70 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::FM Member List

    This is the complete list of members for stk::FM, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int)=0stk::FM [pure virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FM.html b/doc/html/classstk_1_1FM.html new file mode 100644 index 0000000..814187e --- /dev/null +++ b/doc/html/classstk_1_1FM.html @@ -0,0 +1,148 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::FM Class Reference

    STK abstract FM synthesis base class. +More... +

    +#include <FM.h> +

    +

    +Inheritance diagram for stk::FM:
    +
    + +

    + +stk::Instrmnt +stk::Stk +stk::BeeThree +stk::FMVoices +stk::HevyMetl +stk::PercFlut +stk::Rhodey +stk::TubeBell +stk::Wurley + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     FM (unsigned int operators=4)
     Class constructor, taking the number of wave/envelope operators to control.
    +virtual ~FM (void)
     Class destructor.
    +void clear (void)
     Reset and clear all wave and envelope states.
    +void loadWaves (const char **filenames)
     Load the rawwave filenames in waves.
    +virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setRatio (unsigned int waveIndex, StkFloat ratio)
     Set the frequency ratio for the specified wave.
    +void setGain (unsigned int waveIndex, StkFloat gain)
     Set the gain for the specified wave.
    +void setModulationSpeed (StkFloat mSpeed)
     Set the modulation speed in Hz.
    +void setModulationDepth (StkFloat mDepth)
     Set the modulation depth.
    +void setControl1 (StkFloat cVal)
     Set the value of control1.
    +void setControl2 (StkFloat cVal)
     Set the value of control1.
    +void keyOn (void)
     Start envelopes toward "on" targets.
    +void keyOff (void)
     Start envelopes toward "off" targets.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +virtual void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +virtual StkFloat tick (unsigned int)=0
     Compute and return one output sample.
    +


    Detailed Description

    +STK abstract FM synthesis base class. +

    +This class controls an arbitrary number of waves and envelopes, determined via a constructor argument.

    +Control Change Numbers:

      +
    • Control One = 2
    • Control Two = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    +

    +The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::FM::FM (unsigned int  operators = 4  ) 
    +
    +
    + +

    +Class constructor, taking the number of wave/envelope operators to control. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FM.png b/doc/html/classstk_1_1FM.png new file mode 100644 index 0000000..6777d19 Binary files /dev/null and b/doc/html/classstk_1_1FM.png differ diff --git a/doc/html/classstk_1_1FMVoices-members.html b/doc/html/classstk_1_1FMVoices-members.html new file mode 100644 index 0000000..3dae1c6 --- /dev/null +++ b/doc/html/classstk_1_1FMVoices-members.html @@ -0,0 +1,72 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::FMVoices Member List

    This is the complete list of members for stk::FMVoices, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FMVoices [virtual]
    FM(unsigned int operators=4)stk::FM
    FMVoices(void)stk::FMVoices
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::FMVoices [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FMVoices [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::FMVoices [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~FMVoices(void)stk::FMVoices
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FMVoices.html b/doc/html/classstk_1_1FMVoices.html new file mode 100644 index 0000000..d01a634 --- /dev/null +++ b/doc/html/classstk_1_1FMVoices.html @@ -0,0 +1,107 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::FMVoices Class Reference

    STK singing FM synthesis instrument. +More... +

    +#include <FMVoices.h> +

    +

    +Inheritance diagram for stk::FMVoices:
    +
    + +

    + +stk::FM +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     FMVoices (void)
     Class constructor.
    ~FMVoices (void)
     Class destructor.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK singing FM synthesis instrument. +

    +This class implements 3 carriers and a common modulator, also referred to as algorithm 6 of the TX81Z.

    +

        Algorithm 6 is :
    +                        /->1 -\
    +                     4-|-->2 - +-> Out
    +                        \->3 -/
    +

    +Control Change Numbers:

      +
    • Vowel = 2
    • Spectral Tilt = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    +

    +The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::FMVoices::FMVoices (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FMVoices.png b/doc/html/classstk_1_1FMVoices.png new file mode 100644 index 0000000..2f5499f Binary files /dev/null and b/doc/html/classstk_1_1FMVoices.png differ diff --git a/doc/html/classstk_1_1FileLoop-members.html b/doc/html/classstk_1_1FileLoop-members.html new file mode 100644 index 0000000..55d0a76 --- /dev/null +++ b/doc/html/classstk_1_1FileLoop-members.html @@ -0,0 +1,72 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::FileLoop Member List

    This is the complete list of members for stk::FileLoop, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addPhase(StkFloat angle)stk::FileLoop
    addPhaseOffset(StkFloat angle)stk::FileLoop
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addTime(StkFloat time)stk::FileLoop [virtual]
    channelsOut(void) const stk::WvIn [inline, protected]
    closeFile(void)stk::FileLoop [inline, virtual]
    FileLoop(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileLoop
    FileLoop(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileLoop
    FileWvIn(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn [protected]
    FileWvIn(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn [protected]
    getFileRate(void) const stk::FileLoop [inline, virtual]
    getSize(void) const stk::FileLoop [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [protected, static]
    handleError(std::string message, StkError::Type type)stk::Stk [protected, static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline, protected]
    isFinished(void) const stk::FileWvIn [inline, protected]
    lastFrame(void) const stk::WvIn [inline, protected]
    lastOut(unsigned int channel=0)stk::FileLoop [inline]
    normalize(void)stk::FileLoop [inline, virtual]
    normalize(StkFloat peak)stk::FileLoop [inline, virtual]
    openFile(std::string fileName, bool raw=false, bool doNormalize=true)stk::FileLoop [virtual]
    printErrors(bool status)stk::Stk [inline, protected, static]
    rawwavePath(void)stk::Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::FileLoop [inline, virtual]
    sampleRate(void)stk::Stk [inline, protected, static]
    setFrequency(StkFloat frequency)stk::FileLoop [inline]
    setInterpolate(bool doInterpolate)stk::FileWvIn [inline, protected]
    setRate(StkFloat rate)stk::FileLoop [virtual]
    setRawwavePath(std::string path)stk::Stk [protected, static]
    setSampleRate(StkFloat rate)stk::Stk [protected, static]
    showWarnings(bool status)stk::Stk [inline, protected, static]
    sleep(unsigned long milliseconds)stk::Stk [protected, static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [protected, static]
    STK_FLOAT64stk::Stk [protected, static]
    STK_SINT16stk::Stk [protected, static]
    STK_SINT24stk::Stk [protected, static]
    STK_SINT32stk::Stk [protected, static]
    STK_SINT8stk::Stk [protected, static]
    swap16(unsigned char *ptr)stk::Stk [protected, static]
    swap32(unsigned char *ptr)stk::Stk [protected, static]
    swap64(unsigned char *ptr)stk::Stk [protected, static]
    tick(unsigned int channel=0)stk::FileLoop [virtual]
    tick(StkFrames &frames)stk::FileLoop [virtual]
    ~FileLoop(void)stk::FileLoop
    ~FileWvIn(void)stk::FileWvIn [protected]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FileLoop.html b/doc/html/classstk_1_1FileLoop.html new file mode 100644 index 0000000..bf2a597 --- /dev/null +++ b/doc/html/classstk_1_1FileLoop.html @@ -0,0 +1,388 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::FileLoop Class Reference

    STK file looping / oscillator class. +More... +

    +#include <FileLoop.h> +

    +

    +Inheritance diagram for stk::FileLoop:
    +
    + +

    + +stk::FileWvIn +stk::WvIn +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    FileLoop (unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Default constructor.
    FileLoop (std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Class constructor that opens a specified file.
    ~FileLoop (void)
     Class destructor.
    void openFile (std::string fileName, bool raw=false, bool doNormalize=true)
     Open the specified file and load its data.
    +void closeFile (void)
     Close a file if one is open.
    +void reset (void)
     Clear outputs and reset time (file) pointer to zero.
    void normalize (void)
     Normalize data to a maximum of +-1.0.
    void normalize (StkFloat peak)
     Normalize data to a maximum of +-peak.
    +unsigned long getSize (void) const
     Return the file size in sample frames.
    StkFloat getFileRate (void) const
     Return the input file sample rate in Hz (not the data read rate).
    void setRate (StkFloat rate)
     Set the data read rate in samples. The rate can be negative.
    void setFrequency (StkFloat frequency)
     Set the data interpolation rate based on a looping frequency.
    +void addTime (StkFloat time)
     Increment the read pointer by time samples, modulo file size.
    void addPhase (StkFloat angle)
     Increment current read pointer by angle, relative to a looping frequency.
    void addPhaseOffset (StkFloat angle)
     Add a phase offset to the current read pointer.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Compute a sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames)
     Fill the StkFrames argument with computed frames and return the same reference.
    +


    Detailed Description

    +STK file looping / oscillator class. +

    +This class provides audio file looping functionality. Any audio file that can be loaded by FileRead can be looped using this class.

    +FileLoop supports multi-channel data. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::FileLoop::openFile (std::string  fileName,
    bool  raw = false,
    bool  doNormalize = true 
    ) [virtual]
    +
    +
    + +

    +Open the specified file and load its data. +

    +Data from a previously opened file will be overwritten by this function. An StkError will be thrown if the file is not found, its format is unknown, or a read error occurs. If the file data is to be loaded incrementally from disk and normalization is specified, a scaling will be applied with respect to fixed-point limits. If the data format is floating-point, no scaling is performed. +

    Reimplemented from stk::FileWvIn.

    + +
    +

    + +

    +
    + + + + + + + + + +
    void stk::FileLoop::normalize (void   )  [inline, virtual]
    +
    +
    + +

    +Normalize data to a maximum of +-1.0. +

    +This function has no effect when data is incrementally loaded from disk. +

    Reimplemented from stk::FileWvIn.

    + +
    +

    + +

    +
    + + + + + + + + + +
    void stk::FileLoop::normalize (StkFloat  peak  )  [inline, virtual]
    +
    +
    + +

    +Normalize data to a maximum of +-peak. +

    +This function has no effect when data is incrementally loaded from disk. +

    Reimplemented from stk::FileWvIn.

    + +
    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::FileLoop::getFileRate (void   )  const [inline, virtual]
    +
    +
    + +

    +Return the input file sample rate in Hz (not the data read rate). +

    +WAV, SND, and AIF formatted files specify a sample rate in their headers. STK RAW files have a sample rate of 22050 Hz by definition. MAT-files are assumed to have a rate of 44100 Hz. +

    Reimplemented from stk::FileWvIn.

    + +
    +

    + +

    +
    + + + + + + + + + +
    void stk::FileLoop::setRate (StkFloat  rate  )  [virtual]
    +
    +
    + +

    +Set the data read rate in samples. The rate can be negative. +

    +If the rate value is negative, the data is read in reverse order. +

    Reimplemented from stk::FileWvIn.

    + +
    +

    + +

    +
    + + + + + + + + + +
    void stk::FileLoop::setFrequency (StkFloat  frequency  )  [inline]
    +
    +
    + +

    +Set the data interpolation rate based on a looping frequency. +

    +This function determines the interpolation rate based on the file size and the current Stk::sampleRate. The frequency value corresponds to file cycles per second. The frequency can be negative, in which case the loop is read in reverse order. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::FileLoop::addPhase (StkFloat  angle  ) 
    +
    +
    + +

    +Increment current read pointer by angle, relative to a looping frequency. +

    +This function increments the read pointer based on the file size and the current Stk::sampleRate. The anAngle value is a multiple of file size. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::FileLoop::addPhaseOffset (StkFloat  angle  ) 
    +
    +
    + +

    +Add a phase offset to the current read pointer. +

    +This function determines a time offset based on the file size and the current Stk::sampleRate. The angle value is a multiple of file size. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::FileLoop::lastOut (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Return the specified channel value of the last computed frame. +

    +For multi-channel files, use the lastFrame() function to get all values from the last computed frame. If no file data is loaded, the returned value is 0.0. The channel argument must be less than the number of channels in the file data (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Reimplemented from stk::FileWvIn.

    + +
    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::FileLoop::tick (unsigned int  channel = 0  )  [virtual]
    +
    +
    + +

    +Compute a sample frame and return the specified channel value. +

    +For multi-channel files, use the lastFrame() function to get all values from the computed frame. If no file data is loaded, the returned value is 0.0. The channel argument must be less than the number of channels in the file data (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Reimplemented from stk::FileWvIn.

    + +
    +

    + +

    +
    + + + + + + + + + +
    StkFrames& stk::FileLoop::tick (StkFrames frames  )  [virtual]
    +
    +
    + +

    +Fill the StkFrames argument with computed frames and return the same reference. +

    +The number of channels in the StkFrames argument should equal the number of channels in the file data. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no file data is loaded, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation and Stk::showWarnings() has been set to true). +

    Reimplemented from stk::FileWvIn.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FileLoop.png b/doc/html/classstk_1_1FileLoop.png new file mode 100644 index 0000000..3dd0e52 Binary files /dev/null and b/doc/html/classstk_1_1FileLoop.png differ diff --git a/doc/html/classstk_1_1FileRead-members.html b/doc/html/classstk_1_1FileRead-members.html new file mode 100644 index 0000000..069b8ca --- /dev/null +++ b/doc/html/classstk_1_1FileRead-members.html @@ -0,0 +1,58 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::FileRead Member List

    This is the complete list of members for stk::FileRead, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channels(void) const stk::FileRead [inline]
    close(void)stk::FileRead
    fileRate(void) const stk::FileRead [inline]
    FileRead(void)stk::FileRead
    FileRead(std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)stk::FileRead
    fileSize(void) const stk::FileRead [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isOpen(void)stk::FileRead
    open(std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)stk::FileRead
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    read(StkFrames &buffer, unsigned long startFrame=0, bool doNormalize=true)stk::FileRead
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~FileRead(void)stk::FileRead
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FileRead.html b/doc/html/classstk_1_1FileRead.html new file mode 100644 index 0000000..1433f37 --- /dev/null +++ b/doc/html/classstk_1_1FileRead.html @@ -0,0 +1,247 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::FileRead Class Reference

    STK audio file input class. +More... +

    +#include <FileRead.h> +

    +

    +Inheritance diagram for stk::FileRead:
    +
    + +

    + +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    FileRead (void)
     Default constructor.
     FileRead (std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)
     Overloaded constructor that opens a file during instantiation.
    ~FileRead (void)
     Class destructor.
    void open (std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)
     Open the specified file and determine its formatting.
    +void close (void)
     If a file is open, close it.
    +bool isOpen (void)
     Returns true if a file is currently open.
    +unsigned long fileSize (void) const
     Return the file size in sample frames.
    +unsigned int channels (void) const
     Return the number of audio channels in the file.
    StkFloat fileRate (void) const
     Return the file sample rate in Hz.
    void read (StkFrames &buffer, unsigned long startFrame=0, bool doNormalize=true)
     Read sample frames from the file into an StkFrames object.
    +


    Detailed Description

    +STK audio file input class. +

    +This class provides input support for various audio file formats. Multi-channel (>2) soundfiles are supported. The file data is returned via an external StkFrames object passed to the read() function. This class does not store its own copy of the file data, rather the data is read directly from disk.

    +FileRead currently supports uncompressed WAV, AIFF/AIFC, SND (AU), MAT-file (Matlab), and STK RAW file formats. Signed integer (8-, 16-, and 32-bit) and floating-point (32- and 64-bit) data types are supported. Compressed data types are not supported.

    +STK RAW files have no header and are assumed to contain a monophonic stream of 16-bit signed integers in big-endian byte order at a sample rate of 22050 Hz. MAT-file data should be saved in an array with each data channel filling a matrix row. The sample rate for MAT-files is assumed to be 44100 Hz.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    stk::FileRead::FileRead (std::string  fileName,
    bool  typeRaw = false,
    unsigned int  nChannels = 1,
    StkFormat  format = STK_SINT16,
    StkFloat  rate = 22050.0 
    )
    +
    +
    + +

    +Overloaded constructor that opens a file during instantiation. +

    +An StkError will be thrown if the file is not found or its format is unknown or unsupported. The optional arguments allow a headerless file type to be supported. If typeRaw is false (the default), the subsequent parameters are ignored. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::FileRead::open (std::string  fileName,
    bool  typeRaw = false,
    unsigned int  nChannels = 1,
    StkFormat  format = STK_SINT16,
    StkFloat  rate = 22050.0 
    )
    +
    +
    + +

    +Open the specified file and determine its formatting. +

    +An StkError will be thrown if the file is not found or its format is unknown or unsupported. The optional arguments allow a headerless file type to be supported. If typeRaw is false (the default), the subsequent parameters are ignored. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::FileRead::fileRate (void   )  const [inline]
    +
    +
    + +

    +Return the file sample rate in Hz. +

    +WAV, SND, and AIF formatted files specify a sample rate in their headers. By definition, STK RAW files have a sample rate of 22050 Hz. MAT-files are assumed to have a rate of 44100 Hz. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::FileRead::read (StkFrames buffer,
    unsigned long  startFrame = 0,
    bool  doNormalize = true 
    )
    +
    +
    + +

    +Read sample frames from the file into an StkFrames object. +

    +The number of sample frames to read will be determined from the number of frames of the StkFrames argument. If this size is larger than the available data in the file (given the file size and starting frame index), the extra frames will be unaffected (the StkFrames object will not be resized). Optional parameters are provided to specify the starting sample frame within the file (default = 0) and whether to normalize the data with respect to fixed-point limits (default = true). An StkError will be thrown if a file error occurs or if the number of channels in the StkFrames argument is not equal to that in the file. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FileRead.png b/doc/html/classstk_1_1FileRead.png new file mode 100644 index 0000000..952ee0f Binary files /dev/null and b/doc/html/classstk_1_1FileRead.png differ diff --git a/doc/html/classstk_1_1FileWrite-members.html b/doc/html/classstk_1_1FileWrite-members.html new file mode 100644 index 0000000..f08fd0e --- /dev/null +++ b/doc/html/classstk_1_1FileWrite-members.html @@ -0,0 +1,60 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::FileWrite Member List

    This is the complete list of members for stk::FileWrite, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(void)stk::FileWrite
    FILE_AIFstk::FileWrite [static]
    FILE_MATstk::FileWrite [static]
    FILE_RAWstk::FileWrite [static]
    FILE_SNDstk::FileWrite [static]
    FILE_WAVstk::FileWrite [static]
    FileWrite(void)stk::FileWrite
    FileWrite(std::string fileName, unsigned int nChannels=1, FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)stk::FileWrite
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isOpen(void)stk::FileWrite
    open(std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)stk::FileWrite
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    write(StkFrames &buffer)stk::FileWrite
    ~FileWrite()stk::FileWrite [virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FileWrite.html b/doc/html/classstk_1_1FileWrite.html new file mode 100644 index 0000000..ae888d4 --- /dev/null +++ b/doc/html/classstk_1_1FileWrite.html @@ -0,0 +1,274 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::FileWrite Class Reference

    STK audio file output class. +More... +

    +#include <FileWrite.h> +

    +

    +Inheritance diagram for stk::FileWrite:
    +
    + +

    + +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    FileWrite (void)
     Default constructor.
     FileWrite (std::string fileName, unsigned int nChannels=1, FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)
     Overloaded constructor used to specify a file name, type, and data format with this object.
    +virtual ~FileWrite ()
     Class destructor.
    void open (std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)
     Create a file of the specified type and name and output samples to it in the given data format.
    +void close (void)
     If a file is open, write out samples in the queue and then close it.
    +bool isOpen (void)
     Returns true if a file is currently open.
    void write (StkFrames &buffer)
     Write sample frames from the StkFrames object to the file.

    Static Public Attributes

    static const FILE_TYPE FILE_RAW
    static const FILE_TYPE FILE_WAV
    static const FILE_TYPE FILE_SND
    static const FILE_TYPE FILE_AIF
    static const FILE_TYPE FILE_MAT
    +


    Detailed Description

    +STK audio file output class. +

    +This class provides output support for various audio file formats.

    +FileWrite writes samples to an audio file. It supports multi-channel data.

    +FileWrite currently supports uncompressed WAV, AIFF, AIFC, SND (AU), MAT-file (Matlab), and STK RAW file formats. Signed integer (8-, 16-, and 32-bit) and floating- point (32- and 64-bit) data types are supported. STK RAW files use 16-bit integers by definition. MAT-files will always be written as 64-bit floats. If a data type specification does not match the specified file type, the data type will automatically be modified. Compressed data types are not supported.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    stk::FileWrite::FileWrite (std::string  fileName,
    unsigned int  nChannels = 1,
    FILE_TYPE  type = FILE_WAV,
    Stk::StkFormat  format = STK_SINT16 
    )
    +
    +
    + +

    +Overloaded constructor used to specify a file name, type, and data format with this object. +

    +An StkError is thrown for invalid argument values or if an error occurs when initializing the output file. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::FileWrite::open (std::string  fileName,
    unsigned int  nChannels = 1,
    FileWrite::FILE_TYPE  type = FILE_WAV,
    Stk::StkFormat  format = STK_SINT16 
    )
    +
    +
    + +

    +Create a file of the specified type and name and output samples to it in the given data format. +

    +An StkError is thrown for invalid argument values or if an error occurs when initializing the output file. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::FileWrite::write (StkFrames buffer  ) 
    +
    +
    + +

    +Write sample frames from the StkFrames object to the file. +

    +An StkError will be thrown if the number of channels in the StkFrames argument does not agree with the number of channels specified when opening the file. +

    +

    +


    Member Data Documentation

    + +
    +
    + + + + +
    const FILE_TYPE stk::FileWrite::FILE_RAW [static]
    +
    +
    + +

    +STK RAW file type. +

    +

    + +

    +
    + + + + +
    const FILE_TYPE stk::FileWrite::FILE_WAV [static]
    +
    +
    + +

    +WAV file type. +

    +

    + +

    +
    + + + + +
    const FILE_TYPE stk::FileWrite::FILE_SND [static]
    +
    +
    + +

    +SND (AU) file type. +

    +

    + +

    +
    + + + + +
    const FILE_TYPE stk::FileWrite::FILE_AIF [static]
    +
    +
    + +

    +AIFF file type. +

    +

    + +

    +
    + + + + +
    const FILE_TYPE stk::FileWrite::FILE_MAT [static]
    +
    +
    + +

    +Matlab MAT-file type. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FileWrite.png b/doc/html/classstk_1_1FileWrite.png new file mode 100644 index 0000000..c8084b0 Binary files /dev/null and b/doc/html/classstk_1_1FileWrite.png differ diff --git a/doc/html/classstk_1_1FileWvIn-members.html b/doc/html/classstk_1_1FileWvIn-members.html new file mode 100644 index 0000000..293eeb7 --- /dev/null +++ b/doc/html/classstk_1_1FileWvIn-members.html @@ -0,0 +1,66 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::FileWvIn Member List

    This is the complete list of members for stk::FileWvIn, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addTime(StkFloat time)stk::FileWvIn [virtual]
    channelsOut(void) const stk::WvIn [inline]
    closeFile(void)stk::FileWvIn [virtual]
    FileWvIn(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn
    FileWvIn(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn
    getFileRate(void) const stk::FileWvIn [inline, virtual]
    getSize(void) const stk::FileWvIn [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isFinished(void) const stk::FileWvIn [inline]
    lastFrame(void) const stk::WvIn [inline]
    lastOut(unsigned int channel=0)stk::FileWvIn [inline]
    normalize(void)stk::FileWvIn [virtual]
    normalize(StkFloat peak)stk::FileWvIn [virtual]
    openFile(std::string fileName, bool raw=false, bool doNormalize=true)stk::FileWvIn [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::FileWvIn [virtual]
    sampleRate(void)stk::Stk [inline, static]
    setInterpolate(bool doInterpolate)stk::FileWvIn [inline]
    setRate(StkFloat rate)stk::FileWvIn [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::FileWvIn [virtual]
    tick(StkFrames &frames)stk::FileWvIn [virtual]
    ~FileWvIn(void)stk::FileWvIn
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FileWvIn.html b/doc/html/classstk_1_1FileWvIn.html new file mode 100644 index 0000000..462649a --- /dev/null +++ b/doc/html/classstk_1_1FileWvIn.html @@ -0,0 +1,420 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::FileWvIn Class Reference

    STK audio file input class. +More... +

    +#include <FileWvIn.h> +

    +

    +Inheritance diagram for stk::FileWvIn:
    +
    + +

    + +stk::WvIn +stk::Stk +stk::FileLoop + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    FileWvIn (unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Default constructor.
     FileWvIn (std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Overloaded constructor for file input.
    ~FileWvIn (void)
     Class destructor.
    virtual void openFile (std::string fileName, bool raw=false, bool doNormalize=true)
     Open the specified file and load its data.
    +virtual void closeFile (void)
     Close a file if one is open.
    +virtual void reset (void)
     Clear outputs and reset time (file) pointer to zero.
    virtual void normalize (void)
     Normalize data to a maximum of +-1.0.
    virtual void normalize (StkFloat peak)
     Normalize data to a maximum of +-peak.
    +virtual unsigned long getSize (void) const
     Return the file size in sample frames.
    virtual StkFloat getFileRate (void) const
     Return the input file sample rate in Hz (not the data read rate).
    +bool isFinished (void) const
     Query whether reading is complete.
    virtual void setRate (StkFloat rate)
     Set the data read rate in samples. The rate can be negative.
    virtual void addTime (StkFloat time)
     Increment the read pointer by time samples.
    void setInterpolate (bool doInterpolate)
     Turn linear interpolation on/off.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    virtual StkFloat tick (unsigned int channel=0)
     Compute a sample frame and return the specified channel value.
    virtual StkFramestick (StkFrames &frames)
     Fill the StkFrames argument with computed frames and return the same reference.
    +


    Detailed Description

    +STK audio file input class. +

    +This class inherits from WvIn. It provides a "tick-level" interface to the FileRead class. It also provides variable-rate playback functionality. Audio file support is provided by the FileRead class. Linear interpolation is used for fractional read rates.

    +FileWvIn supports multi-channel data. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

    +FileWvIn will either load the entire content of an audio file into local memory or incrementally read file data from disk in chunks. This behavior is controlled by the optional constructor arguments chunkThreshold and chunkSize. File sizes greater than chunkThreshold (in sample frames) will be read incrementally in chunks of chunkSize each (also in sample frames).

    +When the file end is reached, subsequent calls to the tick() functions return zeros and isFinished() returns true.

    +See the FileRead class for a description of the supported audio file formats.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    stk::FileWvIn::FileWvIn (std::string  fileName,
    bool  raw = false,
    bool  doNormalize = true,
    unsigned long  chunkThreshold = 1000000,
    unsigned long  chunkSize = 1024 
    )
    +
    +
    + +

    +Overloaded constructor for file input. +

    +An StkError will be thrown if the file is not found, its format is unknown, or a read error occurs. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    virtual void stk::FileWvIn::openFile (std::string  fileName,
    bool  raw = false,
    bool  doNormalize = true 
    ) [virtual]
    +
    +
    + +

    +Open the specified file and load its data. +

    +Data from a previously opened file will be overwritten by this function. An StkError will be thrown if the file is not found, its format is unknown, or a read error occurs. If the file data is to be loaded incrementally from disk and normalization is specified, a scaling will be applied with respect to fixed-point limits. If the data format is floating-point, no scaling is performed. +

    Reimplemented in stk::FileLoop.

    + +
    +

    + +

    +
    + + + + + + + + + +
    virtual void stk::FileWvIn::normalize (void   )  [virtual]
    +
    +
    + +

    +Normalize data to a maximum of +-1.0. +

    +This function has no effect when data is incrementally loaded from disk. +

    Reimplemented in stk::FileLoop.

    + +
    +

    + +

    +
    + + + + + + + + + +
    virtual void stk::FileWvIn::normalize (StkFloat  peak  )  [virtual]
    +
    +
    + +

    +Normalize data to a maximum of +-peak. +

    +This function has no effect when data is incrementally loaded from disk. +

    Reimplemented in stk::FileLoop.

    + +
    +

    + +

    +
    + + + + + + + + + +
    virtual StkFloat stk::FileWvIn::getFileRate (void   )  const [inline, virtual]
    +
    +
    + +

    +Return the input file sample rate in Hz (not the data read rate). +

    +WAV, SND, and AIF formatted files specify a sample rate in their headers. STK RAW files have a sample rate of 22050 Hz by definition. MAT-files are assumed to have a rate of 44100 Hz. +

    Reimplemented in stk::FileLoop.

    + +
    +

    + +

    +
    + + + + + + + + + +
    virtual void stk::FileWvIn::setRate (StkFloat  rate  )  [virtual]
    +
    +
    + +

    +Set the data read rate in samples. The rate can be negative. +

    +If the rate value is negative, the data is read in reverse order. +

    Reimplemented in stk::FileLoop.

    + +
    +

    + +

    +
    + + + + + + + + + +
    virtual void stk::FileWvIn::addTime (StkFloat  time  )  [virtual]
    +
    +
    + +

    +Increment the read pointer by time samples. +

    +Note that this function will not modify the interpolation flag status. +

    Reimplemented in stk::FileLoop.

    + +
    +

    + +

    +
    + + + + + + + + + +
    void stk::FileWvIn::setInterpolate (bool  doInterpolate  )  [inline]
    +
    +
    + +

    +Turn linear interpolation on/off. +

    +Interpolation is automatically off when the read rate is an integer value. If interpolation is turned off for a fractional rate, the time index is truncated to an integer value. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::FileWvIn::lastOut (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Return the specified channel value of the last computed frame. +

    +If no file is loaded, the returned value is 0.0. The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    See also:
    lastFrame()
    + +

    Reimplemented in stk::FileLoop.

    + +
    +

    + +

    +
    + + + + + + + + + +
    virtual StkFloat stk::FileWvIn::tick (unsigned int  channel = 0  )  [virtual]
    +
    +
    + +

    +Compute a sample frame and return the specified channel value. +

    +For multi-channel files, use the lastFrame() function to get all values from the computed frame. If no file data is loaded, the returned value is 0.0. The channel argument must be less than the number of channels in the file data (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::WvIn.

    + +

    Reimplemented in stk::FileLoop.

    + +
    +

    + +

    +
    + + + + + + + + + +
    virtual StkFrames& stk::FileWvIn::tick (StkFrames frames  )  [virtual]
    +
    +
    + +

    +Fill the StkFrames argument with computed frames and return the same reference. +

    +The number of channels in the StkFrames argument must equal the number of channels in the file data. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no file data is loaded, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation). +

    Reimplemented in stk::FileLoop.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FileWvIn.png b/doc/html/classstk_1_1FileWvIn.png new file mode 100644 index 0000000..6304080 Binary files /dev/null and b/doc/html/classstk_1_1FileWvIn.png differ diff --git a/doc/html/classstk_1_1FileWvOut-members.html b/doc/html/classstk_1_1FileWvOut-members.html new file mode 100644 index 0000000..776ade3 --- /dev/null +++ b/doc/html/classstk_1_1FileWvOut-members.html @@ -0,0 +1,60 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::FileWvOut Member List

    This is the complete list of members for stk::FileWvOut, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    closeFile(void)stk::FileWvOut
    FileWvOut(unsigned int bufferFrames=1024)stk::FileWvOut
    FileWvOut(std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FileWrite::FILE_WAV, Stk::StkFormat format=STK_SINT16, unsigned int bufferFrames=1024)stk::FileWvOut
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    openFile(std::string fileName, unsigned int nChannels, FileWrite::FILE_TYPE type, Stk::StkFormat format)stk::FileWvOut
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)stk::FileWvOut [virtual]
    tick(const StkFrames &frames)stk::FileWvOut
    WvOut(void)stk::WvOut [inline]
    ~FileWvOut()stk::FileWvOut [virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FileWvOut.html b/doc/html/classstk_1_1FileWvOut.html new file mode 100644 index 0000000..8b686b2 --- /dev/null +++ b/doc/html/classstk_1_1FileWvOut.html @@ -0,0 +1,260 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::FileWvOut Class Reference

    STK audio file output class. +More... +

    +#include <FileWvOut.h> +

    +

    +Inheritance diagram for stk::FileWvOut:
    +
    + +

    + +stk::WvOut +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     FileWvOut (unsigned int bufferFrames=1024)
     Default constructor with optional output buffer size argument.
     FileWvOut (std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FileWrite::FILE_WAV, Stk::StkFormat format=STK_SINT16, unsigned int bufferFrames=1024)
     Overloaded constructor used to specify a file name, type, and data format with this object.
    +virtual ~FileWvOut ()
     Class destructor.
    void openFile (std::string fileName, unsigned int nChannels, FileWrite::FILE_TYPE type, Stk::StkFormat format)
     Open a new file with the specified parameters.
    void closeFile (void)
     Close a file if one is open.
    void tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame.
    void tick (const StkFrames &frames)
     Output the StkFrames data.
    +


    Detailed Description

    +STK audio file output class. +

    +This class inherits from WvOut. It provides a "tick-level" interface to the FileWrite class.

    +FileWvOut writes samples to an audio file and supports multi-channel data. It is important to distinguish the tick() method that outputs a single sample to all channels in a sample frame from the overloaded one that takes a reference to an StkFrames object for multi-channel and/or multi-frame data.

    +See the FileWrite class for a description of the supported audio file formats.

    +Currently, FileWvOut is non-interpolating and the output rate is always Stk::sampleRate().

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::FileWvOut::FileWvOut (unsigned int  bufferFrames = 1024  ) 
    +
    +
    + +

    +Default constructor with optional output buffer size argument. +

    +The output buffer size defines the number of frames that are accumulated between writes to disk. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    stk::FileWvOut::FileWvOut (std::string  fileName,
    unsigned int  nChannels = 1,
    FileWrite::FILE_TYPE  type = FileWrite::FILE_WAV,
    Stk::StkFormat  format = STK_SINT16,
    unsigned int  bufferFrames = 1024 
    )
    +
    +
    + +

    +Overloaded constructor used to specify a file name, type, and data format with this object. +

    +An StkError is thrown for invalid argument values or if an error occurs when initializing the output file. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::FileWvOut::openFile (std::string  fileName,
    unsigned int  nChannels,
    FileWrite::FILE_TYPE  type,
    Stk::StkFormat  format 
    )
    +
    +
    + +

    +Open a new file with the specified parameters. +

    +If a file was previously open, it will be closed. An StkError will be thrown if any of the specified arguments are invalid or a file error occurs during opening. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::FileWvOut::closeFile (void   ) 
    +
    +
    + +

    +Close a file if one is open. +

    +Any data remaining in the internal buffer will be written to the file before closing. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::FileWvOut::tick (const StkFloat  sample  )  [virtual]
    +
    +
    + +

    +Output a single sample to all channels in a sample frame. +

    +An StkError is thrown if an output error occurs. +

    Implements stk::WvOut.

    + +
    +

    + +

    +
    + + + + + + + + + +
    void stk::FileWvOut::tick (const StkFrames frames  ) 
    +
    +
    + +

    +Output the StkFrames data. +

    +An StkError will be thrown if an output error occurs. An StkError will also be thrown if _STK_DEBUG_ is defined during compilation and there is an incompatability between the number of channels in the FileWvOut object and that in the StkFrames object. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FileWvOut.png b/doc/html/classstk_1_1FileWvOut.png new file mode 100644 index 0000000..e282e99 Binary files /dev/null and b/doc/html/classstk_1_1FileWvOut.png differ diff --git a/doc/html/classstk_1_1Filter-members.html b/doc/html/classstk_1_1Filter-members.html new file mode 100644 index 0000000..1bb2368 --- /dev/null +++ b/doc/html/classstk_1_1Filter-members.html @@ -0,0 +1,56 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Filter Member List

    This is the complete list of members for stk::Filter, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFrames &frames, unsigned int channel=0)=0stk::Filter [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Filter.html b/doc/html/classstk_1_1Filter.html new file mode 100644 index 0000000..2cb4a61 --- /dev/null +++ b/doc/html/classstk_1_1Filter.html @@ -0,0 +1,149 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Filter Class Reference

    STK abstract filter class. +More... +

    +#include <Filter.h> +

    +

    +Inheritance diagram for stk::Filter:
    +
    + +

    + +stk::Stk +stk::BiQuad +stk::Delay +stk::DelayA +stk::DelayL +stk::Fir +stk::FormSwep +stk::Iir +stk::OnePole +stk::OneZero +stk::PoleZero +stk::TapDelay +stk::TwoPole +stk::TwoZero + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Filter (void)
     Class constructor.
    +unsigned int channelsIn (void) const
     Return the number of input channels for the class.
    +unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    +virtual void clear (void)
     Clears all internal states of the filter.
    void setGain (StkFloat gain)
     Set the filter gain.
    +StkFloat getGain (void) const
     Return the current filter gain.
    +const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    virtual StkFramestick (StkFrames &frames, unsigned int channel=0)=0
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    +


    Detailed Description

    +STK abstract filter class. +

    +This class provides limited common functionality for STK digital filter subclasses. It is general enough to support both monophonic and polyphonic input/output classes.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::Filter::setGain (StkFloat  gain  )  [inline]
    +
    +
    + +

    +Set the filter gain. +

    +The gain is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    virtual StkFrames& stk::Filter::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [pure virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implemented in stk::BiQuad, stk::Delay, stk::DelayA, stk::DelayL, stk::Fir, stk::FormSwep, stk::Iir, stk::OnePole, stk::OneZero, stk::PoleZero, stk::TapDelay, stk::TwoPole, and stk::TwoZero.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Filter.png b/doc/html/classstk_1_1Filter.png new file mode 100644 index 0000000..ed2688b Binary files /dev/null and b/doc/html/classstk_1_1Filter.png differ diff --git a/doc/html/classstk_1_1Fir-members.html b/doc/html/classstk_1_1Fir-members.html new file mode 100644 index 0000000..060ee94 --- /dev/null +++ b/doc/html/classstk_1_1Fir-members.html @@ -0,0 +1,63 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Fir Member List

    This is the complete list of members for stk::Fir, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    Fir(void)stk::Fir
    Fir(std::vector< StkFloat > &coefficients)stk::Fir
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::Fir [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setCoefficients(std::vector< StkFloat > &coefficients, bool clearState=false)stk::Fir
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Fir [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Fir [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Fir [inline]
    ~Fir(void)stk::Fir
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Fir.html b/doc/html/classstk_1_1Fir.html new file mode 100644 index 0000000..3eaa40d --- /dev/null +++ b/doc/html/classstk_1_1Fir.html @@ -0,0 +1,213 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Fir Class Reference

    STK general finite impulse response filter class. +More... +

    +#include <Fir.h> +

    +

    +Inheritance diagram for stk::Fir:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Fir (void)
     Default constructor creates a zero-order pass-through "filter".
     Fir (std::vector< StkFloat > &coefficients)
     Overloaded constructor which takes filter coefficients.
    ~Fir (void)
     Class destructor.
    void setCoefficients (std::vector< StkFloat > &coefficients, bool clearState=false)
     Set filter coefficients.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK general finite impulse response filter class. +

    +This class provides a generic digital filter structure that can be used to implement FIR filters. For filters with feedback terms, the Iir class should be used.

    +In particular, this class implements the standard difference equation:

    +y[n] = b[0]*x[n] + ... + b[nb]*x[n-nb]

    +The gain parameter is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. This structure results in one extra multiply per computed sample, but allows easy control of the overall filter gain.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Fir::Fir (std::vector< StkFloat > &  coefficients  ) 
    +
    +
    + +

    +Overloaded constructor which takes filter coefficients. +

    +An StkError can be thrown if the coefficient vector size is zero. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void stk::Fir::setCoefficients (std::vector< StkFloat > &  coefficients,
    bool  clearState = false 
    )
    +
    +
    + +

    +Set filter coefficients. +

    +An StkError can be thrown if the coefficient vector size is zero. The internal state of the filter is not cleared unless the clearState flag is true. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Fir::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Fir::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Fir.png b/doc/html/classstk_1_1Fir.png new file mode 100644 index 0000000..2f9b785 Binary files /dev/null and b/doc/html/classstk_1_1Fir.png differ diff --git a/doc/html/classstk_1_1Flute-members.html b/doc/html/classstk_1_1Flute-members.html new file mode 100644 index 0000000..75e7bd8 --- /dev/null +++ b/doc/html/classstk_1_1Flute-members.html @@ -0,0 +1,66 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Flute Member List

    This is the complete list of members for stk::Flute, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Flute
    controlChange(int number, StkFloat value)stk::Flute [virtual]
    Flute(StkFloat lowestFrequency)stk::Flute
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Flute [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Flute [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEndReflection(StkFloat coefficient)stk::Flute
    setFrequency(StkFloat frequency)stk::Flute [virtual]
    setJetDelay(StkFloat aRatio)stk::Flute
    setJetReflection(StkFloat coefficient)stk::Flute
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Flute
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Flute
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Flute [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Flute(void)stk::Flute
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Flute.html b/doc/html/classstk_1_1Flute.html new file mode 100644 index 0000000..33ca9e7 --- /dev/null +++ b/doc/html/classstk_1_1Flute.html @@ -0,0 +1,129 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Flute Class Reference

    STK flute physical model class. +More... +

    +#include <Flute.h> +

    +

    +Inheritance diagram for stk::Flute:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Flute (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Flute (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setJetReflection (StkFloat coefficient)
     Set the reflection coefficient for the jet delay (-1.0 - 1.0).
    +void setEndReflection (StkFloat coefficient)
     Set the reflection coefficient for the air column delay (-1.0 - 1.0).
    +void setJetDelay (StkFloat aRatio)
     Set the length of the jet delay in terms of a ratio of jet delay to air column delay lengths.
    +void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath velocity to instrument with given amplitude and rate of increase.
    +void stopBlowing (StkFloat rate)
     Decrease breath velocity with given rate of decrease.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK flute physical model class. +

    +This class implements a simple flute physical model, as discussed by Karjalainen, Smith, Waryznyk, etc. The jet model uses a polynomial, a la Cook.

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    +Control Change Numbers:

      +
    • Jet Delay = 2
    • Noise Gain = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Breath Pressure = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Flute::Flute (StkFloat  lowestFrequency  ) 
    +
    +
    + +

    +Class constructor, taking the lowest desired playing frequency. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Flute.png b/doc/html/classstk_1_1Flute.png new file mode 100644 index 0000000..f398e61 Binary files /dev/null and b/doc/html/classstk_1_1Flute.png differ diff --git a/doc/html/classstk_1_1FormSwep-members.html b/doc/html/classstk_1_1FormSwep-members.html new file mode 100644 index 0000000..1769c09 --- /dev/null +++ b/doc/html/classstk_1_1FormSwep-members.html @@ -0,0 +1,65 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::FormSwep Member List

    This is the complete list of members for stk::FormSwep, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    FormSwep(void)stk::FormSwep
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::FormSwep [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::FormSwep [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius)stk::FormSwep
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStates(StkFloat frequency, StkFloat radius, StkFloat gain=1.0)stk::FormSwep
    setSweepRate(StkFloat rate)stk::FormSwep
    setSweepTime(StkFloat time)stk::FormSwep
    setTargets(StkFloat frequency, StkFloat radius, StkFloat gain=1.0)stk::FormSwep
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::FormSwep [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::FormSwep [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::FormSwep [inline]
    ~FormSwep()stk::FormSwep
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FormSwep.html b/doc/html/classstk_1_1FormSwep.html new file mode 100644 index 0000000..045e343 --- /dev/null +++ b/doc/html/classstk_1_1FormSwep.html @@ -0,0 +1,246 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::FormSwep Class Reference

    STK sweepable formant filter class. +More... +

    +#include <FormSwep.h> +

    +

    +Inheritance diagram for stk::FormSwep:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    FormSwep (void)
     Default constructor creates a second-order pass-through filter.
    ~FormSwep ()
     Class destructor.
    +void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    void setResonance (StkFloat frequency, StkFloat radius)
     Sets the filter coefficients for a resonance at frequency (in Hz).
    +void setStates (StkFloat frequency, StkFloat radius, StkFloat gain=1.0)
     Set both the current and target resonance parameters.
    +void setTargets (StkFloat frequency, StkFloat radius, StkFloat gain=1.0)
     Set target resonance parameters.
    void setSweepRate (StkFloat rate)
     Set the sweep rate (between 0.0 - 1.0).
    void setSweepTime (StkFloat time)
     Set the sweep rate in terms of a time value in seconds.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return a reference to one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK sweepable formant filter class. +

    +This class implements a formant (resonance) which can be "swept" over time from one frequency setting to another. It provides methods for controlling the sweep rate and target frequency.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void stk::FormSwep::setResonance (StkFloat  frequency,
    StkFloat  radius 
    )
    +
    +
    + +

    +Sets the filter coefficients for a resonance at frequency (in Hz). +

    +This method determines the filter coefficients corresponding to two complex-conjugate poles with the given frequency (in Hz) and radius from the z-plane origin. The filter zeros are placed at z = 1, z = -1, and the coefficients are then normalized to produce a constant unity gain (independent of the filter gain parameter). The resulting filter frequency response has a resonance at the given frequency. The closer the poles are to the unit-circle (radius close to one), the narrower the resulting resonance width. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::FormSwep::setSweepRate (StkFloat  rate  ) 
    +
    +
    + +

    +Set the sweep rate (between 0.0 - 1.0). +

    +The formant parameters are varied in increments of the sweep rate between their current and target values. A sweep rate of 1.0 will produce an immediate change in resonance parameters from their current values to the target values. A sweep rate of 0.0 will produce no change in resonance parameters. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::FormSwep::setSweepTime (StkFloat  time  ) 
    +
    +
    + +

    +Set the sweep rate in terms of a time value in seconds. +

    +This method adjusts the sweep rate based on a given time for the formant parameters to reach their target values. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::FormSwep::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::FormSwep::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1FormSwep.png b/doc/html/classstk_1_1FormSwep.png new file mode 100644 index 0000000..a28d9c5 Binary files /dev/null and b/doc/html/classstk_1_1FormSwep.png differ diff --git a/doc/html/classstk_1_1Function-members.html b/doc/html/classstk_1_1Function-members.html new file mode 100644 index 0000000..d7fde48 --- /dev/null +++ b/doc/html/classstk_1_1Function-members.html @@ -0,0 +1,51 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Function Member List

    This is the complete list of members for stk::Function, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)=0stk::Function [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Function.html b/doc/html/classstk_1_1Function.html new file mode 100644 index 0000000..1714889 --- /dev/null +++ b/doc/html/classstk_1_1Function.html @@ -0,0 +1,65 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Function Class Reference

    STK abstract function parent class. +More... +

    +#include <Function.h> +

    +

    +Inheritance diagram for stk::Function:
    +
    + +

    + +stk::Stk +stk::BowTable +stk::JetTable +stk::ReedTable + +
    + +

    +List of all members. + + + + + + + + + + + +

    Public Member Functions

    Function (void)
     Class constructor.
    +StkFloat lastOut (void) const
     Return the last computed output sample.
    +virtual StkFloat tick (StkFloat input)=0
     Take one sample input and compute one sample of output.
    +


    Detailed Description

    +STK abstract function parent class. +

    +This class provides common functionality for STK classes that implement tables or other types of input to output function mappings.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Function.png b/doc/html/classstk_1_1Function.png new file mode 100644 index 0000000..994faee Binary files /dev/null and b/doc/html/classstk_1_1Function.png differ diff --git a/doc/html/classstk_1_1Generator-members.html b/doc/html/classstk_1_1Generator-members.html new file mode 100644 index 0000000..5e1c7bb --- /dev/null +++ b/doc/html/classstk_1_1Generator-members.html @@ -0,0 +1,52 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Generator Member List

    This is the complete list of members for stk::Generator, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFrames &frames, unsigned int channel=0)=0stk::Generator [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Generator.html b/doc/html/classstk_1_1Generator.html new file mode 100644 index 0000000..9f57ca5 --- /dev/null +++ b/doc/html/classstk_1_1Generator.html @@ -0,0 +1,110 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Generator Class Reference

    STK abstract unit generator parent class. +More... +

    +#include <Generator.h> +

    +

    +Inheritance diagram for stk::Generator:
    +
    + +

    + +stk::Stk +stk::ADSR +stk::Asymp +stk::Blit +stk::BlitSaw +stk::BlitSquare +stk::Envelope +stk::Granulate +stk::Modulate +stk::Noise +stk::SineWave +stk::SingWave + +
    + +

    +List of all members. + + + + + + + + + + + + + + +

    Public Member Functions

    Generator (void)
     Class constructor.
    +unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    +const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    virtual StkFramestick (StkFrames &frames, unsigned int channel=0)=0
     Fill the StkFrames object with computed sample frames, starting at the specified channel.
    +


    Detailed Description

    +STK abstract unit generator parent class. +

    +This class provides limited common functionality for STK unit generator sample-source subclasses. It is general enough to support both monophonic and polyphonic output classes.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    virtual StkFrames& stk::Generator::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [pure virtual]
    +
    +
    + +

    +Fill the StkFrames object with computed sample frames, starting at the specified channel. +

    +The channel argument plus the number of output channels must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implemented in stk::ADSR, stk::Asymp, stk::Blit, stk::BlitSaw, stk::BlitSquare, stk::Envelope, stk::Granulate, stk::Modulate, stk::Noise, stk::SineWave, and stk::SingWave.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Generator.png b/doc/html/classstk_1_1Generator.png new file mode 100644 index 0000000..ee99170 Binary files /dev/null and b/doc/html/classstk_1_1Generator.png differ diff --git a/doc/html/classstk_1_1Granulate-members.html b/doc/html/classstk_1_1Granulate-members.html new file mode 100644 index 0000000..6b39d4d --- /dev/null +++ b/doc/html/classstk_1_1Granulate-members.html @@ -0,0 +1,63 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Granulate Member List

    This is the complete list of members for stk::Granulate, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    Granulate(void)stk::Granulate
    Granulate(unsigned int nVoices, std::string fileName, bool typeRaw=false)stk::Granulate
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(unsigned int channel=0)stk::Granulate [inline]
    openFile(std::string fileName, bool typeRaw=false)stk::Granulate
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::Granulate
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setGrainParameters(unsigned int duration=30, unsigned int rampPercent=50, int offset=0, unsigned int delay=0)stk::Granulate
    setRandomFactor(StkFloat randomness=0.1)stk::Granulate
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStretch(unsigned int stretchFactor=1)stk::Granulate
    setVoices(unsigned int nVoices=1)stk::Granulate
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Granulate
    tick(StkFrames &frames, unsigned int channel=0)stk::Granulate [inline, virtual]
    ~Granulate(void)stk::Granulate
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Granulate.html b/doc/html/classstk_1_1Granulate.html new file mode 100644 index 0000000..f3aded7 --- /dev/null +++ b/doc/html/classstk_1_1Granulate.html @@ -0,0 +1,311 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Granulate Class Reference

    STK granular synthesis class. +More... +

    +#include <Granulate.h> +

    +

    +Inheritance diagram for stk::Granulate:
    +
    + +

    + +stk::Generator +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Granulate (void)
     Default constructor.
    Granulate (unsigned int nVoices, std::string fileName, bool typeRaw=false)
     Constructor taking input audio file and number of voices arguments.
    ~Granulate (void)
     Class destructor.
    void openFile (std::string fileName, bool typeRaw=false)
     Load a monophonic soundfile to be "granulated".
    void reset (void)
     Reset the file pointer and all existing grains to the file start.
    void setVoices (unsigned int nVoices=1)
     Set the number of simultaneous grain "voices" to use.
    void setStretch (unsigned int stretchFactor=1)
     Set the stretch factor used for grain playback (1 - 1000).
    void setGrainParameters (unsigned int duration=30, unsigned int rampPercent=50, int offset=0, unsigned int delay=0)
     Set global grain parameters used to determine individual grain settings.
    void setRandomFactor (StkFloat randomness=0.1)
     This factor is used when setting individual grain parameters (0.0 - 1.0).
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    +StkFloat tick (unsigned int channel=0)
     Compute one sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill the StkFrames object with computed sample frames, starting at the specified channel.
    +


    Detailed Description

    +STK granular synthesis class. +

    +This class implements a real-time granular synthesis algorithm that operates on an input soundfile. Multi-channel files are supported. Various functions are provided to allow control over voice and grain parameters.

    +The functionality of this class is based on the program MacPod by Chris Rolfe and Damian Keller, though there are likely to be a number of differences in the actual implementation.

    +by Gary Scavone, 2005 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void stk::Granulate::openFile (std::string  fileName,
    bool  typeRaw = false 
    )
    +
    +
    + +

    +Load a monophonic soundfile to be "granulated". +

    +An StkError will be thrown if the file is not found, its format is unknown or unsupported, or the file has more than one channel. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::Granulate::reset (void   ) 
    +
    +
    + +

    +Reset the file pointer and all existing grains to the file start. +

    +Multiple grains are offset from one another in time by grain duration / nVoices. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::Granulate::setVoices (unsigned int  nVoices = 1  ) 
    +
    +
    + +

    +Set the number of simultaneous grain "voices" to use. +

    +Multiple grains are offset from one another in time by grain duration / nVoices. For this reason, it is best to set the grain parameters before calling this function (during initialization). +

    +

    + +

    +
    + + + + + + + + + +
    void stk::Granulate::setStretch (unsigned int  stretchFactor = 1  ) 
    +
    +
    + +

    +Set the stretch factor used for grain playback (1 - 1000). +

    +Granular synthesis allows for time-stetching without affecting the original pitch of a sound. A stretch factor of 4 will produce a resulting sound of length 4 times the orignal sound. The default parameter of 1 produces no stretching. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::Granulate::setGrainParameters (unsigned int  duration = 30,
    unsigned int  rampPercent = 50,
    int  offset = 0,
    unsigned int  delay = 0 
    )
    +
    +
    + +

    +Set global grain parameters used to determine individual grain settings. +

    +Each grain is defined as having a length of duration milliseconds which must be greater than zero. For values of rampPercent (0 - 100) greater than zero, a linear envelope will be applied to each grain. If rampPercent = 100, the resultant grain "window" is triangular while rampPercent = 50 produces a trapezoidal window. In addition, each grain can have a time delay of length delay and a grain pointer increment of length offset, which can be negative, before the next ramp onset (in milliseconds). The offset parameter controls grain pointer jumps between enveloped grain segments, while the delay parameter causes grain calculations to pause between grains. The actual values calculated for each grain will be randomized by a factor set using the setRandomFactor() function. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::Granulate::setRandomFactor (StkFloat  randomness = 0.1  ) 
    +
    +
    + +

    +This factor is used when setting individual grain parameters (0.0 - 1.0). +

    +This random factor is applied when all grain state durations are calculated. If set to 0.0, no randomness occurs. When randomness = 1.0, a grain segment of length duration will be randomly augmented by up to +- duration seconds (i.e., a 30 millisecond length will be augmented by an extra length of up to +30 or -30 milliseconds). +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::Granulate::lastOut (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Return the specified channel value of the last computed frame. +

    +The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    See also:
    lastFrame()
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Granulate::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Fill the StkFrames object with computed sample frames, starting at the specified channel. +

    +The channel argument plus the number of output channels must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Generator.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Granulate.png b/doc/html/classstk_1_1Granulate.png new file mode 100644 index 0000000..c71d55e Binary files /dev/null and b/doc/html/classstk_1_1Granulate.png differ diff --git a/doc/html/classstk_1_1HevyMetl-members.html b/doc/html/classstk_1_1HevyMetl-members.html new file mode 100644 index 0000000..d16c19e --- /dev/null +++ b/doc/html/classstk_1_1HevyMetl-members.html @@ -0,0 +1,72 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::HevyMetl Member List

    This is the complete list of members for stk::HevyMetl, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    HevyMetl(void)stk::HevyMetl
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::HevyMetl [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::HevyMetl [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~HevyMetl(void)stk::HevyMetl
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1HevyMetl.html b/doc/html/classstk_1_1HevyMetl.html new file mode 100644 index 0000000..4f24e63 --- /dev/null +++ b/doc/html/classstk_1_1HevyMetl.html @@ -0,0 +1,97 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::HevyMetl Class Reference

    STK heavy metal FM synthesis instrument. +More... +

    +#include <HevyMetl.h> +

    +

    +Inheritance diagram for stk::HevyMetl:
    +
    + +

    + +stk::FM +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + +

    Public Member Functions

     HevyMetl (void)
     Class constructor.
    ~HevyMetl (void)
     Class destructor.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK heavy metal FM synthesis instrument. +

    +This class implements 3 cascade operators with feedback modulation, also referred to as algorithm 3 of the TX81Z.

    +

        Algorithm 3 is :    4--\
    +                    3-->2-- + -->1-->Out
    +

    +Control Change Numbers:

      +
    • Total Modulator Index = 2
    • Modulator Crossfade = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    +

    +The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::HevyMetl::HevyMetl (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1HevyMetl.png b/doc/html/classstk_1_1HevyMetl.png new file mode 100644 index 0000000..6c862f6 Binary files /dev/null and b/doc/html/classstk_1_1HevyMetl.png differ diff --git a/doc/html/classstk_1_1Iir-members.html b/doc/html/classstk_1_1Iir-members.html new file mode 100644 index 0000000..cc2847a --- /dev/null +++ b/doc/html/classstk_1_1Iir-members.html @@ -0,0 +1,65 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Iir Member List

    This is the complete list of members for stk::Iir, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Iir(void)stk::Iir
    Iir(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)stk::Iir
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::Iir [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)stk::Iir
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)stk::Iir
    setGain(StkFloat gain)stk::Filter [inline]
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)stk::Iir
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Iir [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Iir [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Iir [inline]
    ~Iir(void)stk::Iir
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Iir.html b/doc/html/classstk_1_1Iir.html new file mode 100644 index 0000000..423ac92 --- /dev/null +++ b/doc/html/classstk_1_1Iir.html @@ -0,0 +1,297 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Iir Class Reference

    STK general infinite impulse response filter class. +More... +

    +#include <Iir.h> +

    +

    +Inheritance diagram for stk::Iir:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Iir (void)
     Default constructor creates a zero-order pass-through "filter".
     Iir (std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)
     Overloaded constructor which takes filter coefficients.
    ~Iir (void)
     Class destructor.
    void setCoefficients (std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)
     Set filter coefficients.
    void setNumerator (std::vector< StkFloat > &bCoefficients, bool clearState=false)
     Set numerator coefficients.
    void setDenominator (std::vector< StkFloat > &aCoefficients, bool clearState=false)
     Set denominator coefficients.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK general infinite impulse response filter class. +

    +This class provides a generic digital filter structure that can be used to implement IIR filters. For filters containing only feedforward terms, the Fir class is slightly more efficient.

    +In particular, this class implements the standard difference equation:

    +a[0]*y[n] = b[0]*x[n] + ... + b[nb]*x[n-nb] - a[1]*y[n-1] - ... - a[na]*y[n-na]

    +If a[0] is not equal to 1, the filter coeffcients are normalized by a[0].

    +The gain parameter is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. This structure results in one extra multiply per computed sample, but allows easy control of the overall filter gain.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    stk::Iir::Iir (std::vector< StkFloat > &  bCoefficients,
    std::vector< StkFloat > &  aCoefficients 
    )
    +
    +
    + +

    +Overloaded constructor which takes filter coefficients. +

    +An StkError can be thrown if either of the coefficient vector sizes is zero, or if the a[0] coefficient is equal to zero. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::Iir::setCoefficients (std::vector< StkFloat > &  bCoefficients,
    std::vector< StkFloat > &  aCoefficients,
    bool  clearState = false 
    )
    +
    +
    + +

    +Set filter coefficients. +

    +An StkError can be thrown if either of the coefficient vector sizes is zero, or if the a[0] coefficient is equal to zero. If a[0] is not equal to 1, the filter coeffcients are normalized by a[0]. The internal state of the filter is not cleared unless the clearState flag is true. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void stk::Iir::setNumerator (std::vector< StkFloat > &  bCoefficients,
    bool  clearState = false 
    )
    +
    +
    + +

    +Set numerator coefficients. +

    +An StkError can be thrown if coefficient vector is empty. Any previously set denominator coefficients are left unaffected. Note that the default constructor sets the single denominator coefficient a[0] to 1.0. The internal state of the filter is not cleared unless the clearState flag is true. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void stk::Iir::setDenominator (std::vector< StkFloat > &  aCoefficients,
    bool  clearState = false 
    )
    +
    +
    + +

    +Set denominator coefficients. +

    +An StkError can be thrown if the coefficient vector is empty or if the a[0] coefficient is equal to zero. Previously set numerator coefficients are unaffected unless a[0] is not equal to 1, in which case all coeffcients are normalized by a[0]. Note that the default constructor sets the single numerator coefficient b[0] to 1.0. The internal state of the filter is not cleared unless the clearState flag is true. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Iir::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Iir::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Iir.png b/doc/html/classstk_1_1Iir.png new file mode 100644 index 0000000..3994f2d Binary files /dev/null and b/doc/html/classstk_1_1Iir.png differ diff --git a/doc/html/classstk_1_1InetWvIn-members.html b/doc/html/classstk_1_1InetWvIn-members.html new file mode 100644 index 0000000..a4e5550 --- /dev/null +++ b/doc/html/classstk_1_1InetWvIn-members.html @@ -0,0 +1,57 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::InetWvIn Member List

    This is the complete list of members for stk::InetWvIn, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::WvIn [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    InetWvIn(unsigned long bufferFrames=1024, unsigned int nBuffers=8)stk::InetWvIn
    isConnected(void)stk::InetWvIn
    lastFrame(void) const stk::WvIn [inline]
    lastOut(unsigned int channel=0)stk::InetWvIn [inline]
    listen(int port=2006, unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, Socket::ProtocolType protocol=Socket::PROTO_TCP)stk::InetWvIn
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::InetWvIn [virtual]
    tick(StkFrames &frames)stk::InetWvIn
    ~InetWvIn()stk::InetWvIn
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1InetWvIn.html b/doc/html/classstk_1_1InetWvIn.html new file mode 100644 index 0000000..f9659f8 --- /dev/null +++ b/doc/html/classstk_1_1InetWvIn.html @@ -0,0 +1,241 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::InetWvIn Class Reference

    STK internet streaming input class. +More... +

    +#include <InetWvIn.h> +

    +

    +Inheritance diagram for stk::InetWvIn:
    +
    + +

    + +stk::WvIn +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     InetWvIn (unsigned long bufferFrames=1024, unsigned int nBuffers=8)
     Default constructor.
    ~InetWvIn ()
     Class destructor.
    void listen (int port=2006, unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, Socket::ProtocolType protocol=Socket::PROTO_TCP)
     Wait for a (new) socket connection with specified protocol, port, data channels and format.
    bool isConnected (void)
     Returns true is an input connection exists or input data remains in the queue.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Compute a sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames)
     Fill the StkFrames argument with computed frames and return the same reference.
    +


    Detailed Description

    +STK internet streaming input class. +

    +This Wvin subclass reads streamed audio data over a network via a TCP or UDP socket connection. The data is assumed in big-endian, or network, byte order. Only a single socket connection is supported.

    +InetWvIn supports multi-channel data. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

    +This class implements a socket server. When using the TCP protocol, the server "listens" for a single remote connection within the InetWvIn::start() function. For the UDP protocol, no attempt is made to verify packet delivery or order. The default data type for the incoming stream is signed 16-bit integers, though any of the defined StkFormats are permissible.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    stk::InetWvIn::InetWvIn (unsigned long  bufferFrames = 1024,
    unsigned int  nBuffers = 8 
    )
    +
    +
    + +

    +Default constructor. +

    +An StkError will be thrown if an error occurs while initializing the input thread. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::InetWvIn::listen (int  port = 2006,
    unsigned int  nChannels = 1,
    Stk::StkFormat  format = STK_SINT16,
    Socket::ProtocolType  protocol = Socket::PROTO_TCP 
    )
    +
    +
    + +

    +Wait for a (new) socket connection with specified protocol, port, data channels and format. +

    +For the UDP protocol, this function will create a socket instance and return. For the TCP protocol, this function will block until a connection is established. An StkError will be thrown if a socket error occurs or an invalid function argument is provided. +

    +

    + +

    +
    + + + + + + + + + +
    bool stk::InetWvIn::isConnected (void   ) 
    +
    +
    + +

    +Returns true is an input connection exists or input data remains in the queue. +

    +This method will not return false after an input connection has been closed until all buffered input data has been read out. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::InetWvIn::lastOut (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Return the specified channel value of the last computed frame. +

    +For multi-channel files, use the lastFrame() function to get all values from the last computed frame. If no connection exists, the returned value is 0.0. The channel argument must be less than the number of channels in the data stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::InetWvIn::tick (unsigned int  channel = 0  )  [virtual]
    +
    +
    + +

    +Compute a sample frame and return the specified channel value. +

    +For multi-channel files, use the lastFrame() function to get all values from the computed frame. If no connection exists, the returned value is 0.0 (and a warning will be issued if _STK_DEBUG_ is defined during compilation). The channel argument must be less than the number of channels in the data stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::WvIn.

    + +
    +

    + +

    +
    + + + + + + + + + +
    StkFrames& stk::InetWvIn::tick (StkFrames frames  ) 
    +
    +
    + +

    +Fill the StkFrames argument with computed frames and return the same reference. +

    +The number of channels in the StkFrames argument must equal the number of channels specified in the listen() function. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no connection exists, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation). +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1InetWvIn.png b/doc/html/classstk_1_1InetWvIn.png new file mode 100644 index 0000000..94ddd93 Binary files /dev/null and b/doc/html/classstk_1_1InetWvIn.png differ diff --git a/doc/html/classstk_1_1InetWvOut-members.html b/doc/html/classstk_1_1InetWvOut-members.html new file mode 100644 index 0000000..93c5c53 --- /dev/null +++ b/doc/html/classstk_1_1InetWvOut-members.html @@ -0,0 +1,60 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::InetWvOut Member List

    This is the complete list of members for stk::InetWvOut, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    connect(int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)stk::InetWvOut
    disconnect(void)stk::InetWvOut
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    InetWvOut(unsigned long packetFrames=1024)stk::InetWvOut
    InetWvOut(int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, unsigned long packetFrames=1024)stk::InetWvOut
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)stk::InetWvOut [virtual]
    tick(const StkFrames &frames)stk::InetWvOut
    WvOut(void)stk::WvOut [inline]
    ~InetWvOut()stk::InetWvOut
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1InetWvOut.html b/doc/html/classstk_1_1InetWvOut.html new file mode 100644 index 0000000..bcaed5c --- /dev/null +++ b/doc/html/classstk_1_1InetWvOut.html @@ -0,0 +1,229 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::InetWvOut Class Reference

    STK internet streaming output class. +More... +

    +#include <InetWvOut.h> +

    +

    +Inheritance diagram for stk::InetWvOut:
    +
    + +

    + +stk::WvOut +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    InetWvOut (unsigned long packetFrames=1024)
     Default constructor ... the socket is not instantiated.
     InetWvOut (int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, unsigned long packetFrames=1024)
     Overloaded constructor which opens a network connection during instantiation.
    ~InetWvOut ()
     Class destructor.
    void connect (int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)
     Connect to the specified host and port and prepare to stream nChannels of data in the given data format.
    +void disconnect (void)
     If a connection is open, write out remaining samples in the queue and then disconnect.
    void tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame.
    void tick (const StkFrames &frames)
     Output the StkFrames data.
    +


    Detailed Description

    +STK internet streaming output class. +

    +This WvOut subclass can stream data over a network via a TCP or UDP socket connection. The data is converted to big-endian byte order, if necessary, before being transmitted.

    +InetWvOut supports multi-channel data. It is important to distinguish the tick() method that outputs a single sample to all channels in a sample frame from the overloaded one that takes a reference to an StkFrames object for multi-channel and/or multi-frame data.

    +This class connects to a socket server, the port and IP address of which must be specified as constructor arguments. The default data type is signed 16-bit integers but any of the defined StkFormats are permissible.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    stk::InetWvOut::InetWvOut (int  port,
    Socket::ProtocolType  protocol = Socket::PROTO_TCP,
    std::string  hostname = "localhost",
    unsigned int  nChannels = 1,
    Stk::StkFormat  format = STK_SINT16,
    unsigned long  packetFrames = 1024 
    )
    +
    +
    + +

    +Overloaded constructor which opens a network connection during instantiation. +

    +An StkError is thrown if a socket error occurs or an invalid argument is specified. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::InetWvOut::connect (int  port,
    Socket::ProtocolType  protocol = Socket::PROTO_TCP,
    std::string  hostname = "localhost",
    unsigned int  nChannels = 1,
    Stk::StkFormat  format = STK_SINT16 
    )
    +
    +
    + +

    +Connect to the specified host and port and prepare to stream nChannels of data in the given data format. +

    +An StkError is thrown if a socket error occurs or an invalid argument is specified. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::InetWvOut::tick (const StkFloat  sample  )  [virtual]
    +
    +
    + +

    +Output a single sample to all channels in a sample frame. +

    +An StkError is thrown if an output error occurs. If a socket connection does not exist, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation). +

    Implements stk::WvOut.

    + +
    +

    + +

    +
    + + + + + + + + + +
    void stk::InetWvOut::tick (const StkFrames frames  ) 
    +
    +
    + +

    +Output the StkFrames data. +

    +An StkError will be thrown if an output error occurs. An StkError will also be thrown if _STK_DEBUG_ is defined during compilation and there is an incompatability between the number of channels in the FileWvOut object and that in the StkFrames object. If a socket connection does not exist, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation). +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1InetWvOut.png b/doc/html/classstk_1_1InetWvOut.png new file mode 100644 index 0000000..74649d4 Binary files /dev/null and b/doc/html/classstk_1_1InetWvOut.png differ diff --git a/doc/html/classstk_1_1Instrmnt-members.html b/doc/html/classstk_1_1Instrmnt-members.html new file mode 100644 index 0000000..5ca4be0 --- /dev/null +++ b/doc/html/classstk_1_1Instrmnt-members.html @@ -0,0 +1,58 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Instrmnt Member List

    This is the complete list of members for stk::Instrmnt, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)=0stk::Instrmnt [pure virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Instrmnt.html b/doc/html/classstk_1_1Instrmnt.html new file mode 100644 index 0000000..aef831f --- /dev/null +++ b/doc/html/classstk_1_1Instrmnt.html @@ -0,0 +1,188 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Instrmnt Class Reference

    STK instrument abstract base class. +More... +

    +#include <Instrmnt.h> +

    +

    +Inheritance diagram for stk::Instrmnt:
    +
    + +

    + +stk::Stk +stk::BandedWG +stk::BlowBotl +stk::BlowHole +stk::Bowed +stk::Brass +stk::Clarinet +stk::Drummer +stk::Flute +stk::FM +stk::Mesh2D +stk::Modal +stk::Plucked +stk::PluckTwo +stk::Resonate +stk::Sampler +stk::Saxofony +stk::Shakers +stk::Simple +stk::Sitar +stk::StifKarp +stk::VoicForm +stk::Whistle + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Instrmnt (void)
     Class constructor.
    +virtual void noteOn (StkFloat frequency, StkFloat amplitude)=0
     Start a note with the given frequency and amplitude.
    +virtual void noteOff (StkFloat amplitude)=0
     Stop a note with the given amplitude (speed of decay).
    +virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +virtual void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    +const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    virtual StkFloat tick (unsigned int channel=0)=0
     Compute one sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill the StkFrames object with computed sample frames, starting at the specified channel.
    +


    Detailed Description

    +STK instrument abstract base class. +

    +This class provides a common interface for all STK instruments.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    StkFloat stk::Instrmnt::lastOut (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Return the specified channel value of the last computed frame. +

    +The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    See also:
    lastFrame()
    + +
    +

    + +

    +
    + + + + + + + + + +
    virtual StkFloat stk::Instrmnt::tick (unsigned int  channel = 0  )  [pure virtual]
    +
    + +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Instrmnt::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

    +Fill the StkFrames object with computed sample frames, starting at the specified channel. +

    +The channel argument plus the number of output channels must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Instrmnt.png b/doc/html/classstk_1_1Instrmnt.png new file mode 100644 index 0000000..e8c26db Binary files /dev/null and b/doc/html/classstk_1_1Instrmnt.png differ diff --git a/doc/html/classstk_1_1JCRev-members.html b/doc/html/classstk_1_1JCRev-members.html new file mode 100644 index 0000000..2ad67ac --- /dev/null +++ b/doc/html/classstk_1_1JCRev-members.html @@ -0,0 +1,59 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::JCRev Member List

    This is the complete list of members for stk::JCRev, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::JCRev [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    JCRev(StkFloat T60=1.0)stk::JCRev
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::JCRev [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setT60(StkFloat T60)stk::JCRev
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::JCRev [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::JCRev
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::JCRev
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1JCRev.html b/doc/html/classstk_1_1JCRev.html new file mode 100644 index 0000000..dda7e28 --- /dev/null +++ b/doc/html/classstk_1_1JCRev.html @@ -0,0 +1,203 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::JCRev Class Reference

    John Chowning's reverberator class. +More... +

    +#include <JCRev.h> +

    +

    +Inheritance diagram for stk::JCRev:
    +
    + +

    + +stk::Effect +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    JCRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    +void clear (void)
     Reset and clear all internal state.
    +void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    +


    Detailed Description

    +John Chowning's reverberator class. +

    +This class takes a monophonic input signal and produces a stereo output signal. It is derived from the CLM JCRev function, which is based on the use of networks of simple allpass and comb delay filters. This class implements three series allpass units, followed by four parallel comb filters, and two decorrelation delay lines in parallel at the output.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    StkFloat stk::JCRev::lastOut (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Return the specified channel value of the last computed stereo frame. +

    +Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFloat stk::JCRev::tick (StkFloat  input,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

    +Input one sample to the effect and return the specified channel value of the computed stereo frame. +

    +Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames& stk::JCRev::tick (StkFrames frames,
    unsigned int  channel = 0 
    )
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs. +

    +The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames& stk::JCRev::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    )
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object. +

    +The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1JCRev.png b/doc/html/classstk_1_1JCRev.png new file mode 100644 index 0000000..3e2c7c7 Binary files /dev/null and b/doc/html/classstk_1_1JCRev.png differ diff --git a/doc/html/classstk_1_1JetTable-members.html b/doc/html/classstk_1_1JetTable-members.html new file mode 100644 index 0000000..4d781b7 --- /dev/null +++ b/doc/html/classstk_1_1JetTable-members.html @@ -0,0 +1,53 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::JetTable Member List

    This is the complete list of members for stk::JetTable, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::JetTable [inline, virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::JetTable [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::JetTable [inline]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1JetTable.html b/doc/html/classstk_1_1JetTable.html new file mode 100644 index 0000000..3c38d92 --- /dev/null +++ b/doc/html/classstk_1_1JetTable.html @@ -0,0 +1,137 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::JetTable Class Reference

    STK jet table class. +More... +

    +#include <JetTable.h> +

    +

    +Inheritance diagram for stk::JetTable:
    +
    + +

    + +stk::Function +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + +

    Public Member Functions

    +StkFloat tick (StkFloat input)
     Take one sample input and map to one sample of output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.
    +


    Detailed Description

    +STK jet table class. +

    +This class implements a flue jet non-linear function, computed by a polynomial calculation. Contrary to the name, this is not a "table".

    +Consult Fletcher and Rossing, Karjalainen, Cook, and others for more information.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::JetTable::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::JetTable::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1JetTable.png b/doc/html/classstk_1_1JetTable.png new file mode 100644 index 0000000..5a425fc Binary files /dev/null and b/doc/html/classstk_1_1JetTable.png differ diff --git a/doc/html/classstk_1_1Mandolin-members.html b/doc/html/classstk_1_1Mandolin-members.html new file mode 100644 index 0000000..5c02628 --- /dev/null +++ b/doc/html/classstk_1_1Mandolin-members.html @@ -0,0 +1,70 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Mandolin Member List

    This is the complete list of members for stk::Mandolin, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::PluckTwo
    controlChange(int number, StkFloat value)stk::Mandolin [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Mandolin(StkFloat lowestFrequency)stk::Mandolin
    noteOff(StkFloat amplitude)stk::PluckTwo [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Mandolin [virtual]
    pluck(StkFloat amplitude)stk::Mandolin
    pluck(StkFloat amplitude, StkFloat position)stk::Mandolin
    PluckTwo(StkFloat lowestFrequency)stk::PluckTwo
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)stk::PluckTwo
    setBodySize(StkFloat size)stk::Mandolin
    setDetune(StkFloat detune)stk::PluckTwo
    setFreqAndDetune(StkFloat frequency, StkFloat detune)stk::PluckTwo
    setFrequency(StkFloat frequency)stk::PluckTwo [virtual]
    setPluckPosition(StkFloat position)stk::PluckTwo
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Mandolin [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Mandolin(void)stk::Mandolin
    ~PluckTwo(void)stk::PluckTwo [virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Mandolin.html b/doc/html/classstk_1_1Mandolin.html new file mode 100644 index 0000000..5dbf7ee --- /dev/null +++ b/doc/html/classstk_1_1Mandolin.html @@ -0,0 +1,88 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Mandolin Class Reference

    STK mandolin instrument model class. +More... +

    +#include <Mandolin.h> +

    +

    +Inheritance diagram for stk::Mandolin:
    +
    + +

    + +stk::PluckTwo +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Mandolin (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Mandolin (void)
     Class destructor.
    +void pluck (StkFloat amplitude)
     Pluck the strings with the given amplitude (0.0 - 1.0) using the current frequency.
    +void pluck (StkFloat amplitude, StkFloat position)
     Pluck the strings with the given amplitude (0.0 - 1.0) and position (0.0 - 1.0).
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude (0.0 - 1.0).
    +void setBodySize (StkFloat size)
     Set the body size (a value of 1.0 produces the "default" size).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK mandolin instrument model class. +

    +This class inherits from PluckTwo and uses "commuted synthesis" techniques to model a mandolin instrument.

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. Commuted Synthesis, in particular, is covered by patents, granted, pending, and/or applied-for. All are assigned to the Board of Trustees, Stanford University. For information, contact the Office of Technology Licensing, Stanford University.

    +Control Change Numbers:

      +
    • Body Size = 2
    • Pluck Position = 4
    • String Sustain = 11
    • String Detuning = 1
    • Microphone Position = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Mandolin.png b/doc/html/classstk_1_1Mandolin.png new file mode 100644 index 0000000..1beb398 Binary files /dev/null and b/doc/html/classstk_1_1Mandolin.png differ diff --git a/doc/html/classstk_1_1Mesh2D-members.html b/doc/html/classstk_1_1Mesh2D-members.html new file mode 100644 index 0000000..4c4160f --- /dev/null +++ b/doc/html/classstk_1_1Mesh2D-members.html @@ -0,0 +1,67 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Mesh2D Member List

    This is the complete list of members for stk::Mesh2D, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Mesh2D
    controlChange(int number, StkFloat value)stk::Mesh2D [virtual]
    energy(void)stk::Mesh2D
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    inputTick(StkFloat input)stk::Mesh2D
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Mesh2D(short nX, short nY)stk::Mesh2D
    noteOff(StkFloat amplitude)stk::Mesh2D [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Mesh2D [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDecay(StkFloat decayFactor)stk::Mesh2D
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setInputPosition(StkFloat xFactor, StkFloat yFactor)stk::Mesh2D
    setNX(short lenX)stk::Mesh2D
    setNY(short lenY)stk::Mesh2D
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Mesh2D [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Mesh2D(void)stk::Mesh2D
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Mesh2D.html b/doc/html/classstk_1_1Mesh2D.html new file mode 100644 index 0000000..1bbb31a --- /dev/null +++ b/doc/html/classstk_1_1Mesh2D.html @@ -0,0 +1,107 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Mesh2D Class Reference

    Two-dimensional rectilinear waveguide mesh class. +More... +

    +#include <Mesh2D.h> +

    +

    +Inheritance diagram for stk::Mesh2D:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Mesh2D (short nX, short nY)
     Class constructor, taking the x and y dimensions in samples.
    ~Mesh2D (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setNX (short lenX)
     Set the x dimension size in samples.
    +void setNY (short lenY)
     Set the y dimension size in samples.
    +void setInputPosition (StkFloat xFactor, StkFloat yFactor)
     Set the x, y input position on a 0.0 - 1.0 scale.
    +void setDecay (StkFloat decayFactor)
     Set the loss filters gains (0.0 - 1.0).
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Impulse the mesh with the given amplitude (frequency ignored).
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay) ... currently ignored.
    +StkFloat energy (void)
     Calculate and return the signal energy stored in the mesh.
    +StkFloat inputTick (StkFloat input)
     Input a sample to the mesh and compute one output sample.
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +Two-dimensional rectilinear waveguide mesh class. +

    +This class implements a rectilinear, two-dimensional digital waveguide mesh structure. For details, see Van Duyne and Smith, "Physical Modeling with the 2-D Digital Waveguide Mesh", Proceedings of the 1993 International Computer Music Conference.

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    +Control Change Numbers:

      +
    • X Dimension = 2
    • Y Dimension = 4
    • Mesh Decay = 11
    • X-Y Input Position = 1
    +

    +by Julius Smith, 2000 - 2002. Revised by Gary Scavone for STK, 2002.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Mesh2D.png b/doc/html/classstk_1_1Mesh2D.png new file mode 100644 index 0000000..696cd95 Binary files /dev/null and b/doc/html/classstk_1_1Mesh2D.png differ diff --git a/doc/html/classstk_1_1Messager-members.html b/doc/html/classstk_1_1Messager-members.html new file mode 100644 index 0000000..76ca617 --- /dev/null +++ b/doc/html/classstk_1_1Messager-members.html @@ -0,0 +1,56 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Messager Member List

    This is the complete list of members for stk::Messager, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Messager()stk::Messager
    popMessage(Skini::Message &message)stk::Messager
    printErrors(bool status)stk::Stk [inline, static]
    pushMessage(Skini::Message &message)stk::Messager
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setScoreFile(const char *filename)stk::Messager
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startMidiInput(int port=0)stk::Messager
    startSocketInput(int port=2001)stk::Messager
    startStdInput()stk::Messager
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~Messager()stk::Messager
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Messager.html b/doc/html/classstk_1_1Messager.html new file mode 100644 index 0000000..4f6dbca --- /dev/null +++ b/doc/html/classstk_1_1Messager.html @@ -0,0 +1,190 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Messager Class Reference

    STK input control message parser. +More... +

    +#include <Messager.h> +

    +

    +Inheritance diagram for stk::Messager:
    +
    + +

    + +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Messager ()
     Default constructor.
    ~Messager ()
     Class destructor.
    void popMessage (Skini::Message &message)
     Pop the next message from the queue and write it to the referenced message structure.
    +void pushMessage (Skini::Message &message)
     Push the referenced message onto the message stack.
    bool setScoreFile (const char *filename)
     Specify a SKINI formatted scorefile from which messages should be read.
    bool startStdInput ()
     Initiate the "realtime" retreival from stdin of control messages into the queue.
    bool startSocketInput (int port=2001)
     Start a socket server, accept connections, and read "realtime" control messages into the message queue.
    bool startMidiInput (int port=0)
     Start MIDI input, with optional device and port identifiers.
    +


    Detailed Description

    +STK input control message parser. +

    +This class reads and parses control messages from a variety of sources, such as a scorefile, MIDI port, socket connection, or stdin. MIDI messages are retrieved using the RtMidi class. All other input sources (scorefile, socket, or stdin) are assumed to provide SKINI formatted messages. This class can be compiled with generic, non-realtime support, in which case only scorefile reading is possible.

    +The various realtime message acquisition mechanisms (from MIDI, socket, or stdin) take place asynchronously, filling the message queue. A call to popMessage() will pop the next available control message from the queue and return it via the referenced Message structure. When a non-realtime scorefile is set, it is not possible to start reading realtime input messages (from MIDI, socket, or stdin). Likewise, it is not possible to read from a scorefile when a realtime input mechanism is running.

    +When MIDI input is started, input is also automatically read from stdin. This allows for program termination via the terminal window. An __SK_Exit_ message is pushed onto the stack whenever an "exit" or "Exit" message is received from stdin or when all socket connections close and no stdin thread is running.

    +This class is primarily for use in STK example programs but it is generic enough to work in many other contexts.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::Messager::popMessage (Skini::Message message  ) 
    +
    +
    + +

    +Pop the next message from the queue and write it to the referenced message structure. +

    +Invalid messages (or an empty queue) are indicated by type values of zero, in which case all other message structure values are undefined. The user MUST verify the returned message type is valid before reading other message values. +

    +

    + +

    +
    + + + + + + + + + +
    bool stk::Messager::setScoreFile (const char *  filename  ) 
    +
    +
    + +

    +Specify a SKINI formatted scorefile from which messages should be read. +

    +A return value of true indicates the call was successful. A return value of false can occur if the file is not found, cannot be opened, another file is currently still open, or if a realtime input mechanism is running. Scorefile input is considered to be a non-realtime control mechanism that cannot run concurrently with realtime input. +

    +

    + +

    +
    + + + + + + + + +
    bool stk::Messager::startStdInput (  ) 
    +
    +
    + +

    +Initiate the "realtime" retreival from stdin of control messages into the queue. +

    +This function initiates a thread for asynchronous retrieval of SKINI formatted messages from stdin. A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, a stdin thread is already running, or a thread error occurs during startup. Stdin input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input. +

    +

    + +

    +
    + + + + + + + + + +
    bool stk::Messager::startSocketInput (int  port = 2001  ) 
    +
    +
    + +

    +Start a socket server, accept connections, and read "realtime" control messages into the message queue. +

    +This function creates a socket server on the optional port (default = 2001) and starts a thread for asynchronous retrieval of SKINI formatted messages from socket connections. A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, a socket thread is already running, or an error occurs during the socket server or thread initialization stages. Socket input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input. +

    +

    + +

    +
    + + + + + + + + + +
    bool stk::Messager::startMidiInput (int  port = 0  ) 
    +
    +
    + +

    +Start MIDI input, with optional device and port identifiers. +

    +This function creates an RtMidiIn instance for MIDI input. The RtMidiIn class invokes a local callback function to read incoming messages into the queue. If port = -1, RtMidiIn will open a virtual port to which other software applications can connect (OS X and Linux only). A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, MIDI input is already running, or an error occurs during RtMidiIn construction. Midi input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Messager.png b/doc/html/classstk_1_1Messager.png new file mode 100644 index 0000000..4e0d05a Binary files /dev/null and b/doc/html/classstk_1_1Messager.png differ diff --git a/doc/html/classstk_1_1MidiFileIn-members.html b/doc/html/classstk_1_1MidiFileIn-members.html new file mode 100644 index 0000000..69f829f --- /dev/null +++ b/doc/html/classstk_1_1MidiFileIn-members.html @@ -0,0 +1,57 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::MidiFileIn Member List

    This is the complete list of members for stk::MidiFileIn, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    getDivision() const stk::MidiFileIn
    getFileFormat() const stk::MidiFileIn
    getNextEvent(std::vector< unsigned char > *event, unsigned int track=0)stk::MidiFileIn
    getNextMidiEvent(std::vector< unsigned char > *midiEvent, unsigned int track=0)stk::MidiFileIn
    getNumberOfTracks() const stk::MidiFileIn
    getTickSeconds(unsigned int track=0)stk::MidiFileIn
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    MidiFileIn(std::string fileName)stk::MidiFileIn
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    rewindTrack(unsigned int track=0)stk::MidiFileIn
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~MidiFileIn()stk::MidiFileIn
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1MidiFileIn.html b/doc/html/classstk_1_1MidiFileIn.html new file mode 100644 index 0000000..d8a6721 --- /dev/null +++ b/doc/html/classstk_1_1MidiFileIn.html @@ -0,0 +1,231 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::MidiFileIn Class Reference

    A standard MIDI file reading/parsing class. +More... +

    +#include <MidiFileIn.h> +

    +

    +Inheritance diagram for stk::MidiFileIn:
    +
    + +

    + +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     MidiFileIn (std::string fileName)
     Default constructor.
    ~MidiFileIn ()
     Class destructor.
    +int getFileFormat () const
     Return the MIDI file format (0, 1, or 2).
    +unsigned int getNumberOfTracks () const
     Return the number of tracks in the MIDI file.
    int getDivision () const
     Return the MIDI file division value from the file header.
    void rewindTrack (unsigned int track=0)
     Move the specified track event reader to the beginning of its track.
    double getTickSeconds (unsigned int track=0)
     Get the current value, in seconds, of delta-time ticks for the specified track.
    unsigned long getNextEvent (std::vector< unsigned char > *event, unsigned int track=0)
     Fill the user-provided vector with the next event in the specified track and return the event delta-time in ticks.
    unsigned long getNextMidiEvent (std::vector< unsigned char > *midiEvent, unsigned int track=0)
     Fill the user-provided vector with the next MIDI channel event in the specified track and return the event delta time in ticks.
    +


    Detailed Description

    +A standard MIDI file reading/parsing class. +

    +This class can be used to read events from a standard MIDI file. Event bytes are copied to a C++ vector and must be subsequently interpreted by the user. The function getNextMidiEvent() skips meta and sysex events, returning only MIDI channel messages. Event delta-times are returned in the form of "ticks" and a function is provided to determine the current "seconds per tick". Tempo changes are internally tracked by the class and reflected in the values returned by the function getTickSeconds().

    +by Gary P. Scavone, 2003 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::MidiFileIn::MidiFileIn (std::string  fileName  ) 
    +
    +
    + +

    +Default constructor. +

    +If an error occurs while opening or parsing the file header, an StkError exception will be thrown. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + +
    int stk::MidiFileIn::getDivision (  )  const
    +
    +
    + +

    +Return the MIDI file division value from the file header. +

    +Note that this value must be "parsed" in accordance with the MIDI File Specification. In particular, if the MSB is set, the file uses time-code representations for delta-time values. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::MidiFileIn::rewindTrack (unsigned int  track = 0  ) 
    +
    +
    + +

    +Move the specified track event reader to the beginning of its track. +

    +The relevant track tempo value is reset as well. If an invalid track number is specified, an StkError exception will be thrown. +

    +

    + +

    +
    + + + + + + + + + +
    double stk::MidiFileIn::getTickSeconds (unsigned int  track = 0  ) 
    +
    +
    + +

    +Get the current value, in seconds, of delta-time ticks for the specified track. +

    +This value can change as events are read (via "Set Tempo" Meta-Events). Therefore, one should call this function after every call to getNextEvent() or getNextMidiEvent(). If an invalid track number is specified, an StkError exception will be thrown. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    unsigned long stk::MidiFileIn::getNextEvent (std::vector< unsigned char > *  event,
    unsigned int  track = 0 
    )
    +
    +
    + +

    +Fill the user-provided vector with the next event in the specified track and return the event delta-time in ticks. +

    +MIDI File events consist of a delta time and a sequence of event bytes. This function returns the delta-time value and writes the subsequent event bytes directly to the event vector. The user must parse the event bytes in accordance with the MIDI File Specification. All returned MIDI channel events are complete ... a status byte is provided even when running status is used in the file. If the track has reached its end, no bytes will be written and the event vector size will be zero. If an invalid track number is specified or an error occurs while reading the file, an StkError exception will be thrown. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    unsigned long stk::MidiFileIn::getNextMidiEvent (std::vector< unsigned char > *  midiEvent,
    unsigned int  track = 0 
    )
    +
    +
    + +

    +Fill the user-provided vector with the next MIDI channel event in the specified track and return the event delta time in ticks. +

    +All returned MIDI events are complete ... a status byte is provided even when running status is used in the file. Meta and sysex events in the track are skipped though "Set Tempo" events are properly parsed for use by the getTickSeconds() function. If the track has reached its end, no bytes will be written and the event vector size will be zero. If an invalid track number is specified or an error occurs while reading the file, an StkError exception will be thrown. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1MidiFileIn.png b/doc/html/classstk_1_1MidiFileIn.png new file mode 100644 index 0000000..8476840 Binary files /dev/null and b/doc/html/classstk_1_1MidiFileIn.png differ diff --git a/doc/html/classstk_1_1Modal-members.html b/doc/html/classstk_1_1Modal-members.html new file mode 100644 index 0000000..0eff3c5 --- /dev/null +++ b/doc/html/classstk_1_1Modal-members.html @@ -0,0 +1,67 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Modal Member List

    This is the complete list of members for stk::Modal, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Modal
    controlChange(int number, StkFloat value)=0stk::Modal [pure virtual]
    damp(StkFloat amplitude)stk::Modal
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Modal(unsigned int modes=4)stk::Modal
    noteOff(StkFloat amplitude)stk::Modal [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Modal [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDirectGain(StkFloat aGain)stk::Modal [inline]
    setFrequency(StkFloat frequency)stk::Modal [virtual]
    setMasterGain(StkFloat aGain)stk::Modal [inline]
    setModeGain(unsigned int modeIndex, StkFloat gain)stk::Modal
    setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius)stk::Modal
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    strike(StkFloat amplitude)stk::Modal [virtual]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Modal [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Modal(void)stk::Modal [virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Modal.html b/doc/html/classstk_1_1Modal.html new file mode 100644 index 0000000..16228b7 --- /dev/null +++ b/doc/html/classstk_1_1Modal.html @@ -0,0 +1,130 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Modal Class Reference

    STK resonance model abstract base class. +More... +

    +#include <Modal.h> +

    +

    +Inheritance diagram for stk::Modal:
    +
    + +

    + +stk::Instrmnt +stk::Stk +stk::ModalBar + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Modal (unsigned int modes=4)
     Class constructor, taking the desired number of modes to create.
    +virtual ~Modal (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setRatioAndRadius (unsigned int modeIndex, StkFloat ratio, StkFloat radius)
     Set the ratio and radius for a specified mode filter.
    +void setMasterGain (StkFloat aGain)
     Set the master gain.
    +void setDirectGain (StkFloat aGain)
     Set the direct gain.
    +void setModeGain (unsigned int modeIndex, StkFloat gain)
     Set the gain for a specified mode filter.
    +virtual void strike (StkFloat amplitude)
     Initiate a strike with the given amplitude (0.0 - 1.0).
    +void damp (StkFloat amplitude)
     Damp modes with a given decay factor (0.0 - 1.0).
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +virtual void controlChange (int number, StkFloat value)=0
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK resonance model abstract base class. +

    +This class contains an excitation wavetable, an envelope, an oscillator, and N resonances (non-sweeping BiQuad filters), where N is set during instantiation.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Modal::Modal (unsigned int  modes = 4  ) 
    +
    +
    + +

    +Class constructor, taking the desired number of modes to create. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Modal.png b/doc/html/classstk_1_1Modal.png new file mode 100644 index 0000000..9545a90 Binary files /dev/null and b/doc/html/classstk_1_1Modal.png differ diff --git a/doc/html/classstk_1_1ModalBar-members.html b/doc/html/classstk_1_1ModalBar-members.html new file mode 100644 index 0000000..2cb6c6c --- /dev/null +++ b/doc/html/classstk_1_1ModalBar-members.html @@ -0,0 +1,73 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::ModalBar Member List

    This is the complete list of members for stk::ModalBar, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Modal
    controlChange(int number, StkFloat value)stk::ModalBar [virtual]
    damp(StkFloat amplitude)stk::Modal
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Modal(unsigned int modes=4)stk::Modal
    ModalBar(void)stk::ModalBar
    noteOff(StkFloat amplitude)stk::Modal [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Modal [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDirectGain(StkFloat aGain)stk::Modal [inline]
    setFrequency(StkFloat frequency)stk::Modal [virtual]
    setMasterGain(StkFloat aGain)stk::Modal [inline]
    setModeGain(unsigned int modeIndex, StkFloat gain)stk::Modal
    setModulationDepth(StkFloat mDepth)stk::ModalBar
    setPreset(int preset)stk::ModalBar
    setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius)stk::Modal
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStickHardness(StkFloat hardness)stk::ModalBar
    setStrikePosition(StkFloat position)stk::ModalBar
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    strike(StkFloat amplitude)stk::Modal [virtual]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Modal [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Modal(void)stk::Modal [virtual]
    ~ModalBar(void)stk::ModalBar
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1ModalBar.html b/doc/html/classstk_1_1ModalBar.html new file mode 100644 index 0000000..c8ecbb9 --- /dev/null +++ b/doc/html/classstk_1_1ModalBar.html @@ -0,0 +1,85 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::ModalBar Class Reference

    STK resonant bar instrument class. +More... +

    +#include <ModalBar.h> +

    +

    +Inheritance diagram for stk::ModalBar:
    +
    + +

    + +stk::Modal +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    ModalBar (void)
     Class constructor.
    ~ModalBar (void)
     Class destructor.
    +void setStickHardness (StkFloat hardness)
     Set stick hardness (0.0 - 1.0).
    +void setStrikePosition (StkFloat position)
     Set stick position (0.0 - 1.0).
    +void setPreset (int preset)
     Select a bar preset (currently modulo 9).
    +void setModulationDepth (StkFloat mDepth)
     Set the modulation (vibrato) depth.
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +


    Detailed Description

    +STK resonant bar instrument class. +

    +This class implements a number of different struck bar instruments. It inherits from the Modal class.

    +Control Change Numbers:

      +
    • Stick Hardness = 2
    • Stick Position = 4
    • Vibrato Gain = 1
    • Vibrato Frequency = 11
    • Direct Stick Mix = 8
    • Volume = 128
    • Modal Presets = 16
        +
      • Marimba = 0
      • Vibraphone = 1
      • Agogo = 2
      • Wood1 = 3
      • Reso = 4
      • Wood2 = 5
      • Beats = 6
      • Two Fixed = 7
      • Clump = 8
      +
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1ModalBar.png b/doc/html/classstk_1_1ModalBar.png new file mode 100644 index 0000000..de28509 Binary files /dev/null and b/doc/html/classstk_1_1ModalBar.png differ diff --git a/doc/html/classstk_1_1Modulate-members.html b/doc/html/classstk_1_1Modulate-members.html new file mode 100644 index 0000000..f9f36b5 --- /dev/null +++ b/doc/html/classstk_1_1Modulate-members.html @@ -0,0 +1,59 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Modulate Member List

    This is the complete list of members for stk::Modulate, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Modulate [inline]
    Modulate(void)stk::Modulate
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::Modulate [inline]
    sampleRate(void)stk::Stk [inline, static]
    setRandomGain(StkFloat gain)stk::Modulate
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setVibratoGain(StkFloat gain)stk::Modulate [inline]
    setVibratoRate(StkFloat rate)stk::Modulate [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Modulate [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Modulate [inline, virtual]
    ~Modulate(void)stk::Modulate
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Modulate.html b/doc/html/classstk_1_1Modulate.html new file mode 100644 index 0000000..aedc64e --- /dev/null +++ b/doc/html/classstk_1_1Modulate.html @@ -0,0 +1,142 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Modulate Class Reference

    STK periodic/random modulator. +More... +

    +#include <Modulate.h> +

    +

    +Inheritance diagram for stk::Modulate:
    +
    + +

    + +stk::Generator +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Modulate (void)
     Class constructor.
    ~Modulate (void)
     Class destructor.
    +void reset (void)
     Reset internal state.
    +void setVibratoRate (StkFloat rate)
     Set the periodic (vibrato) rate or frequency in Hz.
    +void setVibratoGain (StkFloat gain)
     Set the periodic (vibrato) gain.
    +void setRandomGain (StkFloat gain)
     Set the random modulation gain.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    +


    Detailed Description

    +STK periodic/random modulator. +

    +This class combines random and periodic modulations to give a nice, natural human modulation function.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Modulate::Modulate (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError can be thrown if the rawwave path is incorrect. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Modulate::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Generator.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Modulate.png b/doc/html/classstk_1_1Modulate.png new file mode 100644 index 0000000..2b97557 Binary files /dev/null and b/doc/html/classstk_1_1Modulate.png differ diff --git a/doc/html/classstk_1_1Moog-members.html b/doc/html/classstk_1_1Moog-members.html new file mode 100644 index 0000000..b4e538f --- /dev/null +++ b/doc/html/classstk_1_1Moog-members.html @@ -0,0 +1,67 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Moog Member List

    This is the complete list of members for stk::Moog, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Sampler
    controlChange(int number, StkFloat value)stk::Moog [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Sampler
    keyOn(void)stk::Sampler
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Moog(void)stk::Moog
    noteOff(StkFloat amplitude)stk::Sampler [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Moog [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Sampler(void)stk::Sampler
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Moog [virtual]
    setModulationDepth(StkFloat mDepth)stk::Moog [inline]
    setModulationSpeed(StkFloat mSpeed)stk::Moog [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Moog [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Moog(void)stk::Moog
    ~Sampler(void)stk::Sampler [virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Moog.html b/doc/html/classstk_1_1Moog.html new file mode 100644 index 0000000..f260fed --- /dev/null +++ b/doc/html/classstk_1_1Moog.html @@ -0,0 +1,109 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Moog Class Reference

    STK moog-like swept filter sampling synthesis class. +More... +

    +#include <Moog.h> +

    +

    +Inheritance diagram for stk::Moog:
    +
    + +

    + +stk::Sampler +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Moog (void)
     Class constructor.
    ~Moog (void)
     Class destructor.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void setModulationSpeed (StkFloat mSpeed)
     Set the modulation (vibrato) speed in Hz.
    +void setModulationDepth (StkFloat mDepth)
     Set the modulation (vibrato) depth.
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK moog-like swept filter sampling synthesis class. +

    +This instrument uses one attack wave, one looped wave, and an ADSR envelope (inherited from the Sampler class) and adds two sweepable formant (FormSwep) filters.

    +Control Change Numbers:

      +
    • Filter Q = 2
    • Filter Sweep Rate = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Gain = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Moog::Moog (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Moog.png b/doc/html/classstk_1_1Moog.png new file mode 100644 index 0000000..1eee4c0 Binary files /dev/null and b/doc/html/classstk_1_1Moog.png differ diff --git a/doc/html/classstk_1_1Mutex-members.html b/doc/html/classstk_1_1Mutex-members.html new file mode 100644 index 0000000..f8c3abd --- /dev/null +++ b/doc/html/classstk_1_1Mutex-members.html @@ -0,0 +1,54 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Mutex Member List

    This is the complete list of members for stk::Mutex, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lock(void)stk::Mutex
    Mutex()stk::Mutex
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    signal(void)stk::Mutex
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    unlock(void)stk::Mutex
    wait(void)stk::Mutex
    ~Mutex()stk::Mutex
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Mutex.html b/doc/html/classstk_1_1Mutex.html new file mode 100644 index 0000000..e5a786f --- /dev/null +++ b/doc/html/classstk_1_1Mutex.html @@ -0,0 +1,117 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Mutex Class Reference

    STK mutex class. +More... +

    +#include <Mutex.h> +

    +

    +Inheritance diagram for stk::Mutex:
    +
    + +

    + +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Mutex ()
     Default constructor.
    ~Mutex ()
     Class destructor.
    +void lock (void)
     Lock the mutex.
    +void unlock (void)
     Unlock the mutex.
    void wait (void)
     Wait indefinitely on the mutex condition variable.
    void signal (void)
     Signal the condition variable.
    +


    Detailed Description

    +STK mutex class. +

    +This class provides a uniform interface for cross-platform mutex use. On Linux and IRIX systems, the pthread library is used. Under Windows, critical sections are used.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::Mutex::wait (void   ) 
    +
    +
    + +

    +Wait indefinitely on the mutex condition variable. +

    +The mutex must be locked before calling this function, and then subsequently unlocked after this function returns. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::Mutex::signal (void   ) 
    +
    +
    + +

    +Signal the condition variable. +

    +The mutex must be locked before calling this function, and then subsequently unlocked after this function returns. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Mutex.png b/doc/html/classstk_1_1Mutex.png new file mode 100644 index 0000000..a3c003e Binary files /dev/null and b/doc/html/classstk_1_1Mutex.png differ diff --git a/doc/html/classstk_1_1NRev-members.html b/doc/html/classstk_1_1NRev-members.html new file mode 100644 index 0000000..53c94d6 --- /dev/null +++ b/doc/html/classstk_1_1NRev-members.html @@ -0,0 +1,59 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::NRev Member List

    This is the complete list of members for stk::NRev, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::NRev [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::NRev [inline]
    NRev(StkFloat T60=1.0)stk::NRev
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setT60(StkFloat T60)stk::NRev
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::NRev [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::NRev
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::NRev
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1NRev.html b/doc/html/classstk_1_1NRev.html new file mode 100644 index 0000000..e8951b4 --- /dev/null +++ b/doc/html/classstk_1_1NRev.html @@ -0,0 +1,203 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::NRev Class Reference

    CCRMA's NRev reverberator class. +More... +

    +#include <NRev.h> +

    +

    +Inheritance diagram for stk::NRev:
    +
    + +

    + +stk::Effect +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    NRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    +void clear (void)
     Reset and clear all internal state.
    +void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    +


    Detailed Description

    +CCRMA's NRev reverberator class. +

    +This class takes a monophonic input signal and produces a stereo output signal. It is derived from the CLM NRev function, which is based on the use of networks of simple allpass and comb delay filters. This particular arrangement consists of 6 comb filters in parallel, followed by 3 allpass filters, a lowpass filter, and another allpass in series, followed by two allpass filters in parallel with corresponding right and left outputs.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    StkFloat stk::NRev::lastOut (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Return the specified channel value of the last computed stereo frame. +

    +Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFloat stk::NRev::tick (StkFloat  input,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

    +Input one sample to the effect and return the specified channel value of the computed stereo frame. +

    +Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames& stk::NRev::tick (StkFrames frames,
    unsigned int  channel = 0 
    )
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs. +

    +The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames& stk::NRev::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    )
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object. +

    +The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1NRev.png b/doc/html/classstk_1_1NRev.png new file mode 100644 index 0000000..132d645 Binary files /dev/null and b/doc/html/classstk_1_1NRev.png differ diff --git a/doc/html/classstk_1_1Noise-members.html b/doc/html/classstk_1_1Noise-members.html new file mode 100644 index 0000000..fac9965 --- /dev/null +++ b/doc/html/classstk_1_1Noise-members.html @@ -0,0 +1,56 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Noise Member List

    This is the complete list of members for stk::Noise, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Noise [inline]
    Noise(unsigned int seed=0)stk::Noise
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSeed(unsigned int seed=0)stk::Noise
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Noise [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Noise [inline, virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Noise.html b/doc/html/classstk_1_1Noise.html new file mode 100644 index 0000000..ac6ad2e --- /dev/null +++ b/doc/html/classstk_1_1Noise.html @@ -0,0 +1,147 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Noise Class Reference

    STK noise generator. +More... +

    +#include <Noise.h> +

    +

    +Inheritance diagram for stk::Noise:
    +
    + +

    + +stk::Generator +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Noise (unsigned int seed=0)
     Default constructor that can also take a specific seed value.
    void setSeed (unsigned int seed=0)
     Seed the random number generator with a specific seed value.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    +


    Detailed Description

    +STK noise generator. +

    +Generic random number generation using the C rand() function. The quality of the rand() function varies from one OS to another.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Noise::Noise (unsigned int  seed = 0  ) 
    +
    +
    + +

    +Default constructor that can also take a specific seed value. +

    +If the seed value is zero (the default value), the random number generator is seeded with the system time. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::Noise::setSeed (unsigned int  seed = 0  ) 
    +
    +
    + +

    +Seed the random number generator with a specific seed value. +

    +If no seed is provided or the seed value is zero, the random number generator is seeded with the current system time. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Noise::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Generator.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Noise.png b/doc/html/classstk_1_1Noise.png new file mode 100644 index 0000000..64bfa0b Binary files /dev/null and b/doc/html/classstk_1_1Noise.png differ diff --git a/doc/html/classstk_1_1OnePole-members.html b/doc/html/classstk_1_1OnePole-members.html new file mode 100644 index 0000000..32132b0 --- /dev/null +++ b/doc/html/classstk_1_1OnePole-members.html @@ -0,0 +1,65 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::OnePole Member List

    This is the complete list of members for stk::OnePole, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::OnePole [inline]
    OnePole(StkFloat thePole=0.9)stk::OnePole
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setA1(StkFloat a1)stk::OnePole [inline]
    setB0(StkFloat b0)stk::OnePole [inline]
    setCoefficients(StkFloat b0, StkFloat a1, bool clearState=false)stk::OnePole
    setGain(StkFloat gain)stk::Filter [inline]
    setPole(StkFloat thePole)stk::OnePole
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::OnePole [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::OnePole [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::OnePole [inline]
    ~OnePole()stk::OnePole
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1OnePole.html b/doc/html/classstk_1_1OnePole.html new file mode 100644 index 0000000..f82518c --- /dev/null +++ b/doc/html/classstk_1_1OnePole.html @@ -0,0 +1,187 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::OnePole Class Reference

    STK one-pole filter class. +More... +

    +#include <OnePole.h> +

    +

    +Inheritance diagram for stk::OnePole:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    OnePole (StkFloat thePole=0.9)
     The default constructor creates a low-pass filter (pole at z = 0.9).
    ~OnePole ()
     Class destructor.
    +void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    +void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    +void setCoefficients (StkFloat b0, StkFloat a1, bool clearState=false)
     Set all filter coefficients.
    void setPole (StkFloat thePole)
     Set the pole position in the z-plane.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK one-pole filter class. +

    +This class implements a one-pole digital filter. A method is provided for setting the pole position along the real axis of the z-plane while maintaining a constant peak filter gain.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::OnePole::setPole (StkFloat  thePole  ) 
    +
    +
    + +

    +Set the pole position in the z-plane. +

    +This method sets the pole position along the real-axis of the z-plane and normalizes the coefficients for a maximum gain of one. A positive pole value produces a low-pass filter, while a negative pole value produces a high-pass filter. This method does not affect the filter gain value. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::OnePole::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::OnePole::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1OnePole.png b/doc/html/classstk_1_1OnePole.png new file mode 100644 index 0000000..a680b74 Binary files /dev/null and b/doc/html/classstk_1_1OnePole.png differ diff --git a/doc/html/classstk_1_1OneZero-members.html b/doc/html/classstk_1_1OneZero-members.html new file mode 100644 index 0000000..dc1acf2 --- /dev/null +++ b/doc/html/classstk_1_1OneZero-members.html @@ -0,0 +1,65 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::OneZero Member List

    This is the complete list of members for stk::OneZero, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::OneZero [inline]
    OneZero(StkFloat theZero=-1.0)stk::OneZero
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setB0(StkFloat b0)stk::OneZero [inline]
    setB1(StkFloat b1)stk::OneZero [inline]
    setCoefficients(StkFloat b0, StkFloat b1, bool clearState=false)stk::OneZero
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setZero(StkFloat theZero)stk::OneZero
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::OneZero [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::OneZero [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::OneZero [inline]
    ~OneZero()stk::OneZero
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1OneZero.html b/doc/html/classstk_1_1OneZero.html new file mode 100644 index 0000000..5dec31e --- /dev/null +++ b/doc/html/classstk_1_1OneZero.html @@ -0,0 +1,187 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::OneZero Class Reference

    STK one-zero filter class. +More... +

    +#include <OneZero.h> +

    +

    +Inheritance diagram for stk::OneZero:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    OneZero (StkFloat theZero=-1.0)
     The default constructor creates a low-pass filter (zero at z = -1.0).
    ~OneZero ()
     Class destructor.
    +void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    +void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    +void setCoefficients (StkFloat b0, StkFloat b1, bool clearState=false)
     Set all filter coefficients.
    void setZero (StkFloat theZero)
     Set the zero position in the z-plane.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK one-zero filter class. +

    +This class implements a one-zero digital filter. A method is provided for setting the zero position along the real axis of the z-plane while maintaining a constant filter gain.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::OneZero::setZero (StkFloat  theZero  ) 
    +
    +
    + +

    +Set the zero position in the z-plane. +

    +This method sets the zero position along the real-axis of the z-plane and normalizes the coefficients for a maximum gain of one. A positive zero value produces a high-pass filter, while a negative zero value produces a low-pass filter. This method does not affect the filter gain value. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::OneZero::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::OneZero::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1OneZero.png b/doc/html/classstk_1_1OneZero.png new file mode 100644 index 0000000..cdfc75b Binary files /dev/null and b/doc/html/classstk_1_1OneZero.png differ diff --git a/doc/html/classstk_1_1PRCRev-members.html b/doc/html/classstk_1_1PRCRev-members.html new file mode 100644 index 0000000..c372fa1 --- /dev/null +++ b/doc/html/classstk_1_1PRCRev-members.html @@ -0,0 +1,59 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::PRCRev Member List

    This is the complete list of members for stk::PRCRev, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::PRCRev [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::PRCRev [inline]
    PRCRev(StkFloat T60=1.0)stk::PRCRev
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setT60(StkFloat T60)stk::PRCRev
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::PRCRev [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::PRCRev
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::PRCRev
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1PRCRev.html b/doc/html/classstk_1_1PRCRev.html new file mode 100644 index 0000000..edba18d --- /dev/null +++ b/doc/html/classstk_1_1PRCRev.html @@ -0,0 +1,203 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::PRCRev Class Reference

    Perry's simple reverberator class. +More... +

    +#include <PRCRev.h> +

    +

    +Inheritance diagram for stk::PRCRev:
    +
    + +

    + +stk::Effect +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    PRCRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    +void clear (void)
     Reset and clear all internal state.
    +void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    +


    Detailed Description

    +Perry's simple reverberator class. +

    +This class takes a monophonic input signal and produces a stereo output signal. It is based on some of the famous Stanford/CCRMA reverbs (NRev, KipRev), which were based on the Chowning/Moorer/Schroeder reverberators using networks of simple allpass and comb delay filters. This class implements two series allpass units and two parallel comb filters.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    StkFloat stk::PRCRev::lastOut (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Return the specified channel value of the last computed stereo frame. +

    +Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFloat stk::PRCRev::tick (StkFloat  input,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

    +Input one sample to the effect and return the specified channel value of the computed stereo frame. +

    +Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames& stk::PRCRev::tick (StkFrames frames,
    unsigned int  channel = 0 
    )
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs. +

    +The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames& stk::PRCRev::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    )
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object. +

    +The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1PRCRev.png b/doc/html/classstk_1_1PRCRev.png new file mode 100644 index 0000000..51c8aea Binary files /dev/null and b/doc/html/classstk_1_1PRCRev.png differ diff --git a/doc/html/classstk_1_1PercFlut-members.html b/doc/html/classstk_1_1PercFlut-members.html new file mode 100644 index 0000000..2d8df43 --- /dev/null +++ b/doc/html/classstk_1_1PercFlut-members.html @@ -0,0 +1,72 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::PercFlut Member List

    This is the complete list of members for stk::PercFlut, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::PercFlut [virtual]
    PercFlut(void)stk::PercFlut
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::PercFlut [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::PercFlut [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~PercFlut(void)stk::PercFlut
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1PercFlut.html b/doc/html/classstk_1_1PercFlut.html new file mode 100644 index 0000000..c3b01fc --- /dev/null +++ b/doc/html/classstk_1_1PercFlut.html @@ -0,0 +1,101 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::PercFlut Class Reference

    STK percussive flute FM synthesis instrument. +More... +

    +#include <PercFlut.h> +

    +

    +Inheritance diagram for stk::PercFlut:
    +
    + +

    + +stk::FM +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + +

    Public Member Functions

     PercFlut (void)
     Class constructor.
    ~PercFlut (void)
     Class destructor.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK percussive flute FM synthesis instrument. +

    +This class implements algorithm 4 of the TX81Z.

    +

        Algorithm 4 is :   4->3--\
    +                          2-- + -->1-->Out
    +

    +Control Change Numbers:

      +
    • Total Modulator Index = 2
    • Modulator Crossfade = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    +

    +The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::PercFlut::PercFlut (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1PercFlut.png b/doc/html/classstk_1_1PercFlut.png new file mode 100644 index 0000000..6f06629 Binary files /dev/null and b/doc/html/classstk_1_1PercFlut.png differ diff --git a/doc/html/classstk_1_1Phonemes-members.html b/doc/html/classstk_1_1Phonemes-members.html new file mode 100644 index 0000000..8738691 --- /dev/null +++ b/doc/html/classstk_1_1Phonemes-members.html @@ -0,0 +1,54 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Phonemes Member List

    This is the complete list of members for stk::Phonemes, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    formantFrequency(unsigned int index, unsigned int partial)stk::Phonemes [static]
    formantGain(unsigned int index, unsigned int partial)stk::Phonemes [static]
    formantRadius(unsigned int index, unsigned int partial)stk::Phonemes [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    name(unsigned int index)stk::Phonemes [static]
    noiseGain(unsigned int index)stk::Phonemes [static]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    voiceGain(unsigned int index)stk::Phonemes [static]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Phonemes.html b/doc/html/classstk_1_1Phonemes.html new file mode 100644 index 0000000..c3963ec --- /dev/null +++ b/doc/html/classstk_1_1Phonemes.html @@ -0,0 +1,74 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Phonemes Class Reference

    STK phonemes table. +More... +

    +#include <Phonemes.h> +

    +

    +Inheritance diagram for stk::Phonemes:
    +
    + +

    + +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + +

    Static Public Member Functions

    +static const char * name (unsigned int index)
     Returns the phoneme name for the given index (0-31).
    +static StkFloat voiceGain (unsigned int index)
     Returns the voiced component gain for the given phoneme index (0-31).
    +static StkFloat noiseGain (unsigned int index)
     Returns the unvoiced component gain for the given phoneme index (0-31).
    +static StkFloat formantFrequency (unsigned int index, unsigned int partial)
     Returns the formant frequency for the given phoneme index (0-31) and partial (0-3).
    +static StkFloat formantRadius (unsigned int index, unsigned int partial)
     Returns the formant radius for the given phoneme index (0-31) and partial (0-3).
    +static StkFloat formantGain (unsigned int index, unsigned int partial)
     Returns the formant gain for the given phoneme index (0-31) and partial (0-3).
    +


    Detailed Description

    +STK phonemes table. +

    +This class does nothing other than declare a set of 32 static phoneme formant parameters and provide access to those values.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Phonemes.png b/doc/html/classstk_1_1Phonemes.png new file mode 100644 index 0000000..05baf33 Binary files /dev/null and b/doc/html/classstk_1_1Phonemes.png differ diff --git a/doc/html/classstk_1_1PitShift-members.html b/doc/html/classstk_1_1PitShift-members.html new file mode 100644 index 0000000..b4cdacd --- /dev/null +++ b/doc/html/classstk_1_1PitShift-members.html @@ -0,0 +1,59 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::PitShift Member List

    This is the complete list of members for stk::PitShift, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::PitShift [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(void) const stk::PitShift [inline]
    PitShift(void)stk::PitShift
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setShift(StkFloat shift)stk::PitShift
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::PitShift [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::PitShift
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::PitShift
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1PitShift.html b/doc/html/classstk_1_1PitShift.html new file mode 100644 index 0000000..84585b0 --- /dev/null +++ b/doc/html/classstk_1_1PitShift.html @@ -0,0 +1,152 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::PitShift Class Reference

    STK simple pitch shifter effect class. +More... +

    +#include <PitShift.h> +

    +

    +Inheritance diagram for stk::PitShift:
    +
    + +

    + +stk::Effect +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    PitShift (void)
     Class constructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setShift (StkFloat shift)
     Set the pitch shift factor (1.0 produces no shift).
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the effect and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object.
    +


    Detailed Description

    +STK simple pitch shifter effect class. +

    +This class implements a simple pitch shifter using delay lines.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames& stk::PitShift::tick (StkFrames frames,
    unsigned int  channel = 0 
    )
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames& stk::PitShift::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    )
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1PitShift.png b/doc/html/classstk_1_1PitShift.png new file mode 100644 index 0000000..f87c2a7 Binary files /dev/null and b/doc/html/classstk_1_1PitShift.png differ diff --git a/doc/html/classstk_1_1PluckTwo-members.html b/doc/html/classstk_1_1PluckTwo-members.html new file mode 100644 index 0000000..541ce3b --- /dev/null +++ b/doc/html/classstk_1_1PluckTwo-members.html @@ -0,0 +1,64 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::PluckTwo Member List

    This is the complete list of members for stk::PluckTwo, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::PluckTwo
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::PluckTwo [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    PluckTwo(StkFloat lowestFrequency)stk::PluckTwo
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)stk::PluckTwo
    setDetune(StkFloat detune)stk::PluckTwo
    setFreqAndDetune(StkFloat frequency, StkFloat detune)stk::PluckTwo
    setFrequency(StkFloat frequency)stk::PluckTwo [virtual]
    setPluckPosition(StkFloat position)stk::PluckTwo
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~PluckTwo(void)stk::PluckTwo [virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1PluckTwo.html b/doc/html/classstk_1_1PluckTwo.html new file mode 100644 index 0000000..f5a758e --- /dev/null +++ b/doc/html/classstk_1_1PluckTwo.html @@ -0,0 +1,112 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::PluckTwo Class Reference

    STK enhanced plucked string model class. +More... +

    +#include <PluckTwo.h> +

    +

    +Inheritance diagram for stk::PluckTwo:
    +
    + +

    + +stk::Instrmnt +stk::Stk +stk::Mandolin + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    PluckTwo (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    +virtual ~PluckTwo (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setDetune (StkFloat detune)
     Detune the two strings by the given factor. A value of 1.0 produces unison strings.
    +void setFreqAndDetune (StkFloat frequency, StkFloat detune)
     Efficient combined setting of frequency and detuning.
    +void setPluckPosition (StkFloat position)
     Set the pluck or "excitation" position along the string (0.0 - 1.0).
    void setBaseLoopGain (StkFloat aGain)
     Set the base loop gain.
    +virtual void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +


    Detailed Description

    +STK enhanced plucked string model class. +

    +This class implements an enhanced two-string, plucked physical model, a la Jaffe-Smith, Smith, and others.

    +PluckTwo is an abstract class, with no excitation specified. Therefore, it can't be directly instantiated.

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::PluckTwo::setBaseLoopGain (StkFloat  aGain  ) 
    +
    +
    + +

    +Set the base loop gain. +

    +The actual loop gain is set according to the frequency. Because of high-frequency loop filter roll-off, higher frequency settings have greater loop gains. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1PluckTwo.png b/doc/html/classstk_1_1PluckTwo.png new file mode 100644 index 0000000..265e047 Binary files /dev/null and b/doc/html/classstk_1_1PluckTwo.png differ diff --git a/doc/html/classstk_1_1Plucked-members.html b/doc/html/classstk_1_1Plucked-members.html new file mode 100644 index 0000000..18cdf4b --- /dev/null +++ b/doc/html/classstk_1_1Plucked-members.html @@ -0,0 +1,62 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Plucked Member List

    This is the complete list of members for stk::Plucked, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Plucked
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Plucked [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Plucked [virtual]
    pluck(StkFloat amplitude)stk::Plucked
    Plucked(StkFloat lowestFrequency)stk::Plucked
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Plucked [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Plucked [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Plucked(void)stk::Plucked
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Plucked.html b/doc/html/classstk_1_1Plucked.html new file mode 100644 index 0000000..3c08703 --- /dev/null +++ b/doc/html/classstk_1_1Plucked.html @@ -0,0 +1,84 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Plucked Class Reference

    STK plucked string model class. +More... +

    +#include <Plucked.h> +

    +

    +Inheritance diagram for stk::Plucked:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Plucked (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Plucked (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK plucked string model class. +

    +This class implements a simple plucked string physical model based on the Karplus-Strong algorithm.

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. There exist at least two patents, assigned to Stanford, bearing the names of Karplus and/or Strong.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Plucked.png b/doc/html/classstk_1_1Plucked.png new file mode 100644 index 0000000..4b07f9e Binary files /dev/null and b/doc/html/classstk_1_1Plucked.png differ diff --git a/doc/html/classstk_1_1PoleZero-members.html b/doc/html/classstk_1_1PoleZero-members.html new file mode 100644 index 0000000..829a2e3 --- /dev/null +++ b/doc/html/classstk_1_1PoleZero-members.html @@ -0,0 +1,66 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::PoleZero Member List

    This is the complete list of members for stk::PoleZero, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::PoleZero [inline]
    PoleZero()stk::PoleZero
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setA1(StkFloat a1)stk::PoleZero [inline]
    setAllpass(StkFloat coefficient)stk::PoleZero
    setB0(StkFloat b0)stk::PoleZero [inline]
    setB1(StkFloat b1)stk::PoleZero [inline]
    setBlockZero(StkFloat thePole=0.99)stk::PoleZero
    setCoefficients(StkFloat b0, StkFloat b1, StkFloat a1, bool clearState=false)stk::PoleZero
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::PoleZero [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::PoleZero [inline, virtual]
    ~PoleZero()stk::PoleZero
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1PoleZero.html b/doc/html/classstk_1_1PoleZero.html new file mode 100644 index 0000000..486a70c --- /dev/null +++ b/doc/html/classstk_1_1PoleZero.html @@ -0,0 +1,170 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::PoleZero Class Reference

    STK one-pole, one-zero filter class. +More... +

    +#include <PoleZero.h> +

    +

    +Inheritance diagram for stk::PoleZero:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    PoleZero ()
     Default constructor creates a first-order pass-through filter.
    ~PoleZero ()
     Class destructor.
    +void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    +void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    +void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    +void setCoefficients (StkFloat b0, StkFloat b1, StkFloat a1, bool clearState=false)
     Set all filter coefficients.
    void setAllpass (StkFloat coefficient)
     Set the filter for allpass behavior using coefficient.
    void setBlockZero (StkFloat thePole=0.99)
     Create a DC blocking filter with the given pole position in the z-plane.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    +


    Detailed Description

    +STK one-pole, one-zero filter class. +

    +This class implements a one-pole, one-zero digital filter. A method is provided for creating an allpass filter with a given coefficient. Another method is provided to create a DC blocking filter.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::PoleZero::setAllpass (StkFloat  coefficient  ) 
    +
    +
    + +

    +Set the filter for allpass behavior using coefficient. +

    +This method uses coefficient to create an allpass filter, which has unity gain at all frequencies. Note that the coefficient magnitude must be less than one to maintain stability. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::PoleZero::setBlockZero (StkFloat  thePole = 0.99  ) 
    +
    +
    + +

    +Create a DC blocking filter with the given pole position in the z-plane. +

    +This method sets the given pole position, together with a zero at z=1, to create a DC blocking filter. thePole should be close to one to minimize low-frequency attenuation. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::PoleZero::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1PoleZero.png b/doc/html/classstk_1_1PoleZero.png new file mode 100644 index 0000000..4defbcb Binary files /dev/null and b/doc/html/classstk_1_1PoleZero.png differ diff --git a/doc/html/classstk_1_1ReedTable-members.html b/doc/html/classstk_1_1ReedTable-members.html new file mode 100644 index 0000000..e1913a5 --- /dev/null +++ b/doc/html/classstk_1_1ReedTable-members.html @@ -0,0 +1,56 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::ReedTable Member List

    This is the complete list of members for stk::ReedTable, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    ReedTable(void)stk::ReedTable [inline]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setOffset(StkFloat offset)stk::ReedTable [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSlope(StkFloat slope)stk::ReedTable [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::ReedTable [inline, virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::ReedTable [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::ReedTable [inline]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1ReedTable.html b/doc/html/classstk_1_1ReedTable.html new file mode 100644 index 0000000..2abfeca --- /dev/null +++ b/doc/html/classstk_1_1ReedTable.html @@ -0,0 +1,191 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::ReedTable Class Reference

    STK reed table class. +More... +

    +#include <ReedTable.h> +

    +

    +Inheritance diagram for stk::ReedTable:
    +
    + +

    + +stk::Function +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    ReedTable (void)
     Default constructor.
    void setOffset (StkFloat offset)
     Set the table offset value.
    void setSlope (StkFloat slope)
     Set the table slope value.
    +StkFloat tick (StkFloat input)
     Take one sample input and map to one sample of output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.
    +


    Detailed Description

    +STK reed table class. +

    +This class implements a simple one breakpoint, non-linear reed function, as described by Smith (1986). This function is based on a memoryless non-linear spring model of the reed (the reed mass is ignored) which saturates when the reed collides with the mouthpiece facing.

    +See McIntyre, Schumacher, & Woodhouse (1983), Smith (1986), Hirschman, Cook, Scavone, and others for more information.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::ReedTable::setOffset (StkFloat  offset  )  [inline]
    +
    +
    + +

    +Set the table offset value. +

    +The table offset roughly corresponds to the size of the initial reed tip opening (a greater offset represents a smaller opening). +

    +

    + +

    +
    + + + + + + + + + +
    void stk::ReedTable::setSlope (StkFloat  slope  )  [inline]
    +
    +
    + +

    +Set the table slope value. +

    +The table slope roughly corresponds to the reed stiffness (a greater slope represents a harder reed). +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::ReedTable::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::ReedTable::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1ReedTable.png b/doc/html/classstk_1_1ReedTable.png new file mode 100644 index 0000000..fa3a8a2 Binary files /dev/null and b/doc/html/classstk_1_1ReedTable.png differ diff --git a/doc/html/classstk_1_1Resonate-members.html b/doc/html/classstk_1_1Resonate-members.html new file mode 100644 index 0000000..22aaeb5 --- /dev/null +++ b/doc/html/classstk_1_1Resonate-members.html @@ -0,0 +1,66 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Resonate Member List

    This is the complete list of members for stk::Resonate, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Resonate
    controlChange(int number, StkFloat value)stk::Resonate [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Resonate [inline]
    keyOn(void)stk::Resonate [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Resonate [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Resonate [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Resonate(void)stk::Resonate
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEqualGainZeroes(void)stk::Resonate [inline]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setNotch(StkFloat frequency, StkFloat radius)stk::Resonate
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius)stk::Resonate
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Resonate [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Resonate(void)stk::Resonate
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Resonate.html b/doc/html/classstk_1_1Resonate.html new file mode 100644 index 0000000..2348b2a --- /dev/null +++ b/doc/html/classstk_1_1Resonate.html @@ -0,0 +1,102 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Resonate Class Reference

    STK noise driven formant filter. +More... +

    +#include <Resonate.h> +

    +

    +Inheritance diagram for stk::Resonate:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Resonate (void)
     Class constructor.
    ~Resonate (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setResonance (StkFloat frequency, StkFloat radius)
     Set the filter for a resonance at the given frequency (Hz) and radius.
    +void setNotch (StkFloat frequency, StkFloat radius)
     Set the filter for a notch at the given frequency (Hz) and radius.
    +void setEqualGainZeroes (void)
     Set the filter zero coefficients for contant resonance gain.
    +void keyOn (void)
     Initiate the envelope with a key-on event.
    +void keyOff (void)
     Signal a key-off event to the envelope.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK noise driven formant filter. +

    +This instrument contains a noise source, which excites a biquad resonance filter, with volume controlled by an ADSR.

    +Control Change Numbers:

      +
    • Resonance Frequency (0-Nyquist) = 2
    • Pole Radii = 4
    • Notch Frequency (0-Nyquist) = 11
    • Zero Radii = 1
    • Envelope Gain = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Resonate.png b/doc/html/classstk_1_1Resonate.png new file mode 100644 index 0000000..8c8a923 Binary files /dev/null and b/doc/html/classstk_1_1Resonate.png differ diff --git a/doc/html/classstk_1_1Rhodey-members.html b/doc/html/classstk_1_1Rhodey-members.html new file mode 100644 index 0000000..cdc6bae --- /dev/null +++ b/doc/html/classstk_1_1Rhodey-members.html @@ -0,0 +1,72 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Rhodey Member List

    This is the complete list of members for stk::Rhodey, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Rhodey [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Rhodey(void)stk::Rhodey
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::Rhodey [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Rhodey [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~Rhodey(void)stk::Rhodey
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Rhodey.html b/doc/html/classstk_1_1Rhodey.html new file mode 100644 index 0000000..5f5b2cc --- /dev/null +++ b/doc/html/classstk_1_1Rhodey.html @@ -0,0 +1,102 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Rhodey Class Reference

    STK Fender Rhodes electric piano FM synthesis instrument. +More... +

    +#include <Rhodey.h> +

    +

    +Inheritance diagram for stk::Rhodey:
    +
    + +

    + +stk::FM +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Rhodey (void)
     Class constructor.
    ~Rhodey (void)
     Class destructor.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK Fender Rhodes electric piano FM synthesis instrument. +

    +This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

    +

        Algorithm 5 is :  4->3--\
    +                             + --> Out
    +                      2->1--/
    +

    +Control Change Numbers:

      +
    • Modulator Index One = 2
    • Crossfade of Outputs = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    +

    +The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Rhodey::Rhodey (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Rhodey.png b/doc/html/classstk_1_1Rhodey.png new file mode 100644 index 0000000..769003e Binary files /dev/null and b/doc/html/classstk_1_1Rhodey.png differ diff --git a/doc/html/classstk_1_1RtWvIn-members.html b/doc/html/classstk_1_1RtWvIn-members.html new file mode 100644 index 0000000..2f76d5d --- /dev/null +++ b/doc/html/classstk_1_1RtWvIn-members.html @@ -0,0 +1,57 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::RtWvIn Member List

    This is the complete list of members for stk::RtWvIn, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::WvIn [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::WvIn [inline]
    lastOut(unsigned int channel=0)stk::RtWvIn [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    RtWvIn(unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)stk::RtWvIn
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    start(void)stk::RtWvIn
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stop(void)stk::RtWvIn
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::RtWvIn [virtual]
    tick(StkFrames &frames)stk::RtWvIn
    ~RtWvIn()stk::RtWvIn
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1RtWvIn.html b/doc/html/classstk_1_1RtWvIn.html new file mode 100644 index 0000000..d967650 --- /dev/null +++ b/doc/html/classstk_1_1RtWvIn.html @@ -0,0 +1,237 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::RtWvIn Class Reference

    STK realtime audio (blocking) input class. +More... +

    +#include <RtWvIn.h> +

    +

    +Inheritance diagram for stk::RtWvIn:
    +
    + +

    + +stk::WvIn +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     RtWvIn (unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)
     Default constructor.
    ~RtWvIn ()
     Class destructor.
    void start (void)
     Start the audio input stream.
    void stop (void)
     Stop the audio input stream.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Compute a sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames)
     Fill the StkFrames argument with computed frames and return the same reference.
    +


    Detailed Description

    +STK realtime audio (blocking) input class. +

    +This class provides a simplified interface to RtAudio for realtime audio input. It is a subclass of WvIn. This class makes use of RtAudio's callback functionality by creating a large ring-buffer from which data is read. This class should not be used when low-latency is desired.

    +RtWvIn supports multi-channel data in both interleaved and non-interleaved formats. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    stk::RtWvIn::RtWvIn (unsigned int  nChannels = 1,
    StkFloat  sampleRate = Stk::sampleRate(),
    int  device = 0,
    int  bufferFrames = RT_BUFFER_SIZE,
    int  nBuffers = 20 
    )
    +
    +
    + +

    +Default constructor. +

    +The default device argument value (zero) will select the default input device on your system. The first device enumerated by the underlying audio API is specified with a value of one. The default buffer size of RT_BUFFER_SIZE is defined in Stk.h. An StkError will be thrown if an error occurs duing instantiation. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::RtWvIn::start (void   ) 
    +
    +
    + +

    +Start the audio input stream. +

    +The stream is started automatically, if necessary, when a tick() or tickFrame() method is called. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::RtWvIn::stop (void   ) 
    +
    +
    + +

    +Stop the audio input stream. +

    +It may be necessary to use this method to avoid audio underflow problems if you wish to temporarily stop audio input. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::RtWvIn::lastOut (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Return the specified channel value of the last computed frame. +

    +For multi-channel files, use the lastFrame() function to get all values from the last computed frame. If the device is stopped, the returned value is 0.0. The channel argument must be less than the number of channels in the audio stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::RtWvIn::tick (unsigned int  channel = 0  )  [virtual]
    +
    +
    + +

    +Compute a sample frame and return the specified channel value. +

    +For multi-channel files, use the lastFrame() function to get all values from the computed frame. If the device is "stopped", it is "started". The channel argument must be less than the number of channels in the audio stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::WvIn.

    + +
    +

    + +

    +
    + + + + + + + + + +
    StkFrames& stk::RtWvIn::tick (StkFrames frames  ) 
    +
    +
    + +

    +Fill the StkFrames argument with computed frames and return the same reference. +

    +If the device is "stopped", it is "started". The number of channels in the StkFrames argument must equal the number of channels specified during instantiation. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1RtWvIn.png b/doc/html/classstk_1_1RtWvIn.png new file mode 100644 index 0000000..62808d4 Binary files /dev/null and b/doc/html/classstk_1_1RtWvIn.png differ diff --git a/doc/html/classstk_1_1RtWvOut-members.html b/doc/html/classstk_1_1RtWvOut-members.html new file mode 100644 index 0000000..088020f --- /dev/null +++ b/doc/html/classstk_1_1RtWvOut-members.html @@ -0,0 +1,59 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::RtWvOut Member List

    This is the complete list of members for stk::RtWvOut, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    RtWvOut(unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)stk::RtWvOut
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    start(void)stk::RtWvOut
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stop(void)stk::RtWvOut
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)stk::RtWvOut [virtual]
    tick(StkFrames &frames)stk::RtWvOut
    WvOut(void)stk::WvOut [inline]
    ~RtWvOut()stk::RtWvOut
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1RtWvOut.html b/doc/html/classstk_1_1RtWvOut.html new file mode 100644 index 0000000..123a2be --- /dev/null +++ b/doc/html/classstk_1_1RtWvOut.html @@ -0,0 +1,212 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::RtWvOut Class Reference

    STK realtime audio (blocking) output class. +More... +

    +#include <RtWvOut.h> +

    +

    +Inheritance diagram for stk::RtWvOut:
    +
    + +

    + +stk::WvOut +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     RtWvOut (unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)
     Default constructor.
    ~RtWvOut ()
     Class destructor.
    void start (void)
     Start the audio output stream.
    void stop (void)
     Stop the audio output stream.
    void tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame.
    void tick (StkFrames &frames)
     Output the StkFrames data.
    +


    Detailed Description

    +STK realtime audio (blocking) output class. +

    +This class provides a simplified interface to RtAudio for realtime audio output. It is a subclass of WvOut. This class makes use of RtAudio's callback functionality by creating a large ring-buffer into which data is written. This class should not be used when low-latency is desired.

    +RtWvOut supports multi-channel data in interleaved format. It is important to distinguish the tick() method that outputs a single sample to all channels in a sample frame from the overloaded one that takes a reference to an StkFrames object for multi-channel and/or multi-frame data.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    stk::RtWvOut::RtWvOut (unsigned int  nChannels = 1,
    StkFloat  sampleRate = Stk::sampleRate(),
    int  device = 0,
    int  bufferFrames = RT_BUFFER_SIZE,
    int  nBuffers = 20 
    )
    +
    +
    + +

    +Default constructor. +

    +The default device argument value (zero) will select the default output device on your system. The first device enumerated by the underlying audio API is specified with a value of one. The default buffer size of RT_BUFFER_SIZE is defined in Stk.h. An StkError will be thrown if an error occurs duing instantiation. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::RtWvOut::start (void   ) 
    +
    +
    + +

    +Start the audio output stream. +

    +The stream is started automatically, if necessary, when a tick() method is called. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::RtWvOut::stop (void   ) 
    +
    +
    + +

    +Stop the audio output stream. +

    +It may be necessary to use this method to avoid undesireable audio buffer cycling if you wish to temporarily stop audio output. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::RtWvOut::tick (const StkFloat  sample  )  [virtual]
    +
    +
    + +

    +Output a single sample to all channels in a sample frame. +

    +If the device is "stopped", it is "started". +

    Implements stk::WvOut.

    + +
    +

    + +

    +
    + + + + + + + + + +
    void stk::RtWvOut::tick (StkFrames frames  ) 
    +
    +
    + +

    +Output the StkFrames data. +

    +If the device is "stopped", it is "started". The number of channels in the StkFrames argument must equal the number of channels specified during instantiation. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1RtWvOut.png b/doc/html/classstk_1_1RtWvOut.png new file mode 100644 index 0000000..8aa2fd9 Binary files /dev/null and b/doc/html/classstk_1_1RtWvOut.png differ diff --git a/doc/html/classstk_1_1Sampler-members.html b/doc/html/classstk_1_1Sampler-members.html new file mode 100644 index 0000000..e08365a --- /dev/null +++ b/doc/html/classstk_1_1Sampler-members.html @@ -0,0 +1,63 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Sampler Member List

    This is the complete list of members for stk::Sampler, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Sampler
    controlChange(int number, StkFloat value)=0stk::Sampler [pure virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Sampler
    keyOn(void)stk::Sampler
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Sampler [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Sampler(void)stk::Sampler
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)=0stk::Sampler [pure virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)=0stk::Sampler [pure virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Sampler(void)stk::Sampler [virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Sampler.html b/doc/html/classstk_1_1Sampler.html new file mode 100644 index 0000000..662c034 --- /dev/null +++ b/doc/html/classstk_1_1Sampler.html @@ -0,0 +1,88 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Sampler Class Reference

    STK sampling synthesis abstract base class. +More... +

    +#include <Sampler.h> +

    +

    +Inheritance diagram for stk::Sampler:
    +
    + +

    + +stk::Instrmnt +stk::Stk +stk::Moog + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Sampler (void)
     Default constructor.
    +virtual ~Sampler (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +virtual void setFrequency (StkFloat frequency)=0
     Set instrument parameters for a particular frequency.
    +void keyOn (void)
     Initiate the envelopes with a key-on event and reset the attack waves.
    +void keyOff (void)
     Signal a key-off event to the envelopes.
    +virtual void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +virtual void controlChange (int number, StkFloat value)=0
     Perform the control change specified by number and value (0.0 - 128.0).
    +virtual StkFloat tick (unsigned int channel=0)=0
     Compute and return one output sample.
    +


    Detailed Description

    +STK sampling synthesis abstract base class. +

    +This instrument provides an ADSR envelope, a one-pole filter, and structures for an arbitrary number of attack and looped files.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Sampler.png b/doc/html/classstk_1_1Sampler.png new file mode 100644 index 0000000..d584a58 Binary files /dev/null and b/doc/html/classstk_1_1Sampler.png differ diff --git a/doc/html/classstk_1_1Saxofony-members.html b/doc/html/classstk_1_1Saxofony-members.html new file mode 100644 index 0000000..39859c2 --- /dev/null +++ b/doc/html/classstk_1_1Saxofony-members.html @@ -0,0 +1,64 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Saxofony Member List

    This is the complete list of members for stk::Saxofony, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Saxofony
    controlChange(int number, StkFloat value)stk::Saxofony [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Saxofony [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Saxofony [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    Saxofony(StkFloat lowestFrequency)stk::Saxofony
    setBlowPosition(StkFloat aPosition)stk::Saxofony
    setFrequency(StkFloat frequency)stk::Saxofony [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Saxofony
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Saxofony
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Saxofony [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Saxofony(void)stk::Saxofony
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Saxofony.html b/doc/html/classstk_1_1Saxofony.html new file mode 100644 index 0000000..4c30ab0 --- /dev/null +++ b/doc/html/classstk_1_1Saxofony.html @@ -0,0 +1,121 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Saxofony Class Reference

    STK faux conical bore reed instrument class. +More... +

    +#include <Saxofony.h> +

    +

    +Inheritance diagram for stk::Saxofony:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Saxofony (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Saxofony (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setBlowPosition (StkFloat aPosition)
     Set the "blowing" position between the air column terminations (0.0 - 1.0).
    +void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    +void stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK faux conical bore reed instrument class. +

    +This class implements a "hybrid" digital waveguide instrument that can generate a variety of wind-like sounds. It has also been referred to as the "blowed string" model. The waveguide section is essentially that of a string, with one rigid and one lossy termination. The non-linear function is a reed table. The string can be "blown" at any point between the terminations, though just as with strings, it is impossible to excite the system at either end. If the excitation is placed at the string mid-point, the sound is that of a clarinet. At points closer to the "bridge", the sound is closer to that of a saxophone. See Scavone (2002) for more details.

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    +Control Change Numbers:

      +
    • Reed Stiffness = 2
    • Reed Aperture = 26
    • Noise Gain = 4
    • Blow Position = 11
    • Vibrato Frequency = 29
    • Vibrato Gain = 1
    • Breath Pressure = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Saxofony::Saxofony (StkFloat  lowestFrequency  ) 
    +
    +
    + +

    +Class constructor, taking the lowest desired playing frequency. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Saxofony.png b/doc/html/classstk_1_1Saxofony.png new file mode 100644 index 0000000..adf7a7e Binary files /dev/null and b/doc/html/classstk_1_1Saxofony.png differ diff --git a/doc/html/classstk_1_1Shakers-members.html b/doc/html/classstk_1_1Shakers-members.html new file mode 100644 index 0000000..ca8583d --- /dev/null +++ b/doc/html/classstk_1_1Shakers-members.html @@ -0,0 +1,60 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Shakers Member List

    This is the complete list of members for stk::Shakers, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    controlChange(int number, StkFloat value)stk::Shakers [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Shakers [virtual]
    noteOn(StkFloat instrument, StkFloat amplitude)stk::Shakers [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    Shakers(void)stk::Shakers
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Shakers [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Shakers(void)stk::Shakers
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Shakers.html b/doc/html/classstk_1_1Shakers.html new file mode 100644 index 0000000..3f2d116 --- /dev/null +++ b/doc/html/classstk_1_1Shakers.html @@ -0,0 +1,114 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Shakers Class Reference

    PhISEM and PhOLIES class. +More... +

    +#include <Shakers.h> +

    +

    +Inheritance diagram for stk::Shakers:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Shakers (void)
     Class constructor.
    ~Shakers (void)
     Class destructor.
    void noteOn (StkFloat instrument, StkFloat amplitude)
     Start a note with the given instrument and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +PhISEM and PhOLIES class. +

    +PhISEM (Physically Informed Stochastic Event Modeling) is an algorithmic approach for simulating collisions of multiple independent sound producing objects. This class is a meta-model that can simulate a Maraca, Sekere, Cabasa, Bamboo Wind Chimes, Water Drops, Tambourine, Sleighbells, and a Guiro.

    +PhOLIES (Physically-Oriented Library of Imitated Environmental Sounds) is a similar approach for the synthesis of environmental sounds. This class implements simulations of breaking sticks, crunchy snow (or not), a wrench, sandpaper, and more.

    +Control Change Numbers:

      +
    • Shake Energy = 2
    • System Decay = 4
    • Number Of Objects = 11
    • Resonance Frequency = 1
    • Shake Energy = 128
    • Instrument Selection = 1071
        +
      • Maraca = 0
      • Cabasa = 1
      • Sekere = 2
      • Guiro = 3
      • Water Drops = 4
      • Bamboo Chimes = 5
      • Tambourine = 6
      • Sleigh Bells = 7
      • Sticks = 8
      • Crunch = 9
      • Wrench = 10
      • Sand Paper = 11
      • Coke Can = 12
      • Next Mug = 13
      • Penny + Mug = 14
      • Nickle + Mug = 15
      • Dime + Mug = 16
      • Quarter + Mug = 17
      • Franc + Mug = 18
      • Peso + Mug = 19
      • Big Rocks = 20
      • Little Rocks = 21
      • Tuned Bamboo Chimes = 22
      +
    +

    +by Perry R. Cook, 1996 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void stk::Shakers::noteOn (StkFloat  instrument,
    StkFloat  amplitude 
    ) [virtual]
    +
    +
    + +

    +Start a note with the given instrument and amplitude. +

    +Use the instrument numbers above, converted to frequency values as if MIDI note numbers, to select a particular instrument. +

    Implements stk::Instrmnt.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Shakers.png b/doc/html/classstk_1_1Shakers.png new file mode 100644 index 0000000..4bf75e8 Binary files /dev/null and b/doc/html/classstk_1_1Shakers.png differ diff --git a/doc/html/classstk_1_1Simple-members.html b/doc/html/classstk_1_1Simple-members.html new file mode 100644 index 0000000..0b1805f --- /dev/null +++ b/doc/html/classstk_1_1Simple-members.html @@ -0,0 +1,63 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Simple Member List

    This is the complete list of members for stk::Simple, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Simple
    controlChange(int number, StkFloat value)stk::Simple [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Simple
    keyOn(void)stk::Simple
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Simple [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Simple [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Simple [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    Simple(void)stk::Simple
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Simple [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Simple(void)stk::Simple
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Simple.html b/doc/html/classstk_1_1Simple.html new file mode 100644 index 0000000..a1f6559 --- /dev/null +++ b/doc/html/classstk_1_1Simple.html @@ -0,0 +1,116 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Simple Class Reference

    STK wavetable/noise instrument. +More... +

    +#include <Simple.h> +

    +

    +Inheritance diagram for stk::Simple:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Simple (void)
     Class constructor.
    ~Simple (void)
     Class destructor.
    +void clear (void)
     Clear internal states.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void keyOn (void)
     Start envelope toward "on" target.
    +void keyOff (void)
     Start envelope toward "off" target.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK wavetable/noise instrument. +

    +This class combines a looped wave, a noise source, a biquad resonance filter, a one-pole filter, and an ADSR envelope to create some interesting sounds.

    +Control Change Numbers:

      +
    • Filter Pole Position = 2
    • Noise/Pitched Cross-Fade = 4
    • Envelope Rate = 11
    • Gain = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Simple::Simple (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Simple.png b/doc/html/classstk_1_1Simple.png new file mode 100644 index 0000000..e6af30a Binary files /dev/null and b/doc/html/classstk_1_1Simple.png differ diff --git a/doc/html/classstk_1_1SineWave-members.html b/doc/html/classstk_1_1SineWave-members.html new file mode 100644 index 0000000..e241443 --- /dev/null +++ b/doc/html/classstk_1_1SineWave-members.html @@ -0,0 +1,61 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::SineWave Member List

    This is the complete list of members for stk::SineWave, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addPhase(StkFloat phase)stk::SineWave
    addPhaseOffset(StkFloat phaseOffset)stk::SineWave
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addTime(StkFloat time)stk::SineWave
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::SineWave [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::SineWave
    sampleRate(void)stk::Stk [inline, static]
    setFrequency(StkFloat frequency)stk::SineWave
    setRate(StkFloat rate)stk::SineWave [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    SineWave(void)stk::SineWave
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::SineWave [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::SineWave [inline, virtual]
    ~SineWave(void)stk::SineWave
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1SineWave.html b/doc/html/classstk_1_1SineWave.html new file mode 100644 index 0000000..52f70ae --- /dev/null +++ b/doc/html/classstk_1_1SineWave.html @@ -0,0 +1,213 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::SineWave Class Reference

    STK sinusoid oscillator class. +More... +

    +#include <SineWave.h> +

    +

    +Inheritance diagram for stk::SineWave:
    +
    + +

    + +stk::Generator +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    SineWave (void)
     Default constructor.
    ~SineWave (void)
     Class destructor.
    +void reset (void)
     Clear output and reset time pointer to zero.
    void setRate (StkFloat rate)
     Set the data read rate in samples. The rate can be negative.
    void setFrequency (StkFloat frequency)
     Set the data interpolation rate based on a looping frequency.
    +void addTime (StkFloat time)
     Increment the read pointer by time in samples, modulo the table size.
    void addPhase (StkFloat phase)
     Increment the read pointer by a normalized phase value.
    void addPhaseOffset (StkFloat phaseOffset)
     Add a normalized phase offset to the read pointer.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    +


    Detailed Description

    +STK sinusoid oscillator class. +

    +This class computes and saves a static sine "table" that can be shared by multiple instances. It has an interface similar to the WaveLoop class but inherits from the Generator class. Output values are computed using linear interpolation.

    +The "table" length, set in SineWave.h, is 2048 samples by default.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2007.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::SineWave::setRate (StkFloat  rate  )  [inline]
    +
    +
    + +

    +Set the data read rate in samples. The rate can be negative. +

    +If the rate value is negative, the data is read in reverse order. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::SineWave::setFrequency (StkFloat  frequency  ) 
    +
    +
    + +

    +Set the data interpolation rate based on a looping frequency. +

    +This function determines the interpolation rate based on the file size and the current Stk::sampleRate. The frequency value corresponds to file cycles per second. The frequency can be negative, in which case the loop is read in reverse order. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::SineWave::addPhase (StkFloat  phase  ) 
    +
    +
    + +

    +Increment the read pointer by a normalized phase value. +

    +This function increments the read pointer by a normalized phase value, such that phase = 1.0 corresponds to a 360 degree phase shift. Positive or negative values are possible. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::SineWave::addPhaseOffset (StkFloat  phaseOffset  ) 
    +
    +
    + +

    +Add a normalized phase offset to the read pointer. +

    +A phaseOffset = 1.0 corresponds to a 360 degree phase offset. Positive or negative values are possible. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::SineWave::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Generator.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1SineWave.png b/doc/html/classstk_1_1SineWave.png new file mode 100644 index 0000000..ad28a42 Binary files /dev/null and b/doc/html/classstk_1_1SineWave.png differ diff --git a/doc/html/classstk_1_1SingWave-members.html b/doc/html/classstk_1_1SingWave-members.html new file mode 100644 index 0000000..1ef2b6a --- /dev/null +++ b/doc/html/classstk_1_1SingWave-members.html @@ -0,0 +1,68 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::SingWave Member List

    This is the complete list of members for stk::SingWave, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::SingWave [inline]
    normalize(void)stk::SingWave [inline]
    normalize(StkFloat peak)stk::SingWave [inline]
    noteOff(void)stk::SingWave [inline]
    noteOn(void)stk::SingWave [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::SingWave [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::SingWave
    setGainRate(StkFloat rate)stk::SingWave [inline]
    setGainTarget(StkFloat target)stk::SingWave [inline]
    setRandomGain(StkFloat gain)stk::SingWave [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSweepRate(StkFloat rate)stk::SingWave [inline]
    setVibratoGain(StkFloat gain)stk::SingWave [inline]
    setVibratoRate(StkFloat rate)stk::SingWave [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    SingWave(std::string fileName, bool raw=false)stk::SingWave
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::SingWave [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::SingWave [inline, virtual]
    ~SingWave(void)stk::SingWave
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1SingWave.html b/doc/html/classstk_1_1SingWave.html new file mode 100644 index 0000000..1e14df1 --- /dev/null +++ b/doc/html/classstk_1_1SingWave.html @@ -0,0 +1,183 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::SingWave Class Reference

    STK "singing" looped soundfile class. +More... +

    +#include <SingWave.h> +

    +

    +Inheritance diagram for stk::SingWave:
    +
    + +

    + +stk::Generator +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     SingWave (std::string fileName, bool raw=false)
     Class constructor taking filename argument.
    ~SingWave (void)
     Class destructor.
    +void reset (void)
     Reset file to beginning.
    +void normalize (void)
     Normalize the file to a maximum of +-1.0.
    +void normalize (StkFloat peak)
     Normalize the file to a maximum of +- peak.
    +void setFrequency (StkFloat frequency)
     Set looping parameters for a particular frequency.
    +void setVibratoRate (StkFloat rate)
     Set the vibrato frequency in Hz.
    +void setVibratoGain (StkFloat gain)
     Set the vibrato gain.
    +void setRandomGain (StkFloat gain)
     Set the random-ness amount.
    +void setSweepRate (StkFloat rate)
     Set the sweep rate.
    +void setGainRate (StkFloat rate)
     Set the gain rate.
    +void setGainTarget (StkFloat target)
     Set the gain target value.
    +void noteOn (void)
     Start a note.
    +void noteOff (void)
     Stop a note.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    +


    Detailed Description

    +STK "singing" looped soundfile class. +

    +This class loops a specified soundfile and modulates it both periodically and randomly to produce a pitched musical sound, like a simple voice or violin. In general, it is not be used alone because of "munchkinification" effects from pitch shifting. Within STK, it is used as an excitation source for other instruments.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    stk::SingWave::SingWave (std::string  fileName,
    bool  raw = false 
    )
    +
    +
    + +

    +Class constructor taking filename argument. +

    +An StkError will be thrown if the file is not found, its format is unknown, or a read error occurs. If the soundfile has no header, the second argument should be true and the file data will be assumed to consist of 16-bit signed integers in big-endian byte order at a sample rate of 22050 Hz. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::SingWave::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Generator.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1SingWave.png b/doc/html/classstk_1_1SingWave.png new file mode 100644 index 0000000..56a1b6e Binary files /dev/null and b/doc/html/classstk_1_1SingWave.png differ diff --git a/doc/html/classstk_1_1Sitar-members.html b/doc/html/classstk_1_1Sitar-members.html new file mode 100644 index 0000000..ce86bc8 --- /dev/null +++ b/doc/html/classstk_1_1Sitar-members.html @@ -0,0 +1,62 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Sitar Member List

    This is the complete list of members for stk::Sitar, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Sitar
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Sitar [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Sitar [virtual]
    pluck(StkFloat amplitude)stk::Sitar
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Sitar [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    Sitar(StkFloat lowestFrequency=20)stk::Sitar
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Sitar [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Sitar(void)stk::Sitar
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Sitar.html b/doc/html/classstk_1_1Sitar.html new file mode 100644 index 0000000..2a472ca --- /dev/null +++ b/doc/html/classstk_1_1Sitar.html @@ -0,0 +1,84 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Sitar Class Reference

    STK sitar string model class. +More... +

    +#include <Sitar.h> +

    +

    +Inheritance diagram for stk::Sitar:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Sitar (StkFloat lowestFrequency=20)
     Class constructor, taking the lowest desired playing frequency.
    ~Sitar (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK sitar string model class. +

    +This class implements a sitar plucked string physical model based on the Karplus-Strong algorithm.

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. There exist at least two patents, assigned to Stanford, bearing the names of Karplus and/or Strong.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Sitar.png b/doc/html/classstk_1_1Sitar.png new file mode 100644 index 0000000..53a29d9 Binary files /dev/null and b/doc/html/classstk_1_1Sitar.png differ diff --git a/doc/html/classstk_1_1Skini-members.html b/doc/html/classstk_1_1Skini-members.html new file mode 100644 index 0000000..a35ae81 --- /dev/null +++ b/doc/html/classstk_1_1Skini-members.html @@ -0,0 +1,55 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Skini Member List

    This is the complete list of members for stk::Skini, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    nextMessage(Skini::Message &message)stk::Skini
    parseString(std::string &line, Skini::Message &message)stk::Skini
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFile(std::string fileName)stk::Skini
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    Skini()stk::Skini
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    whatsThisController(long number)stk::Skini [static]
    whatsThisType(long type)stk::Skini [static]
    ~Skini()stk::Skini
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Skini.html b/doc/html/classstk_1_1Skini.html new file mode 100644 index 0000000..5345b5c --- /dev/null +++ b/doc/html/classstk_1_1Skini.html @@ -0,0 +1,160 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Skini Class Reference

    STK SKINI parsing class. +More... +

    +#include <Skini.h> +

    +

    +Inheritance diagram for stk::Skini:
    +
    + +

    + +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Classes

    struct  Message
     A message structure to store and pass parsed SKINI messages. More...

    Public Member Functions

    Skini ()
     Default constructor.
    ~Skini ()
     Class destructor.
    bool setFile (std::string fileName)
     Set a SKINI formatted file for reading.
    long nextMessage (Skini::Message &message)
     Parse the next file message (if a file is loaded) and return the message type.
    long parseString (std::string &line, Skini::Message &message)
     Attempt to parse the given string and returning the message type.

    Static Public Member Functions

    +static std::string whatsThisType (long type)
     Return the SKINI type string for the given type value.
    +static std::string whatsThisController (long number)
     Return the SKINI controller string for the given controller number.
    +


    Detailed Description

    +STK SKINI parsing class. +

    +This class parses SKINI formatted text messages. It can be used to parse individual messages or it can be passed an entire file. The SKINI specification is Perry's and his alone, but it's all text so it shouldn't be too hard to figure out.

    +SKINI (Synthesis toolKit Instrument Network Interface) is like MIDI, but allows for floating-point control changes, note numbers, etc. The following example causes a sharp middle C to be played with a velocity of 111.132:

    +

        noteOn  60.01  111.132
    +

    +

    See also:
    Synthesis toolKit Instrument Network Interface (SKINI)
    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    bool stk::Skini::setFile (std::string  fileName  ) 
    +
    +
    + +

    +Set a SKINI formatted file for reading. +

    +If the file is successfully opened, this function returns true. Otherwise, false is returned. +

    +

    + +

    +
    + + + + + + + + + +
    long stk::Skini::nextMessage (Skini::Message message  ) 
    +
    +
    + +

    +Parse the next file message (if a file is loaded) and return the message type. +

    +This function skips over lines in a file which cannot be parsed. A type value equal to zero in the referenced message structure (and the returned value) indicates the file end is reached or no file is open for reading. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    long stk::Skini::parseString (std::string &  line,
    Skini::Message message 
    )
    +
    +
    + +

    +Attempt to parse the given string and returning the message type. +

    +A type value equal to zero in the referenced message structure indicates an invalid message. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Skini.png b/doc/html/classstk_1_1Skini.png new file mode 100644 index 0000000..0200fd2 Binary files /dev/null and b/doc/html/classstk_1_1Skini.png differ diff --git a/doc/html/classstk_1_1Socket-members.html b/doc/html/classstk_1_1Socket-members.html new file mode 100644 index 0000000..1454d46 --- /dev/null +++ b/doc/html/classstk_1_1Socket-members.html @@ -0,0 +1,59 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Socket Member List

    This is the complete list of members for stk::Socket, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)=0stk::Socket [pure virtual]
    readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    writeBuffer(const void *buffer, long bufferSize, int flags=0)=0stk::Socket [pure virtual]
    writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Socket.html b/doc/html/classstk_1_1Socket.html new file mode 100644 index 0000000..aafb389 --- /dev/null +++ b/doc/html/classstk_1_1Socket.html @@ -0,0 +1,98 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Socket Class Reference

    STK internet socket abstract base class. +More... +

    +#include <Socket.h> +

    +

    +Inheritance diagram for stk::Socket:
    +
    + +

    + +stk::Stk +stk::TcpClient +stk::TcpServer +stk::UdpSocket + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Socket ()
     Class constructor.
    +virtual ~Socket ()
     Class destructor.
    +int id (void) const
     Return the socket descriptor.
    +int port (void) const
     Return the socket port number.
    +virtual int writeBuffer (const void *buffer, long bufferSize, int flags=0)=0
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    +virtual int readBuffer (void *buffer, long bufferSize, int flags=0)=0
     Read an input buffer, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.

    Static Public Member Functions

    +static void close (int socket)
     Close the socket.
    +static bool isValid (int socket)
     Returns true if the socket descriptor is valid.
    +static void setBlocking (int socket, bool enable)
     If enable = false, the socket is set to non-blocking mode. When first created, sockets are by default in blocking mode.
    +static int writeBuffer (int socket, const void *buffer, long bufferSize, int flags)
     Write a buffer via the specified socket. Returns the number of bytes written or -1 if an error occurs.
    +static int readBuffer (int socket, void *buffer, long bufferSize, int flags)
     Read a buffer via the specified socket. Returns the number of bytes read or -1 if an error occurs.
    +


    Detailed Description

    +STK internet socket abstract base class. +

    +This class provides common functionality for TCP and UDP internet socket server and client subclasses. This class also provides a number of static functions for use with external socket descriptors.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Socket.png b/doc/html/classstk_1_1Socket.png new file mode 100644 index 0000000..4c1d185 Binary files /dev/null and b/doc/html/classstk_1_1Socket.png differ diff --git a/doc/html/classstk_1_1Sphere-members.html b/doc/html/classstk_1_1Sphere-members.html new file mode 100644 index 0000000..15dd4c1 --- /dev/null +++ b/doc/html/classstk_1_1Sphere-members.html @@ -0,0 +1,61 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Sphere Member List

    This is the complete list of members for stk::Sphere, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addVelocity(StkFloat x, StkFloat y, StkFloat z)stk::Sphere
    getMass(void)stk::Sphere [inline]
    getPosition(void)stk::Sphere [inline]
    getRadius(void)stk::Sphere [inline]
    getRelativePosition(Vector3D *position)stk::Sphere
    getVelocity(Vector3D *velocity)stk::Sphere
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isInside(Vector3D *position)stk::Sphere
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setMass(StkFloat mass)stk::Sphere [inline]
    setPosition(StkFloat x, StkFloat y, StkFloat z)stk::Sphere [inline]
    setRadius(StkFloat radius)stk::Sphere [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setVelocity(StkFloat x, StkFloat y, StkFloat z)stk::Sphere [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Sphere(StkFloat radius=1.0)stk::Sphere [inline]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat timeIncrement)stk::Sphere [inline]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Sphere.html b/doc/html/classstk_1_1Sphere.html new file mode 100644 index 0000000..92274e6 --- /dev/null +++ b/doc/html/classstk_1_1Sphere.html @@ -0,0 +1,102 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Sphere Class Reference

    STK sphere class. +More... +

    +#include <Sphere.h> +

    +

    +Inheritance diagram for stk::Sphere:
    +
    + +

    + +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Sphere (StkFloat radius=1.0)
     Constructor taking an initial radius value.
    +void setPosition (StkFloat x, StkFloat y, StkFloat z)
     Set the 3D center position of the sphere.
    +void setVelocity (StkFloat x, StkFloat y, StkFloat z)
     Set the 3D velocity of the sphere.
    +void setRadius (StkFloat radius)
     Set the radius of the sphere.
    +void setMass (StkFloat mass)
     Set the mass of the sphere.
    +Vector3DgetPosition (void)
     Get the current position of the sphere as a 3D vector.
    +Vector3DgetRelativePosition (Vector3D *position)
     Get the relative position of the given point to the sphere as a 3D vector.
    +StkFloat getVelocity (Vector3D *velocity)
     Set the velcoity of the sphere as a 3D vector.
    +StkFloat isInside (Vector3D *position)
     Returns the distance from the sphere boundary to the given position (< 0 if inside).
    +StkFloat getRadius (void)
     Get the current sphere radius.
    +StkFloat getMass (void)
     Get the current sphere mass.
    +void addVelocity (StkFloat x, StkFloat y, StkFloat z)
     Increase the current sphere velocity by the given 3D components.
    +void tick (StkFloat timeIncrement)
     Move the sphere for the given time increment.
    +


    Detailed Description

    +STK sphere class. +

    +This class implements a spherical ball with radius, mass, position, and velocity parameters.

    +by Perry R. Cook, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Sphere.png b/doc/html/classstk_1_1Sphere.png new file mode 100644 index 0000000..a917492 Binary files /dev/null and b/doc/html/classstk_1_1Sphere.png differ diff --git a/doc/html/classstk_1_1StifKarp-members.html b/doc/html/classstk_1_1StifKarp-members.html new file mode 100644 index 0000000..1911a84 --- /dev/null +++ b/doc/html/classstk_1_1StifKarp-members.html @@ -0,0 +1,65 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::StifKarp Member List

    This is the complete list of members for stk::StifKarp, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::StifKarp
    controlChange(int number, StkFloat value)stk::StifKarp [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::StifKarp [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::StifKarp [virtual]
    pluck(StkFloat amplitude)stk::StifKarp
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)stk::StifKarp
    setFrequency(StkFloat frequency)stk::StifKarp [virtual]
    setPickupPosition(StkFloat position)stk::StifKarp
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStretch(StkFloat stretch)stk::StifKarp
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    StifKarp(StkFloat lowestFrequency)stk::StifKarp
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::StifKarp [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~StifKarp(void)stk::StifKarp
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1StifKarp.html b/doc/html/classstk_1_1StifKarp.html new file mode 100644 index 0000000..8da4a0d --- /dev/null +++ b/doc/html/classstk_1_1StifKarp.html @@ -0,0 +1,125 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::StifKarp Class Reference

    STK plucked stiff string instrument. +More... +

    +#include <StifKarp.h> +

    +

    +Inheritance diagram for stk::StifKarp:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    StifKarp (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~StifKarp (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setStretch (StkFloat stretch)
     Set the stretch "factor" of the string (0.0 - 1.0).
    +void setPickupPosition (StkFloat position)
     Set the pluck or "excitation" position along the string (0.0 - 1.0).
    void setBaseLoopGain (StkFloat aGain)
     Set the base loop gain.
    +void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK plucked stiff string instrument. +

    +This class implements a simple plucked string algorithm (Karplus Strong) with enhancements (Jaffe-Smith, Smith, and others), including string stiffness and pluck position controls. The stiffness is modeled with allpass filters.

    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.

    +Control Change Numbers:

      +
    • Pickup Position = 4
    • String Sustain = 11
    • String Stretch = 1
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::StifKarp::setBaseLoopGain (StkFloat  aGain  ) 
    +
    +
    + +

    +Set the base loop gain. +

    +The actual loop gain is set according to the frequency. Because of high-frequency loop filter roll-off, higher frequency settings have greater loop gains. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1StifKarp.png b/doc/html/classstk_1_1StifKarp.png new file mode 100644 index 0000000..3b81b82 Binary files /dev/null and b/doc/html/classstk_1_1StifKarp.png differ diff --git a/doc/html/classstk_1_1Stk-members.html b/doc/html/classstk_1_1Stk-members.html new file mode 100644 index 0000000..10e18aa --- /dev/null +++ b/doc/html/classstk_1_1Stk-members.html @@ -0,0 +1,48 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Stk Member List

    This is the complete list of members for stk::Stk, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Stk.html b/doc/html/classstk_1_1Stk.html new file mode 100644 index 0000000..255ec04 --- /dev/null +++ b/doc/html/classstk_1_1Stk.html @@ -0,0 +1,301 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Stk Class Reference

    STK base class. +More... +

    +#include <Stk.h> +

    +

    +Inheritance diagram for stk::Stk:
    +
    + +

    + +stk::Effect +stk::FileRead +stk::FileWrite +stk::Filter +stk::Function +stk::Generator +stk::Instrmnt +stk::Messager +stk::MidiFileIn +stk::Mutex +stk::Phonemes +stk::Skini +stk::Socket +stk::Sphere +stk::Thread +stk::Vector3D +stk::Voicer +stk::WvIn +stk::WvOut + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.

    Static Public Member Functions

    +static StkFloat sampleRate (void)
     Static method that returns the current STK sample rate.
    static void setSampleRate (StkFloat rate)
     Static method that sets the STK sample rate.
    +static std::string rawwavePath (void)
     Static method that returns the current rawwave path.
    +static void setRawwavePath (std::string path)
     Static method that sets the STK rawwave path.
    +static void swap16 (unsigned char *ptr)
     Static method that byte-swaps a 16-bit data type.
    +static void swap32 (unsigned char *ptr)
     Static method that byte-swaps a 32-bit data type.
    +static void swap64 (unsigned char *ptr)
     Static method that byte-swaps a 64-bit data type.
    +static void sleep (unsigned long milliseconds)
     Static cross-platform method to sleep for a number of milliseconds.
    +static void handleError (const char *message, StkError::Type type)
     Static function for error reporting and handling using c-strings.
    +static void handleError (std::string message, StkError::Type type)
     Static function for error reporting and handling using c++ strings.
    +static void showWarnings (bool status)
     Toggle display of WARNING and STATUS messages.
    +static void printErrors (bool status)
     Toggle display of error messages before throwing exceptions.

    Static Public Attributes

    static const StkFormat STK_SINT8
    static const StkFormat STK_SINT16
    static const StkFormat STK_SINT24
    static const StkFormat STK_SINT32
    static const StkFormat STK_FLOAT32
    static const StkFormat STK_FLOAT64

    Protected Member Functions

    Stk (void)
     Default constructor.
    +virtual ~Stk (void)
     Class destructor.
    +virtual void sampleRateChanged (StkFloat newRate, StkFloat oldRate)
     This function should be implemented in subclasses that depend on the sample rate.
    +void addSampleRateAlert (Stk *ptr)
     Add class pointer to list for sample rate change notification.
    +void removeSampleRateAlert (Stk *ptr)
     Remove class pointer from list for sample rate change notification.
    +void handleError (StkError::Type type)
     Internal function for error reporting that assumes message in errorString_ variable.
    +


    Detailed Description

    +STK base class. +

    +Nearly all STK classes inherit from this class. The global sample rate and rawwave path variables can be queried and modified via Stk. In addition, this class provides error handling and byte-swapping functions.

    +The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. STK currently runs with realtime support (audio and MIDI) on Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    +STK WWW site: http://ccrma.stanford.edu/software/stk/

    +The Synthesis ToolKit in C++ (STK) Copyright (c) 1995-2009 Perry R. Cook and Gary P. Scavone

    +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    +Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    static void stk::Stk::setSampleRate (StkFloat  rate  )  [static]
    +
    +
    + +

    +Static method that sets the STK sample rate. +

    +The sample rate set using this method is queried by all STK classes that depend on its value. It is initialized to the default SRATE set in Stk.h. Many STK classes use the sample rate during instantiation. Therefore, if you wish to use a rate that is different from the default rate, it is imperative that it be set BEFORE STK objects are instantiated. A few classes that make use of the global STK sample rate are automatically notified when the rate changes so that internal class data can be appropriately updated. However, this has not been fully implemented. Specifically, classes that appropriately update their own data when either a setFrequency() or noteOn() function is called do not currently receive the automatic notification of rate change. If the user wants a specific class instance to ignore such notifications, perhaps in a multi-rate context, the function Stk::ignoreSampleRateChange() should be called. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::Stk::ignoreSampleRateChange (bool  ignore = true  )  [inline]
    +
    +
    + +

    +A function to enable/disable the automatic updating of class data when the STK sample rate changes. +

    +This function allows the user to enable or disable class data updates in response to global sample rate changes on a class by class basis. +

    Reimplemented in stk::BiQuad, stk::FormSwep, stk::TwoPole, and stk::TwoZero.

    + +
    +

    +


    Member Data Documentation

    + +
    +
    + + + + +
    const StkFormat stk::Stk::STK_SINT8 [static]
    +
    +
    + +

    +-128 to +127 +

    +

    + +

    +
    + + + + +
    const StkFormat stk::Stk::STK_SINT16 [static]
    +
    +
    + +

    +-32768 to +32767 +

    +

    + +

    +
    + + + + +
    const StkFormat stk::Stk::STK_SINT24 [static]
    +
    +
    + +

    +Upper 3 bytes of 32-bit signed integer. +

    +

    + +

    +
    + + + + +
    const StkFormat stk::Stk::STK_SINT32 [static]
    +
    +
    + +

    +-2147483648 to +2147483647. +

    +

    + +

    +
    + + + + +
    const StkFormat stk::Stk::STK_FLOAT32 [static]
    +
    +
    + +

    +Normalized between plus/minus 1.0. +

    +

    + +

    +
    + + + + +
    const StkFormat stk::Stk::STK_FLOAT64 [static]
    +
    +
    + +

    +Normalized between plus/minus 1.0. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Stk.png b/doc/html/classstk_1_1Stk.png new file mode 100644 index 0000000..b95c826 Binary files /dev/null and b/doc/html/classstk_1_1Stk.png differ diff --git a/doc/html/classstk_1_1StkError-members.html b/doc/html/classstk_1_1StkError-members.html new file mode 100644 index 0000000..9644ba8 --- /dev/null +++ b/doc/html/classstk_1_1StkError-members.html @@ -0,0 +1,29 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::StkError Member List

    This is the complete list of members for stk::StkError, including all inherited members.

    + + + + + + +
    getMessage(void)stk::StkError [inline, virtual]
    getMessageCString(void)stk::StkError [inline, virtual]
    getType(void)stk::StkError [inline, virtual]
    printMessage(void)stk::StkError [inline, virtual]
    StkError(const std::string &message, Type type=StkError::UNSPECIFIED)stk::StkError [inline]
    ~StkError(void)stk::StkError [inline, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classStkError.html b/doc/html/classstk_1_1StkError.html similarity index 51% rename from doc/html/classStkError.html rename to doc/html/classstk_1_1StkError.html index 2b633f5..5115903 100644 --- a/doc/html/classStkError.html +++ b/doc/html/classstk_1_1StkError.html @@ -8,49 +8,56 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    StkError Class Reference

    #include <Stk.h> + + +
    +

    stk::StkError Class Reference

    STK error handling class. +More...

    -List of all members.


    Detailed Description

    -STK error handling class. +#include <Stk.h>

    -This is a fairly abstract exception handling class. There could be sub-classes to take care of more specific error conditions ... or not. +

    - +List of all members.
    - + - + - + - + - + - +

    Public Member Functions

    StkError (const std::string &message, Type type=StkError::UNSPECIFIED)
    StkError (const std::string &message, Type type=StkError::UNSPECIFIED)
     The constructor.
    -virtual ~StkError (void)
    +virtual ~StkError (void)
     The destructor.
    -virtual void printMessage (void)
    +virtual void printMessage (void)
     Prints thrown error message to stderr.
    -virtual const Type & getType (void)
    +virtual const Type & getType (void)
     Returns the thrown error message type.
    -virtual const std::string & getMessage (void)
    +virtual const std::string & getMessage (void)
     Returns the thrown error message string.
    -virtual const char * getMessageCString (void)
    +virtual const char * getMessageCString (void)
     Returns the thrown error message as a C string.
    -


    The documentation for this class was generated from the following file:
      +

      Detailed Description

      +STK error handling class. +

      +This is a fairly abstract exception handling class. There could be sub-classes to take care of more specific error conditions ... or not.


      The documentation for this class was generated from the following file: +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1StkFrames-members.html b/doc/html/classstk_1_1StkFrames-members.html new file mode 100644 index 0000000..9a778ab --- /dev/null +++ b/doc/html/classstk_1_1StkFrames-members.html @@ -0,0 +1,41 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::StkFrames Member List

    This is the complete list of members for stk::StkFrames, including all inherited members.

    + + + + + + + + + + + + + + + + + + +
    channels(void) const stk::StkFrames [inline]
    dataRate(void) const stk::StkFrames [inline]
    empty() const stk::StkFrames [inline]
    frames(void) const stk::StkFrames [inline]
    interpolate(StkFloat frame, unsigned int channel=0) const stk::StkFrames
    operator()(size_t frame, unsigned int channel)stk::StkFrames [inline]
    operator()(size_t frame, unsigned int channel) const stk::StkFrames [inline]
    operator*=(StkFrames &f)stk::StkFrames [inline]
    operator+=(StkFrames &f)stk::StkFrames [inline]
    operator[](size_t n)stk::StkFrames [inline]
    operator[](size_t n) const stk::StkFrames [inline]
    resize(size_t nFrames, unsigned int nChannels=1)stk::StkFrames
    resize(size_t nFrames, unsigned int nChannels, StkFloat value)stk::StkFrames
    setDataRate(StkFloat rate)stk::StkFrames [inline]
    size() const stk::StkFrames [inline]
    StkFrames(unsigned int nFrames=0, unsigned int nChannels=0)stk::StkFrames
    StkFrames(const StkFloat &value, unsigned int nFrames, unsigned int nChannels)stk::StkFrames
    ~StkFrames()stk::StkFrames

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1StkFrames.html b/doc/html/classstk_1_1StkFrames.html new file mode 100644 index 0000000..5b93a2d --- /dev/null +++ b/doc/html/classstk_1_1StkFrames.html @@ -0,0 +1,399 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::StkFrames Class Reference

    An STK class to handle vectorized audio data. +More... +

    +#include <Stk.h> +

    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    StkFrames (unsigned int nFrames=0, unsigned int nChannels=0)
     The default constructor initializes the frame data structure to size zero.
    StkFrames (const StkFloat &value, unsigned int nFrames, unsigned int nChannels)
     Overloaded constructor that initializes the frame data to the specified size with value.
    ~StkFrames ()
     The destructor.
    StkFloat & operator[] (size_t n)
     Subscript operator that returns a reference to element n of self.
    StkFloat operator[] (size_t n) const
     Subscript operator that returns the value at element n of self.
    void operator+= (StkFrames &f)
     Assignment by sum operator into self.
    void operator*= (StkFrames &f)
     Assignment by product operator into self.
    StkFloat & operator() (size_t frame, unsigned int channel)
     Channel / frame subscript operator that returns a reference.
    StkFloat operator() (size_t frame, unsigned int channel) const
     Channel / frame subscript operator that returns a value.
    StkFloat interpolate (StkFloat frame, unsigned int channel=0) const
     Return an interpolated value at the fractional frame index and channel.
    +size_t size () const
     Returns the total number of audio samples represented by the object.
    +bool empty () const
     Returns true if the object size is zero and false otherwise.
    void resize (size_t nFrames, unsigned int nChannels=1)
     Resize self to represent the specified number of channels and frames.
    void resize (size_t nFrames, unsigned int nChannels, StkFloat value)
     Resize self to represent the specified number of channels and frames and perform element initialization.
    +unsigned int channels (void) const
     Return the number of channels represented by the data.
    +unsigned int frames (void) const
     Return the number of sample frames represented by the data.
    void setDataRate (StkFloat rate)
     Set the sample rate associated with the StkFrames data.
    StkFloat dataRate (void) const
     Return the sample rate associated with the StkFrames data.
    +


    Detailed Description

    +An STK class to handle vectorized audio data. +

    +This class can hold single- or multi-channel audio data. The data type is always StkFloat and the channel format is always interleaved. In an effort to maintain efficiency, no out-of-bounds checks are performed in this class unless _STK_DEBUG_ is defined.

    +Internally, the data is stored in a one-dimensional C array. An indexing operator is available to set and retrieve data values. Alternately, one can use pointers to access the data, using the index operator to get an address for a particular location in the data:

    +StkFloat* ptr = &myStkFrames[0];

    +Possible future improvements in this class could include functions to convert to and return other data types.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    StkFloat & stk::StkFrames::operator[] (size_t  n  )  [inline]
    +
    +
    + +

    +Subscript operator that returns a reference to element n of self. +

    +The result can be used as an lvalue. This reference is valid until the resize function is called or the array is destroyed. The index n must be between 0 and size less one. No range checking is performed unless _STK_DEBUG_ is defined. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::StkFrames::operator[] (size_t  n  )  const [inline]
    +
    +
    + +

    +Subscript operator that returns the value at element n of self. +

    +The index n must be between 0 and size less one. No range checking is performed unless _STK_DEBUG_ is defined. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::StkFrames::operator+= (StkFrames f  )  [inline]
    +
    +
    + +

    +Assignment by sum operator into self. +

    +The dimensions of the argument are expected to be the same as self. No range checking is performed unless _STK_DEBUG_ is defined. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::StkFrames::operator*= (StkFrames f  )  [inline]
    +
    +
    + +

    +Assignment by product operator into self. +

    +The dimensions of the argument are expected to be the same as self. No range checking is performed unless _STK_DEBUG_ is defined. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFloat & stk::StkFrames::operator() (size_t  frame,
    unsigned int  channel 
    ) [inline]
    +
    +
    + +

    +Channel / frame subscript operator that returns a reference. +

    +The result can be used as an lvalue. This reference is valid until the resize function is called or the array is destroyed. The frame index must be between 0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFloat stk::StkFrames::operator() (size_t  frame,
    unsigned int  channel 
    ) const [inline]
    +
    +
    + +

    +Channel / frame subscript operator that returns a value. +

    +The frame index must be between 0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFloat stk::StkFrames::interpolate (StkFloat  frame,
    unsigned int  channel = 0 
    ) const
    +
    +
    + +

    +Return an interpolated value at the fractional frame index and channel. +

    +This function performs linear interpolation. The frame index must be between 0.0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void stk::StkFrames::resize (size_t  nFrames,
    unsigned int  nChannels = 1 
    )
    +
    +
    + +

    +Resize self to represent the specified number of channels and frames. +

    +Changes the size of self based on the number of frames and channels. No element assignment is performed. No memory deallocation occurs if the new size is smaller than the previous size. Further, no new memory is allocated when the new size is smaller or equal to a previously allocated size. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::StkFrames::resize (size_t  nFrames,
    unsigned int  nChannels,
    StkFloat  value 
    )
    +
    +
    + +

    +Resize self to represent the specified number of channels and frames and perform element initialization. +

    +Changes the size of self based on the number of frames and channels, and assigns value to every element. No memory deallocation occurs if the new size is smaller than the previous size. Further, no new memory is allocated when the new size is smaller or equal to a previously allocated size. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::StkFrames::setDataRate (StkFloat  rate  )  [inline]
    +
    +
    + +

    +Set the sample rate associated with the StkFrames data. +

    +By default, this value is set equal to the current STK sample rate at the time of instantiation. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::StkFrames::dataRate (void   )  const [inline]
    +
    +
    + +

    +Return the sample rate associated with the StkFrames data. +

    +By default, this value is set equal to the current STK sample rate at the time of instantiation. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1TapDelay-members.html b/doc/html/classstk_1_1TapDelay-members.html new file mode 100644 index 0000000..fa37a3e --- /dev/null +++ b/doc/html/classstk_1_1TapDelay-members.html @@ -0,0 +1,64 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::TapDelay Member List

    This is the complete list of members for stk::TapDelay, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    getTapDelays(void) const stk::TapDelay [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(unsigned int tap=0) const stk::TapDelay [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::TapDelay
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTapDelays(std::vector< unsigned long > taps)stk::TapDelay
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    TapDelay(std::vector< unsigned long > taps=std::vector< unsigned long >(1, 0), unsigned long maxDelay=4095)stk::TapDelay
    tick(StkFloat input, StkFrames &outputs)stk::TapDelay [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::TapDelay [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0)stk::TapDelay [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TapDelay()stk::TapDelay

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1TapDelay.html b/doc/html/classstk_1_1TapDelay.html new file mode 100644 index 0000000..ba99c1a --- /dev/null +++ b/doc/html/classstk_1_1TapDelay.html @@ -0,0 +1,281 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::TapDelay Class Reference

    STK non-interpolating tapped delay line class. +More... +

    +#include <TapDelay.h> +

    +

    +Inheritance diagram for stk::TapDelay:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     TapDelay (std::vector< unsigned long > taps=std::vector< unsigned long >(1, 0), unsigned long maxDelay=4095)
     The default constructor creates a delay-line with maximum length of 4095 samples and a single tap at delay = 0.
    ~TapDelay ()
     Class destructor.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setTapDelays (std::vector< unsigned long > taps)
     Set the delay-line tap lengths.
    +std::vector< unsigned long > getTapDelays (void) const
     Return the current delay-line length.
    StkFloat lastOut (unsigned int tap=0) const
     Return the specified tap value of the last computed frame.
    StkFramestick (StkFloat input, StkFrames &outputs)
     Input one sample to the delayline and return outputs at all tap positions.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and write outputs back to the same object.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK non-interpolating tapped delay line class. +

    +This class implements a non-interpolating digital delay-line with an arbitrary number of output "taps". If the maximum length and tap delays are not specified during instantiation, a fixed maximum length of 4095 and a single tap delay of zero is set.

    +A non-interpolating delay line is typically used in fixed delay-length applications, such as for reverberation.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    stk::TapDelay::TapDelay (std::vector< unsigned long >  taps = std::vector< unsigned long >(1, 0),
    unsigned long  maxDelay = 4095 
    )
    +
    +
    + +

    +The default constructor creates a delay-line with maximum length of 4095 samples and a single tap at delay = 0. +

    +An StkError will be thrown if any tap delay parameter is less than zero, the maximum delay parameter is less than one, or any tap delay parameter is greater than the maxDelay value. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    void stk::TapDelay::setMaximumDelay (unsigned long  delay  ) 
    +
    +
    + +

    +Set the maximum delay-line length. +

    +This method should generally only be used during initial setup of the delay line. If it is used between calls to the tick() function, without a call to clear(), a signal discontinuity will likely occur. If the current maximum length is greater than the new length, no change will be made. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::TapDelay::setTapDelays (std::vector< unsigned long >  taps  ) 
    +
    +
    + +

    +Set the delay-line tap lengths. +

    +The valid range for each tap length is from 0 to the maximum delay-line length. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::TapDelay::lastOut (unsigned int  tap = 0  )  const [inline]
    +
    +
    + +

    +Return the specified tap value of the last computed frame. +

    +Use the lastFrame() function to get all tap values from the last computed frame. The tap argument must be less than the number of delayline taps (the first tap is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::TapDelay::tick (StkFloat  input,
    StkFrames outputs 
    ) [inline]
    +
    +
    + +

    +Input one sample to the delayline and return outputs at all tap positions. +

    +The StkFrames argument reference is returned. The output values are ordered according to the tap positions set using the setTapDelays() function (no sorting is performed). The StkFrames argument must contain at least as many channels as the number of taps. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::TapDelay::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and write outputs back to the same object. +

    +The StkFrames argument reference is returned. The output values are ordered according to the tap positions set using the setTapDelays() function (no sorting is performed). The StkFrames argument must contain at least as many channels as the number of taps. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::TapDelay::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. The output values are ordered according to the tap positions set using the setTapDelays() function (no sorting is performed). The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oFrames argument must contain at least as many channels as the number of taps. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1TapDelay.png b/doc/html/classstk_1_1TapDelay.png new file mode 100644 index 0000000..035ba6c Binary files /dev/null and b/doc/html/classstk_1_1TapDelay.png differ diff --git a/doc/html/classstk_1_1TcpClient-members.html b/doc/html/classstk_1_1TcpClient-members.html new file mode 100644 index 0000000..7ce7bec --- /dev/null +++ b/doc/html/classstk_1_1TcpClient-members.html @@ -0,0 +1,62 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::TcpClient Member List

    This is the complete list of members for stk::TcpClient, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    connect(int port, std::string hostname="localhost")stk::TcpClient
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)stk::TcpClient [virtual]
    stk::Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    TcpClient(int port, std::string hostname="localhost")stk::TcpClient
    writeBuffer(const void *buffer, long bufferSize, int flags=0)stk::TcpClient [virtual]
    stk::Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TcpClient()stk::TcpClient

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1TcpClient.html b/doc/html/classstk_1_1TcpClient.html new file mode 100644 index 0000000..ef1bae2 --- /dev/null +++ b/doc/html/classstk_1_1TcpClient.html @@ -0,0 +1,135 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::TcpClient Class Reference

    STK TCP socket client class. +More... +

    +#include <TcpClient.h> +

    +

    +Inheritance diagram for stk::TcpClient:
    +
    + +

    + +stk::Socket +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + +

    Public Member Functions

     TcpClient (int port, std::string hostname="localhost")
     Default class constructor creates a socket client connection to the specified host and port.
    ~TcpClient ()
     The class destructor closes the socket instance, breaking any existing connections.
    int connect (int port, std::string hostname="localhost")
     Connect the socket client to the specified host and port and returns the resulting socket descriptor.
    +int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    +int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read a buffer from the socket connection, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    +


    Detailed Description

    +STK TCP socket client class. +

    +This class provides a uniform cross-platform TCP socket client interface. Methods are provided for reading or writing data buffers to/from connections.

    +TCP sockets are reliable and connection-oriented. A TCP socket client must be connected to a TCP server before data can be sent or received. Data delivery is guaranteed in order, without loss, error, or duplication. That said, TCP transmissions tend to be slower than those using the UDP protocol and data sent with multiple write() calls can be arbitrarily combined by the underlying system.

    +The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate a closed or lost connection or the occurence of an error.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    stk::TcpClient::TcpClient (int  port,
    std::string  hostname = "localhost" 
    )
    +
    +
    + +

    +Default class constructor creates a socket client connection to the specified host and port. +

    +An StkError will be thrown if a socket error occurs during instantiation. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int stk::TcpClient::connect (int  port,
    std::string  hostname = "localhost" 
    )
    +
    +
    + +

    +Connect the socket client to the specified host and port and returns the resulting socket descriptor. +

    +If the socket client is already connected, that connection is terminated and a new connection is attempted. An StkError will be thrown if a socket error occurs. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1TcpClient.png b/doc/html/classstk_1_1TcpClient.png new file mode 100644 index 0000000..8c44218 Binary files /dev/null and b/doc/html/classstk_1_1TcpClient.png differ diff --git a/doc/html/classstk_1_1TcpServer-members.html b/doc/html/classstk_1_1TcpServer-members.html new file mode 100644 index 0000000..048b8f5 --- /dev/null +++ b/doc/html/classstk_1_1TcpServer-members.html @@ -0,0 +1,62 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::TcpServer Member List

    This is the complete list of members for stk::TcpServer, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    accept(void)stk::TcpServer
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)stk::TcpServer [virtual]
    stk::Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    TcpServer(int port=2006)stk::TcpServer
    writeBuffer(const void *buffer, long bufferSize, int flags=0)stk::TcpServer [virtual]
    stk::Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TcpServer()stk::TcpServer

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classTcpServer.html b/doc/html/classstk_1_1TcpServer.html similarity index 51% rename from doc/html/classTcpServer.html rename to doc/html/classstk_1_1TcpServer.html index 25abf27..bc37071 100644 --- a/doc/html/classTcpServer.html +++ b/doc/html/classstk_1_1TcpServer.html @@ -8,114 +8,109 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    TcpServer Class Reference

    #include <TcpServer.h> + + +
    +

    stk::TcpServer Class Reference

    STK TCP socket server class. +More...

    -

    Inheritance diagram for TcpServer: -

    - -Socket -Stk +#include <TcpServer.h> +

    +

    +Inheritance diagram for stk::TcpServer:
    +
    + +

    + +stk::Socket +stk::Stk -List of all members.

    Detailed Description

    +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + +

    Public Member Functions

     TcpServer (int port=2006)
     Default constructor creates a local socket server on port 2006 (or the specified port number).
    ~TcpServer ()
     The class destructor closes the socket instance, breaking any existing connections.
    int accept (void)
     Extract the first pending connection request from the queue and create a new connection, returning the descriptor for the accepted socket.
    +int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    +int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read a buffer from the socket connection, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    +


    Detailed Description

    STK TCP socket server class.

    This class provides a uniform cross-platform TCP socket server interface. Methods are provided for reading or writing data buffers to/from connections.

    TCP sockets are reliable and connection-oriented. A TCP socket server must accept a connection from a TCP client before data can be sent or received. Data delivery is guaranteed in order, without loss, error, or duplication. That said, TCP transmissions tend to be slower than those using the UDP protocol and data sent with multiple write() calls can be arbitrarily combined by the underlying system.

    The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate a closed or lost connection or the occurence of an error.

    -by Perry R. Cook and Gary P. Scavone, 1995 - 2007. -

    - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     TcpServer (int port=2006)
     Default constructor creates a local socket server on port 2006 (or the specified port number).
    ~TcpServer ()
     The class destructor closes the socket instance, breaking any existing connections.
    int accept (void)
     Extract the first pending connection request from the queue and create a new connection, returning the descriptor for the accepted socket.
    -int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    -int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read a buffer from the socket connection, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    -


    Constructor & Destructor Documentation

    -

    - - - - -
    - +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Destructor Documentation

    + +
    +
    +
    - - - - - - + + + + + +
    TcpServer::TcpServer int  port = 2006  ) stk::TcpServer::TcpServer (int  port = 2006  ) 
    -
    - - - - - -
    -   - + +

    Default constructor creates a local socket server on port 2006 (or the specified port number).

    -An StkError will be thrown if a socket error occurs during instantiation.

    +An StkError will be thrown if a socket error occurs during instantiation. +

    +


    Member Function Documentation

    -

    - - - - -
    - + +
    +
    +
    - - - - - - + + + + + +
    int TcpServer::accept void   ) int stk::TcpServer::accept (void   ) 
    -
    - - - - - -
    -   - + +

    Extract the first pending connection request from the queue and create a new connection, returning the descriptor for the accepted socket.

    -If no connection requests are pending and the socket has not been set non-blocking, this function will block until a connection is present. If an error occurs, -1 is returned.

    +If no connection requests are pending and the socket has not been set non-blocking, this function will block until a connection is present. If an error occurs, -1 is returned. + +


    The documentation for this class was generated from the following file: +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TcpServer.png b/doc/html/classstk_1_1TcpServer.png new file mode 100644 index 0000000..bb96b14 Binary files /dev/null and b/doc/html/classstk_1_1TcpServer.png differ diff --git a/doc/html/classstk_1_1Thread-members.html b/doc/html/classstk_1_1Thread-members.html new file mode 100644 index 0000000..7ee4ab5 --- /dev/null +++ b/doc/html/classstk_1_1Thread-members.html @@ -0,0 +1,54 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Thread Member List

    This is the complete list of members for stk::Thread, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    cancel(void)stk::Thread
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    start(THREAD_FUNCTION routine, void *ptr=NULL)stk::Thread
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    testCancel(void)stk::Thread
    Thread()stk::Thread
    wait(void)stk::Thread
    ~Stk(void)stk::Stk [protected, virtual]
    ~Thread()stk::Thread

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Thread.html b/doc/html/classstk_1_1Thread.html new file mode 100644 index 0000000..c07bac8 --- /dev/null +++ b/doc/html/classstk_1_1Thread.html @@ -0,0 +1,171 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Thread Class Reference

    STK thread class. +More... +

    +#include <Thread.h> +

    +

    +Inheritance diagram for stk::Thread:
    +
    + +

    + +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Thread ()
     Default constructor.
    ~Thread ()
     The class destructor does not attempt to cancel or join a thread.
    bool start (THREAD_FUNCTION routine, void *ptr=NULL)
     Begin execution of the thread routine. Upon success, true is returned.
    bool cancel (void)
     Signal cancellation of a thread routine, returning true on success.
    bool wait (void)
     Block the calling routine indefinitely until the thread terminates.
    void testCancel (void)
     Create a cancellation point within a thread routine.
    +


    Detailed Description

    +STK thread class. +

    +This class provides a uniform interface for cross-platform threads. On unix systems, the pthread library is used. Under Windows, the C runtime threadex functions are used.

    +Each instance of the Thread class can be used to control a single thread process. Routines are provided to signal cancelation and/or joining with a thread, though it is not possible for this class to know the running status of a thread once it is started.

    +For cross-platform compatability, thread functions should be declared as follows:

    +THREAD_RETURN THREAD_TYPE thread_function(void *ptr)

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    bool stk::Thread::start (THREAD_FUNCTION  routine,
    void *  ptr = NULL 
    )
    +
    +
    + +

    +Begin execution of the thread routine. Upon success, true is returned. +

    +A data pointer can be supplied to the thread routine via the optional ptr argument. If the thread cannot be created, the return value is false. +

    +

    + +

    +
    + + + + + + + + + +
    bool stk::Thread::cancel (void   ) 
    +
    +
    + +

    +Signal cancellation of a thread routine, returning true on success. +

    +This function only signals thread cancellation. It does not wait to verify actual routine termination. A true return value only signifies that the cancellation signal was properly executed, not thread cancellation. A thread routine may need to make use of the testCancel() function to specify a cancellation point. +

    +

    + +

    +
    + + + + + + + + + +
    bool stk::Thread::wait (void   ) 
    +
    +
    + +

    +Block the calling routine indefinitely until the thread terminates. +

    +This function suspends execution of the calling routine until the thread has terminated. It will return immediately if the thread was already terminated. A true return value signifies successful termination. A false return value indicates a problem with the wait call. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::Thread::testCancel (void   ) 
    +
    +
    + +

    +Create a cancellation point within a thread routine. +

    +This function call checks for thread cancellation, allowing the thread to be terminated if a cancellation request was previously signaled. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Thread.png b/doc/html/classstk_1_1Thread.png new file mode 100644 index 0000000..03f60e6 Binary files /dev/null and b/doc/html/classstk_1_1Thread.png differ diff --git a/doc/html/classstk_1_1TubeBell-members.html b/doc/html/classstk_1_1TubeBell-members.html new file mode 100644 index 0000000..f8b5dc7 --- /dev/null +++ b/doc/html/classstk_1_1TubeBell-members.html @@ -0,0 +1,72 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::TubeBell Member List

    This is the complete list of members for stk::TubeBell, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::TubeBell [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::TubeBell [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    TubeBell(void)stk::TubeBell
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TubeBell(void)stk::TubeBell

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1TubeBell.html b/doc/html/classstk_1_1TubeBell.html new file mode 100644 index 0000000..96a389b --- /dev/null +++ b/doc/html/classstk_1_1TubeBell.html @@ -0,0 +1,98 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::TubeBell Class Reference

    STK tubular bell (orchestral chime) FM synthesis instrument. +More... +

    +#include <TubeBell.h> +

    +

    +Inheritance diagram for stk::TubeBell:
    +
    + +

    + +stk::FM +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + +

    Public Member Functions

     TubeBell (void)
     Class constructor.
    ~TubeBell (void)
     Class destructor.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK tubular bell (orchestral chime) FM synthesis instrument. +

    +This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

    +

        Algorithm 5 is :  4->3--\
    +                             + --> Out
    +                      2->1--/
    +

    +Control Change Numbers:

      +
    • Modulator Index One = 2
    • Crossfade of Outputs = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    +

    +The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::TubeBell::TubeBell (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1TubeBell.png b/doc/html/classstk_1_1TubeBell.png new file mode 100644 index 0000000..72d2d85 Binary files /dev/null and b/doc/html/classstk_1_1TubeBell.png differ diff --git a/doc/html/classstk_1_1TwoPole-members.html b/doc/html/classstk_1_1TwoPole-members.html new file mode 100644 index 0000000..7ea611e --- /dev/null +++ b/doc/html/classstk_1_1TwoPole-members.html @@ -0,0 +1,65 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::TwoPole Member List

    This is the complete list of members for stk::TwoPole, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::TwoPole [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::TwoPole [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setA1(StkFloat a1)stk::TwoPole [inline]
    setA2(StkFloat a2)stk::TwoPole [inline]
    setB0(StkFloat b0)stk::TwoPole [inline]
    setCoefficients(StkFloat b0, StkFloat a1, StkFloat a2, bool clearState=false)stk::TwoPole
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius, bool normalize=false)stk::TwoPole
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::TwoPole [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::TwoPole [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::TwoPole [inline]
    TwoPole(void)stk::TwoPole
    ~Stk(void)stk::Stk [protected, virtual]
    ~TwoPole()stk::TwoPole

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1TwoPole.html b/doc/html/classstk_1_1TwoPole.html new file mode 100644 index 0000000..4cdd7be --- /dev/null +++ b/doc/html/classstk_1_1TwoPole.html @@ -0,0 +1,211 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::TwoPole Class Reference

    STK two-pole filter class. +More... +

    +#include <TwoPole.h> +

    +

    +Inheritance diagram for stk::TwoPole:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    TwoPole (void)
     Default constructor creates a second-order pass-through filter.
    ~TwoPole ()
     Class destructor.
    +void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    +void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    +void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    +void setA2 (StkFloat a2)
     Set the a[2] coefficient value.
    +void setCoefficients (StkFloat b0, StkFloat a1, StkFloat a2, bool clearState=false)
     Set all filter coefficients.
    void setResonance (StkFloat frequency, StkFloat radius, bool normalize=false)
     Sets the filter coefficients for a resonance at frequency (in Hz).
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK two-pole filter class. +

    +This class implements a two-pole digital filter. A method is provided for creating a resonance in the frequency response while maintaining a nearly constant filter gain.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::TwoPole::setResonance (StkFloat  frequency,
    StkFloat  radius,
    bool  normalize = false 
    )
    +
    +
    + +

    +Sets the filter coefficients for a resonance at frequency (in Hz). +

    +This method determines the filter coefficients corresponding to two complex-conjugate poles with the given frequency (in Hz) and radius from the z-plane origin. If normalize is true, the coefficients are then normalized to produce unity gain at frequency (the actual maximum filter gain tends to be slightly greater than unity when radius is not close to one). The resulting filter frequency response has a resonance at the given frequency. The closer the poles are to the unit-circle (radius close to one), the narrower the resulting resonance width. An unstable filter will result for radius >= 1.0. For a better resonance filter, use a BiQuad filter.

    See also:
    BiQuad filter class
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::TwoPole::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::TwoPole::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1TwoPole.png b/doc/html/classstk_1_1TwoPole.png new file mode 100644 index 0000000..1ea36e6 Binary files /dev/null and b/doc/html/classstk_1_1TwoPole.png differ diff --git a/doc/html/classstk_1_1TwoZero-members.html b/doc/html/classstk_1_1TwoZero-members.html new file mode 100644 index 0000000..e817139 --- /dev/null +++ b/doc/html/classstk_1_1TwoZero-members.html @@ -0,0 +1,65 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::TwoZero Member List

    This is the complete list of members for stk::TwoZero, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::TwoZero [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::TwoZero [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setB0(StkFloat b0)stk::TwoZero [inline]
    setB1(StkFloat b1)stk::TwoZero [inline]
    setB2(StkFloat b2)stk::TwoZero [inline]
    setCoefficients(StkFloat b0, StkFloat b1, StkFloat b2, bool clearState=false)stk::TwoZero
    setGain(StkFloat gain)stk::Filter [inline]
    setNotch(StkFloat frequency, StkFloat radius)stk::TwoZero
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::TwoZero [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::TwoZero [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::TwoZero [inline]
    TwoZero()stk::TwoZero
    ~Stk(void)stk::Stk [protected, virtual]
    ~TwoZero()stk::TwoZero

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1TwoZero.html b/doc/html/classstk_1_1TwoZero.html new file mode 100644 index 0000000..6fd84bc --- /dev/null +++ b/doc/html/classstk_1_1TwoZero.html @@ -0,0 +1,204 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::TwoZero Class Reference

    STK two-zero filter class. +More... +

    +#include <TwoZero.h> +

    +

    +Inheritance diagram for stk::TwoZero:
    +
    + +

    + +stk::Filter +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    TwoZero ()
     Default constructor creates a second-order pass-through filter.
    ~TwoZero ()
     Class destructor.
    +void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    +void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    +void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    +void setB2 (StkFloat b2)
     Set the b[2] coefficient value.
    +void setCoefficients (StkFloat b0, StkFloat b1, StkFloat b2, bool clearState=false)
     Set all filter coefficients.
    void setNotch (StkFloat frequency, StkFloat radius)
     Sets the filter coefficients for a "notch" at frequency (in Hz).
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    +


    Detailed Description

    +STK two-zero filter class. +

    +This class implements a two-zero digital filter. A method is provided for creating a "notch" in the frequency response while maintaining a constant filter gain.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void stk::TwoZero::setNotch (StkFloat  frequency,
    StkFloat  radius 
    )
    +
    +
    + +

    +Sets the filter coefficients for a "notch" at frequency (in Hz). +

    +This method determines the filter coefficients corresponding to two complex-conjugate zeros with the given frequency (in Hz) and radius from the z-plane origin. The coefficients are then normalized to produce a maximum filter gain of one (independent of the filter gain parameter). The resulting filter frequency response has a "notch" or anti-resonance at the given frequency. The closer the zeros are to the unit-circle (radius close to or equal to one), the narrower the resulting notch width. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::TwoZero::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline, virtual]
    +
    +
    + +

    +Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs. +

    +The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Implements stk::Filter.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::TwoZero::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    +Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. +

    +The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1TwoZero.png b/doc/html/classstk_1_1TwoZero.png new file mode 100644 index 0000000..3b503a5 Binary files /dev/null and b/doc/html/classstk_1_1TwoZero.png differ diff --git a/doc/html/classstk_1_1UdpSocket-members.html b/doc/html/classstk_1_1UdpSocket-members.html new file mode 100644 index 0000000..3460b33 --- /dev/null +++ b/doc/html/classstk_1_1UdpSocket-members.html @@ -0,0 +1,64 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::UdpSocket Member List

    This is the complete list of members for stk::UdpSocket, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)stk::UdpSocket [virtual]
    stk::Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setAddress(struct sockaddr_in *address, int port=2006, std::string hostname="localhost")stk::UdpSocket [protected]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setDestination(int port=2006, std::string hostname="localhost")stk::UdpSocket
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    UdpSocket(int port=2006)stk::UdpSocket
    writeBuffer(const void *buffer, long bufferSize, int flags=0)stk::UdpSocket [virtual]
    stk::Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    writeBufferTo(const void *buffer, long bufferSize, int port, std::string hostname="localhost", int flags=0)stk::UdpSocket
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~UdpSocket()stk::UdpSocket

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1UdpSocket.html b/doc/html/classstk_1_1UdpSocket.html new file mode 100644 index 0000000..560a8be --- /dev/null +++ b/doc/html/classstk_1_1UdpSocket.html @@ -0,0 +1,209 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::UdpSocket Class Reference

    STK UDP socket server/client class. +More... +

    +#include <UdpSocket.h> +

    +

    +Inheritance diagram for stk::UdpSocket:
    +
    + +

    + +stk::Socket +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     UdpSocket (int port=2006)
     Default constructor creates a local UDP socket on port 2006 (or the specified port number).
    ~UdpSocket ()
     The class destructor closes the socket instance.
    void setDestination (int port=2006, std::string hostname="localhost")
     Set the address for subsequent outgoing data sent via the writeBuffer() function.
    int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Send a buffer to the address specified with the setDestination() function. Returns the number of bytes written or -1 if an error occurs.
    +int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read an input buffer, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    +int writeBufferTo (const void *buffer, long bufferSize, int port, std::string hostname="localhost", int flags=0)
     Write a buffer to the specified socket. Returns the number of bytes written or -1 if an error occurs.

    Protected Member Functions

    void setAddress (struct sockaddr_in *address, int port=2006, std::string hostname="localhost")
     A protected function for use in writing a socket address structure.
    +


    Detailed Description

    +STK UDP socket server/client class. +

    +This class provides a uniform cross-platform UDP socket server/client interface. Methods are provided for reading or writing data buffers. The constructor creates a UDP socket and binds it to the specified port. Note that only one socket can be bound to a given port on the same machine.

    +UDP sockets provide unreliable, connection-less service. Messages can be lost, duplicated, or received out of order. That said, data transmission tends to be faster than with TCP connections and datagrams are not potentially combined by the underlying system.

    +The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate the occurence of an error.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::UdpSocket::UdpSocket (int  port = 2006  ) 
    +
    +
    + +

    +Default constructor creates a local UDP socket on port 2006 (or the specified port number). +

    +An StkError will be thrown if a socket error occurs during instantiation. +

    +

    +


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void stk::UdpSocket::setDestination (int  port = 2006,
    std::string  hostname = "localhost" 
    )
    +
    +
    + +

    +Set the address for subsequent outgoing data sent via the writeBuffer() function. +

    +An StkError will be thrown if the host is unknown. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int stk::UdpSocket::writeBuffer (const void *  buffer,
    long  bufferSize,
    int  flags = 0 
    ) [virtual]
    +
    +
    + +

    +Send a buffer to the address specified with the setDestination() function. Returns the number of bytes written or -1 if an error occurs. +

    +This function will fail if the default address (set with setDestination()) is invalid or has not been specified. +

    Implements stk::Socket.

    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::UdpSocket::setAddress (struct sockaddr_in *  address,
    int  port = 2006,
    std::string  hostname = "localhost" 
    ) [protected]
    +
    +
    + +

    +A protected function for use in writing a socket address structure. +

    +An StkError will be thrown if the host is unknown. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1UdpSocket.png b/doc/html/classstk_1_1UdpSocket.png new file mode 100644 index 0000000..305b298 Binary files /dev/null and b/doc/html/classstk_1_1UdpSocket.png differ diff --git a/doc/html/classstk_1_1Vector3D-members.html b/doc/html/classstk_1_1Vector3D-members.html new file mode 100644 index 0000000..afb6be8 --- /dev/null +++ b/doc/html/classstk_1_1Vector3D-members.html @@ -0,0 +1,57 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Vector3D Member List

    This is the complete list of members for stk::Vector3D, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    getLength(void)stk::Vector3D [inline]
    getX(void)stk::Vector3D [inline]
    getY(void)stk::Vector3D [inline]
    getZ(void)stk::Vector3D [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setX(StkFloat x)stk::Vector3D [inline]
    setXYZ(StkFloat x, StkFloat y, StkFloat z)stk::Vector3D [inline]
    setY(StkFloat y)stk::Vector3D [inline]
    setZ(StkFloat z)stk::Vector3D [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    Vector3D(StkFloat x=0.0, StkFloat y=0.0, StkFloat z=0.0)stk::Vector3D [inline]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Vector3D.html b/doc/html/classstk_1_1Vector3D.html new file mode 100644 index 0000000..84b53fb --- /dev/null +++ b/doc/html/classstk_1_1Vector3D.html @@ -0,0 +1,86 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Vector3D Class Reference

    STK 3D vector class. +More... +

    +#include <Vector3D.h> +

    +

    +Inheritance diagram for stk::Vector3D:
    +
    + +

    + +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Vector3D (StkFloat x=0.0, StkFloat y=0.0, StkFloat z=0.0)
     Default constructor taking optional initial X, Y, and Z values.
    +StkFloat getX (void)
     Get the current X value.
    +StkFloat getY (void)
     Get the current Y value.
    +StkFloat getZ (void)
     Get the current Z value.
    +StkFloat getLength (void)
     Calculate the vector length.
    +void setXYZ (StkFloat x, StkFloat y, StkFloat z)
     Set the X, Y, and Z values simultaniously.
    +void setX (StkFloat x)
     Set the X value.
    +void setY (StkFloat y)
     Set the Y value.
    +void setZ (StkFloat z)
     Set the Z value.
    +


    Detailed Description

    +STK 3D vector class. +

    +This class implements a three-dimensional vector.

    +by Perry R. Cook, 1995 - 2009.


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Vector3D.png b/doc/html/classstk_1_1Vector3D.png new file mode 100644 index 0000000..acd65a5 Binary files /dev/null and b/doc/html/classstk_1_1Vector3D.png differ diff --git a/doc/html/classstk_1_1VoicForm-members.html b/doc/html/classstk_1_1VoicForm-members.html new file mode 100644 index 0000000..ab9ce58 --- /dev/null +++ b/doc/html/classstk_1_1VoicForm-members.html @@ -0,0 +1,68 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::VoicForm Member List

    This is the complete list of members for stk::VoicForm, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::VoicForm
    controlChange(int number, StkFloat value)stk::VoicForm [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::VoicForm [inline, virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::VoicForm [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    quiet(void)stk::VoicForm
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFilterSweepRate(unsigned int whichOne, StkFloat rate)stk::VoicForm
    setFrequency(StkFloat frequency)stk::VoicForm [virtual]
    setPhoneme(const char *phoneme)stk::VoicForm
    setPitchSweepRate(StkFloat rate)stk::VoicForm [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setUnVoiced(StkFloat nGain)stk::VoicForm [inline]
    setVoiced(StkFloat vGain)stk::VoicForm [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    speak(void)stk::VoicForm [inline]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::VoicForm [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    VoicForm(void)stk::VoicForm
    ~Stk(void)stk::Stk [protected, virtual]
    ~VoicForm(void)stk::VoicForm

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1VoicForm.html b/doc/html/classstk_1_1VoicForm.html new file mode 100644 index 0000000..7b1055d --- /dev/null +++ b/doc/html/classstk_1_1VoicForm.html @@ -0,0 +1,137 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::VoicForm Class Reference

    Four formant synthesis instrument. +More... +

    +#include <VoicForm.h> +

    +

    +Inheritance diagram for stk::VoicForm:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     VoicForm (void)
     Class constructor.
    ~VoicForm (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +bool setPhoneme (const char *phoneme)
     Set instrument parameters for the given phoneme. Returns false if phoneme not found.
    +void setVoiced (StkFloat vGain)
     Set the voiced component gain.
    +void setUnVoiced (StkFloat nGain)
     Set the unvoiced component gain.
    +void setFilterSweepRate (unsigned int whichOne, StkFloat rate)
     Set the sweep rate for a particular formant filter (0-3).
    +void setPitchSweepRate (StkFloat rate)
     Set voiced component pitch sweep rate.
    +void speak (void)
     Start the voice.
    +void quiet (void)
     Stop the voice.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +Four formant synthesis instrument. +

    +This instrument contains an excitation singing wavetable (looping wave with random and periodic vibrato, smoothing on frequency, etc.), excitation noise, and four sweepable complex resonances.

    +Measured formant data is included, and enough data is there to support either parallel or cascade synthesis. In the floating point case cascade synthesis is the most natural so that's what you'll find here.

    +Control Change Numbers:

      +
    • Voiced/Unvoiced Mix = 2
    • Vowel/Phoneme Selection = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Loudness (Spectral Tilt) = 128
    +

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::VoicForm::VoicForm (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1VoicForm.png b/doc/html/classstk_1_1VoicForm.png new file mode 100644 index 0000000..fc66dd3 Binary files /dev/null and b/doc/html/classstk_1_1VoicForm.png differ diff --git a/doc/html/classstk_1_1Voicer-members.html b/doc/html/classstk_1_1Voicer-members.html new file mode 100644 index 0000000..5c57566 --- /dev/null +++ b/doc/html/classstk_1_1Voicer-members.html @@ -0,0 +1,66 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Voicer Member List

    This is the complete list of members for stk::Voicer, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addInstrument(Instrmnt *instrument, int group=0)stk::Voicer
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Voicer [inline]
    controlChange(int number, StkFloat value, int group=0)stk::Voicer
    controlChange(long tag, int number, StkFloat value)stk::Voicer
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Voicer [inline]
    lastOut(unsigned int channel=0)stk::Voicer [inline]
    noteOff(StkFloat noteNumber, StkFloat amplitude, int group=0)stk::Voicer
    noteOff(long tag, StkFloat amplitude)stk::Voicer
    noteOn(StkFloat noteNumber, StkFloat amplitude, int group=0)stk::Voicer
    pitchBend(StkFloat value, int group=0)stk::Voicer
    pitchBend(long tag, StkFloat value)stk::Voicer
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeInstrument(Instrmnt *instrument)stk::Voicer
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat noteNumber, int group=0)stk::Voicer
    setFrequency(long tag, StkFloat noteNumber)stk::Voicer
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    silence(void)stk::Voicer
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Voicer [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Voicer [inline]
    Voicer(StkFloat decayTime=0.2)stk::Voicer
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Voicer.html b/doc/html/classstk_1_1Voicer.html new file mode 100644 index 0000000..ec87308 --- /dev/null +++ b/doc/html/classstk_1_1Voicer.html @@ -0,0 +1,411 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Voicer Class Reference

    STK voice manager class. +More... +

    +#include <Voicer.h> +

    +

    +Inheritance diagram for stk::Voicer:
    +
    + +

    + +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Voicer (StkFloat decayTime=0.2)
     Class constructor taking an optional note decay time (in seconds).
    void addInstrument (Instrmnt *instrument, int group=0)
     Add an instrument with an optional group number to the voice manager.
    void removeInstrument (Instrmnt *instrument)
     Remove the given instrument pointer from the voice manager's control.
    long noteOn (StkFloat noteNumber, StkFloat amplitude, int group=0)
     Initiate a noteOn event with the given note number and amplitude and return a unique note tag.
    void noteOff (StkFloat noteNumber, StkFloat amplitude, int group=0)
     Send a noteOff to all voices having the given noteNumber and optional group (default group = 0).
    void noteOff (long tag, StkFloat amplitude)
     Send a noteOff to the voice with the given note tag.
    void setFrequency (StkFloat noteNumber, int group=0)
     Send a frequency update message to all voices assigned to the optional group argument (default group = 0).
    void setFrequency (long tag, StkFloat noteNumber)
     Send a frequency update message to the voice with the given note tag.
    +void pitchBend (StkFloat value, int group=0)
     Send a pitchBend message to all voices assigned to the optional group argument (default group = 0).
    +void pitchBend (long tag, StkFloat value)
     Send a pitchBend message to the voice with the given note tag.
    +void controlChange (int number, StkFloat value, int group=0)
     Send a controlChange to all instruments assigned to the optional group argument (default group = 0).
    +void controlChange (long tag, int number, StkFloat value)
     Send a controlChange to the voice with the given note tag.
    +void silence (void)
     Send a noteOff message to all existing voices.
    +unsigned int channelsOut (void) const
     Return the current number of output channels.
    +const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Mix one sample frame of all sounding voices and return the specified channel value.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill the StkFrames argument with computed frames and return the same reference.
    +


    Detailed Description

    +STK voice manager class. +

    +This class can be used to manage a group of STK instrument classes. Individual voices can be controlled via unique note tags. Instrument groups can be controlled by group number.

    +A previously constructed STK instrument class is linked with a voice manager using the addInstrument() function. An optional group number argument can be specified to the addInstrument() function as well (default group = 0). The voice manager does not delete any instrument instances ... it is the responsibility of the user to allocate and deallocate all instruments.

    +The tick() function returns the mix of all sounding voices. Each noteOn returns a unique tag (credits to the NeXT MusicKit), so you can send control changes to specific voices within an ensemble. Alternately, control changes can be sent to all voices in a given group.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void stk::Voicer::addInstrument (Instrmnt instrument,
    int  group = 0 
    )
    +
    +
    + +

    +Add an instrument with an optional group number to the voice manager. +

    +A set of instruments can be grouped by group number and controlled via the functions that take a group number argument. +

    +

    + +

    +
    + + + + + + + + + +
    void stk::Voicer::removeInstrument (Instrmnt instrument  ) 
    +
    +
    + +

    +Remove the given instrument pointer from the voice manager's control. +

    +It is important that any instruments which are to be deleted by the user while the voice manager is running be first removed from the manager's control via this function!! +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    long stk::Voicer::noteOn (StkFloat  noteNumber,
    StkFloat  amplitude,
    int  group = 0 
    )
    +
    +
    + +

    +Initiate a noteOn event with the given note number and amplitude and return a unique note tag. +

    +Send the noteOn message to the first available unused voice. If all voices are sounding, the oldest voice is interrupted and sent the noteOn message. If the optional group argument is non-zero, only voices in that group are used. If no voices are found for a specified non-zero group value, the function returns -1. The amplitude value should be in the range 0.0 - 128.0. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void stk::Voicer::noteOff (StkFloat  noteNumber,
    StkFloat  amplitude,
    int  group = 0 
    )
    +
    +
    + +

    +Send a noteOff to all voices having the given noteNumber and optional group (default group = 0). +

    +The amplitude value should be in the range 0.0 - 128.0. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void stk::Voicer::noteOff (long  tag,
    StkFloat  amplitude 
    )
    +
    +
    + +

    +Send a noteOff to the voice with the given note tag. +

    +The amplitude value should be in the range 0.0 - 128.0. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void stk::Voicer::setFrequency (StkFloat  noteNumber,
    int  group = 0 
    )
    +
    +
    + +

    +Send a frequency update message to all voices assigned to the optional group argument (default group = 0). +

    +The noteNumber argument corresponds to a MIDI note number, though it is a floating-point value and can range beyond the normal 0-127 range. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    void stk::Voicer::setFrequency (long  tag,
    StkFloat  noteNumber 
    )
    +
    +
    + +

    +Send a frequency update message to the voice with the given note tag. +

    +The noteNumber argument corresponds to a MIDI note number, though it is a floating-point value and can range beyond the normal 0-127 range. +

    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::Voicer::lastOut (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Return the specified channel value of the last computed frame. +

    +The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    See also:
    lastFrame()
    + +
    +

    + +

    +
    + + + + + + + + + +
    StkFloat stk::Voicer::tick (unsigned int  channel = 0  )  [inline]
    +
    +
    + +

    +Mix one sample frame of all sounding voices and return the specified channel value. +

    +The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    +

    + +

    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::Voicer::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

    +Fill the StkFrames argument with computed frames and return the same reference. +

    +The number of channels in the StkFrames argument must equal the number of channels in the file data. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no file data is loaded, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation). +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Voicer.png b/doc/html/classstk_1_1Voicer.png new file mode 100644 index 0000000..f85a968 Binary files /dev/null and b/doc/html/classstk_1_1Voicer.png differ diff --git a/doc/html/classstk_1_1Whistle-members.html b/doc/html/classstk_1_1Whistle-members.html new file mode 100644 index 0000000..fb5f1f8 --- /dev/null +++ b/doc/html/classstk_1_1Whistle-members.html @@ -0,0 +1,63 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Whistle Member List

    This is the complete list of members for stk::Whistle, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Whistle
    controlChange(int number, StkFloat value)stk::Whistle [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Whistle [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Whistle [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Whistle [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Whistle
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Whistle
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Whistle [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    Whistle(void)stk::Whistle
    ~Stk(void)stk::Stk [protected, virtual]
    ~Whistle(void)stk::Whistle

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Whistle.html b/doc/html/classstk_1_1Whistle.html new file mode 100644 index 0000000..6494e51 --- /dev/null +++ b/doc/html/classstk_1_1Whistle.html @@ -0,0 +1,116 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Whistle Class Reference

    STK police/referee whistle instrument class. +More... +

    +#include <Whistle.h> +

    +

    +Inheritance diagram for stk::Whistle:
    +
    + +

    + +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Whistle (void)
     Class constructor.
    ~Whistle (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath velocity to instrument with given amplitude and rate of increase.
    +void stopBlowing (StkFloat rate)
     Decrease breath velocity with given rate of decrease.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK police/referee whistle instrument class. +

    +This class implements a hybrid physical/spectral model of a police whistle (a la Cook).

    +Control Change Numbers:

      +
    • Noise Gain = 4
    • Fipple Modulation Frequency = 11
    • Fipple Modulation Gain = 1
    • Blowing Frequency Modulation = 2
    • Volume = 128
    +

    +by Perry R. Cook 1996 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Whistle::Whistle (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Whistle.png b/doc/html/classstk_1_1Whistle.png new file mode 100644 index 0000000..e003053 Binary files /dev/null and b/doc/html/classstk_1_1Whistle.png differ diff --git a/doc/html/classstk_1_1Wurley-members.html b/doc/html/classstk_1_1Wurley-members.html new file mode 100644 index 0000000..69cfd73 --- /dev/null +++ b/doc/html/classstk_1_1Wurley-members.html @@ -0,0 +1,72 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::Wurley Member List

    This is the complete list of members for stk::Wurley, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Wurley [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::Wurley [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Wurley [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    Wurley(void)stk::Wurley
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~Wurley(void)stk::Wurley

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Wurley.html b/doc/html/classstk_1_1Wurley.html new file mode 100644 index 0000000..8765bb5 --- /dev/null +++ b/doc/html/classstk_1_1Wurley.html @@ -0,0 +1,102 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Wurley Class Reference

    STK Wurlitzer electric piano FM synthesis instrument. +More... +

    +#include <Wurley.h> +

    +

    +Inheritance diagram for stk::Wurley:
    +
    + +

    + +stk::FM +stk::Instrmnt +stk::Stk + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Wurley (void)
     Class constructor.
    ~Wurley (void)
     Class destructor.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    +


    Detailed Description

    +STK Wurlitzer electric piano FM synthesis instrument. +

    +This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

    +

        Algorithm 5 is :  4->3--\
    +                             + --> Out
    +                      2->1--/
    +

    +Control Change Numbers:

      +
    • Modulator Index One = 2
    • Crossfade of Outputs = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    +

    +The basic Chowning/Stanford FM patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    stk::Wurley::Wurley (void   ) 
    +
    +
    + +

    +Class constructor. +

    +An StkError will be thrown if the rawwave path is incorrectly set. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1Wurley.png b/doc/html/classstk_1_1Wurley.png new file mode 100644 index 0000000..9a845a6 Binary files /dev/null and b/doc/html/classstk_1_1Wurley.png differ diff --git a/doc/html/classstk_1_1WvIn-members.html b/doc/html/classstk_1_1WvIn-members.html new file mode 100644 index 0000000..cc02df6 --- /dev/null +++ b/doc/html/classstk_1_1WvIn-members.html @@ -0,0 +1,51 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::WvIn Member List

    This is the complete list of members for stk::WvIn, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::WvIn [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::WvIn [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)=0stk::WvIn [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1WvIn.html b/doc/html/classstk_1_1WvIn.html new file mode 100644 index 0000000..afd0315 --- /dev/null +++ b/doc/html/classstk_1_1WvIn.html @@ -0,0 +1,88 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::WvIn Class Reference

    STK audio input abstract base class. +More... +

    +#include <WvIn.h> +

    +

    +Inheritance diagram for stk::WvIn:
    +
    + +

    + +stk::Stk +stk::FileWvIn +stk::InetWvIn +stk::RtWvIn +stk::FileLoop + +
    + +

    +List of all members. + + + + + + + + + + + +

    Public Member Functions

    +unsigned int channelsOut (void) const
     Return the number of audio channels in the data or stream.
    const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last computed sample frame.
    +virtual StkFloat tick (unsigned int channel=0)=0
     Compute one sample frame and return the specified channel value.
    +


    Detailed Description

    +STK audio input abstract base class. +

    +This class provides common functionality for a variety of audio data input subclasses.

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    const StkFrames& stk::WvIn::lastFrame (void   )  const [inline]
    +
    +
    + +

    +Return an StkFrames reference to the last computed sample frame. +

    +If no file data is loaded, an empty container is returned. +

    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1WvIn.png b/doc/html/classstk_1_1WvIn.png new file mode 100644 index 0000000..5777d6f Binary files /dev/null and b/doc/html/classstk_1_1WvIn.png differ diff --git a/doc/html/classstk_1_1WvOut-members.html b/doc/html/classstk_1_1WvOut-members.html new file mode 100644 index 0000000..ec2b0ef --- /dev/null +++ b/doc/html/classstk_1_1WvOut-members.html @@ -0,0 +1,54 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk::WvOut Member List

    This is the complete list of members for stk::WvOut, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)=0stk::WvOut [pure virtual]
    WvOut(void)stk::WvOut [inline]
    ~Stk(void)stk::Stk [protected, virtual]

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1WvOut.html b/doc/html/classstk_1_1WvOut.html new file mode 100644 index 0000000..4b37129 --- /dev/null +++ b/doc/html/classstk_1_1WvOut.html @@ -0,0 +1,102 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::WvOut Class Reference

    STK audio output abstract base class. +More... +

    +#include <WvOut.h> +

    +

    +Inheritance diagram for stk::WvOut:
    +
    + +

    + +stk::Stk +stk::FileWvOut +stk::InetWvOut +stk::RtWvOut + +
    + +

    +List of all members. + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    WvOut (void)
     Default constructor.
    +unsigned long getFrameCount (void) const
     Return the number of sample frames output.
    +StkFloat getTime (void) const
     Return the number of seconds of data output.
    +bool clipStatus (void)
     Returns true if clipping has been detected during output since instantiation or the last reset.
    +void resetClipStatus (void)
     Reset the clipping status to false.
    virtual void tick (const StkFloat sample)=0
     Output a single sample to all channels in a sample frame.
    +


    Detailed Description

    +STK audio output abstract base class. +

    +This class provides common functionality for a variety of audio data output subclasses.

    +Currently, WvOut is non-interpolating and the output rate is always Stk::sampleRate().

    +by Perry R. Cook and Gary P. Scavone, 1995 - 2009.


    Member Function Documentation

    + +
    +
    + + + + + + + + + +
    virtual void stk::WvOut::tick (const StkFloat  sample  )  [pure virtual]
    +
    +
    + +

    +Output a single sample to all channels in a sample frame. +

    +An StkError is thrown if an output error occurs. +

    Implemented in stk::FileWvOut, stk::InetWvOut, and stk::RtWvOut.

    + +
    +

    +


    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1WvOut.png b/doc/html/classstk_1_1WvOut.png new file mode 100644 index 0000000..c214c94 Binary files /dev/null and b/doc/html/classstk_1_1WvOut.png differ diff --git a/doc/html/compile.html b/doc/html/compile.html index 9878393..d6d95d5 100644 --- a/doc/html/compile.html +++ b/doc/html/compile.html @@ -8,10 +8,11 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    Compiling

    The Synthesis ToolKit can be used in a variety of ways, depending on your particular needs. Some people choose the classes they need for a particular project and copy those to their working directory. Others create Makefiles that compile project-specific class objects from common src and include directories. And still others like to compile and link to a common library of object files. STK was not designed with one particular style of use in mind.

    + +
    +

    Compiling

    The Synthesis ToolKit can be used in a variety of ways, depending on your particular needs. Some people choose the classes they need for a particular project and copy those to their working directory. Others create Makefiles that compile project-specific class objects from common src and include directories. And still others like to compile and link to a common library of object files. STK was not designed with one particular style of use in mind.

    "Realtime" vs. "Non-Realtime"

    -Most of the Synthesis ToolKit classes are platform independent. That means that they should compile on any reasonably current C++ compiler. The functionality needed for realtime audio and MIDI input/output, as well as realtime control message acquistion, is inherently platform and operating-system (OS) dependent. STK classes that require specific platform/OS support include RtAudio, RtWvOut, RtWvIn, RtDuplex, RtMidi, InetWvIn, InetWvOut, Socket, UdpSocket, TcpServer, TcpClient, Thread, and Mutex. These classes currently can only be compiled on Linux, Macintosh OS X, and Windows systems.

    +Most of the Synthesis ToolKit classes are platform independent. That means that they should compile on any reasonably current C++ compiler. The functionality needed for realtime audio and MIDI input/output, as well as realtime control message acquistion, is inherently platform and operating-system (OS) dependent. STK classes that require specific platform/OS support include RtAudio, RtWvOut, RtWvIn, RtDuplex, RtMidi, InetWvIn, InetWvOut, Socket, UdpSocket, TcpServer, TcpClient, Thread, and Mutex. These classes currently can only be compiled on Linux, Macintosh OS X, and Windows systems.

    Without the "realtime" classes, it is still possible to read SKINI scorefiles for control input and to read and write to/from a variety of audio file formats (WAV, SND, AIFF, MAT-file, and RAW). If compiling for a "little-endian" host processor, the __LITTLE_ENDIAN__ preprocessor definition should be provided.

    Unix Systems:

    STK compiles with realtime support on the following flavors of the Unix operating system: Linux, Irix, and Macintosh OS X. Aside from differences in compilers, audio/MIDI APIs, and host endianness, the steps necessary to compile STK programs and classes on these platforms are the same. The following table summarizes these differences.

    @@ -25,11 +26,11 @@ STK compiles with realtime support on the following flavors of the Unix operatin Linux and Macintosh OS-X Jack (audio only, use ALSA for MIDI support) __UNIX_JACK__, __LINUX_ALSASEQ__, __LITTLE_ENDIAN__ asound, pthread, jack -Macintosh OS X CoreAudio __MACOSX_CORE__ pthread, CoreAudio, CoreMIDI, CoreFoundation +Macintosh OS X CoreAudio __MACOSX_CORE__ pthread, CoreAudio, CoreMidi, CoreFoundation

    The available C++ compilers on any of these systems can vary.

    -One approach in using STK is to simply copy the class files needed for a particular program into a project directory. Taking the sineosc.cpp example from the previous tutorial chapter, it would be necessary to set up a directory that includes the files sineosc.cpp, the rawwave file sinewave.raw in a subdirectory called rawwaves, and the header and source files for the classes Stk, FileRead, FileWrite, WvIn, FileWvIn, WaveLoop, WvOut, and FileWvOut. The program could then be compiled on a little-endian system, such as a PC running Linux, using the GNU g++ compiler as follows:

    g++ -Wall -D__LITTLE_ENDIAN__ -o sineosc Stk.cpp FileRead.cpp FileWrite.cpp WvIn.cpp FileWvIn.cpp WaveLoop.cpp WvOut.cpp FileWvOut.cpp sineosc.cpp
    +One approach in using STK is to simply copy the class files needed for a particular program into a project directory. Taking the sineosc.cpp example from the previous tutorial chapter, it would be necessary to set up a directory that includes the files sineosc.cpp, the rawwave file sinewave.raw in a subdirectory called rawwaves, and the header and source files for the classes Stk, FileRead, FileWrite, FileWvIn, FileLoop, and FileWvOut. The program could then be compiled on a little-endian system, such as a PC running Linux, using the GNU g++ compiler as follows: 
     g++ -Wall -D__LITTLE_ENDIAN__ -o sineosc Stk.cpp FileRead.cpp FileWrite.cpp FileWvIn.cpp FileLoop.cpp FileWvOut.cpp sineosc.cpp 
     

    Note that the sineosc.cpp example does not make use of realtime audio or MIDI input/output classes. For programs using any of the STK realtime classes mentioned above, it is necessary to specify an audio/MIDI API preprocessor definition and link with the appropriate libraries or frameworks.

    When working with a number of different projects that make use of ToolKit classes, the above approach can become cumbersome (especially when trying to synchronize with new STK releases). Most of the STK projects (e.g., demo, effects, ...) contain Makefiles (built by the configure script) that compile project-specific class objects from the distribution src and include directories. This approach makes it relatively easy when upgrading to a new STK release (by making path substitutions in the Makefile or by moving the projects to a similar relative path within the new STK source tree). A Makefile is provided in the projects/examples directory for compiling all the tutorial programs, as well as other example programs. To compile the sineosc.cpp program, for example, one need only type make sineosc from within the projects/examples directory.

    @@ -39,7 +40,7 @@ Assuming the library is located in a standard search path and the header files a
    g++ -Wall -D__LITTLE_ENDIAN__ -I/usr/include/stk -o sineosc sineosc.cpp -lstk
     

    With the header files in a standard search path, it is possible to modify the #include statements in the sineosc.cpp program as follows:

    -

    #include "stk/WaveLoop.h"
    +
    #include "stk/FileLoop.h"
     #include "stk/FileWvOut.h"
     

    and then compile without an explicit include path argument to the compiler:

    @@ -47,14 +48,15 @@ and then compile without an explicit include path argument to the compiler:

    Windows:

    STK has been tested on Windows platforms using the Visual .NET compiler only. It is assumed here that you're familiar with Visual C++ and its particular idiosyncrasies. STK won't compile in Visual C++ 6.0 any more.

    -The approach when using Visual C++ is to build a project that includes the necessary ToolKit files from the distribution src and include directories. For the example program from the previous tutorial chapter, create a VC++ console application project, add the Stk, FileRead, FileWrite, WvIn, FileWvIn, WaveLoop, WvOut, and FileWvOut class files, as well as sineosc.cpp, and make sure the sinewave.raw file is in the subdirectory rawwaves.

    +The approach when using Visual C++ is to build a project that includes the necessary ToolKit files from the distribution src and include directories. For the example program from the previous tutorial chapter, create a VC++ console application project, add the Stk, FileRead, FileWrite, WvIn, FileWvIn, FileLoop, WvOut, and FileWvOut class files, as well as sineosc.cpp, and make sure the sinewave.raw file is in the subdirectory rawwaves.

    For programs using any of the STK realtime classes mentioned above, it is necessary to link with the DirectSound (dsound.lib), winmm.lib, and Wsock32.lib libraries, select the multithreaded library, and provide the __LITTLE_ENDIAN__, __WINDOWS_DS__, and __WINDOWS_MM__ preprocessor definitions.

    -For Steinberg ASIO support, use the __WINDOWS_ASIO__ preprocessor definition (and the __WINDOWS_MM__ definition for RtMidi support), include all the files in the src/asio/ directory (i.e., asio.h,cpp, asiodrivers.h,cpp, ...), and link with the winmm.lib, and Wsock32.lib libraries.

    -[Main tutorial page]   [Next tutorial]


    +For Steinberg ASIO support, use the __WINDOWS_ASIO__ preprocessor definition (and the __WINDOWS_MM__ definition for RtMidi support), include all the files in the src/asio/ directory (i.e., asio.h,cpp, asiodrivers.h,cpp, ...), and link with the winmm.lib, and Wsock32.lib libraries.

    +[Main tutorial page]   [Next tutorial]

    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/controlin.html b/doc/html/controlin.html index 68ec68f..4429d5a 100644 --- a/doc/html/controlin.html +++ b/doc/html/controlin.html @@ -8,8 +8,9 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    Control Input

    Each Synthesis ToolKit instrument exposes its relevant control parameters via public functions such as setFrequency() and controlChange(). Programmers are free to implement the control scheme of their choice in exposing those parameters to the user.

    + +

    +

    Control Input

    Each Synthesis ToolKit instrument exposes its relevant control parameters via public functions such as setFrequency() and controlChange(). Programmers are free to implement the control scheme of their choice in exposing those parameters to the user.

    A text-based control protocol called SKINI is provided with the Synthesis ToolKit. SKINI extends the MIDI protocol in incremental ways, providing a text-based messaging scheme in human-readable format and making use of floating-point numbers wherever possible. Each SKINI message consists of a message type (e.g., NoteOn, PitchBend), a time specification (absolute or delta), a channel number (scanned as a long integer), and a maximum of two subsequent message-specific field values. Knowing this, it should be relatively clear what the following SKINI "scorefile" specifies:

    NoteOn          0.000082  2  55.0  82.3
     NoteOff         1.000000  2  55.0  64.0
    @@ -23,8 +24,8 @@ StringDetune    0.100000  2  12.0
     NoteOff         1.000000  2  69.0  64.0
     

    MIDI messages are easily represented within the SKINI protocol.

    -The class Messager can be used to acquire and parse MIDI messages from a MIDI device and SKINI messages from STDIN and socket connections. Incoming messages are acquired asynchronously and saved to an internal message queue of Skini::Message types (MIDI messages are converted to the Skini:Message format). The user then uses the Messager:popMessage() function to retrieve incoming control messages. This function does not block, instead returning a message type of zero when no more messages are in the queue. Many of the example programs included with the ToolKit distribution use a Messager instance to accept control input from the accompanying tcl/tk graphical user interfaces, from external MIDI devices, or from SKINI scorefiles.

    -In the following example, we'll modify the bethree.cpp program from the previous tutorial chapter and incorporate a Messager class to allow control via SKINI messages read from a SKINI file.

    +The class stk::Messager can be used to acquire and parse MIDI messages from a MIDI device and SKINI messages from STDIN and socket connections. Incoming messages are acquired asynchronously and saved to an internal message queue of stk::Skini::Message types (MIDI messages are converted to the stk::Skini:Message format). The user then uses the stk::Messager:popMessage() function to retrieve incoming control messages. This function does not block, instead returning a message type of zero when no more messages are in the queue. Many of the example programs included with the ToolKit distribution use a stk::Messager instance to accept control input from the accompanying tcl/tk graphical user interfaces, from external MIDI devices, or from SKINI scorefiles.

    +In the following example, we'll modify the bethree.cpp program from the previous tutorial chapter and incorporate a stk::Messager class to allow control via SKINI messages read from a SKINI file.

    // controlbee.cpp STK tutorial program
     
     #include "BeeThree.h"
    @@ -35,6 +36,8 @@ In the following example, we'll modify the bethree.cpp program from
     #include <algorithm>
     using std::min;
     
    +using namespace stk;
    +
     void usage(void) {
       // Error function in case of incorrect command-line
       // argument specifications.
    @@ -46,9 +49,9 @@ In the following example, we'll modify the bethree.cpp program from
     // The TickData structure holds all the class instances and data that
     // are shared by the various processing functions.
     struct TickData {
    -  Instrmnt *instrument;
    -  Messager messager;
    -  Skini::Message message;
    +  Instrmnt *instrument;
    +  Messager messager;
    +  Skini::Message message;
       int counter;
       bool haveMessage;
       bool done;
    @@ -104,7 +107,7 @@ In the following example, we'll modify the bethree.cpp program from
     // control updates.  It will be called automatically when the system
     // needs a new buffer of audio samples.
     int tick( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
    -         double streamTime, RtAudioStreamStatus status, void *dataPointer )
    +         double streamTime, RtAudioStreamStatus status, void *dataPointer )
     {
       TickData *data = (TickData *) dataPointer;
       register StkFloat *samples = (StkFloat *) outputBuffer;
    @@ -115,7 +118,7 @@ In the following example, we'll modify the bethree.cpp program from
         if ( !data->haveMessage ) {
           data->messager.popMessage( data->message );
           if ( data->message.type > 0 ) {
    -        data->counter = (long) (data->message.time * Stk::sampleRate());
    +        data->counter = (long) (data->message.time * Stk::sampleRate());
             data->haveMessage = true;
           }
           else
    @@ -143,31 +146,31 @@ In the following example, we'll modify the bethree.cpp program from
       if ( argc != 2 ) usage();
     
       // Set the global sample rate and rawwave path before creating class instances.
    -  Stk::setSampleRate( 44100.0 );
    -  Stk::setRawwavePath( "../../rawwaves/" );
    +  Stk::setSampleRate( 44100.0 );
    +  Stk::setRawwavePath( "../../rawwaves/" );
     
       TickData data;
    -  RtAudio dac;
    +  RtAudio dac;
     
       // Figure out how many bytes in an StkFloat and setup the RtAudio stream.
    -  RtAudio::StreamParameters parameters;
    -  parameters.deviceId = dac.getDefaultOutputDevice();
    -  parameters.nChannels = 1;
    -  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
    +  RtAudio::StreamParameters parameters;
    +  parameters.deviceId = dac.getDefaultOutputDevice();
    +  parameters.nChannels = 1;
    +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
       unsigned int bufferFrames = RT_BUFFER_SIZE;
       try {
    -    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
    +    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
       }
    -  catch ( RtError &error ) {
    -    error.printMessage();
    +  catch ( RtError &error ) {
    +    error.printMessage();
         goto cleanup;
       }
     
       try {
         // Define and load the BeeThree instrument
    -    data.instrument = new BeeThree();
    +    data.instrument = new BeeThree();
       }
    -  catch ( StkError & ) {
    +  catch ( StkError & ) {
         goto cleanup;
       }
     
    @@ -175,23 +178,23 @@ In the following example, we'll modify the bethree.cpp program from
         goto cleanup;
     
       try {
    -    dac.startStream();
    +    dac.startStream();
       }
    -  catch ( RtError &error ) {
    -    error.printMessage();
    +  catch ( RtError &error ) {
    +    error.printMessage();
         goto cleanup;
       }
     
       // Block waiting until callback signals done.
       while ( !data.done )
    -    Stk::sleep( 100 );
    +    Stk::sleep( 100 );
       
       // Shut down the output stream.
       try {
    -    dac.closeStream();
    +    dac.closeStream();
       }
    -  catch ( RtError &error ) {
    -    error.printMessage();
    +  catch ( RtError &error ) {
    +    error.printMessage();
       }
     
      cleanup:
    @@ -206,12 +209,13 @@ Assuming the program is compiled as controlbee and the SKINI scoref
     
    controlbee scores/bookert.ski
     

    Only a few basic SKINI message type case statements are included in this example. It is easy to extend the program to support a much more elaborate set of instrument control parameters.

    -This example could also be easily extended to accept "realtime" control input messages via pipe, socket or MIDI connections. The Messager class provides Messager::startStdInput(), Messager::startSocketInput(), and Messager::startMidiInput() functions for this purpose.

    -[Main tutorial page]   [Next tutorial]


    +This example could also be easily extended to accept "realtime" control input messages via pipe, socket or MIDI connections. The stk::Messager class provides stk::Messager::startStdInput(), stk::Messager::startSocketInput(), and stk::Messager::startMidiInput() functions for this purpose.

    +[Main tutorial page]   [Next tutorial]

    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/crealtime.html b/doc/html/crealtime.html index c856b4c..f360560 100644 --- a/doc/html/crealtime.html +++ b/doc/html/crealtime.html @@ -8,25 +8,27 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    Realtime Audio (callback)

    An alternative scheme for audio input/output is to define a specific function in which audio computations are performed and to let the audio system call this function when more input/output data can be accepted by the hardware (referred to as a callback scheme). In this section, we show how the previous rtsine.cpp program can be modified to work in a callback scenario. There is no "single-sample" interface for this functionality. The callback function will be invoked automatically by the audio system controller (RtAudio) when new data is needed and it is necessary to compute a full audio buffer of samples at that time (see Blocking vs. Callbacks for further information).

    -The previous section described the use of the RtWvOut class for realtime audio output. The RtWvOut::tick() function writes data to a large ring-buffer, from which data is periodically written to the computer's audio hardware via an underlying callback routine.

    + +

    +

    Realtime Audio (callback)

    An alternative scheme for audio input/output is to define a specific function in which audio computations are performed and to let the audio system call this function when more input/output data can be accepted by the hardware (referred to as a callback scheme). In this section, we show how the previous rtsine.cpp program can be modified to work in a callback scenario. There is no "single-sample" interface for this functionality. The callback function will be invoked automatically by the audio system controller (RtAudio) when new data is needed and it is necessary to compute a full audio buffer of samples at that time (see Blocking vs. Callbacks for further information).

    +The previous section described the use of the stk::RtWvOut class for realtime audio output. The stk::RtWvOut::tick() function writes data to a large ring-buffer, from which data is periodically written to the computer's audio hardware via an underlying callback routine.

    // crtsine.cpp STK tutorial program
     
     #include "SineWave.h"
     #include "RtAudio.h"
    +using namespace stk;
     
     // This tick() function handles sample computation only.  It will be
     // called automatically when the system needs a new buffer of audio
     // samples.
     int tick( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
    -         double streamTime, RtAudioStreamStatus status, void *dataPointer )
    +         double streamTime, RtAudioStreamStatus status, void *dataPointer )
     {
    -  SineWave *sine = (SineWave *) dataPointer;
    +  SineWave *sine = (SineWave *) dataPointer;
       register StkFloat *samples = (StkFloat *) outputBuffer;
     
       for ( unsigned int i=0; i<nBufferFrames; i++ )
    -    *samples++ = sine->tick();
    +    *samples++ = sine->tick();
     
       return 0;
     }
    @@ -34,32 +36,32 @@ The previous section described the use of the int main()
     {
       // Set the global sample rate before creating class instances.
    -  Stk::setSampleRate( 44100.0 );
    +  Stk::setSampleRate( 44100.0 );
     
    -  SineWave sine;
    -  RtAudio dac;
    +  SineWave sine;
    +  RtAudio dac;
     
       // Figure out how many bytes in an StkFloat and setup the RtAudio stream.
    -  RtAudio::StreamParameters parameters;
    -  parameters.deviceId = dac.getDefaultOutputDevice();
    -  parameters.nChannels = 1;
    -  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
    +  RtAudio::StreamParameters parameters;
    +  parameters.deviceId = dac.getDefaultOutputDevice();
    +  parameters.nChannels = 1;
    +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
       unsigned int bufferFrames = RT_BUFFER_SIZE;
       try {
    -    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&sine );
    +    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&sine );
       }
    -  catch ( RtError &error ) {
    -    error.printMessage();
    +  catch ( RtError &error ) {
    +    error.printMessage();
         goto cleanup;
       }
     
    -  sine.setFrequency(440.0);
    +  sine.setFrequency(440.0);
     
       try {
    -    dac.startStream();
    +    dac.startStream();
       }
    -  catch ( RtError &error ) {
    -    error.printMessage();
    +  catch ( RtError &error ) {
    +    error.printMessage();
         goto cleanup;
       }
     
    @@ -70,10 +72,10 @@ The previous section described the use of the // Shut down the output stream.
       try {
    -    dac.closeStream();
    +    dac.closeStream();
       }
    -  catch ( RtError &error ) {
    -    error.printMessage();
    +  catch ( RtError &error ) {
    +    error.printMessage();
       }
     
      cleanup:
    @@ -81,18 +83,19 @@ The previous section described the use of the return 0;
     }
     

    -The sinusoidal oscillator is created as before. The instantiation of RtAudio requires quite a few more parameters, including output/input device and channel specifiers, the data format, and the desired buffer length (in frames). In this example, we request a single output channel using the default output device, zero channels of input, the RtAudio data format which corresponds to an StkFloat, and the RT_BUFFER_SIZE defined in Stk.h. The bufferFrames argument is an API-dependent buffering parameter (see RtAudio for further information).

    +The sinusoidal oscillator is created as before. The instantiation of RtAudio requires quite a few more parameters, including output/input device and channel specifiers, the data format, and the desired buffer length (in frames). In this example, we request a single output channel using the default output device, zero channels of input, the RtAudio data format which corresponds to an StkFloat, and the RT_BUFFER_SIZE defined in Stk.h. The bufferFrames argument is an API-dependent buffering parameter (see RtAudio for further information).

    We also provide the audio system controller with a pointer to our callback function and an optional pointer to data that will be made available in the callback. In this example, we need to pass only the pointer to the oscillator. In more complex programs, it is typically necessary to put all shared data in a struct (see the next tutorial program for an example) or make use of global variables.

    -Our callback routine is the tick() function. Function arguments include pointers to the audio input and output data buffers, the buffer size (in frames), a stream time argument, a status argument to test for over/underruns, and the data pointer passed in the openStream() function (if it exists). It is necessary to cast these pointers to their corresponding data types before use. Our tick() routine simply "ticks" the oscillator for nBufferFrames counts and writes the result into the audio data buffer before returning.

    +Our callback routine is the tick() function. Function arguments include pointers to the audio input and output data buffers, the buffer size (in frames), a stream time argument, a status argument to test for over/underruns, and the data pointer passed in the openStream() function (if it exists). It is necessary to cast these pointers to their corresponding data types before use. Our tick() routine simply "ticks" the oscillator for nBufferFrames counts and writes the result into the audio data buffer before returning.

    The main() function blocks at the std::cin.get() call until the user hits the "enter" key, after which the audio controller is shut down and program execution ends.

    Blocking vs. Callbacks

    -Prior to version 4.2.0, all STK example projects and programs used blocking audio input/output functionality (typically with the RtWvIn, RtWvOut, or RtDuplex classes). In many instances, a blocking scheme results in a clearer and more straight-forward program structure. Within a graphical user interface (GUI) programming context, however, callback routines are often more natural.

    +Prior to version 4.2.0, all STK example projects and programs used blocking audio input/output functionality (typically with the RtWvIn, RtWvOut, or RtDuplex classes). In many instances, a blocking scheme results in a clearer and more straight-forward program structure. Within a graphical user interface (GUI) programming context, however, callback routines are often more natural.

    In order to allow all STK programs to function with equal proficiency on all supported computer platforms, a decision was made to modify the example projects to use audio callback routines. The result is a more complicated code structure, which is unfortunate given that we generally strive to make STK code as clear as possible for educational purposes. This was especially an issue with the demo program because it is designed to function in both realtime and non-realtime contexts. The use of global variables has been avoided by defining data structures to hold all variables that must be accessible to the callback routine and other functions. Alternative schemes for making control updates could be designed depending on particular program needs and constraints.

    -[Main tutorial page]   [Next tutorial]


    +[Main tutorial page]   [Next tutorial]
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/dir_000000.html b/doc/html/dir_d499f4756a454d8a02faa5ebe57d576f.html similarity index 95% rename from doc/html/dir_000000.html rename to doc/html/dir_d499f4756a454d8a02faa5ebe57d576f.html index 8ffac1f..bbaaf8c 100644 --- a/doc/html/dir_000000.html +++ b/doc/html/dir_d499f4756a454d8a02faa5ebe57d576f.html @@ -8,12 +8,11 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    include Directory Reference

    -

    - + + +
    +

    include Directory Reference

    @@ -60,6 +59,8 @@ + + @@ -70,6 +71,8 @@ + + @@ -86,6 +89,8 @@ + + @@ -178,7 +183,7 @@ - + @@ -200,8 +205,6 @@ - - @@ -211,11 +214,12 @@

    Files

    file  ADSR.h [code]
    file  Envelope.h [code]
    file  FileLoop.h [code]
    file  FileRead.h [code]
    file  FileWrite.h [code]
    file  Filter.h [code]
    file  Fir.h [code]
    file  Flute.h [code]
    file  FM.h [code]
    file  HevyMetl.h [code]
    file  Iir.h [code]
    file  InetWvIn.h [code]
    file  InetWvOut.h [code]
    file  Stk.h [code]
    file  SubNoise.h [code]
    file  TapDelay.h [code]
    file  TcpClient.h [code]
    file  VoicForm.h [code]
    file  WaveLoop.h [code]
    file  Whistle.h [code]
    file  Wurley.h [code]
    file  WvOut.h [code]
    +


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/dirs.html b/doc/html/dirs.html index d2a6e44..6209573 100644 --- a/doc/html/dirs.html +++ b/doc/html/dirs.html @@ -8,15 +8,17 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    STK Directories

    This directory hierarchy is sorted roughly, but not completely, alphabetically:

    • An official MIT-like license.
    • New functionality to automatically update class data when the STK sample rate changes (partly implemented).
    • -Updates for new RtAudio version 4.0.
    • +Updates for new RtAudio version 4.0. +
    • +Removed RtDuplex class, users should use RtAudio directly with a callback function.
    • Bug fix in interpolate() function in Stk.h for non-interleaved data.
    • -Fixes / improvements to the Granulate class.
    • +Fixes / improvements to the Granulate class.
    • -Fix in Whistle when doing animation.
    • +Fix in Whistle when doing animation.
    • -Fixes in BlitSquare for frequency, harmonics, and dc offset.
    • +Fixes in BlitSquare for frequency, harmonics, and dc offset.
    • Updates to Makefiles for non-realtime compile.
    • Fix in demo.cpp for voice channel assignment.
    • -Updated versions of RtMidi and RtAudio.
    • +Updated versions of RtMidi and RtAudio.
    • Updated ASIO files for MinGW compiler.
    • New FAQ in documentation.
    • -MAT-file bug fix in FileRead class.
    • +MAT-file bug fix in FileRead class.

    Version 4.2.1

    • -Greatly expanded StkFrames functionality (including interpolation and indexing by channel/frame).
    • +Greatly expanded StkFrames functionality (including interpolation and indexing by channel/frame).
    • -New Blit, BlitSaw, and BlitSquare bandlimited waveform classes (thanks to Robin Davies!).
    • +New Blit, BlitSaw, and BlitSquare bandlimited waveform classes (thanks to Robin Davies!).
    • -New Granulate granular synthesis class.
    • +New Granulate granular synthesis class.
    • -Removed Table class ... all functionality (including interpolation) now in StkFrames and FileRead classes.
    • +Removed Table class ... all functionality (including interpolation) now in StkFrames and FileRead classes.
    • -Revised Socket class (now abstract) and added TcpServer, TcpClient, and UdpSocket subclasses.
    • +Revised Socket class (now abstract) and added TcpServer, TcpClient, and UdpSocket subclasses.
    • -Added Stk::showWarnings() and Stk::printErrors() functions to dis/enable warning and error printouts.
    • +Added Stk::showWarnings() and Stk::printErrors() functions to dis/enable warning and error printouts.
    • -Extracted file I/O functionality to FileRead and FileWrite classes.
    • +Extracted file I/O functionality to FileRead and FileWrite classes.
    • -Revised WvIn / WvOut class structure (WvIn / WvOut now abstract and file I/O functionality in new FileWvIn / FileWvOut subclasses).
    • +Revised WvIn / WvOut class structure (WvIn / WvOut now abstract and file I/O functionality in new FileWvIn / FileWvOut subclasses).
    • -New SineWave class which calculates its own static table of variable length (no rawwave dependency).
    • +New SineWave class which calculates its own static table of variable length (no rawwave dependency).
    • New sinewave.raw file of length 1024 samples (used to be 256).
    • -TcpWvIn and TcpWvOut renamed InetWvIn and InetWvOut, with added support for UDP sockets.
    • +TcpWvIn and TcpWvOut renamed InetWvIn and InetWvOut, with added support for UDP sockets.
    • -Fixed bug in WvOut tickFrame( const StkFrames &frames ) function.
    • +Fixed bug in WvOut tickFrame( const StkFrames &frames ) function.
    • Fixed bug in demo.cpp when writing output soundfiles without realtime output.
    • -Added "binary" open flag to MidiFileIn class for Windows.
    • +Added "binary" open flag to MidiFileIn class for Windows.
    • Fixed oversized MAT-file header in WvOut.cpp
    • @@ -105,9 +132,9 @@ Fixed modDepth omission in Chorus.cpp.
    • Fixed DC blocker initialization bug in Flute.cpp.
    • -Changed Filter class behavior so no default clearing of state when changing coefficients.
    • +Changed Filter class behavior so no default clearing of state when changing coefficients.
    • -Fixes to RtAudio, especially for Windows DirectSound and ASIO (thanks to Robin Davies).
    • +Fixes to RtAudio, especially for Windows DirectSound and ASIO (thanks to Robin Davies).

    Version 4.2.0

    @@ -119,35 +146,35 @@ Various changes to better conform to standard C++ programming practices.
  • Fixed hidden overloaded virtual functions.
  • -New Asymp exponential envelope class.
  • +New Asymp exponential envelope class.
  • MY_FLOAT type converted to StkFloat and changed throughout (use treesed utility to search/replace in old files).
  • Most example programs rewritten to use an audio callback paradigm (which works better in OS-X).
  • -New StkFrames class for vectorized multichannel data and associated new tick() functions making use of StkFrames.
  • +New StkFrames class for vectorized multichannel data and associated new tick() functions making use of StkFrames.
  • -New RtMidi class with MIDI output capabilities (API changes).
  • +New RtMidi class with MIDI output capabilities (API changes).
  • -New MidiFileIn class for reading MIDI files.
  • +New MidiFileIn class for reading MIDI files.
  • -Revised Filter classes to use std::vectors for coefficients (API changes).
  • +Revised Filter classes to use std::vectors for coefficients (API changes).
  • -Revised Messager class (API changes).
  • +Revised Messager class (API changes).
  • -New abstract parent Effect class for various effects.
  • +New abstract parent Effect class for various effects.
  • -New abstract parent Generator class for various signal sources.
  • +New abstract parent Generator class for various signal sources.
  • -New abstract parent Function class for tables and various non-linear functions.
  • +New abstract parent Function class for tables and various non-linear functions.
  • -Skini class completely rewritten (simplified) using the C++ STL (API changes).
  • +Skini class completely rewritten (simplified) using the C++ STL (API changes).
  • -WvOut classes now clip to -1.0 to +1.0 and report out of range.
  • +WvOut classes now clip to -1.0 to +1.0 and report out of range.
  • -New Mutex class.
  • +New Mutex class.
  • -Turned Nagle algorithm off by default in Socket class.
  • +Turned Nagle algorithm off by default in Socket class.
  • Error reporting standardized in all classes.
  • @@ -155,31 +182,31 @@ Error reporting standardized in all classes. Version 4.1.3
    • -Bug fix in RtAudio for Windows DirectSound output only support
    • +Bug fix in RtAudio for Windows DirectSound output only support

    Version 4.1.2

    • -Added Linux JACK support to RtAudio.
    • +Added Linux JACK support to RtAudio.
    • -Added optional doNormalize argument to WvIn to allow specification of data normalization or not.
    • +Added optional doNormalize argument to WvIn to allow specification of data normalization or not.
    • Added volume control to demo program and various tcl scripts.
    • Added support for dynamic rawwavePath() setting.
    • -WaveLoop bug fix.
    • +WaveLoop bug fix.
    • -Fixed bug in ADSR::setReleaseTime() method.
    • +Fixed bug in ADSR::setReleaseTime() method.
    • -Fixed missing initialization of apInput in non-default constructor of DelayA class.
    • +Fixed missing initialization of apInput in non-default constructor of DelayA class.
    • -Added time seeding of random number generator to Noise constructor.
    • +Added time seeding of random number generator to Noise constructor.
    • -Update to the contentsAt() method of Delay class.
    • +Update to the contentsAt() method of Delay class.
    • -WAV file fixes (8-bit) in WvIn and WvOut classes.
    • +WAV file fixes (8-bit) in WvIn and WvOut classes.
    • Configure script changes.
    • @@ -189,7 +216,7 @@ Updated <iostream> include statements and appended "std::" as necessary th Version 4.1.1
      • -Bug fix in RtAudio for Macintosh OS X and Windows ASIO duplex operation.
      • +Bug fix in RtAudio for Macintosh OS X and Windows ASIO duplex operation.
      • Windows ASIO fix in Stk.h.
      • @@ -205,21 +232,21 @@ Version 4.1
      • Macintosh OS X support added.
      • -New Whistle class.
      • +New Whistle class.
      • -Added Voicer, SingWave, and VoicForm classes.
      • +Added Voicer, SingWave, and VoicForm classes.
      • Improvements/fixes to the banded waveguide instruments.
      • -Demo program now uses Voicer, allowing polyphony.
      • +Demo program now uses Voicer, allowing polyphony.
      • Demo tcl/tk scripts changed to use SKINI PitchChange instead of PitchBend.
      • Demo program response to PitchBend modified to octave up/down.
      • -Several RtAudio fixes and improvements (OS X and Windows ASIO support added).
      • +Several RtAudio fixes and improvements (OS X and Windows ASIO support added).
      • -Added nextOut() method to Delay classes.
      • +Added nextOut() method to Delay classes.
      • Documentation fixes for Reverb classes.
      • @@ -231,7 +258,7 @@ Multivoice flag (-n NUMBER) added as command line option to demo program.
      • Sample rate flag added as command line option to example programs.
      • -Socket port number added as command line option to example programs.
      • +Socket port number added as command line option to example programs.

      Version 4.0

      @@ -239,23 +266,23 @@ Version 4.0
    • New documentation and tutorial.
    • -Several new instruments, including Saxofony, BlowBotl, and StifKarp.
    • +Several new instruments, including Saxofony, BlowBotl, and StifKarp.
    • -New Stk base class, replacing Object class.
    • +New Stk base class, replacing Object class.
    • -New Filter class structure and methods.
    • +New Filter class structure and methods.
    • -Extensive modifications to WvIn and WvOut class structures and methods.
    • +Extensive modifications to WvIn and WvOut class structures and methods.
    • -Looping functionality moved to WaveLoop (subclass of WvIn).
    • +Looping functionality moved to WaveLoop (subclass of WvIn).
    • -Automatic file type detection in WvIn ... hosed WavWvIn, AifWvIn, RawWavIn, SndWavIn, and MatWvIn subclasses.
    • +Automatic file type detection in WvIn ... hosed WavWvIn, AifWvIn, RawWavIn, SndWavIn, and MatWvIn subclasses.
    • -New file type specifier argument in WvOut ... hosed WavWvOut, AifWvOut, RawWavOut, SndWavOut, and MatWvOut subclasses.
    • +New file type specifier argument in WvOut ... hosed WavWvOut, AifWvOut, RawWavOut, SndWavOut, and MatWvOut subclasses.
    • -Some simplifications of Messager class (was Controller).
    • +Some simplifications of Messager class (was Controller).
    • -New independent RtAudio class.
    • +New independent RtAudio class.
    • Extensive revisions in code and a significant number of API changes.
    @@ -275,15 +302,15 @@ Added native ALSA support for linux.
  • Added optional "device" argument to all "Rt" classes (audio and MIDI) and printout of devices when argument is invalid.
  • -WvIn classes rewritten to support very big files (incremental load from disk).
  • +WvIn classes rewritten to support very big files (incremental load from disk).
  • Changed WvIn/WvOut classes to work with sample frame buffers.
  • -Fixed looping and negative rate calculations in WvIn classes.
  • +Fixed looping and negative rate calculations in WvIn classes.
  • -Fixed interpolation bug in RtWvIn.
  • +Fixed interpolation bug in RtWvIn.
  • -Windoze RtAudio code rewritten (thank Dave!).
  • +Windoze RtAudio code rewritten (thank Dave!).
  • Simplified byte-swapping functions (in-place swapping).
  • @@ -299,9 +326,9 @@ Version 3.1
  • New RagaMatic project ... very cool!!!
  • -Less clipping in the Shakers class.
  • +Less clipping in the Shakers class.
  • -Added "microphone position" to Mandolin in STKdemo.
  • +Added "microphone position" to Mandolin in STKdemo.
  • Fixed MIDI system message exclusion under Irix.
  • @@ -327,7 +354,7 @@ Version 3.0
  • New define flags for OS and realtime dependencies (this will probably cause problems for old personal STK code, but it was necessary to make future ports easier).
  • -Expanded and cleaned the Shakers class.
  • +Expanded and cleaned the Shakers class.
  • New BowedBar algorithm/class.
  • @@ -347,13 +374,13 @@ Multiple simultaneous socket client connections to STK servers now possible. MD2SKINI now can merge MIDI and piped messages under Irix and Linux (for TCL->MD2SKINI->syntmono control).
  • -Defined INT16 and INT32 types and fixed various WvIn and WvOut classes.
  • +Defined INT16 and INT32 types and fixed various WvIn and WvOut classes.
  • Updated MatWvIn and MatWvOut for new MAT-file documentation from Matlab.
  • New demo Tcl/Tk GUI (TclDemo.tcl).
  • -Minor fixes to FM behavior.
  • +Minor fixes to FM behavior.
  • Added record/duplex capabilities to RTSoundIO (Linux, SGI, and Windoze).
  • @@ -361,11 +388,11 @@ Fixed bugs in WavWvOut and MatWvOut header specifications.
  • Added RawWvOut class.
  • -New WvIn class with RawWvIn, SndWvIn, WavWvIn, MatWvIn, and RTWvIn subclasses.
  • +New WvIn class with RawWvIn, SndWvIn, WavWvIn, MatWvIn, and RTWvIn subclasses.
  • Removed RawWave, RawShot, RawInterp, and RawLoop classes (supplanted by RawWvIn).
  • -Multi-channel data support in WvIn and WvOut classes using MY_MULTI data type (pointer to StkFloat) and the methods mtick() and mlastOutput().
  • +Multi-channel data support in WvIn and WvOut classes using MY_MULTI data type (pointer to StkFloat) and the methods mtick() and mlastOutput().
  • Now writing to primary buffer under Windoze when allowed by hardware.
  • @@ -399,19 +426,20 @@ MIDI input (with optional time-stamping) supported on SGI, Linux (OSS device dri
  • Various Sound Output Options - .wav, .snd, and .mat (Matlab MAT-file) soundfile outputs are supported on all operating systems. I hacked out the MAT-file structure, so you don't have to include any platform-specific libraries. Realtime sound output is provided as well, except under NeXTStep.
  • -Multiple Reverberator Implementations - Reverb subclasses of JCRev and NRev (popular reverberator implementations from CCRMA) have been written. Perry's original reverb implementation still exists as PRCRev. All reverberators now take a T60 initializer argument.
  • +Multiple Reverberator Implementations - Reverb subclasses of JCRev and NRev (popular reverberator implementations from CCRMA) have been written. Perry's original reverb implementation still exists as PRCRev. All reverberators now take a T60 initializer argument.
  • -MD2SKINI - A program which parses a MIDI input stream and spits out SKINI code. The output of MD2SKINI is typically piped into an STK instrument executable (eg. MD2SKINI | syntmono Clarinet -r -i). In addition, you can supply a filename argument to MD2SKINI and have it simultaneously record a SKINI score file for future reuse.
  • +MD2SKINI - A program which parses a MIDI input stream and spits out SKINI code. The output of MD2SKINI is typically piped into an STK instrument executable (eg. MD2SKINI | syntmono Clarinet -r -i). In addition, you can supply a filename argument to MD2SKINI and have it simultaneously record a SKINI score file for future reuse.
  • Modifications to Object.h for OS_TYPE compilation dependencies. Makefile automatically determines OS_TYPE when invoked (if you have the GNU makefile utilities installed on your system).
  • A single distribution for all platforms. The Unix and Windows versions have been merged into a single set of classes. Makefiles and Visual C++ workspace/project files are provided for compiling.
  • +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css index decae9e..3767dc9 100644 --- a/doc/html/doxygen.css +++ b/doc/html/doxygen.css @@ -1,309 +1,441 @@ -BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { - font-family: Geneva, Arial, Helvetica, sans-serif; +body, table, div, p, dl { + font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; + font-size: 12px; } -BODY,TD { - font-size: 90%; -} -H1 { + +/* @group Heading Levels */ + +h1 { text-align: center; - font-size: 160%; + font-size: 150%; } -H2 { - font-size: 120%; + +h2 { + font-size: 120%; } -H3 { - font-size: 100%; + +h3 { + font-size: 100%; } -CAPTION { font-weight: bold } -DIV.qindex { - width: 100%; - background-color: #eeeeff; - border: 1px solid #b0b0b0; + +/* @end */ + +caption { + font-weight: bold; +} + +div.qindex, div.navtab{ + background-color: #e8eef2; + border: 1px solid #84b0c7; text-align: center; margin: 2px; padding: 2px; - line-height: 140%; } -DIV.nav { + +div.qindex, div.navpath { width: 100%; - background-color: #eeeeff; - border: 1px solid #b0b0b0; - text-align: center; - margin: 2px; - padding: 2px; line-height: 140%; } -DIV.navtab { - background-color: #eeeeff; - border: 1px solid #b0b0b0; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; + +div.navtab { + margin-right: 15px; } -TD.navtab { - font-size: 70%; -} -A.qindex { - text-decoration: none; - font-weight: bold; - color: #1A419D; -} -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #1A419D -} -A.qindex:hover { + +/* @group Link Styling */ + +a { + color: #153788; + font-weight: normal; text-decoration: none; - background-color: #ddddff; } -A.qindexHL { - text-decoration: none; + +.contents a:visited { + color: #1b77c5; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { font-weight: bold; background-color: #6666cc; color: #ffffff; border: 1px double #9295C2; } -A.qindexHL:hover { - text-decoration: none; - background-color: #6666cc; - color: #ffffff; + +.contents a.qindexHL:visited { + color: #ffffff; } -A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } -A.el { text-decoration: none; font-weight: bold } -A.elRef { font-weight: bold } -A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} -A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} -A.codeRef:link { font-weight: normal; color: #0000FF} -A.codeRef:visited { font-weight: normal; color: #0000FF} -A:hover { text-decoration: none; background-color: #f2f2ff } -DL.el { margin-left: -1cm } + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code { +} + +a.codeRef { +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + .fragment { - font-family: Fixed, monospace; - font-size: 95%; + font-family: monospace, fixed; + font-size: 105%; } -PRE.fragment { + +pre.fragment { border: 1px solid #CCCCCC; background-color: #f5f5f5; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 2px; - margin-right: 8px; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; + padding: 4px 6px; + margin: 4px 8px 4px 2px; } -DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } -TD.md { background-color: #F4F4FB; font-weight: bold; } -TD.mdPrefix { - background-color: #F4F4FB; - color: #606060; - font-size: 80%; + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px } -TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } -TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; } -DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } -BODY { + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { background: white; color: black; margin-right: 20px; margin-left: 20px; } -TD.indexkey { - background-color: #eeeeff; + +td.indexkey { + background-color: #e8eef2; font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; border: 1px solid #CCCCCC; + margin: 2px 0px 2px 0; + padding: 2px 10px; } -TD.indexvalue { - background-color: #eeeeff; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; + +td.indexvalue { + background-color: #e8eef2; border: 1px solid #CCCCCC; + padding: 2px 10px; + margin: 2px 0px; } -TR.memlist { - background-color: #f0f0f0; + +tr.memlist { + background-color: #f0f0f0; } -P.formulaDsp { text-align: center; } -IMG.formulaDsp { } -IMG.formulaInl { vertical-align: middle; } -SPAN.keyword { color: #008000 } -SPAN.keywordtype { color: #604020 } -SPAN.keywordflow { color: #e08000 } -SPAN.comment { color: #800000 } -SPAN.preprocessor { color: #806020 } -SPAN.stringliteral { color: #002080 } -SPAN.charliteral { color: #008080 } -.mdTable { - border: 1px solid #868686; - background-color: #F4F4FB; + +p.formulaDsp { + text-align: center; } -.mdRow { - padding: 8px 10px; + +img.formulaDsp { + } -.mdescLeft { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; + +img.formulaInl { + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +/* @end */ + +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} + +th.dirtab { + background: #e8eef2; + font-weight: bold; +} + +hr { + height: 0; + border: none; + border-top: 1px solid #666; +} + +/* @group Member Descriptions */ + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.mdescRight { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.memItemLeft { - padding: 1px 0px 0px 8px; + border: none; margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; + padding: 1px 0 0 8px; } -.memItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; } -.memTemplItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; + +.memItemLeft, .memItemRight, .memTemplParams { + border-top: 1px solid #ccc; } + .memTemplParams { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - color: #606060; - background-color: #FAFAFA; + color: #606060; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { font-size: 80%; + color: #606060; + font-weight: normal; + margin-left: 3px; } -.search { color: #003399; - font-weight: bold; + +.memnav { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; } -FORM.search { - margin-bottom: 0px; - margin-top: 0px; + +.memitem { + padding: 0; } -INPUT.search { font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #eeeeff; + +.memname { + white-space: nowrap; + font-weight: bold; } -TD.tiny { font-size: 75%; + +.memproto, .memdoc { + border: 1px solid #84b0c7; } -a { - color: #252E78; + +.memproto { + padding: 0; + background-color: #d5e1e8; + font-weight: bold; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + -moz-border-radius-topleft: 8px; + -moz-border-radius-topright: 8px; } -a:visited { - color: #3D2185; + +.memdoc { + padding: 2px 5px; + background-color: #eef3f5; + border-top-width: 0; + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; } -.dirtab { padding: 4px; - border-collapse: collapse; - border: 1px solid #b0b0b0; + +.paramkey { + text-align: right; } -TH.dirtab { background: #eeeeff; - font-weight: bold; + +.paramtype { + white-space: nowrap; } -HR { height: 1px; - border: none; - border-top: 1px solid black; + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} + +/* @end */ + +/* @group Directory (tree) */ + +/* for the tree view */ + +.ftvtree { + font-family: sans-serif; + margin: 0.5em; +} + +/* these are for tree view when used as main index */ + +.directory { + font-size: 9pt; + font-weight: bold; +} + +.directory h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +/* +The following two styles can be used to replace the root node title +with an image of your choice. Simply uncomment the next two styles, +specify the name of your image and be sure to set 'height' to the +proper pixel height of your image. +*/ + +/* +.directory h3.swap { + height: 61px; + background-repeat: no-repeat; + background-image: url("yourimage.gif"); +} +.directory h3.swap span { + display: none; +} +*/ + +.directory > h3 { + margin-top: 0; +} + +.directory p { + margin: 0px; + white-space: nowrap; +} + +.directory div { + display: none; + margin: 0px; +} + +.directory img { + vertical-align: -30%; +} + +/* these are for tree view when not used as main index */ + +.directory-alt { + font-size: 100%; + font-weight: bold; +} + +.directory-alt h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +.directory-alt > h3 { + margin-top: 0; +} + +.directory-alt p { + margin: 0px; + white-space: nowrap; +} + +.directory-alt div { + display: none; + margin: 0px; +} + +.directory-alt img { + vertical-align: -30%; +} + +/* @end */ + +address { + font-style: normal; + color: #333; } diff --git a/doc/html/faq.html b/doc/html/faq.html index afcffc7..ada9c5e 100644 --- a/doc/html/faq.html +++ b/doc/html/faq.html @@ -8,13 +8,15 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    Frequently Asked Questions

    + +
    +

    Frequently Asked Questions

    Does STK have a license?

    -Yes, we finally made something official for release 4.3.0. It is listed in the Stk class and a few other places in the distribution, but I'll repeat it here for clarity:

    -

    The Synthesis ToolKit in C++ (STK) is a set of open source audio
    +Yes, we finally made something official for release 4.3.0. It is listed in the Stk class and a few other places in the distribution, but I'll repeat it here for clarity:

    +

    +The Synthesis ToolKit in C++ (STK) is a set of open source audio
     signal processing and algorithmic synthesis classes written in the
     C++ programming language. STK was designed to facilitate rapid
     development of music synthesis and audio processing software, with
    @@ -28,7 +30,7 @@ work with any standard C++ compiler.
     STK WWW site: http://ccrma.stanford.edu/software/stk/
     
     The Synthesis ToolKit in C++ (STK)
    -Copyright (c) 1995-2007 Perry R. Cook and Gary P. Scavone
    +Copyright (c) 1995-2009 Perry R. Cook and Gary P. Scavone
     
     Permission is hereby granted, free of charge, to any person obtaining
     a copy of this software and associated documentation files (the
    @@ -55,27 +57,24 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
     SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     

    Why is my file sample rate wrong?

    -When the FileWvIn class loads a soundfile, it automatically sets its internal read increment based on the soundfile rate and the current STK sample rate. For example, if the current STK sample rate is 44100 Hz and the soundfile rate is 22050 Hz, the read increment, or rate, will be set to 0.5 and the file will be interpolated so that is sounds correct at 44100 Hz. For most cases, this works fine. However, consider the following example:

    -

    FileWvIn input( "infile" );                 // read an input soundfile
    +When the FileWvIn class loads a soundfile, it automatically sets its internal read increment based on the soundfile rate and the current STK sample rate. For example, if the current STK sample rate is 44100 Hz and the soundfile rate is 22050 Hz, the read increment, or rate, will be set to 0.5 and the file will be interpolated so that is sounds correct at 44100 Hz. For most cases, this works fine. However, consider the following example:

    +

    FileWvIn input( "infile" );                 // read an input soundfile
     StkFloat sampleRate = input.getFileRate();
    -Stk::setSampleRate( sampleRate );           // set a new STK sample rate based on the file rate
    +Stk::setSampleRate( sampleRate );           // set a new STK sample rate based on the file rate
     

    -With version 4.3 and higher of STK, the FileWvIn class will be notified of a sample rate change and it will automatically adjust its read rate accordingly. Previous versions of STK did not perform this change and thus, the read rate could end up being incorrect. If you do not want FileWvIn to perform this automatic adjustment, you can call the ignoreSampleRateChange() function for a given class instance.

    -What is the difference between the tick() and tickFrame() functions?

    -tickFrame() functions are provided in classes that can handle multi-channel data. A sample frame of audio data represents a single "slice" in time across many audio channels. The WvIn and WvOut subclasses are the primary classes in STK that currently implement the tickFrame() functions. tick() functions are used for monophonic classes. Note, however, that the WvIn and WvOut classes also implement tick() functions though their behavior is dependent on the number of channels you are working with. For example, if using the FileWvIn class with a monophonic soundfile, then there is no difference between the tick() and tickFrame() functions (aside from the format of their arguments). But if you have a multi-channel file open, then the single value returned from the tick() function is an average of all the samples in the multi-channel sample frame.

    -Hey, why was the tick() function replaced by computeSample() in various STK classes?

    -C++ doesn't like overloaded virtual functions. All STK classes that implement a single-sample tick() function also provide an overloaded version that takes an StkFrames argument (for vectorized computations). Further, many STK classes inherit from abstract base classes (Instrmnt, Generator, ...) and it is most convenient to define functionality common to all subclasses (like the tick() function that takes an StkFrames argument) in only the base class. So, to get around the overloaded virtual function problem, STK now uses the computeSample() function as a non-overloaded virtual function that is implemented in all subclasses (it essentially replaces the tick() function). Note, however, that the overloaded tick() functions are still available to the user ... they are implemented in the base classes.

    +With version 4.3 and higher of STK, the FileWvIn class will be notified of a sample rate change and it will automatically adjust its read rate accordingly. Previous versions of STK did not perform this change and thus, the read rate could end up being incorrect. If you do not want FileWvIn to perform this automatic adjustment, you can call the ignoreSampleRateChange() function for a given class instance.

    Why does the sound I generated with STK sound like *&#@!?

    If the resultant sound generated by an STK program sounds like noise (and you're not doing an MLS experiment), the problem is likely related to the byte "endianness" of your computer. By default, STK assumes "big endian" byte order. If you are working with STK classes on a PC (Windows or Linux), you must define the __LITTLE_ENDIAN__ preprocessor definition before compiling. If after reading this you realize you need to make this change, do not forget to recompile all STK classes from scratch.

    Why do I get a Tk display error message?

    -The following error will be printed to your terminal window if you attempt to start an STK tcl/tk interface without the X Server first running:

    -

    Application initialization failed: this isn't a Tk applicationcouldn't connect to display ":0.0"
    +The following error may be printed to your terminal window (depending on the version of the tcl/tk interpreter you are running) if you attempt to start an STK tcl/tk interface without the X Server first running:

    +

    Application initialization failed: this isn't a Tk applicationcouldn't connect to display ":0.0"
     

    -Simply start your X server and then try the command again.


    +Simply start your X server and then try the command again.
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/files.html b/doc/html/files.html index a9df442..c430760 100644 --- a/doc/html/files.html +++ b/doc/html/files.html @@ -8,8 +8,9 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    STK File List

    Here is a list of all documented files with brief descriptions: + +
    +

    File List

    Here is a list of all documented files with brief descriptions:
    @@ -32,11 +33,13 @@ + + @@ -45,6 +48,7 @@ + @@ -90,7 +94,7 @@ - + @@ -101,17 +105,17 @@ -
    ADSR.h [code]
    Asymp.h [code]
    BandedWG.h [code]
    Echo.h [code]
    Effect.h [code]
    Envelope.h [code]
    FileLoop.h [code]
    FileRead.h [code]
    FileWrite.h [code]
    FileWvIn.h [code]
    FileWvOut.h [code]
    Filter.h [code]
    Fir.h [code]
    Flute.h [code]
    FM.h [code]
    FMVoices.h [code]
    Generator.h [code]
    Granulate.h [code]
    HevyMetl.h [code]
    Iir.h [code]
    InetWvIn.h [code]
    InetWvOut.h [code]
    Instrmnt.h [code]
    Sphere.h [code]
    StifKarp.h [code]
    Stk.h [code]
    SubNoise.h [code]
    TapDelay.h [code]
    TcpClient.h [code]
    TcpServer.h [code]
    Thread.h [code]
    Vector3D.h [code]
    Voicer.h [code]
    VoicForm.h [code]
    WaveLoop.h [code]
    Whistle.h [code]
    Wurley.h [code]
    WvIn.h [code]
    WvOut.h [code]
    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/filtering.html b/doc/html/filtering.html index e3b9711..5c7d74f 100644 --- a/doc/html/filtering.html +++ b/doc/html/filtering.html @@ -8,13 +8,15 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    Using Filters

    In this section, we demonstrate the use of a few of the STK filter classes. The Filter class provides functionality to implement a generalized digital filter of any type, similar to the filter function in Matlab. In this example, we create a Filter instance and initialize it with specific numerator and denominator coefficients. We then compute its impulse response for 20 samples.

    -

    #include "Filter.h"
    +
    +
    +

    Using Filters

    In this section, we demonstrate the use of a few of the STK filter classes. The stk::Iir class provides functionality to implement a generalized infinite impulse response (IIR) digital filter, similar to the filter function in Matlab. In this example, we create an stk::Iir instance and initialize it with specific numerator and denominator coefficients. We then compute its impulse response for 20 samples.

    +

    #include "Iir.h"
    +using namespace stk;
     
     int main()
     {
    -  StkFrames output( 20, 1 );   // initialize StkFrames to 20 frames and 1 channel (default: interleaved)
    +  StkFrames output( 20, 1 );   // initialize StkFrames to 20 frames and 1 channel (default: interleaved)
       output[0] = 1.0;
     
       std::vector<StkFloat> numerator( 5, 0.1 ); // create and initialize numerator coefficients
    @@ -23,7 +25,7 @@
       denominator.push_back( 0.3 );
       denominator.push_back( -0.5 );
     
    -  Filter filter( numerator, denominator );
    +  Iir filter( numerator, denominator );
     
       filter.tick( output );
       for ( unsigned int i=0; i<output.size(); i++ ) {
    @@ -33,44 +35,46 @@
       return 0;
     }
     

    -The Filter class implements the standard difference equation

     a[0]*y[n] = b[0]*x[n] + ... + b[nb]*x[n-nb] - a[1]*y[n-1] - ... - a[na]*y[n-na],
    +The stk::Iir class implements the standard difference equation 
     a[0]*y[n] = b[0]*x[n] + ... + b[nb]*x[n-nb] - a[1]*y[n-1] - ... - a[na]*y[n-na],
     

    -where "b" values are numerator coefficients and "a" values are denominator coefficients. Note that if the first denominator coefficient is not 1.0, the Filter class automatically normalizes all filter coefficients by that value. The coefficient values are passed to the Filter class via a C++ vector, a container object provided by the C++ Standard Library.

    -Most STK classes use more specific types of digital filters, such as the OneZero, OnePole, TwoPole, or BiQuad varieties. These classes inherit from the Filter class and provide specific functionality particular to their use, as well as functions to independently control individual coefficient values.

    +where "b" values are numerator coefficients and "a" values are denominator coefficients. Note that if the first denominator coefficient is not 1.0, the Iir class automatically normalizes all filter coefficients by that value. The coefficient values are passed to the Iir class via a C++ vector, a container object provided by the C++ Standard Library.

    +Most STK classes use more specific types of digital filters, such as the stk::OneZero, stk::OnePole, stk::TwoPole, or stk::BiQuad varieties. These classes inherit from the stk::Filter abstract base class and provide specific functionality particular to their use, as well as functions to independently control individual coefficient values.

    Resonances:

    -The STK BiQuad and TwoPole classes provide functionality for creating resonance filters. The following example demonstrates how to create a resonance centered at 440 Hz that is used to filter the output of a Noise generator.

    +The STK stk::BiQuad and stk::TwoPole classes provide functionality for creating resonance filters. The following example demonstrates how to create a resonance centered at 440 Hz that is used to filter the output of a stk::Noise generator.

    #include "BiQuad.h"
     #include "Noise.h"
    +using namespace stk;
     
     int main()
     {
    -  StkFrames output( 20, 1 );   // initialize StkFrames to 20 frames and 1 channel (default: interleaved)
    -  Noise noise;
    +  StkFrames output( 20, 1 );   // initialize StkFrames to 20 frames and 1 channel (default: interleaved)
    +  Noise noise;
     
    -  BiQuad biquad;
    -  biquad.setResonance( 440.0, 0.98, true ); // automatically normalize for unity peak gain
    +  BiQuad biquad;
    +  biquad.setResonance( 440.0, 0.98, true ); // automatically normalize for unity peak gain
     
       for ( unsigned int i=0; i<output.size(); i++ ) {
    -    output[i] = biquad.tick( noise.tick() );  // single-sample computations
    +    output[i] = biquad.tick( noise.tick() );  // single-sample computations
         std::cout << "i = " << i << " : output = " << output[i] << std::endl;
       }
     
       return 0;
     }
     

    -By passing a boolian value of true as the third argument to the BiQuad::setResonance() function, the filter coefficients are automatically scaled to achieve unity gain at the resonance peak frequency. The previous code could be easily modified for "vector-based" calculations:

    +By passing a boolian value of true as the third argument to the stk::BiQuad::setResonance() function, the filter coefficients are automatically scaled to achieve unity gain at the resonance peak frequency. The previous code could be easily modified for "vector-based" calculations:

    #include "BiQuad.h"
     #include "Noise.h"
    +using namespace stk;
     
     int main()
     {
    -  StkFrames output( 20, 1 );   // initialize StkFrames to 20 frames and 1 channel (default: interleaved)
    -  Noise noise;
    +  StkFrames output( 20, 1 );   // initialize StkFrames to 20 frames and 1 channel (default: interleaved)
    +  Noise noise;
     
    -  BiQuad biquad;
    -  biquad.setResonance( 440.0, 0.98, true ); // automatically normalize for unity peak gain
    +  BiQuad biquad;
    +  biquad.setResonance( 440.0, 0.98, true ); // automatically normalize for unity peak gain
     
    -  biquad.tick( noise.tick( output ) );      // vector-based computations
    +  biquad.tick( noise.tick( output ) );      // vector-based computations
       for ( unsigned int i=0; i<output.size(); i++ ) {
         std::cout << "i = " << i << " : output = " << output[i] << std::endl;
       }
    @@ -78,11 +82,12 @@ By passing a boolian value of true as the third argument to the return 0;
     }
     

    -[Main tutorial page]   [Next tutorial]


    +[Main tutorial page]   [Next tutorial]
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/ftv2blank.png b/doc/html/ftv2blank.png deleted file mode 100644 index 493c3c0..0000000 Binary files a/doc/html/ftv2blank.png and /dev/null differ diff --git a/doc/html/ftv2doc.png b/doc/html/ftv2doc.png deleted file mode 100644 index f72999f..0000000 Binary files a/doc/html/ftv2doc.png and /dev/null differ diff --git a/doc/html/ftv2folderclosed.png b/doc/html/ftv2folderclosed.png deleted file mode 100644 index d6d0634..0000000 Binary files a/doc/html/ftv2folderclosed.png and /dev/null differ diff --git a/doc/html/ftv2folderopen.png b/doc/html/ftv2folderopen.png deleted file mode 100644 index bbe2c91..0000000 Binary files a/doc/html/ftv2folderopen.png and /dev/null differ diff --git a/doc/html/ftv2lastnode.png b/doc/html/ftv2lastnode.png deleted file mode 100644 index e7b9ba9..0000000 Binary files a/doc/html/ftv2lastnode.png and /dev/null differ diff --git a/doc/html/ftv2link.png b/doc/html/ftv2link.png deleted file mode 100644 index 14f3fed..0000000 Binary files a/doc/html/ftv2link.png and /dev/null differ diff --git a/doc/html/ftv2mlastnode.png b/doc/html/ftv2mlastnode.png deleted file mode 100644 index 09ceb6a..0000000 Binary files a/doc/html/ftv2mlastnode.png and /dev/null differ diff --git a/doc/html/ftv2mnode.png b/doc/html/ftv2mnode.png deleted file mode 100644 index 3254c05..0000000 Binary files a/doc/html/ftv2mnode.png and /dev/null differ diff --git a/doc/html/ftv2node.png b/doc/html/ftv2node.png deleted file mode 100644 index c9f06a5..0000000 Binary files a/doc/html/ftv2node.png and /dev/null differ diff --git a/doc/html/ftv2plastnode.png b/doc/html/ftv2plastnode.png deleted file mode 100644 index 0b07e00..0000000 Binary files a/doc/html/ftv2plastnode.png and /dev/null differ diff --git a/doc/html/ftv2pnode.png b/doc/html/ftv2pnode.png deleted file mode 100644 index 2001b79..0000000 Binary files a/doc/html/ftv2pnode.png and /dev/null differ diff --git a/doc/html/ftv2vertline.png b/doc/html/ftv2vertline.png deleted file mode 100644 index b330f3a..0000000 Binary files a/doc/html/ftv2vertline.png and /dev/null differ diff --git a/doc/html/functions.html b/doc/html/functions.html index ecaaf13..aba6eef 100644 --- a/doc/html/functions.html +++ b/doc/html/functions.html @@ -8,31 +8,84 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - a -

    +: RtAudio +
  • accept() +: stk::TcpServer +
  • addInstrument() +: stk::Voicer +
  • addPhase() +: stk::FileLoop +, stk::SineWave +
  • addPhaseOffset() +: stk::FileLoop +, stk::SineWave +
  • addSampleRateAlert() +: stk::Stk +
  • addTime() +: stk::FileLoop +, stk::FileWvIn +, stk::SineWave +
  • addVelocity() +: stk::Sphere +
  • ADSR() +: stk::ADSR +
  • Api +: RtAudio +
  • Asymp() +: stk::Asymp +
  • ATTACK +: stk::ADSR + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x62.html b/doc/html/functions_0x62.html index b437457..1cd9939 100644 --- a/doc/html/functions_0x62.html +++ b/doc/html/functions_0x62.html @@ -8,31 +8,78 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - b -

    +: stk::BandedWG +
  • BeeThree() +: stk::BeeThree +
  • BiQuad() +: stk::BiQuad +
  • Blit() +: stk::Blit +
  • BlitSaw() +: stk::BlitSaw +
  • BlitSquare() +: stk::BlitSquare +
  • BlowBotl() +: stk::BlowBotl +
  • BlowHole() +: stk::BlowHole +
  • Bowed() +: stk::Bowed +
  • BowTable() +: stk::BowTable +
  • Brass() +: stk::Brass + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x63.html b/doc/html/functions_0x63.html index 507d190..a09e1c1 100644 --- a/doc/html/functions_0x63.html +++ b/doc/html/functions_0x63.html @@ -8,35 +8,157 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - c -

    +: stk::Thread +
  • cancelCallback() +: RtMidiIn +
  • channel +: stk::Skini::Skini::Message +
  • channels() +: stk::FileRead +, stk::StkFrames +
  • channelsIn() +: stk::Filter +
  • channelsOut() +: stk::Filter +, stk::Generator +, stk::Instrmnt +, stk::Voicer +, stk::WvIn +, stk::Effect +
  • Chorus() +: stk::Chorus +
  • Clarinet() +: stk::Clarinet +
  • clear() +: stk::BlowBotl +, stk::PitShift +, stk::Plucked +, stk::BlowHole +, stk::PluckTwo +, stk::PRCRev +, stk::Bowed +, stk::Resonate +, stk::Sampler +, stk::Brass +, stk::Saxofony +, stk::Simple +, stk::Chorus +, stk::Sitar +, stk::StifKarp +, stk::Clarinet +, stk::VoicForm +, stk::Whistle +, stk::DelayA +, stk::Echo +, stk::Effect +, stk::Filter +, stk::Flute +, stk::FM +, stk::JCRev +, stk::Mesh2D +, stk::BandedWG +, stk::Modal +, stk::NRev +
  • clipStatus() +: stk::WvOut +
  • close() +: stk::FileRead +, stk::FileWrite +, stk::Socket +
  • closeFile() +: stk::FileLoop +, stk::FileWvIn +, stk::FileWvOut +
  • closePort() +: RtMidiOut +, RtMidiIn +, RtMidi +
  • closeStream() +: RtAudio +
  • connect() +: stk::TcpClient +, stk::InetWvOut +
  • contentsAt() +: stk::Delay +, stk::DelayL +, stk::DelayA +
  • controlChange() +: stk::Moog +, stk::ModalBar +, stk::Modal +, stk::Resonate +, stk::Saxofony +, stk::Brass +, stk::BandedWG +, stk::Bowed +, stk::Flute +, stk::Instrmnt +, stk::Sampler +, stk::Whistle +, stk::Shakers +, stk::Voicer +, stk::Clarinet +, stk::Voicer +, stk::Mandolin +, stk::BlowHole +, stk::FMVoices +, stk::StifKarp +, stk::Mesh2D +, stk::Simple +, stk::BlowBotl +, stk::FM +, stk::VoicForm + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x64.html b/doc/html/functions_0x64.html index bca2f03..cca6e8b 100644 --- a/doc/html/functions_0x64.html +++ b/doc/html/functions_0x64.html @@ -8,31 +8,82 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - d -

    +: stk::Modal +
  • dataRate() +: stk::StkFrames +
  • DEBUG_WARNING +: RtError +
  • DECAY +: stk::ADSR +
  • Delay() +: stk::Delay +
  • DelayA() +: stk::DelayA +
  • DelayL() +: stk::DelayL +
  • deviceId +: RtAudio::RtAudio::StreamParameters +
  • disconnect() +: stk::InetWvOut +
  • DONE +: stk::ADSR +
  • DRIVER_ERROR +: RtError +
  • Drummer() +: stk::Drummer +
  • duplexChannels +: RtAudio::RtAudio::DeviceInfo + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x65.html b/doc/html/functions_0x65.html index 8791dd2..32d0358 100644 --- a/doc/html/functions_0x65.html +++ b/doc/html/functions_0x65.html @@ -8,25 +8,67 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - e -

    +: stk::Echo +
  • Effect() +: stk::Effect +
  • empty() +: stk::StkFrames +
  • energy() +: stk::Delay +, stk::Mesh2D +
  • Envelope() +: stk::Envelope + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x66.html b/doc/html/functions_0x66.html index cbb758d..0ba6404 100644 --- a/doc/html/functions_0x66.html +++ b/doc/html/functions_0x66.html @@ -8,44 +8,108 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - f -

    +: stk::FileWrite +
  • FILE_MAT +: stk::FileWrite +
  • FILE_RAW +: stk::FileWrite +
  • FILE_SND +: stk::FileWrite +
  • FILE_WAV +: stk::FileWrite +
  • FileLoop() +: stk::FileLoop +
  • fileRate() +: stk::FileRead +
  • FileRead() +: stk::FileRead +
  • fileSize() +: stk::FileRead +
  • FileWrite() +: stk::FileWrite +
  • FileWvIn() +: stk::FileWvIn +
  • FileWvOut() +: stk::FileWvOut +
  • Filter() +: stk::Filter +
  • Fir() +: stk::Fir +
  • firstChannel +: RtAudio::RtAudio::StreamParameters +
  • flags +: RtAudio::RtAudio::StreamOptions +
  • floatValues +: stk::Skini::Skini::Message +
  • Flute() +: stk::Flute +
  • FM() +: stk::FM +
  • FMVoices() +: stk::FMVoices +
  • formantFrequency() +: stk::Phonemes +
  • formantGain() +: stk::Phonemes +
  • formantRadius() +: stk::Phonemes +
  • FormSwep() +: stk::FormSwep +
  • frames() +: stk::StkFrames +
  • Function() +: stk::Function + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x67.html b/doc/html/functions_0x67.html index e5c8d49..0e14fee 100644 --- a/doc/html/functions_0x67.html +++ b/doc/html/functions_0x67.html @@ -8,59 +8,150 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - g -

    +: stk::Generator +
  • getCompiledApi() +: RtAudio +
  • getCurrentApi() +: RtAudio +
  • getDefaultInputDevice() +: RtAudio +
  • getDefaultOutputDevice() +: RtAudio +
  • getDelay() +: stk::DelayL +, stk::Delay +, stk::DelayA +
  • getDeviceCount() +: RtAudio +
  • getDeviceInfo() +: RtAudio +
  • getDivision() +: stk::MidiFileIn +
  • getFileFormat() +: stk::MidiFileIn +
  • getFileRate() +: stk::FileLoop +, stk::FileWvIn +
  • getFrameCount() +: stk::WvOut +
  • getGain() +: stk::Filter +
  • getLength() +: stk::Vector3D +
  • getMass() +: stk::Sphere +
  • getMessage() +: RtError +, RtMidiIn +, stk::StkError +
  • getMessageCString() +: stk::StkError +
  • getNextEvent() +: stk::MidiFileIn +
  • getNextMidiEvent() +: stk::MidiFileIn +
  • getNumberOfTracks() +: stk::MidiFileIn +
  • getPhase() +: stk::Blit +, stk::BlitSquare +
  • getPortCount() +: RtMidi +, RtMidiIn +, RtMidiOut +
  • getPortName() +: RtMidiIn +, RtMidiOut +, RtMidi +
  • getPosition() +: stk::Sphere +
  • getRadius() +: stk::Sphere +
  • getRelativePosition() +: stk::Sphere +
  • getSize() +: stk::FileLoop +, stk::FileWvIn +
  • getState() +: stk::ADSR +, stk::Envelope +, stk::Asymp +
  • getStreamLatency() +: RtAudio +
  • getStreamSampleRate() +: RtAudio +
  • getStreamTime() +: RtAudio +
  • getTapDelays() +: stk::TapDelay +
  • getTickSeconds() +: stk::MidiFileIn +
  • getTime() +: stk::WvOut +
  • getType() +: stk::StkError +, RtError +
  • getVelocity() +: stk::Sphere +
  • getX() +: stk::Vector3D +
  • getY() +: stk::Vector3D +
  • getZ() +: stk::Vector3D +
  • Granulate() +: stk::Granulate + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x68.html b/doc/html/functions_0x68.html index 7a31ee7..1c6b2ff 100644 --- a/doc/html/functions_0x68.html +++ b/doc/html/functions_0x68.html @@ -8,22 +8,60 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - h -

    +: stk::Stk +
  • HevyMetl() +: stk::HevyMetl + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x69.html b/doc/html/functions_0x69.html index d487114..291b163 100644 --- a/doc/html/functions_0x69.html +++ b/doc/html/functions_0x69.html @@ -8,43 +8,107 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - i -

    +: stk::Socket +
  • ignoreSampleRateChange() +: stk::BiQuad +, stk::Stk +, stk::TwoPole +, stk::FormSwep +, stk::TwoZero +
  • ignoreTypes() +: RtMidiIn +
  • Iir() +: stk::Iir +
  • InetWvIn() +: stk::InetWvIn +
  • InetWvOut() +: stk::InetWvOut +
  • inputChannels +: RtAudio::RtAudio::DeviceInfo +
  • inputTick() +: stk::Mesh2D +
  • Instrmnt() +: stk::Instrmnt +
  • interpolate() +: stk::StkFrames +
  • intValues +: stk::Skini::Skini::Message +
  • INVALID_DEVICE +: RtError +
  • INVALID_PARAMETER +: RtError +
  • INVALID_USE +: RtError +
  • isConnected() +: stk::InetWvIn +
  • isDefaultInput +: RtAudio::RtAudio::DeviceInfo +
  • isDefaultOutput +: RtAudio::RtAudio::DeviceInfo +
  • isFinished() +: stk::FileWvIn +
  • isInside() +: stk::Sphere +
  • isOpen() +: stk::FileRead +, stk::FileWrite +
  • isStreamOpen() +: RtAudio +
  • isStreamRunning() +: RtAudio +
  • isValid() +: stk::Socket + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6a.html b/doc/html/functions_0x6a.html index 6febbe6..444668e 100644 --- a/doc/html/functions_0x6a.html +++ b/doc/html/functions_0x6a.html @@ -8,22 +8,58 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - j -

    +: stk::JCRev + +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6b.html b/doc/html/functions_0x6b.html index b7193b9..769be78 100644 --- a/doc/html/functions_0x6b.html +++ b/doc/html/functions_0x6b.html @@ -8,22 +8,72 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - k -

    +: stk::ADSR +, stk::Asymp +, stk::FM +, stk::Resonate +, stk::Envelope +, stk::Sampler +, stk::Simple +
  • keyOn() +: stk::ADSR +, stk::Envelope +, stk::FM +, stk::Sampler +, stk::Simple +, stk::Asymp +, stk::Resonate + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6c.html b/doc/html/functions_0x6c.html index a645769..adce3d4 100644 --- a/doc/html/functions_0x6c.html +++ b/doc/html/functions_0x6c.html @@ -8,29 +8,111 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - l -

    +: stk::Effect +, stk::Filter +, stk::Instrmnt +, stk::Voicer +, stk::Generator +, stk::WvIn +
  • lastOut() +: stk::Voicer +, stk::TwoZero +, stk::TwoPole +, stk::Asymp +, stk::SingWave +, stk::SineWave +, stk::RtWvIn +, stk::PRCRev +, stk::PoleZero +, stk::PitShift +, stk::DelayL +, stk::OnePole +, stk::NRev +, stk::Noise +, stk::Modulate +, stk::JCRev +, stk::Instrmnt +, stk::InetWvIn +, stk::OneZero +, stk::Echo +, stk::Function +, stk::FormSwep +, stk::Fir +, stk::TapDelay +, stk::BiQuad +, stk::Envelope +, stk::FileLoop +, stk::Blit +, stk::DelayA +, stk::Delay +, stk::Chorus +, stk::Iir +, stk::FileWvIn +, stk::BlitSaw +, stk::BlitSquare +, stk::Granulate +, stk::ADSR +
  • LINUX_ALSA +: RtAudio +
  • LINUX_OSS +: RtAudio +
  • listen() +: stk::InetWvIn +
  • loadWaves() +: stk::FM +
  • lock() +: stk::Mutex + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6d.html b/doc/html/functions_0x6d.html index 1d9ab8b..942ba29 100644 --- a/doc/html/functions_0x6d.html +++ b/doc/html/functions_0x6d.html @@ -8,31 +8,78 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - m -

    +: RtAudio +
  • Mandolin() +: stk::Mandolin +
  • MEMORY_ERROR +: RtError +
  • Mesh2D() +: stk::Mesh2D +
  • Messager() +: stk::Messager +
  • MidiFileIn() +: stk::MidiFileIn +
  • Modal() +: stk::Modal +
  • ModalBar() +: stk::ModalBar +
  • Modulate() +: stk::Modulate +
  • Moog() +: stk::Moog +
  • Mutex() +: stk::Mutex + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6e.html b/doc/html/functions_0x6e.html index 43cd7af..0d4d7b5 100644 --- a/doc/html/functions_0x6e.html +++ b/doc/html/functions_0x6e.html @@ -8,33 +8,141 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - n -

    +: RtAudio::RtAudio::DeviceInfo +, stk::Phonemes +
  • nativeFormats +: RtAudio::RtAudio::DeviceInfo +
  • nChannels +: RtAudio::RtAudio::StreamParameters +
  • nextMessage() +: stk::Skini +
  • nextOut() +: stk::DelayL +, stk::Delay +, stk::DelayA +
  • NO_DEVICES_FOUND +: RtError +
  • Noise() +: stk::Noise +
  • noiseGain() +: stk::Phonemes +
  • normalize() +: stk::SingWave +, stk::FileLoop +, stk::FileWvIn +
  • noteOff() +: stk::Resonate +, stk::Sampler +, stk::Saxofony +, stk::Shakers +, stk::BandedWG +, stk::Simple +, stk::SingWave +, stk::BlowBotl +, stk::Sitar +, stk::StifKarp +, stk::BlowHole +, stk::Voicer +, stk::Bowed +, stk::VoicForm +, stk::Whistle +, stk::Brass +, stk::Clarinet +, stk::Drummer +, stk::Flute +, stk::FM +, stk::Instrmnt +, stk::Mesh2D +, stk::Modal +, stk::Plucked +, stk::PluckTwo +
  • noteOn() +: stk::VoicForm +, stk::SingWave +, stk::Flute +, stk::Mandolin +, stk::Rhodey +, stk::Resonate +, stk::Voicer +, stk::Moog +, stk::TubeBell +, stk::Clarinet +, stk::Bowed +, stk::BlowBotl +, stk::StifKarp +, stk::Brass +, stk::Drummer +, stk::HevyMetl +, stk::Mesh2D +, stk::Simple +, stk::Saxofony +, stk::Modal +, stk::Instrmnt +, stk::Sitar +, stk::Plucked +, stk::BeeThree +, stk::BlowHole +, stk::PercFlut +, stk::FMVoices +, stk::Whistle +, stk::Wurley +, stk::BandedWG +, stk::Shakers +
  • NRev() +: stk::NRev +
  • numberOfBuffers +: RtAudio::RtAudio::StreamOptions + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6f.html b/doc/html/functions_0x6f.html index 162edca..8ceb0ce 100644 --- a/doc/html/functions_0x6f.html +++ b/doc/html/functions_0x6f.html @@ -8,31 +8,90 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - o -

    +: stk::OnePole +
  • OneZero() +: stk::OneZero +
  • open() +: stk::FileWrite +, stk::FileRead +
  • openFile() +: stk::Granulate +, stk::FileLoop +, stk::FileWvIn +, stk::FileWvOut +
  • openPort() +: RtMidi +, RtMidiIn +, RtMidiOut +
  • openStream() +: RtAudio +
  • openVirtualPort() +: RtMidiOut +, RtMidi +, RtMidiIn +
  • operator()() +: stk::StkFrames +
  • operator*=() +: stk::StkFrames +
  • operator+=() +: stk::StkFrames +
  • operator=() +: stk::Envelope +
  • operator[]() +: stk::StkFrames +
  • outputChannels +: RtAudio::RtAudio::DeviceInfo + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x70.html b/doc/html/functions_0x70.html index de78a60..ab5d790 100644 --- a/doc/html/functions_0x70.html +++ b/doc/html/functions_0x70.html @@ -8,35 +8,94 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - p -

    +: stk::Skini +
  • PercFlut() +: stk::PercFlut +
  • pitchBend() +: stk::Voicer +
  • PitShift() +: stk::PitShift +
  • pluck() +: stk::Mandolin +, stk::Plucked +, stk::Sitar +, stk::StifKarp +, stk::BandedWG +, stk::Mandolin +
  • Plucked() +: stk::Plucked +
  • PluckTwo() +: stk::PluckTwo +
  • PoleZero() +: stk::PoleZero +
  • popMessage() +: stk::Messager +
  • port() +: stk::Socket +
  • PRCRev() +: stk::PRCRev +
  • printErrors() +: stk::Stk +
  • printMessage() +: RtError +, stk::StkError +
  • priority +: RtAudio::RtAudio::StreamOptions +
  • probed +: RtAudio::RtAudio::DeviceInfo +
  • pushMessage() +: stk::Messager + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x71.html b/doc/html/functions_0x71.html index bdbac05..d1bd581 100644 --- a/doc/html/functions_0x71.html +++ b/doc/html/functions_0x71.html @@ -8,21 +8,58 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - q -

    +: stk::VoicForm + +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x72.html b/doc/html/functions_0x72.html index b4ec6b4..55a9c77 100644 --- a/doc/html/functions_0x72.html +++ b/doc/html/functions_0x72.html @@ -8,41 +8,112 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - r -

    +: stk::Stk +
  • read() +: stk::FileRead +
  • readBuffer() +: stk::Socket +, stk::TcpClient +, stk::Socket +, stk::TcpServer +, stk::UdpSocket +
  • ReedTable() +: stk::ReedTable +
  • RELEASE +: stk::ADSR +
  • remainder +: stk::Skini::Skini::Message +
  • removeInstrument() +: stk::Voicer +
  • removeSampleRateAlert() +: stk::Stk +
  • reset() +: stk::FileLoop +, stk::FileWvIn +, stk::Granulate +, stk::Modulate +, stk::SineWave +, stk::SingWave +, stk::Blit +, stk::BlitSaw +, stk::BlitSquare +
  • resetClipStatus() +: stk::WvOut +
  • resize() +: stk::StkFrames +
  • Resonate() +: stk::Resonate +
  • rewindTrack() +: stk::MidiFileIn +
  • Rhodey() +: stk::Rhodey +
  • RtAudio() +: RtAudio +
  • RTAUDIO_DUMMY +: RtAudio +
  • RtError() +: RtError +
  • RtMidiCallback +: RtMidiIn +
  • RtMidiIn() +: RtMidiIn +
  • RtMidiOut() +: RtMidiOut +
  • RtWvIn() +: stk::RtWvIn +
  • RtWvOut() +: stk::RtWvOut + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x73.html b/doc/html/functions_0x73.html index 5c33f00..68de775 100644 --- a/doc/html/functions_0x73.html +++ b/doc/html/functions_0x73.html @@ -8,179 +8,480 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - s -

    +: stk::Sampler +
  • sampleRate() +: stk::Stk +
  • sampleRateChanged() +: stk::Stk +
  • sampleRates +: RtAudio::RtAudio::DeviceInfo +
  • Saxofony() +: stk::Saxofony +
  • sendMessage() +: RtMidiOut +
  • setA1() +: stk::OnePole +, stk::PoleZero +, stk::TwoPole +, stk::BiQuad +
  • setA2() +: stk::BiQuad +, stk::TwoPole +
  • setAddress() +: stk::UdpSocket +
  • setAllpass() +: stk::PoleZero +
  • setAllTimes() +: stk::ADSR +
  • setAttackRate() +: stk::ADSR +
  • setAttackTime() +: stk::ADSR +
  • setB0() +: stk::BiQuad +, stk::OnePole +, stk::OneZero +, stk::PoleZero +, stk::TwoPole +, stk::TwoZero +
  • setB1() +: stk::BiQuad +, stk::OneZero +, stk::PoleZero +, stk::TwoZero +
  • setB2() +: stk::BiQuad +, stk::TwoZero +
  • setBaseLoopGain() +: stk::PluckTwo +, stk::StifKarp +
  • setBlocking() +: stk::Socket +
  • setBlockZero() +: stk::PoleZero +
  • setBlowPosition() +: stk::Saxofony +
  • setBodySize() +: stk::Mandolin +
  • setCallback() +: RtMidiIn +
  • setCoefficients() +: stk::BiQuad +, stk::Fir +, stk::Iir +, stk::OnePole +, stk::OneZero +, stk::PoleZero +, stk::TwoPole +, stk::TwoZero +
  • setControl1() +: stk::FM +
  • setControl2() +: stk::FM +
  • setDataRate() +: stk::StkFrames +
  • setDecay() +: stk::Mesh2D +
  • setDecayRate() +: stk::ADSR +
  • setDecayTime() +: stk::ADSR +
  • setDelay() +: stk::Delay +, stk::DelayA +, stk::DelayL +, stk::Echo +
  • setDenominator() +: stk::Iir +
  • setDestination() +: stk::UdpSocket +
  • setDetune() +: stk::PluckTwo +
  • setDirectGain() +: stk::Modal +
  • setEffectMix() +: stk::Effect +
  • setEndReflection() +: stk::Flute +
  • setEqualGainZeroes() +: stk::BiQuad +, stk::Resonate +
  • setFile() +: stk::Skini +
  • setFilterSweepRate() +: stk::VoicForm +
  • setFreqAndDetune() +: stk::PluckTwo +
  • setFrequency() +: stk::BandedWG +, stk::Blit +, stk::BlitSaw +, stk::BlitSquare +, stk::BlowBotl +, stk::BlowHole +, stk::Bowed +, stk::Brass +, stk::Clarinet +, stk::FileLoop +, stk::Flute +, stk::FM +, stk::FMVoices +, stk::Instrmnt +, stk::Modal +, stk::Moog +, stk::PercFlut +, stk::Plucked +, stk::PluckTwo +, stk::Rhodey +, stk::Sampler +, stk::Saxofony +, stk::Simple +, stk::SineWave +, stk::SingWave +, stk::Sitar +, stk::StifKarp +, stk::Voicer +, stk::VoicForm +, stk::Whistle +, stk::Wurley +
  • setGain() +: stk::Filter +, stk::FM +
  • setGainRate() +: stk::SingWave +
  • setGainTarget() +: stk::SingWave +
  • setGrainParameters() +: stk::Granulate +
  • setHarmonics() +: stk::Blit +, stk::BlitSaw +, stk::BlitSquare +
  • setInputPosition() +: stk::Mesh2D +
  • setInterpolate() +: stk::FileWvIn +
  • setJetDelay() +: stk::Flute +
  • setJetReflection() +: stk::Flute +
  • setLip() +: stk::Brass +
  • setMass() +: stk::Sphere +
  • setMasterGain() +: stk::Modal +
  • setMaximumDelay() +: stk::Delay +, stk::DelayA +, stk::DelayL +, stk::Echo +, stk::TapDelay +
  • setModDepth() +: stk::Chorus +
  • setModeGain() +: stk::Modal +
  • setModFrequency() +: stk::Chorus +
  • setModulationDepth() +: stk::FM +, stk::ModalBar +, stk::Moog +
  • setModulationSpeed() +: stk::FM +, stk::Moog +
  • setNotch() +: stk::TwoZero +, stk::BiQuad +, stk::Resonate +
  • setNumerator() +: stk::Iir +
  • setNX() +: stk::Mesh2D +
  • setNY() +: stk::Mesh2D +
  • setOffset() +: stk::BowTable +, stk::ReedTable +
  • setPhase() +: stk::Blit +, stk::BlitSquare +
  • setPhoneme() +: stk::VoicForm +
  • setPickupPosition() +: stk::StifKarp +
  • setPitchSweepRate() +: stk::VoicForm +
  • setPluckPosition() +: stk::PluckTwo +
  • setPole() +: stk::OnePole +
  • setPosition() +: stk::Sphere +
  • setPreset() +: stk::BandedWG +, stk::ModalBar +
  • setQueueSizeLimit() +: RtMidiIn +
  • setRadius() +: stk::Sphere +
  • setRandomFactor() +: stk::Granulate +
  • setRandomGain() +: stk::Modulate +, stk::SingWave +
  • setRate() +: stk::Envelope +, stk::FileLoop +, stk::SineWave +, stk::FileWvIn +
  • setRatio() +: stk::FM +
  • setRatioAndRadius() +: stk::Modal +
  • setRawwavePath() +: stk::Stk +
  • setReleaseRate() +: stk::ADSR +
  • setReleaseTime() +: stk::ADSR +
  • setResonance() +: stk::BiQuad +, stk::Resonate +, stk::TwoPole +, stk::FormSwep +
  • setSampleRate() +: stk::Stk +
  • setScoreFile() +: stk::Messager +
  • setSeed() +: stk::Noise +
  • setShift() +: stk::PitShift +
  • setSlope() +: stk::BowTable +, stk::ReedTable +
  • setStates() +: stk::FormSwep +
  • setStickHardness() +: stk::ModalBar +
  • setStretch() +: stk::Granulate +, stk::StifKarp +
  • setStrikePosition() +: stk::BandedWG +, stk::ModalBar +
  • setSustainLevel() +: stk::ADSR +
  • setSweepRate() +: stk::FormSwep +, stk::SingWave +
  • setSweepTime() +: stk::FormSwep +
  • setT60() +: stk::JCRev +, stk::PRCRev +, stk::NRev +
  • setTapDelays() +: stk::TapDelay +
  • setTarget() +: stk::ADSR +, stk::Asymp +, stk::Envelope +
  • setTargets() +: stk::FormSwep +
  • setTau() +: stk::Asymp +
  • setTime() +: stk::Envelope +, stk::Asymp +
  • setTonehole() +: stk::BlowHole +
  • setUnVoiced() +: stk::VoicForm +
  • setValue() +: stk::Asymp +, stk::Envelope +, stk::ADSR +
  • setVelocity() +: stk::Sphere +
  • setVent() +: stk::BlowHole +
  • setVibrato() +: stk::Bowed +
  • setVibratoGain() +: stk::Modulate +, stk::SingWave +
  • setVibratoRate() +: stk::SingWave +, stk::Modulate +
  • setVoiced() +: stk::VoicForm +
  • setVoices() +: stk::Granulate +
  • setX() +: stk::Vector3D +
  • setXYZ() +: stk::Vector3D +
  • setY() +: stk::Vector3D +
  • setZ() +: stk::Vector3D +
  • setZero() +: stk::OneZero +
  • Shakers() +: stk::Shakers +
  • showWarnings() +: stk::Stk +, RtAudio +
  • signal() +: stk::Mutex +
  • silence() +: stk::Voicer +
  • Simple() +: stk::Simple +
  • SineWave() +: stk::SineWave +
  • SingWave() +: stk::SingWave +
  • Sitar() +: stk::Sitar +
  • size() +: stk::StkFrames +
  • Skini() +: stk::Skini +
  • sleep() +: stk::Stk +
  • Socket() +: stk::Socket +
  • speak() +: stk::VoicForm +
  • Sphere() +: stk::Sphere +
  • start() +: stk::RtWvIn +, stk::Thread +, stk::RtWvOut +
  • startBlowing() +: stk::BlowHole +, stk::Flute +, stk::Clarinet +, stk::Saxofony +, stk::Brass +, stk::Whistle +, stk::BlowBotl +
  • startBowing() +: stk::BandedWG +, stk::Bowed +
  • startMidiInput() +: stk::Messager +
  • startSocketInput() +: stk::Messager +
  • startStdInput() +: stk::Messager +
  • startStream() +: RtAudio +
  • StifKarp() +: stk::StifKarp +
  • Stk() +: stk::Stk +
  • STK_FLOAT32 +: stk::Stk +
  • STK_FLOAT64 +: stk::Stk +
  • STK_SINT16 +: stk::Stk +
  • STK_SINT24 +: stk::Stk +
  • STK_SINT32 +: stk::Stk +
  • STK_SINT8 +: stk::Stk +
  • StkError() +: stk::StkError +
  • StkFrames() +: stk::StkFrames +
  • stop() +: stk::RtWvOut +, stk::RtWvIn +
  • stopBlowing() +: stk::Brass +, stk::Whistle +, stk::BlowBotl +, stk::BlowHole +, stk::Flute +, stk::Clarinet +, stk::Saxofony +
  • stopBowing() +: stk::Bowed +, stk::BandedWG +
  • stopStream() +: RtAudio +
  • streamName +: RtAudio::RtAudio::StreamOptions +
  • strike() +: stk::Modal +
  • SUSTAIN +: stk::ADSR +
  • swap16() +: stk::Stk +
  • swap32() +: stk::Stk +
  • swap64() +: stk::Stk +
  • SYSTEM_ERROR +: RtError + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x74.html b/doc/html/functions_0x74.html index c5e309e..58cf20e 100644 --- a/doc/html/functions_0x74.html +++ b/doc/html/functions_0x74.html @@ -8,33 +8,170 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - t -

    +: stk::TcpClient +
  • TcpServer() +: stk::TcpServer +
  • testCancel() +: stk::Thread +
  • Thread() +: stk::Thread +
  • THREAD_ERROR +: RtError +
  • tick() +: stk::ADSR +, stk::WvOut +, stk::WvIn +, stk::Wurley +, stk::Whistle +, stk::VoicForm +, stk::Voicer +, stk::TwoZero +, stk::TwoPole +, stk::TubeBell +, stk::TapDelay +, stk::StifKarp +, stk::Blit +, stk::Clarinet +, stk::SingWave +, stk::SineWave +, stk::Simple +, stk::Shakers +, stk::Saxofony +, stk::Sampler +, stk::RtWvOut +, stk::RtWvIn +, stk::Rhodey +, stk::Resonate +, stk::ReedTable +, stk::PRCRev +, stk::PoleZero +, stk::Plucked +, stk::PitShift +, stk::PercFlut +, stk::OneZero +, stk::Function +, stk::Sitar +, stk::OnePole +, stk::NRev +, stk::Noise +, stk::Moog +, stk::Modulate +, stk::Modal +, stk::Mesh2D +, stk::Mandolin +, stk::JetTable +, stk::Sphere +, stk::JCRev +, stk::Instrmnt +, stk::InetWvOut +, stk::InetWvIn +, stk::Iir +, stk::HevyMetl +, stk::Generator +, stk::Delay +, stk::Granulate +, stk::FormSwep +, stk::FMVoices +, stk::FM +, stk::Flute +, stk::Fir +, stk::Filter +, stk::FileWvOut +, stk::FileWvIn +, stk::FileLoop +, stk::OnePole +, stk::Envelope +, stk::Echo +, stk::Drummer +, stk::DelayL +, stk::JCRev +, stk::DelayL +, stk::DelayA +, stk::Blit +, stk::Delay +, stk::Asymp +, stk::Chorus +, stk::Brass +, stk::BowTable +, stk::OnePole +, stk::BlowHole +, stk::BlowBotl +, stk::BlitSquare +, stk::DelayL +, stk::BlitSaw +, stk::Asymp +, stk::BlitSquare +, stk::BiQuad +, stk::FileLoop +, stk::BandedWG +, stk::BeeThree +, stk::Bowed +, stk::ADSR +
  • time +: stk::Skini::Skini::Message +
  • TubeBell() +: stk::TubeBell +
  • TwoPole() +: stk::TwoPole +
  • TwoZero() +: stk::TwoZero +
  • type +: stk::Skini::Skini::Message +
  • Type +: RtError + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x75.html b/doc/html/functions_0x75.html index 6496ada..9bacc64 100644 --- a/doc/html/functions_0x75.html +++ b/doc/html/functions_0x75.html @@ -8,24 +8,65 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - u -

    +: stk::UdpSocket +
  • UNIX_JACK +: RtAudio +
  • unlock() +: stk::Mutex +
  • UNSPECIFIED +: RtAudio +, RtError + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x76.html b/doc/html/functions_0x76.html index f9f30da..9b451a3 100644 --- a/doc/html/functions_0x76.html +++ b/doc/html/functions_0x76.html @@ -8,24 +8,64 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - v -

    +: stk::Vector3D +
  • voiceGain() +: stk::Phonemes +
  • Voicer() +: stk::Voicer +
  • VoicForm() +: stk::VoicForm + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x77.html b/doc/html/functions_0x77.html index e5076cf..dcec431 100644 --- a/doc/html/functions_0x77.html +++ b/doc/html/functions_0x77.html @@ -8,35 +8,87 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - w -

    +: stk::Mutex +, stk::Thread +
  • WARNING +: RtError +
  • what() +: RtError +
  • whatsThisController() +: stk::Skini +
  • whatsThisType() +: stk::Skini +
  • Whistle() +: stk::Whistle +
  • WINDOWS_ASIO +: RtAudio +
  • WINDOWS_DS +: RtAudio +
  • write() +: stk::FileWrite +
  • writeBuffer() +: stk::UdpSocket +, stk::Socket +, stk::TcpServer +, stk::Socket +, stk::TcpClient +
  • writeBufferTo() +: stk::UdpSocket +
  • Wurley() +: stk::Wurley +
  • WvOut() +: stk::WvOut + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x78.html b/doc/html/functions_0x78.html deleted file mode 100644 index 15dd89e..0000000 --- a/doc/html/functions_0x78.html +++ /dev/null @@ -1,29 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z | ~
    - -

    -Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - x -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_0x79.html b/doc/html/functions_0x79.html deleted file mode 100644 index 8c578aa..0000000 --- a/doc/html/functions_0x79.html +++ /dev/null @@ -1,29 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z | ~
    - -

    -Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - y -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_0x7a.html b/doc/html/functions_0x7a.html deleted file mode 100644 index eb1becc..0000000 --- a/doc/html/functions_0x7a.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z | ~
    - -

    -Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - z -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_0x7e.html b/doc/html/functions_0x7e.html index f139017..d82be34 100644 --- a/doc/html/functions_0x7e.html +++ b/doc/html/functions_0x7e.html @@ -8,118 +8,216 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    + +

    +
    + +
    +
    Here is a list of all documented class members with links to the class documentation for each member:

    - ~ -

    +: stk::ADSR +
  • ~Asymp() +: stk::Asymp +
  • ~BandedWG() +: stk::BandedWG +
  • ~BeeThree() +: stk::BeeThree +
  • ~BiQuad() +: stk::BiQuad +
  • ~Blit() +: stk::Blit +
  • ~BlitSaw() +: stk::BlitSaw +
  • ~BlitSquare() +: stk::BlitSquare +
  • ~BlowBotl() +: stk::BlowBotl +
  • ~BlowHole() +: stk::BlowHole +
  • ~Bowed() +: stk::Bowed +
  • ~Brass() +: stk::Brass +
  • ~Clarinet() +: stk::Clarinet +
  • ~Delay() +: stk::Delay +
  • ~DelayA() +: stk::DelayA +
  • ~DelayL() +: stk::DelayL +
  • ~Drummer() +: stk::Drummer +
  • ~Envelope() +: stk::Envelope +
  • ~FileLoop() +: stk::FileLoop +
  • ~FileRead() +: stk::FileRead +
  • ~FileWrite() +: stk::FileWrite +
  • ~FileWvIn() +: stk::FileWvIn +
  • ~FileWvOut() +: stk::FileWvOut +
  • ~Fir() +: stk::Fir +
  • ~Flute() +: stk::Flute +
  • ~FM() +: stk::FM +
  • ~FMVoices() +: stk::FMVoices +
  • ~FormSwep() +: stk::FormSwep +
  • ~Granulate() +: stk::Granulate +
  • ~HevyMetl() +: stk::HevyMetl +
  • ~Iir() +: stk::Iir +
  • ~InetWvIn() +: stk::InetWvIn +
  • ~InetWvOut() +: stk::InetWvOut +
  • ~Mandolin() +: stk::Mandolin +
  • ~Mesh2D() +: stk::Mesh2D +
  • ~Messager() +: stk::Messager +
  • ~MidiFileIn() +: stk::MidiFileIn +
  • ~Modal() +: stk::Modal +
  • ~ModalBar() +: stk::ModalBar +
  • ~Modulate() +: stk::Modulate +
  • ~Moog() +: stk::Moog +
  • ~Mutex() +: stk::Mutex +
  • ~OnePole() +: stk::OnePole +
  • ~OneZero() +: stk::OneZero +
  • ~PercFlut() +: stk::PercFlut +
  • ~Plucked() +: stk::Plucked +
  • ~PluckTwo() +: stk::PluckTwo +
  • ~PoleZero() +: stk::PoleZero +
  • ~Resonate() +: stk::Resonate +
  • ~Rhodey() +: stk::Rhodey +
  • ~RtAudio() +: RtAudio +
  • ~RtError() +: RtError +
  • ~RtMidiIn() +: RtMidiIn +
  • ~RtMidiOut() +: RtMidiOut +
  • ~RtWvIn() +: stk::RtWvIn +
  • ~RtWvOut() +: stk::RtWvOut +
  • ~Sampler() +: stk::Sampler +
  • ~Saxofony() +: stk::Saxofony +
  • ~Shakers() +: stk::Shakers +
  • ~Simple() +: stk::Simple +
  • ~SineWave() +: stk::SineWave +
  • ~SingWave() +: stk::SingWave +
  • ~Sitar() +: stk::Sitar +
  • ~Skini() +: stk::Skini +
  • ~Socket() +: stk::Socket +
  • ~StifKarp() +: stk::StifKarp +
  • ~Stk() +: stk::Stk +
  • ~StkError() +: stk::StkError +
  • ~StkFrames() +: stk::StkFrames +
  • ~TapDelay() +: stk::TapDelay +
  • ~TcpClient() +: stk::TcpClient +
  • ~TcpServer() +: stk::TcpServer +
  • ~Thread() +: stk::Thread +
  • ~TubeBell() +: stk::TubeBell +
  • ~TwoPole() +: stk::TwoPole +
  • ~TwoZero() +: stk::TwoZero +
  • ~UdpSocket() +: stk::UdpSocket +
  • ~VoicForm() +: stk::VoicForm +
  • ~Whistle() +: stk::Whistle +
  • ~Wurley() +: stk::Wurley + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_enum.html b/doc/html/functions_enum.html index 31ba13b..92867ea 100644 --- a/doc/html/functions_enum.html +++ b/doc/html/functions_enum.html @@ -8,19 +8,32 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - - + + +

    +: RtAudio +
  • Type +: RtError + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_eval.html b/doc/html/functions_eval.html index c84c2f8..064f544 100644 --- a/doc/html/functions_eval.html +++ b/doc/html/functions_eval.html @@ -8,35 +8,75 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - - + + +

    +: RtError +
  • DECAY +: stk::ADSR +
  • DONE +: stk::ADSR +
  • DRIVER_ERROR +: RtError +
  • INVALID_DEVICE +: RtError +
  • INVALID_PARAMETER +: RtError +
  • INVALID_USE +: RtError +
  • LINUX_ALSA +: RtAudio +
  • LINUX_OSS +: RtAudio +
  • MACOSX_CORE +: RtAudio +
  • MEMORY_ERROR +: RtError +
  • NO_DEVICES_FOUND +: RtError +
  • RELEASE +: stk::ADSR +
  • RTAUDIO_DUMMY +: RtAudio +
  • SUSTAIN +: stk::ADSR +
  • SYSTEM_ERROR +: RtError +
  • THREAD_ERROR +: RtError +
  • UNIX_JACK +: RtAudio +
  • UNSPECIFIED +: RtError +, RtAudio +
  • WARNING +: RtError +
  • WINDOWS_ASIO +: RtAudio +
  • WINDOWS_DS +: RtAudio + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func.html b/doc/html/functions_func.html index b6b8261..b0663bb 100644 --- a/doc/html/functions_func.html +++ b/doc/html/functions_func.html @@ -8,30 +8,80 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - a -

    +: RtAudio +
  • accept() +: stk::TcpServer +
  • addInstrument() +: stk::Voicer +
  • addPhase() +: stk::FileLoop +, stk::SineWave +
  • addPhaseOffset() +: stk::FileLoop +, stk::SineWave +
  • addSampleRateAlert() +: stk::Stk +
  • addTime() +: stk::SineWave +, stk::FileWvIn +, stk::FileLoop +
  • addVelocity() +: stk::Sphere +
  • ADSR() +: stk::ADSR +
  • Asymp() +: stk::Asymp + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x62.html b/doc/html/functions_func_0x62.html index 13ea240..02734f4 100644 --- a/doc/html/functions_func_0x62.html +++ b/doc/html/functions_func_0x62.html @@ -8,31 +8,78 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - b -

    +: stk::BandedWG +
  • BeeThree() +: stk::BeeThree +
  • BiQuad() +: stk::BiQuad +
  • Blit() +: stk::Blit +
  • BlitSaw() +: stk::BlitSaw +
  • BlitSquare() +: stk::BlitSquare +
  • BlowBotl() +: stk::BlowBotl +
  • BlowHole() +: stk::BlowHole +
  • Bowed() +: stk::Bowed +
  • BowTable() +: stk::BowTable +
  • Brass() +: stk::Brass + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x63.html b/doc/html/functions_func_0x63.html index 8ad3748..91fe474 100644 --- a/doc/html/functions_func_0x63.html +++ b/doc/html/functions_func_0x63.html @@ -8,34 +8,155 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - c -

    +: stk::Thread +
  • cancelCallback() +: RtMidiIn +
  • channels() +: stk::StkFrames +, stk::FileRead +
  • channelsIn() +: stk::Filter +
  • channelsOut() +: stk::Generator +, stk::Instrmnt +, stk::Voicer +, stk::WvIn +, stk::Effect +, stk::Filter +
  • Chorus() +: stk::Chorus +
  • Clarinet() +: stk::Clarinet +
  • clear() +: stk::BlowHole +, stk::Plucked +, stk::PluckTwo +, stk::Bowed +, stk::PRCRev +, stk::Resonate +, stk::Brass +, stk::Sampler +, stk::Saxofony +, stk::Chorus +, stk::Simple +, stk::Sitar +, stk::Clarinet +, stk::StifKarp +, stk::VoicForm +, stk::DelayA +, stk::Whistle +, stk::Echo +, stk::Effect +, stk::Filter +, stk::Flute +, stk::FM +, stk::JCRev +, stk::BandedWG +, stk::Mesh2D +, stk::Modal +, stk::BlowBotl +, stk::NRev +, stk::PitShift +
  • clipStatus() +: stk::WvOut +
  • close() +: stk::FileRead +, stk::FileWrite +, stk::Socket +
  • closeFile() +: stk::FileWvIn +, stk::FileWvOut +, stk::FileLoop +
  • closePort() +: RtMidi +, RtMidiIn +, RtMidiOut +
  • closeStream() +: RtAudio +
  • connect() +: stk::InetWvOut +, stk::TcpClient +
  • contentsAt() +: stk::DelayA +, stk::DelayL +, stk::Delay +
  • controlChange() +: stk::Voicer +, stk::Flute +, stk::Moog +, stk::BandedWG +, stk::Shakers +, stk::Clarinet +, stk::BlowBotl +, stk::Brass +, stk::FM +, stk::Mandolin +, stk::Saxofony +, stk::FMVoices +, stk::StifKarp +, stk::Mesh2D +, stk::Modal +, stk::VoicForm +, stk::Whistle +, stk::Bowed +, stk::Instrmnt +, stk::Voicer +, stk::Simple +, stk::Sampler +, stk::BlowHole +, stk::Resonate +, stk::ModalBar + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x64.html b/doc/html/functions_func_0x64.html index 4906871..8cbbebc 100644 --- a/doc/html/functions_func_0x64.html +++ b/doc/html/functions_func_0x64.html @@ -8,27 +8,70 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - d -

    +: stk::Modal +
  • dataRate() +: stk::StkFrames +
  • Delay() +: stk::Delay +
  • DelayA() +: stk::DelayA +
  • DelayL() +: stk::DelayL +
  • disconnect() +: stk::InetWvOut +
  • Drummer() +: stk::Drummer + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x65.html b/doc/html/functions_func_0x65.html index 4145df1..877f0f4 100644 --- a/doc/html/functions_func_0x65.html +++ b/doc/html/functions_func_0x65.html @@ -8,25 +8,67 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - e -

    +: stk::Echo +
  • Effect() +: stk::Effect +
  • empty() +: stk::StkFrames +
  • energy() +: stk::Delay +, stk::Mesh2D +
  • Envelope() +: stk::Envelope + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x66.html b/doc/html/functions_func_0x66.html index 9dd9da2..3579edf 100644 --- a/doc/html/functions_func_0x66.html +++ b/doc/html/functions_func_0x66.html @@ -8,36 +8,92 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - f -

    +: stk::FileRead +
  • FileRead() +: stk::FileRead +
  • fileSize() +: stk::FileRead +
  • FileWrite() +: stk::FileWrite +
  • FileWvIn() +: stk::FileWvIn +
  • FileWvOut() +: stk::FileWvOut +
  • Filter() +: stk::Filter +
  • Fir() +: stk::Fir +
  • Flute() +: stk::Flute +
  • FM() +: stk::FM +
  • FMVoices() +: stk::FMVoices +
  • formantFrequency() +: stk::Phonemes +
  • formantGain() +: stk::Phonemes +
  • formantRadius() +: stk::Phonemes +
  • FormSwep() +: stk::FormSwep +
  • frames() +: stk::StkFrames +
  • Function() +: stk::Function + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x67.html b/doc/html/functions_func_0x67.html index 2c3bf92..627e596 100644 --- a/doc/html/functions_func_0x67.html +++ b/doc/html/functions_func_0x67.html @@ -8,59 +8,150 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - g -

    +: stk::Generator +
  • getCompiledApi() +: RtAudio +
  • getCurrentApi() +: RtAudio +
  • getDefaultInputDevice() +: RtAudio +
  • getDefaultOutputDevice() +: RtAudio +
  • getDelay() +: stk::DelayL +, stk::Delay +, stk::DelayA +
  • getDeviceCount() +: RtAudio +
  • getDeviceInfo() +: RtAudio +
  • getDivision() +: stk::MidiFileIn +
  • getFileFormat() +: stk::MidiFileIn +
  • getFileRate() +: stk::FileLoop +, stk::FileWvIn +
  • getFrameCount() +: stk::WvOut +
  • getGain() +: stk::Filter +
  • getLength() +: stk::Vector3D +
  • getMass() +: stk::Sphere +
  • getMessage() +: RtError +, RtMidiIn +, stk::StkError +
  • getMessageCString() +: stk::StkError +
  • getNextEvent() +: stk::MidiFileIn +
  • getNextMidiEvent() +: stk::MidiFileIn +
  • getNumberOfTracks() +: stk::MidiFileIn +
  • getPhase() +: stk::Blit +, stk::BlitSquare +
  • getPortCount() +: RtMidi +, RtMidiIn +, RtMidiOut +
  • getPortName() +: RtMidiIn +, RtMidiOut +, RtMidi +
  • getPosition() +: stk::Sphere +
  • getRadius() +: stk::Sphere +
  • getRelativePosition() +: stk::Sphere +
  • getSize() +: stk::FileLoop +, stk::FileWvIn +
  • getState() +: stk::ADSR +, stk::Envelope +, stk::Asymp +
  • getStreamLatency() +: RtAudio +
  • getStreamSampleRate() +: RtAudio +
  • getStreamTime() +: RtAudio +
  • getTapDelays() +: stk::TapDelay +
  • getTickSeconds() +: stk::MidiFileIn +
  • getTime() +: stk::WvOut +
  • getType() +: stk::StkError +, RtError +
  • getVelocity() +: stk::Sphere +
  • getX() +: stk::Vector3D +
  • getY() +: stk::Vector3D +
  • getZ() +: stk::Vector3D +
  • Granulate() +: stk::Granulate + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x68.html b/doc/html/functions_func_0x68.html index e6e3b1e..2783fa4 100644 --- a/doc/html/functions_func_0x68.html +++ b/doc/html/functions_func_0x68.html @@ -8,22 +8,60 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - h -

    +: stk::Stk +
  • HevyMetl() +: stk::HevyMetl + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x69.html b/doc/html/functions_func_0x69.html index 7db8afc..0f88e76 100644 --- a/doc/html/functions_func_0x69.html +++ b/doc/html/functions_func_0x69.html @@ -8,36 +8,93 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - i -

    +: stk::Socket +
  • ignoreSampleRateChange() +: stk::BiQuad +, stk::Stk +, stk::TwoPole +, stk::FormSwep +, stk::TwoZero +
  • ignoreTypes() +: RtMidiIn +
  • Iir() +: stk::Iir +
  • InetWvIn() +: stk::InetWvIn +
  • InetWvOut() +: stk::InetWvOut +
  • inputTick() +: stk::Mesh2D +
  • Instrmnt() +: stk::Instrmnt +
  • interpolate() +: stk::StkFrames +
  • isConnected() +: stk::InetWvIn +
  • isFinished() +: stk::FileWvIn +
  • isInside() +: stk::Sphere +
  • isOpen() +: stk::FileWrite +, stk::FileRead +
  • isStreamOpen() +: RtAudio +
  • isStreamRunning() +: RtAudio +
  • isValid() +: stk::Socket + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6a.html b/doc/html/functions_func_0x6a.html index bebad7f..4545a30 100644 --- a/doc/html/functions_func_0x6a.html +++ b/doc/html/functions_func_0x6a.html @@ -8,22 +8,58 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - j -

    +: stk::JCRev + +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6b.html b/doc/html/functions_func_0x6b.html index 1f5c6e8..6f75bf0 100644 --- a/doc/html/functions_func_0x6b.html +++ b/doc/html/functions_func_0x6b.html @@ -8,22 +8,72 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6c.html b/doc/html/functions_func_0x6c.html index 0b512fa..cffacea 100644 --- a/doc/html/functions_func_0x6c.html +++ b/doc/html/functions_func_0x6c.html @@ -8,27 +8,107 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6d.html b/doc/html/functions_func_0x6d.html index 65b062e..65b74c9 100644 --- a/doc/html/functions_func_0x6d.html +++ b/doc/html/functions_func_0x6d.html @@ -8,29 +8,74 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - m -

    +: stk::Mandolin +
  • Mesh2D() +: stk::Mesh2D +
  • Messager() +: stk::Messager +
  • MidiFileIn() +: stk::MidiFileIn +
  • Modal() +: stk::Modal +
  • ModalBar() +: stk::ModalBar +
  • Modulate() +: stk::Modulate +
  • Moog() +: stk::Moog +
  • Mutex() +: stk::Mutex + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6e.html b/doc/html/functions_func_0x6e.html index 462fdb1..74ba7dc 100644 --- a/doc/html/functions_func_0x6e.html +++ b/doc/html/functions_func_0x6e.html @@ -8,29 +8,132 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - n -

    +: stk::Phonemes +
  • nextMessage() +: stk::Skini +
  • nextOut() +: stk::DelayA +, stk::DelayL +, stk::Delay +
  • Noise() +: stk::Noise +
  • noiseGain() +: stk::Phonemes +
  • normalize() +: stk::FileLoop +, stk::FileWvIn +, stk::SingWave +
  • noteOff() +: stk::BlowHole +, stk::Simple +, stk::SingWave +, stk::Bowed +, stk::Sitar +, stk::StifKarp +, stk::Brass +, stk::Voicer +, stk::Clarinet +, stk::VoicForm +, stk::Whistle +, stk::Drummer +, stk::Flute +, stk::FM +, stk::Instrmnt +, stk::Mesh2D +, stk::Modal +, stk::Plucked +, stk::PluckTwo +, stk::BandedWG +, stk::Resonate +, stk::Sampler +, stk::BlowBotl +, stk::Saxofony +, stk::Shakers +
  • noteOn() +: stk::StifKarp +, stk::FMVoices +, stk::Moog +, stk::Mesh2D +, stk::BandedWG +, stk::Voicer +, stk::BlowHole +, stk::TubeBell +, stk::Shakers +, stk::VoicForm +, stk::Drummer +, stk::Bowed +, stk::SingWave +, stk::Wurley +, stk::Instrmnt +, stk::Modal +, stk::Plucked +, stk::PercFlut +, stk::Whistle +, stk::Mandolin +, stk::BlowBotl +, stk::Saxofony +, stk::Clarinet +, stk::Flute +, stk::HevyMetl +, stk::Simple +, stk::Resonate +, stk::BeeThree +, stk::Brass +, stk::Sitar +, stk::Rhodey +
  • NRev() +: stk::NRev + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6f.html b/doc/html/functions_func_0x6f.html index 412e854..2313884 100644 --- a/doc/html/functions_func_0x6f.html +++ b/doc/html/functions_func_0x6f.html @@ -8,30 +8,88 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - o -

    +: stk::OnePole +
  • OneZero() +: stk::OneZero +
  • open() +: stk::FileWrite +, stk::FileRead +
  • openFile() +: stk::Granulate +, stk::FileLoop +, stk::FileWvIn +, stk::FileWvOut +
  • openPort() +: RtMidi +, RtMidiIn +, RtMidiOut +
  • openStream() +: RtAudio +
  • openVirtualPort() +: RtMidiOut +, RtMidi +, RtMidiIn +
  • operator()() +: stk::StkFrames +
  • operator*=() +: stk::StkFrames +
  • operator+=() +: stk::StkFrames +
  • operator=() +: stk::Envelope +
  • operator[]() +: stk::StkFrames + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x70.html b/doc/html/functions_func_0x70.html index 90812e4..18724ec 100644 --- a/doc/html/functions_func_0x70.html +++ b/doc/html/functions_func_0x70.html @@ -8,34 +8,90 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - p -

    +: stk::Skini +
  • PercFlut() +: stk::PercFlut +
  • pitchBend() +: stk::Voicer +
  • PitShift() +: stk::PitShift +
  • pluck() +: stk::Mandolin +, stk::Plucked +, stk::Sitar +, stk::StifKarp +, stk::BandedWG +, stk::Mandolin +
  • Plucked() +: stk::Plucked +
  • PluckTwo() +: stk::PluckTwo +
  • PoleZero() +: stk::PoleZero +
  • popMessage() +: stk::Messager +
  • port() +: stk::Socket +
  • PRCRev() +: stk::PRCRev +
  • printErrors() +: stk::Stk +
  • printMessage() +: RtError +, stk::StkError +
  • pushMessage() +: stk::Messager + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x71.html b/doc/html/functions_func_0x71.html index d0dfc71..978f53c 100644 --- a/doc/html/functions_func_0x71.html +++ b/doc/html/functions_func_0x71.html @@ -8,21 +8,58 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - q -

    +: stk::VoicForm + +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x72.html b/doc/html/functions_func_0x72.html index 591149e..cafb41c 100644 --- a/doc/html/functions_func_0x72.html +++ b/doc/html/functions_func_0x72.html @@ -8,38 +8,104 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - r -

    +: stk::Stk +
  • read() +: stk::FileRead +
  • readBuffer() +: stk::Socket +, stk::TcpClient +, stk::Socket +, stk::TcpServer +, stk::UdpSocket +
  • ReedTable() +: stk::ReedTable +
  • removeInstrument() +: stk::Voicer +
  • removeSampleRateAlert() +: stk::Stk +
  • reset() +: stk::Granulate +, stk::Modulate +, stk::SineWave +, stk::SingWave +, stk::Blit +, stk::BlitSaw +, stk::BlitSquare +, stk::FileLoop +, stk::FileWvIn +
  • resetClipStatus() +: stk::WvOut +
  • resize() +: stk::StkFrames +
  • Resonate() +: stk::Resonate +
  • rewindTrack() +: stk::MidiFileIn +
  • Rhodey() +: stk::Rhodey +
  • RtAudio() +: RtAudio +
  • RtError() +: RtError +
  • RtMidiIn() +: RtMidiIn +
  • RtMidiOut() +: RtMidiOut +
  • RtWvIn() +: stk::RtWvIn +
  • RtWvOut() +: stk::RtWvOut + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x73.html b/doc/html/functions_func_0x73.html index ac0c722..d1f72d0 100644 --- a/doc/html/functions_func_0x73.html +++ b/doc/html/functions_func_0x73.html @@ -8,170 +8,460 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - s -

    +: stk::Sampler +
  • sampleRate() +: stk::Stk +
  • sampleRateChanged() +: stk::Stk +
  • Saxofony() +: stk::Saxofony +
  • sendMessage() +: RtMidiOut +
  • setA1() +: stk::PoleZero +, stk::TwoPole +, stk::BiQuad +, stk::OnePole +
  • setA2() +: stk::BiQuad +, stk::TwoPole +
  • setAddress() +: stk::UdpSocket +
  • setAllpass() +: stk::PoleZero +
  • setAllTimes() +: stk::ADSR +
  • setAttackRate() +: stk::ADSR +
  • setAttackTime() +: stk::ADSR +
  • setB0() +: stk::BiQuad +, stk::OnePole +, stk::OneZero +, stk::PoleZero +, stk::TwoPole +, stk::TwoZero +
  • setB1() +: stk::BiQuad +, stk::OneZero +, stk::PoleZero +, stk::TwoZero +
  • setB2() +: stk::BiQuad +, stk::TwoZero +
  • setBaseLoopGain() +: stk::PluckTwo +, stk::StifKarp +
  • setBlocking() +: stk::Socket +
  • setBlockZero() +: stk::PoleZero +
  • setBlowPosition() +: stk::Saxofony +
  • setBodySize() +: stk::Mandolin +
  • setCallback() +: RtMidiIn +
  • setCoefficients() +: stk::BiQuad +, stk::Fir +, stk::Iir +, stk::OnePole +, stk::OneZero +, stk::PoleZero +, stk::TwoPole +, stk::TwoZero +
  • setControl1() +: stk::FM +
  • setControl2() +: stk::FM +
  • setDataRate() +: stk::StkFrames +
  • setDecay() +: stk::Mesh2D +
  • setDecayRate() +: stk::ADSR +
  • setDecayTime() +: stk::ADSR +
  • setDelay() +: stk::Delay +, stk::DelayA +, stk::DelayL +, stk::Echo +
  • setDenominator() +: stk::Iir +
  • setDestination() +: stk::UdpSocket +
  • setDetune() +: stk::PluckTwo +
  • setDirectGain() +: stk::Modal +
  • setEffectMix() +: stk::Effect +
  • setEndReflection() +: stk::Flute +
  • setEqualGainZeroes() +: stk::BiQuad +, stk::Resonate +
  • setFile() +: stk::Skini +
  • setFilterSweepRate() +: stk::VoicForm +
  • setFreqAndDetune() +: stk::PluckTwo +
  • setFrequency() +: stk::BandedWG +, stk::Blit +, stk::BlitSaw +, stk::BlitSquare +, stk::BlowBotl +, stk::BlowHole +, stk::Bowed +, stk::Brass +, stk::Clarinet +, stk::FileLoop +, stk::Flute +, stk::FM +, stk::FMVoices +, stk::Instrmnt +, stk::Modal +, stk::Moog +, stk::PercFlut +, stk::Plucked +, stk::PluckTwo +, stk::Rhodey +, stk::Sampler +, stk::Saxofony +, stk::Simple +, stk::SineWave +, stk::SingWave +, stk::Sitar +, stk::StifKarp +, stk::Voicer +, stk::VoicForm +, stk::Whistle +, stk::Wurley +
  • setGain() +: stk::Filter +, stk::FM +
  • setGainRate() +: stk::SingWave +
  • setGainTarget() +: stk::SingWave +
  • setGrainParameters() +: stk::Granulate +
  • setHarmonics() +: stk::Blit +, stk::BlitSaw +, stk::BlitSquare +
  • setInputPosition() +: stk::Mesh2D +
  • setInterpolate() +: stk::FileWvIn +
  • setJetDelay() +: stk::Flute +
  • setJetReflection() +: stk::Flute +
  • setLip() +: stk::Brass +
  • setMass() +: stk::Sphere +
  • setMasterGain() +: stk::Modal +
  • setMaximumDelay() +: stk::Delay +, stk::DelayA +, stk::DelayL +, stk::Echo +, stk::TapDelay +
  • setModDepth() +: stk::Chorus +
  • setModeGain() +: stk::Modal +
  • setModFrequency() +: stk::Chorus +
  • setModulationDepth() +: stk::FM +, stk::ModalBar +, stk::Moog +
  • setModulationSpeed() +: stk::FM +, stk::Moog +
  • setNotch() +: stk::BiQuad +, stk::Resonate +, stk::TwoZero +
  • setNumerator() +: stk::Iir +
  • setNX() +: stk::Mesh2D +
  • setNY() +: stk::Mesh2D +
  • setOffset() +: stk::BowTable +, stk::ReedTable +
  • setPhase() +: stk::Blit +, stk::BlitSquare +
  • setPhoneme() +: stk::VoicForm +
  • setPickupPosition() +: stk::StifKarp +
  • setPitchSweepRate() +: stk::VoicForm +
  • setPluckPosition() +: stk::PluckTwo +
  • setPole() +: stk::OnePole +
  • setPosition() +: stk::Sphere +
  • setPreset() +: stk::BandedWG +, stk::ModalBar +
  • setQueueSizeLimit() +: RtMidiIn +
  • setRadius() +: stk::Sphere +
  • setRandomFactor() +: stk::Granulate +
  • setRandomGain() +: stk::Modulate +, stk::SingWave +
  • setRate() +: stk::Envelope +, stk::FileLoop +, stk::FileWvIn +, stk::SineWave +
  • setRatio() +: stk::FM +
  • setRatioAndRadius() +: stk::Modal +
  • setRawwavePath() +: stk::Stk +
  • setReleaseRate() +: stk::ADSR +
  • setReleaseTime() +: stk::ADSR +
  • setResonance() +: stk::BiQuad +, stk::FormSwep +, stk::TwoPole +, stk::Resonate +
  • setSampleRate() +: stk::Stk +
  • setScoreFile() +: stk::Messager +
  • setSeed() +: stk::Noise +
  • setShift() +: stk::PitShift +
  • setSlope() +: stk::BowTable +, stk::ReedTable +
  • setStates() +: stk::FormSwep +
  • setStickHardness() +: stk::ModalBar +
  • setStretch() +: stk::Granulate +, stk::StifKarp +
  • setStrikePosition() +: stk::ModalBar +, stk::BandedWG +
  • setSustainLevel() +: stk::ADSR +
  • setSweepRate() +: stk::SingWave +, stk::FormSwep +
  • setSweepTime() +: stk::FormSwep +
  • setT60() +: stk::PRCRev +, stk::JCRev +, stk::NRev +
  • setTapDelays() +: stk::TapDelay +
  • setTarget() +: stk::ADSR +, stk::Asymp +, stk::Envelope +
  • setTargets() +: stk::FormSwep +
  • setTau() +: stk::Asymp +
  • setTime() +: stk::Envelope +, stk::Asymp +
  • setTonehole() +: stk::BlowHole +
  • setUnVoiced() +: stk::VoicForm +
  • setValue() +: stk::Asymp +, stk::Envelope +, stk::ADSR +
  • setVelocity() +: stk::Sphere +
  • setVent() +: stk::BlowHole +
  • setVibrato() +: stk::Bowed +
  • setVibratoGain() +: stk::Modulate +, stk::SingWave +
  • setVibratoRate() +: stk::Modulate +, stk::SingWave +
  • setVoiced() +: stk::VoicForm +
  • setVoices() +: stk::Granulate +
  • setX() +: stk::Vector3D +
  • setXYZ() +: stk::Vector3D +
  • setY() +: stk::Vector3D +
  • setZ() +: stk::Vector3D +
  • setZero() +: stk::OneZero +
  • Shakers() +: stk::Shakers +
  • showWarnings() +: RtAudio +, stk::Stk +
  • signal() +: stk::Mutex +
  • silence() +: stk::Voicer +
  • Simple() +: stk::Simple +
  • SineWave() +: stk::SineWave +
  • SingWave() +: stk::SingWave +
  • Sitar() +: stk::Sitar +
  • size() +: stk::StkFrames +
  • Skini() +: stk::Skini +
  • sleep() +: stk::Stk +
  • Socket() +: stk::Socket +
  • speak() +: stk::VoicForm +
  • Sphere() +: stk::Sphere +
  • start() +: stk::Thread +, stk::RtWvOut +, stk::RtWvIn +
  • startBlowing() +: stk::Brass +, stk::Whistle +, stk::Saxofony +, stk::BlowHole +, stk::BlowBotl +, stk::Flute +, stk::Clarinet +
  • startBowing() +: stk::Bowed +, stk::BandedWG +
  • startMidiInput() +: stk::Messager +
  • startSocketInput() +: stk::Messager +
  • startStdInput() +: stk::Messager +
  • startStream() +: RtAudio +
  • StifKarp() +: stk::StifKarp +
  • Stk() +: stk::Stk +
  • StkError() +: stk::StkError +
  • StkFrames() +: stk::StkFrames +
  • stop() +: stk::RtWvOut +, stk::RtWvIn +
  • stopBlowing() +: stk::Flute +, stk::BlowHole +, stk::Clarinet +, stk::Whistle +, stk::BlowBotl +, stk::Brass +, stk::Saxofony +
  • stopBowing() +: stk::BandedWG +, stk::Bowed +
  • stopStream() +: RtAudio +
  • strike() +: stk::Modal +
  • swap16() +: stk::Stk +
  • swap32() +: stk::Stk +
  • swap64() +: stk::Stk + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x74.html b/doc/html/functions_func_0x74.html index 48301f2..2c214ad 100644 --- a/doc/html/functions_func_0x74.html +++ b/doc/html/functions_func_0x74.html @@ -8,29 +8,165 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - t -

    +: stk::TcpClient +
  • TcpServer() +: stk::TcpServer +
  • testCancel() +: stk::Thread +
  • Thread() +: stk::Thread +
  • tick() +: stk::WvIn +, stk::Wurley +, stk::Whistle +, stk::VoicForm +, stk::Voicer +, stk::TwoZero +, stk::TwoPole +, stk::TubeBell +, stk::TapDelay +, stk::StifKarp +, stk::WvOut +, stk::Sitar +, stk::SingWave +, stk::SineWave +, stk::Simple +, stk::Shakers +, stk::Saxofony +, stk::Sampler +, stk::RtWvOut +, stk::RtWvIn +, stk::Rhodey +, stk::Resonate +, stk::ReedTable +, stk::PRCRev +, stk::PoleZero +, stk::Plucked +, stk::PitShift +, stk::PercFlut +, stk::OneZero +, stk::Asymp +, stk::OnePole +, stk::NRev +, stk::Noise +, stk::Moog +, stk::Modulate +, stk::Modal +, stk::Mesh2D +, stk::Mandolin +, stk::JetTable +, stk::Blit +, stk::JCRev +, stk::Instrmnt +, stk::InetWvOut +, stk::InetWvIn +, stk::Iir +, stk::HevyMetl +, stk::Granulate +, stk::Delay +, stk::Generator +, stk::Function +, stk::FormSwep +, stk::FMVoices +, stk::FM +, stk::Flute +, stk::Fir +, stk::Filter +, stk::FileWvOut +, stk::FileWvIn +, stk::OnePole +, stk::FileLoop +, stk::Envelope +, stk::Echo +, stk::Drummer +, stk::JetTable +, stk::DelayL +, stk::DelayA +, stk::Delay +, stk::Sphere +, stk::Granulate +, stk::Clarinet +, stk::Chorus +, stk::Brass +, stk::BowTable +, stk::FileLoop +, stk::Bowed +, stk::BlowHole +, stk::BlowBotl +, stk::DelayL +, stk::BlitSquare +, stk::BlitSaw +, stk::Delay +, stk::BlitSaw +, stk::Blit +, stk::BiQuad +, stk::BowTable +, stk::BeeThree +, stk::BlitSquare +, stk::Asymp +, stk::BandedWG +, stk::ADSR +, stk::BiQuad +, stk::ADSR +
  • TubeBell() +: stk::TubeBell +
  • TwoPole() +: stk::TwoPole +
  • TwoZero() +: stk::TwoZero + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x75.html b/doc/html/functions_func_0x75.html index 4ec25b8..cf87c14 100644 --- a/doc/html/functions_func_0x75.html +++ b/doc/html/functions_func_0x75.html @@ -8,22 +8,60 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - u -

    +: stk::UdpSocket +
  • unlock() +: stk::Mutex + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x76.html b/doc/html/functions_func_0x76.html index 9c2257d..b3b3b60 100644 --- a/doc/html/functions_func_0x76.html +++ b/doc/html/functions_func_0x76.html @@ -8,24 +8,64 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - v -

    +: stk::Vector3D +
  • voiceGain() +: stk::Phonemes +
  • Voicer() +: stk::Voicer +
  • VoicForm() +: stk::VoicForm + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x77.html b/doc/html/functions_func_0x77.html index 38a186b..fcc1795 100644 --- a/doc/html/functions_func_0x77.html +++ b/doc/html/functions_func_0x77.html @@ -8,32 +8,80 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - w -

    +: stk::Mutex +, stk::Thread +
  • what() +: RtError +
  • whatsThisController() +: stk::Skini +
  • whatsThisType() +: stk::Skini +
  • Whistle() +: stk::Whistle +
  • write() +: stk::FileWrite +
  • writeBuffer() +: stk::Socket +, stk::TcpServer +, stk::TcpClient +, stk::UdpSocket +
  • writeBufferTo() +: stk::UdpSocket +
  • Wurley() +: stk::Wurley +
  • WvOut() +: stk::WvOut + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x7e.html b/doc/html/functions_func_0x7e.html index 62ef888..5f3518b 100644 --- a/doc/html/functions_func_0x7e.html +++ b/doc/html/functions_func_0x7e.html @@ -8,118 +8,216 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~
    - -

    - + +

    +
    + +
    +

    - ~ -

    +: stk::ADSR +
  • ~Asymp() +: stk::Asymp +
  • ~BandedWG() +: stk::BandedWG +
  • ~BeeThree() +: stk::BeeThree +
  • ~BiQuad() +: stk::BiQuad +
  • ~Blit() +: stk::Blit +
  • ~BlitSaw() +: stk::BlitSaw +
  • ~BlitSquare() +: stk::BlitSquare +
  • ~BlowBotl() +: stk::BlowBotl +
  • ~BlowHole() +: stk::BlowHole +
  • ~Bowed() +: stk::Bowed +
  • ~Brass() +: stk::Brass +
  • ~Clarinet() +: stk::Clarinet +
  • ~Delay() +: stk::Delay +
  • ~DelayA() +: stk::DelayA +
  • ~DelayL() +: stk::DelayL +
  • ~Drummer() +: stk::Drummer +
  • ~Envelope() +: stk::Envelope +
  • ~FileLoop() +: stk::FileLoop +
  • ~FileRead() +: stk::FileRead +
  • ~FileWrite() +: stk::FileWrite +
  • ~FileWvIn() +: stk::FileWvIn +
  • ~FileWvOut() +: stk::FileWvOut +
  • ~Fir() +: stk::Fir +
  • ~Flute() +: stk::Flute +
  • ~FM() +: stk::FM +
  • ~FMVoices() +: stk::FMVoices +
  • ~FormSwep() +: stk::FormSwep +
  • ~Granulate() +: stk::Granulate +
  • ~HevyMetl() +: stk::HevyMetl +
  • ~Iir() +: stk::Iir +
  • ~InetWvIn() +: stk::InetWvIn +
  • ~InetWvOut() +: stk::InetWvOut +
  • ~Mandolin() +: stk::Mandolin +
  • ~Mesh2D() +: stk::Mesh2D +
  • ~Messager() +: stk::Messager +
  • ~MidiFileIn() +: stk::MidiFileIn +
  • ~Modal() +: stk::Modal +
  • ~ModalBar() +: stk::ModalBar +
  • ~Modulate() +: stk::Modulate +
  • ~Moog() +: stk::Moog +
  • ~Mutex() +: stk::Mutex +
  • ~OnePole() +: stk::OnePole +
  • ~OneZero() +: stk::OneZero +
  • ~PercFlut() +: stk::PercFlut +
  • ~Plucked() +: stk::Plucked +
  • ~PluckTwo() +: stk::PluckTwo +
  • ~PoleZero() +: stk::PoleZero +
  • ~Resonate() +: stk::Resonate +
  • ~Rhodey() +: stk::Rhodey +
  • ~RtAudio() +: RtAudio +
  • ~RtError() +: RtError +
  • ~RtMidiIn() +: RtMidiIn +
  • ~RtMidiOut() +: RtMidiOut +
  • ~RtWvIn() +: stk::RtWvIn +
  • ~RtWvOut() +: stk::RtWvOut +
  • ~Sampler() +: stk::Sampler +
  • ~Saxofony() +: stk::Saxofony +
  • ~Shakers() +: stk::Shakers +
  • ~Simple() +: stk::Simple +
  • ~SineWave() +: stk::SineWave +
  • ~SingWave() +: stk::SingWave +
  • ~Sitar() +: stk::Sitar +
  • ~Skini() +: stk::Skini +
  • ~Socket() +: stk::Socket +
  • ~StifKarp() +: stk::StifKarp +
  • ~Stk() +: stk::Stk +
  • ~StkError() +: stk::StkError +
  • ~StkFrames() +: stk::StkFrames +
  • ~TapDelay() +: stk::TapDelay +
  • ~TcpClient() +: stk::TcpClient +
  • ~TcpServer() +: stk::TcpServer +
  • ~Thread() +: stk::Thread +
  • ~TubeBell() +: stk::TubeBell +
  • ~TwoPole() +: stk::TwoPole +
  • ~TwoZero() +: stk::TwoZero +
  • ~UdpSocket() +: stk::UdpSocket +
  • ~VoicForm() +: stk::VoicForm +
  • ~Whistle() +: stk::Whistle +
  • ~Wurley() +: stk::Wurley + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_type.html b/doc/html/functions_type.html index e948e71..0cf91f1 100644 --- a/doc/html/functions_type.html +++ b/doc/html/functions_type.html @@ -8,18 +8,30 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - - + + +

    +: RtMidiIn + +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html index dfc80fe..23f16d4 100644 --- a/doc/html/functions_vars.html +++ b/doc/html/functions_vars.html @@ -8,70 +8,126 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -
    c | d | f | i | n | o | p | r | s | t
    - -

    - + +

    +
    + +
    +

    - c -

    +: stk::Skini::Skini::Message +

    - d -

    +: RtAudio::RtAudio::StreamParameters +
  • duplexChannels +: RtAudio::RtAudio::DeviceInfo +

    - f -

    +: stk::FileWrite +
  • FILE_MAT +: stk::FileWrite +
  • FILE_RAW +: stk::FileWrite +
  • FILE_SND +: stk::FileWrite +
  • FILE_WAV +: stk::FileWrite +
  • firstChannel +: RtAudio::RtAudio::StreamParameters +
  • flags +: RtAudio::RtAudio::StreamOptions +
  • floatValues +: stk::Skini::Skini::Message +

    - i -

    +: RtAudio::RtAudio::DeviceInfo +
  • intValues +: stk::Skini::Skini::Message +
  • isDefaultInput +: RtAudio::RtAudio::DeviceInfo +
  • isDefaultOutput +: RtAudio::RtAudio::DeviceInfo +

    - n -

    +: RtAudio::RtAudio::DeviceInfo +
  • nativeFormats +: RtAudio::RtAudio::DeviceInfo +
  • nChannels +: RtAudio::RtAudio::StreamParameters +
  • numberOfBuffers +: RtAudio::RtAudio::StreamOptions +

    - o -

    +: RtAudio::RtAudio::DeviceInfo +

    - p -

    +: RtAudio::RtAudio::DeviceInfo +

    - r -

    +: stk::Skini::Skini::Message +

    - s -

    +: RtAudio::RtAudio::DeviceInfo +
  • STK_FLOAT32 +: stk::Stk +
  • STK_FLOAT64 +: stk::Stk +
  • STK_SINT16 +: stk::Stk +
  • STK_SINT24 +: stk::Stk +
  • STK_SINT32 +: stk::Stk +
  • STK_SINT8 +: stk::Stk +
  • streamName +: RtAudio::RtAudio::StreamOptions +

    - t -

    +: stk::Skini::Skini::Message +
  • type +: stk::Skini::Skini::Message + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_vars_0x62.html b/doc/html/functions_vars_0x62.html deleted file mode 100644 index ab9ea0f..0000000 --- a/doc/html/functions_vars_0x62.html +++ /dev/null @@ -1,57 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - b -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x63.html b/doc/html/functions_vars_0x63.html deleted file mode 100644 index 343e1fc..0000000 --- a/doc/html/functions_vars_0x63.html +++ /dev/null @@ -1,57 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - c -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x64.html b/doc/html/functions_vars_0x64.html deleted file mode 100644 index db83776..0000000 --- a/doc/html/functions_vars_0x64.html +++ /dev/null @@ -1,64 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - d -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x65.html b/doc/html/functions_vars_0x65.html deleted file mode 100644 index 89900a9..0000000 --- a/doc/html/functions_vars_0x65.html +++ /dev/null @@ -1,36 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - e -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x66.html b/doc/html/functions_vars_0x66.html deleted file mode 100644 index e96d395..0000000 --- a/doc/html/functions_vars_0x66.html +++ /dev/null @@ -1,65 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - f -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x67.html b/doc/html/functions_vars_0x67.html deleted file mode 100644 index 0482792..0000000 --- a/doc/html/functions_vars_0x67.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - g -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x68.html b/doc/html/functions_vars_0x68.html deleted file mode 100644 index 677a8ce..0000000 --- a/doc/html/functions_vars_0x68.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - h -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x69.html b/doc/html/functions_vars_0x69.html deleted file mode 100644 index d3169e5..0000000 --- a/doc/html/functions_vars_0x69.html +++ /dev/null @@ -1,44 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - i -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x6a.html b/doc/html/functions_vars_0x6a.html deleted file mode 100644 index 54d74e9..0000000 --- a/doc/html/functions_vars_0x6a.html +++ /dev/null @@ -1,32 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - j -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x6c.html b/doc/html/functions_vars_0x6c.html deleted file mode 100644 index 47afc88..0000000 --- a/doc/html/functions_vars_0x6c.html +++ /dev/null @@ -1,45 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - l -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x6d.html b/doc/html/functions_vars_0x6d.html deleted file mode 100644 index 1d3466d..0000000 --- a/doc/html/functions_vars_0x6d.html +++ /dev/null @@ -1,54 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - m -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x6e.html b/doc/html/functions_vars_0x6e.html deleted file mode 100644 index 9cf26fa..0000000 --- a/doc/html/functions_vars_0x6e.html +++ /dev/null @@ -1,55 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - n -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x6f.html b/doc/html/functions_vars_0x6f.html deleted file mode 100644 index 79d00f6..0000000 --- a/doc/html/functions_vars_0x6f.html +++ /dev/null @@ -1,43 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - o -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x70.html b/doc/html/functions_vars_0x70.html deleted file mode 100644 index f759e29..0000000 --- a/doc/html/functions_vars_0x70.html +++ /dev/null @@ -1,46 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - p -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x71.html b/doc/html/functions_vars_0x71.html deleted file mode 100644 index 8da76e7..0000000 --- a/doc/html/functions_vars_0x71.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - q -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x72.html b/doc/html/functions_vars_0x72.html deleted file mode 100644 index 8c1c843..0000000 --- a/doc/html/functions_vars_0x72.html +++ /dev/null @@ -1,46 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - r -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x73.html b/doc/html/functions_vars_0x73.html deleted file mode 100644 index 7b0147d..0000000 --- a/doc/html/functions_vars_0x73.html +++ /dev/null @@ -1,75 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - s -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x74.html b/doc/html/functions_vars_0x74.html deleted file mode 100644 index 892e07d..0000000 --- a/doc/html/functions_vars_0x74.html +++ /dev/null @@ -1,63 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - t -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x75.html b/doc/html/functions_vars_0x75.html deleted file mode 100644 index 524fb89..0000000 --- a/doc/html/functions_vars_0x75.html +++ /dev/null @@ -1,34 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - u -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x76.html b/doc/html/functions_vars_0x76.html deleted file mode 100644 index 611c024..0000000 --- a/doc/html/functions_vars_0x76.html +++ /dev/null @@ -1,45 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - v -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x77.html b/doc/html/functions_vars_0x77.html deleted file mode 100644 index 75c5cec..0000000 --- a/doc/html/functions_vars_0x77.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - w -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x78.html b/doc/html/functions_vars_0x78.html deleted file mode 100644 index b4b83eb..0000000 --- a/doc/html/functions_vars_0x78.html +++ /dev/null @@ -1,29 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - x -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x79.html b/doc/html/functions_vars_0x79.html deleted file mode 100644 index 2c1233c..0000000 --- a/doc/html/functions_vars_0x79.html +++ /dev/null @@ -1,29 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - y -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/functions_vars_0x7a.html b/doc/html/functions_vars_0x7a.html deleted file mode 100644 index f6a023c..0000000 --- a/doc/html/functions_vars_0x7a.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -
    a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
    - -

    - -

    -

    - z -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/fundamentals.html b/doc/html/fundamentals.html index c28c136..30d089c 100644 --- a/doc/html/fundamentals.html +++ b/doc/html/fundamentals.html @@ -8,20 +8,22 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    STK Fundamentals

    The Synthesis ToolKit is implemented in the C++ programming language. STK does not attempt to provide a new programming environment or paradigm but rather provides a set of objects that can be used within a normal C++ programming framework. Therefore, it is expected that users of STK will have some familiarity with C/C++ programming concepts. That said, the STK classes do have some particular idiosyncrasies that we will mention here.

    + +
    +

    STK Fundamentals

    The Synthesis ToolKit is implemented in the C++ programming language. STK does not attempt to provide a new programming environment or paradigm but rather provides a set of objects that can be used within a normal C++ programming framework. Therefore, it is expected that users of STK will have some familiarity with C/C++ programming concepts. That said, the STK classes do have some particular idiosyncrasies that we will mention here. Starting with STK version 4.4, all STK classes except RtAudio, RtMidi, and RtError are defined within the stk namespace.

    Computations:

    Audio and control signals throughout STK use a floating-point data type, StkFloat, the exact precision of which can be controlled via a typedef statement in Stk.h. By default, an StkFloat is a double-precision floating-point value. Thus, the ToolKit can use any normalization scheme desired. The base instruments and algorithms are implemented with a general audio sample dynamic maximum of +/-1.0.

    -In general, the computation and/or passing of values is performed on a "single-sample" basis. For example, the Noise class outputs random floating-point numbers in the range +/-1.0. The computation of such values occurs in the Noise::tick() function. The following program will generate 20 random floating-point (StkFloat) values in the range -1.0 to +1.0:

    +In general, the computation and/or passing of values is performed on a "single-sample" basis. For example, the stk::Noise class outputs random floating-point numbers in the range +/-1.0. The computation of such values occurs in the stk::Noise::tick() function. The following program will generate 20 random floating-point (StkFloat) values in the range -1.0 to +1.0:

    #include "Noise.h"
    +using namespace stk;
     
     int main()
     {
       StkFloat output;
    -  Noise noise;
    +  Noise noise;
     
       for ( unsigned int i=0; i<20; i++ ) {
    -    output = noise.tick();
    +    output = noise.tick();
         std::cout << "i = " << i << " : output = " << output << std::endl;
       }
     
    @@ -30,13 +32,14 @@ In general, the computation and/or passing of values is performed on a "single-s
     

    Nearly all STK classes implement tick() functions that take and/or return sample values. Within the tick() function, the fundamental sample calculations are performed for a given class. Most STK classes consume/generate a single sample per operation and their tick() method takes/returns each sample "by value". In addition, every class implementing a tick() function also provides one or more overloaded tick() functions that can be used for vectorized computations, as shown in the next example.

    #include "Noise.h"
    +using namespace stk;
     
     int main()
     {
    -  StkFrames output(20, 1);   // initialize StkFrames to 20 frames and 1 channel (default: interleaved)
    -  Noise noise;
    +  StkFrames output(20, 1);   // initialize StkFrames to 20 frames and 1 channel (default: interleaved)
    +  Noise noise;
     
    -  noise.tick( output );
    +  noise.tick( output );
       for ( unsigned int i=0; i<output.size(); i++ ) {
         std::cout << "i = " << i << " : output = " << output[i] << std::endl;
       }
    @@ -44,17 +47,18 @@ Nearly all STK classes implement tick() functions that take and/or
       return 0;
     }
     

    -In this way, it might be possible to achieve improved processing efficiency using vectorized computations. The StkFrames class is a relatively new addition to the ToolKit to provide a general "mechanism" for handling and passing vectorized, multi-channel audio data. The StkFrames "type" provides functions to set and/or determine the number of audio channels and sample frames it holds, as well as the format (interleaved or non-interleaved) of its data. Further, the StkFrames class provides data interpolation and subscripting functionality by frame/channel values.

    +In this way, it might be possible to achieve improved processing efficiency using vectorized computations. The StkFrames class is a relatively new addition to the ToolKit to provide a general "mechanism" for handling and passing vectorized, multi-channel audio data. The StkFrames "type" provides functions to set and/or determine the number of audio channels and sample frames it holds. Further, the StkFrames class provides data interpolation and subscripting functionality by frame/channel values.

    Inheritance:

    -Nearly all STK classes inherit from the Stk abstract base class, which provides common functionality related to error reporting, sample rate control, and byte swapping. Several other base classes exist that roughly group many of the classes according to function as follows:

    +Nearly all STK classes inherit from the Stk abstract base class, which provides common functionality related to error reporting, sample rate control, and byte swapping. Several other base classes exist that roughly group many of the classes according to function as follows:

    +
  • stk::Generator: source signal unit generator classes [stk::Envelope, stk::ADSR, stk::Asymp, stk::Noise, stk::SubNoise, stk::Modulate, stk::SingWave, stk::SineWave, stk::Blit, stk::BlitSaw, stk::BlitSquare, stk::Granulate]
  • stk::Filter: digital filtering classes [stk::OneZero, stk::OnePole, stk::PoleZero, stk::TwoZero, stk::TwoPole, stk::BiQuad, stk::FormSwep, stk::Delay, stk::DelayL, stk::DelayA, stk::TapDelay]
  • stk::Function: input to output function mappings [stk::BowTable, stk::JetTable, stk::ReedTable]
  • stk::Instrmnt: sound synthesis algorithms, including physical, FM, modal, and particle models
  • stk::Effect: sound processing effect classes [stk::Echo, stk::Chorus, stk::PitShift, stk::PRCRev, stk::JCRev, stk::NRev]
  • stk::WvOut: audio data output classes [stk::FileWvOut, stk::RtWvOut, stk::InetWvOut]
  • stk::WvIn: audio data input classes [stk::FileWvIn, stk::FileLoop, stk::RtWvIn, stk::InetWvIn]
  • -[Main tutorial page]   [Next tutorial]


    +[Main tutorial page]   [Next tutorial]

    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/globals.html b/doc/html/globals.html index 7bac6ef..92cb453 100644 --- a/doc/html/globals.html +++ b/doc/html/globals.html @@ -8,21 +8,32 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - + +
    + +
    +
    Here is a list of all documented file members with links to the documentation:

    +: RtAudio.h +
  • RtAudioFormat +: RtAudio.h +
  • RtAudioStreamFlags +: RtAudio.h +
  • RtAudioStreamStatus +: RtAudio.h + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/globals_type.html b/doc/html/globals_type.html index 13b1ae3..bf4a80e 100644 --- a/doc/html/globals_type.html +++ b/doc/html/globals_type.html @@ -8,21 +8,32 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - - + +
    + +
    +

    +: RtAudio.h +
  • RtAudioFormat +: RtAudio.h +
  • RtAudioStreamFlags +: RtAudio.h +
  • RtAudioStreamStatus +: RtAudio.h + +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/graph_legend.html b/doc/html/graph_legend.html deleted file mode 100644 index 93e01f8..0000000 --- a/doc/html/graph_legend.html +++ /dev/null @@ -1,82 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    Graph Legend

    This page explains how to interpret the graphs that are generated by doxygen.

    -Consider the following example:

    /*! Invisible class because of truncation */ -class Invisible { }; - -/*! Truncated class, inheritance relation is hidden */ -class Truncated : public Invisible { }; - -/* Class not documented with doxygen comments */ -class Undocumented { }; - -/*! Class that is inherited using public inheritance */ -class PublicBase : public Truncated { }; - -/*! A template class */ -template<class T> class Templ { }; - -/*! Class that is inherited using protected inheritance */ -class ProtectedBase { }; - -/*! Class that is inherited using private inheritance */ -class PrivateBase { }; - -/*! Class that is used by the Inherited class */ -class Used { }; - -/*! Super class that inherits a number of other classes */ -class Inherited : public PublicBase, - protected ProtectedBase, - private PrivateBase, - public Undocumented - public Templ<int> -{ - private: - Used *m_usedClass; -}; -
    If the MAX_DOT_GRAPH_HEIGHT tag in the configuration file is set to 240 this will result in the following graph:

    -

    -graph_legend.png -
    -

    -The boxes in the above graph have the following meaning:

      -
    • -A filled black box represents the struct or class for which the graph is generated.
    • -
    • -A box with a black border denotes a documented struct or class.
    • -
    • -A box with a grey border denotes an undocumented struct or class.
    • -
    • -A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
    • -
    -The arrows have the following meaning:
      -
    • -A dark blue arrow is used to visualize a public inheritance relation between two classes.
    • -
    • -A dark green arrow is used for protected inheritance.
    • -
    • -A dark red arrow is used for private inheritance.
    • -
    • -A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
    • -
    • -A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
    • -
    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/graph_legend.png b/doc/html/graph_legend.png deleted file mode 100644 index 9504cc3..0000000 Binary files a/doc/html/graph_legend.png and /dev/null differ diff --git a/doc/html/hello.html b/doc/html/hello.html index 31f4b06..e9a13a4 100644 --- a/doc/html/hello.html +++ b/doc/html/hello.html @@ -8,76 +8,89 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    Hello Sine!

    We'll continue our introduction to the Synthesis ToolKit with a simple sine-wave oscillator program. STK provides two different classes for sine-wave generation. We will first look at a generic waveform oscillator class, WaveLoop, that can load a variety of common file types. In this example, we load a sine "table" from an STK RAW file (defined as monophonic, 16-bit, big-endian data). We use the class FileWvOut to write the result to a 16-bit, WAV formatted audio file.

    + +

    +

    Hello Sine!

    We'll continue our introduction to the Synthesis ToolKit with a simple sine-wave oscillator program. STK provides two different classes for sine-wave generation. We will first look at a generic waveform oscillator class, stk::FileLoop, that can load a variety of common file types. In this example, we load a sine "table" from an STK RAW file (defined as monophonic, 16-bit, big-endian data). We use the class stk::FileWvOut to write the result to a 16-bit, WAV formatted audio file.

    // sineosc.cpp
     
    -#include "WaveLoop.h"
    +#include "FileLoop.h"
     #include "FileWvOut.h"
    +using namespace stk;
     
     int main()
     {
       // Set the global sample rate before creating class instances.
    -  Stk::setSampleRate( 44100.0 );
    +  Stk::setSampleRate( 44100.0 );
     
    -  WaveLoop input;
    -  FileWvOut output;
    +  FileLoop input;
    +  FileWvOut output;
     
       // Load the sine wave file.
    -  input.openFile( "rawwaves/sinewave.raw", true );
    +  input.openFile( "rawwaves/sinewave.raw", true );
     
       // Open a 16-bit, one-channel WAV formatted output file
    -  output.openFile( "hellosine.wav", 1, FileWrite::FILE_WAV, Stk::STK_SINT16 );
    +  output.openFile( "hellosine.wav", 1, FileWrite::FILE_WAV, Stk::STK_SINT16 );
     
    -  input.setFrequency( 440.0 );
    +  input.setFrequency( 440.0 );
     
       // Run the oscillator for 40000 samples, writing to the output file
       for ( int i=0; i<40000; i++ )
    -    output.tick( input.tick() );
    +    output.tick( input.tick() );
     
       return 0;
     }
     

    -WaveLoop is a subclass of FileWvIn, which supports WAV, SND (AU), AIFF, MAT-file (Matlab), and RAW file formats with 8-, 16-, and 32-bit integer and 32- and 64-bit floating-point data types. FileWvIn provides interpolating, read-once ("oneshot") functionality, as well as methods for setting the read rate and read position.

    -FileWvIn provides a "tick level" and interpolating interface to the FileRead class. Likewise, FileWvOut provides a "tick level" interface to the FileWrite class. FileRead and FileWrite both support WAV, SND(AU), AIFF, MAT-file (Matlab), and RAW file formats with 8-, 16-, and 32-bit integer and 32- and 64-bit floating-point data types. FileWvOut does not currently offer data interpolation functionality.

    -The WvIn and WvOut parent classes and all subclasses support multi-channel sample frames. To distinguish single-sample frame operations from multi-channel frame operations, these classes also implement tickFrame() functions. When a tick() method is called for multi-channel data, frame averages are returned or the input sample is distributed across all channels of a sample frame.

    -Nearly all STK classes inherit from the Stk base class. Stk provides a static sample rate that is queried by subclasses as needed. Because many classes use the current sample rate value during instantiation, it is important that the desired value be set at the beginning of a program. The default STK sample rate is 44100 Hz.

    +stk::FileLoop is a subclass of stk::FileWvIn, which supports WAV, SND (AU), AIFF, MAT-file (Matlab), and RAW file formats with 8-, 16-, and 32-bit integer and 32- and 64-bit floating-point data types. stk::FileWvIn provides interpolating, read-once ("oneshot") functionality, as well as methods for setting the read rate and read position.

    +stk::FileWvIn provides a "tick level" and interpolating interface to the stk::FileRead class. Likewise, stk::FileWvOut provides a "tick level" interface to the stk::FileWrite class. stk::FileRead and FileWrite both support WAV, SND(AU), AIFF, MAT-file (Matlab), and RAW file formats with 8-, 16-, and 32-bit integer and 32- and 64-bit floating-point data types. stk::FileWvOut does not currently offer data interpolation functionality.

    +A number of STK parent classes, including stk::WvIn, stk::WvOut, stk::Instrmnt, stk::Generator, and stk::Effect, (and some or all of their subclasses) support multi-channel sample frames. If a single-sample version of the tick() function is called for these classes, a full sample frame is computed but only a single value is either input and/or output. For example, if the single-sample tick() function is called for subclasses of stk::WvOut, the sample argument is written to all channels in the one computed frame. For classes returning values, an optional channel argument specifies which channel value is returned from the computed frame (the default is always channel 0). To input and/or output multichannel data to these classes, the overloaded tick() functions taking StkFrames reference arguments should be used.

    +Nearly all STK classes inherit from the stk::Stk base class. Stk provides a static sample rate that is queried by subclasses as needed. Because many classes use the current sample rate value during instantiation, it is important that the desired value be set at the beginning of a program. The default STK sample rate is 44100 Hz.

    Error Handling

    The ToolKit has some basic C++ error handling functionality built in. Classes that access files and/or hardware are most prone to runtime errors. To properly "catch" such errors, the above example should be rewritten as shown below.

    // sineosc.cpp STK tutorial program
     
    -#include "WaveLoop.h"
    +#include "FileLoop.h"
     #include "FileWvOut.h"
    +using namespace stk;
     
     int main()
     {
       // Set the global sample rate before creating class instances.
    -  Stk::setSampleRate( 44100.0 );
    +  Stk::setSampleRate( 44100.0 );
     
    -  WaveLoop input;
    -  FileWvOut output;
    +  int nFrames = 100000;
    +  FileLoop input;
    +  FileWvOut output;
     
       try {
         // Load the sine wave file.
    -    input.openFile( "rawwaves/sinewave.raw", true );
    +    input.openFile( "rawwaves/sinewave.raw", true );
     
         // Open a 16-bit, one-channel WAV formatted output file
    -    output.openFile( "hellosine.wav", 1, FileWrite::FILE_WAV, Stk::STK_SINT16 );
    +    output.openFile( "hellosine.wav", 1, FileWrite::FILE_WAV, Stk::STK_SINT16 );
       }
    -  catch ( StkError & ) {
    +  catch ( StkError & ) {
         exit( 1 );
       }
     
    -  input.setFrequency( 440.0 );
    +  input.setFrequency( 440.0 );
     
    -  // Run the oscillator for 40000 samples, writing to the output file
    -  int i;
    -  for ( i=0; i<40000; i++ ) {
    +  // Option 1: Use StkFrames
    +  /*
    +  StkFrames frames( nFrames, 1 );
    +  try {
    +    output.tick( input.tick( frames ) );
    +  }
    +  catch ( StkError & ) {
    +    exit( 1 );
    +  }
    +  */
     
    +  // Option 2: Single-sample computations
    +  for ( int i=0; i<nFrames; i++ ) {
         try {
    -      output.tick( input.tick() );
    +      output.tick( input.tick() );
         }
    -    catch ( StkError & ) {
    +    catch ( StkError & ) {
           exit( 1 );
         }
       }
    @@ -86,11 +99,12 @@ The ToolKit has some basic C++ error handling functionality built in. Classes th
     }
     

    In this particular case, we simply exit the program if an error occurs (an error message is automatically printed to stderr). A more refined program might attempt to recover from or fix a particular problem and, if successful, continue processing. See the Class Documentation to determine which constructors and functions can throw an error.

    -[Main tutorial page]   [Next tutorial]


    +[Main tutorial page]   [Next tutorial]
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html index f8ee441..064ee4d 100644 --- a/doc/html/hierarchy.html +++ b/doc/html/hierarchy.html @@ -8,156 +8,152 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    STK Class Hierarchy

    This inheritance list is sorted roughly, but not completely, alphabetically: +
  • stk::Messager +
  • stk::MidiFileIn +
  • stk::Mutex +
  • stk::Phonemes +
  • stk::Skini +
  • stk::Socket -
  • Mesh2D -
  • Modal +
  • stk::Sphere +
  • stk::Thread +
  • stk::Vector3D +
  • stk::Voicer +
  • stk::WvIn -
  • Plucked -
  • PluckTwo +
  • stk::FileWvIn -
  • Resonate -
  • Sampler +
  • stk::InetWvIn +
  • stk::RtWvIn + +
  • stk::WvOut -
  • Saxofony -
  • Shakers -
  • Simple -
  • Sitar -
  • StifKarp -
  • VoicForm -
  • Whistle - -
  • Messager -
  • MidiFileIn -
  • Mutex -
  • Phonemes -
  • Skini -
  • Socket - -
  • Sphere -
  • Thread -
  • Vector3D -
  • Voicer -
  • WvIn - -
  • WvOut - -
  • StkError -
  • StkFrames +
  • stk::StkError +
  • stk::StkFrames +

  • - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/index.html b/doc/html/index.html index 470d27a..fb3a81c 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -8,21 +8,23 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    The Synthesis ToolKit in C++ (STK)

    + +
    +

    The Synthesis ToolKit in C++ (STK)

    -

    4.3.1

    +

    4.4.0

    Perry R. Cook & Gary P. Scavone

    -The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. The Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (all source included, no unusual libraries, and no hidden drivers). We like to think that this increases the chances that our programs will still work in another 5-10 years. In fact, the ToolKit has been working continuously for about 10 years now. STK currently runs with realtime support (audio and MIDI) on Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    +The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. The Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (all source included, no unusual libraries, and no hidden drivers). We like to think that this increases the chances that our programs will still work in another 5-10 years. In fact, the ToolKit has been working continuously for nearly 15 years now. STK currently runs with realtime support (audio and MIDI) on Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/information.html b/doc/html/information.html index 1684097..33c3cbf 100644 --- a/doc/html/information.html +++ b/doc/html/information.html @@ -8,8 +8,9 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    General Information

    References

    + +
    +

    General Information

    References


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/inherit__graph__0.map b/doc/html/inherit__graph__0.map deleted file mode 100644 index 42b2534..0000000 --- a/doc/html/inherit__graph__0.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classRtAudio.html 19,5 75,26 diff --git a/doc/html/inherit__graph__0.md5 b/doc/html/inherit__graph__0.md5 deleted file mode 100644 index 50ff228..0000000 --- a/doc/html/inherit__graph__0.md5 +++ /dev/null @@ -1 +0,0 @@ -4914fde2417d6c67c785c200ef19aaca \ No newline at end of file diff --git a/doc/html/inherit__graph__0.png b/doc/html/inherit__graph__0.png deleted file mode 100644 index 4c0e140..0000000 Binary files a/doc/html/inherit__graph__0.png and /dev/null differ diff --git a/doc/html/inherit__graph__1.map b/doc/html/inherit__graph__1.map deleted file mode 100644 index e26b1fb..0000000 --- a/doc/html/inherit__graph__1.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $structRtAudioDeviceInfo.html 17,5 137,26 diff --git a/doc/html/inherit__graph__1.md5 b/doc/html/inherit__graph__1.md5 deleted file mode 100644 index fd839cd..0000000 --- a/doc/html/inherit__graph__1.md5 +++ /dev/null @@ -1 +0,0 @@ -0ad855de0c4ad36687a8ccb4b7d573b7 \ No newline at end of file diff --git a/doc/html/inherit__graph__1.png b/doc/html/inherit__graph__1.png deleted file mode 100644 index 44edeae..0000000 Binary files a/doc/html/inherit__graph__1.png and /dev/null differ diff --git a/doc/html/inherit__graph__2.map b/doc/html/inherit__graph__2.map deleted file mode 100644 index 985a9b4..0000000 --- a/doc/html/inherit__graph__2.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classRtError.html 17,5 73,26 diff --git a/doc/html/inherit__graph__2.md5 b/doc/html/inherit__graph__2.md5 deleted file mode 100644 index 0157bae..0000000 --- a/doc/html/inherit__graph__2.md5 +++ /dev/null @@ -1 +0,0 @@ -a1947db3c086608ac9282483a5991fdb \ No newline at end of file diff --git a/doc/html/inherit__graph__2.png b/doc/html/inherit__graph__2.png deleted file mode 100644 index 65d18b1..0000000 Binary files a/doc/html/inherit__graph__2.png and /dev/null differ diff --git a/doc/html/inherit__graph__3.map b/doc/html/inherit__graph__3.map deleted file mode 100644 index 9a8aecd..0000000 --- a/doc/html/inherit__graph__3.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classRtMidi.html 19,28 67,50 -rect $classRtMidiIn.html 123,6 181,27 -rect $classRtMidiOut.html 117,51 187,72 diff --git a/doc/html/inherit__graph__3.md5 b/doc/html/inherit__graph__3.md5 deleted file mode 100644 index 548ac52..0000000 --- a/doc/html/inherit__graph__3.md5 +++ /dev/null @@ -1 +0,0 @@ -5143b5c223d00c2c22a2d0f46971560b \ No newline at end of file diff --git a/doc/html/inherit__graph__3.png b/doc/html/inherit__graph__3.png deleted file mode 100644 index 17cc17c..0000000 Binary files a/doc/html/inherit__graph__3.png and /dev/null differ diff --git a/doc/html/inherit__graph__4.map b/doc/html/inherit__graph__4.map deleted file mode 100644 index 16273d9..0000000 --- a/doc/html/inherit__graph__4.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $structSkini_1_1Message.html 19,5 115,26 diff --git a/doc/html/inherit__graph__4.md5 b/doc/html/inherit__graph__4.md5 deleted file mode 100644 index d33c6c5..0000000 --- a/doc/html/inherit__graph__4.md5 +++ /dev/null @@ -1 +0,0 @@ -5f1b2cac772f2f47010db95bf6075f45 \ No newline at end of file diff --git a/doc/html/inherit__graph__4.png b/doc/html/inherit__graph__4.png deleted file mode 100644 index f187d79..0000000 Binary files a/doc/html/inherit__graph__4.png and /dev/null differ diff --git a/doc/html/inherit__graph__5.map b/doc/html/inherit__graph__5.map deleted file mode 100644 index b2cbb21..0000000 --- a/doc/html/inherit__graph__5.map +++ /dev/null @@ -1,84 +0,0 @@ -base referer -rect $classStk.html 49,1604 87,1625 -rect $classEffect.html 149,141 195,163 -rect $classFilter.html 152,436 192,457 -rect $classFunction.html 141,685 203,707 -rect $classGenerator.html 137,867 207,888 -rect $classInstrmnt.html 144,1400 200,1421 -rect $classMessager.html 139,1445 205,1467 -rect $classMidiFileIn.html 140,1491 204,1512 -rect $classMutex.html 149,1536 195,1557 -rect $classPhonemes.html 136,1581 208,1603 -rect $classRtDuplex.html 140,1627 204,1648 -rect $classSkini.html 152,1672 192,1693 -rect $classSocket.html 145,1717 199,1739 -rect $classSphere.html 145,1763 199,1784 -rect $classThread.html 145,1808 199,1829 -rect $classVector3D.html 137,1853 207,1875 -rect $classVoicer.html 145,1899 199,1920 -rect $classWvIn.html 152,1967 192,1988 -rect $classWvOut.html 145,2091 199,2112 -rect $classChorus.html 268,5 321,27 -rect $classEcho.html 275,51 315,72 -rect $classJCRev.html 269,96 320,117 -rect $classNRev.html 273,141 316,163 -rect $classPitShift.html 268,187 321,208 -rect $classPRCRev.html 263,232 327,253 -rect $classBiQuad.html 268,277 321,299 -rect $classDelay.html 273,323 316,344 -rect $classOnePole.html 264,368 325,389 -rect $classOneZero.html 263,413 327,435 -rect $classPoleZero.html 263,459 327,480 -rect $classTwoPole.html 264,504 325,525 -rect $classTwoZero.html 263,549 327,571 -rect $classFormSwep.html 383,277 457,299 -rect $classDelayA.html 393,323 447,344 -rect $classDelayL.html 395,368 445,389 -rect $classBowTable.html 260,595 329,616 -rect $classJetTable.html 264,640 325,661 -rect $classReedTable.html 257,685 332,707 -rect $classTable.html 272,731 317,752 -rect $classEnvelope.html 263,776 327,797 -rect $classModulate.html 263,821 327,843 -rect $classNoise.html 273,867 316,888 -rect $classSingWave.html 260,912 329,933 -rect $classADSR.html 396,753 444,775 -rect $classAsymp.html 393,799 447,820 -rect $classSubNoise.html 387,867 453,888 -rect $classBandedWG.html 256,957 333,979 -rect $classBlowBotl.html 264,1003 325,1024 -rect $classBlowHole.html 263,1048 327,1069 -rect $classBowed.html 269,1093 320,1115 -rect $classBrass.html 273,1139 316,1160 -rect $classClarinet.html 267,1184 323,1205 -rect $classDrummer.html 261,1229 328,1251 -rect $classFlute.html 275,1275 315,1296 -rect $classFM.html 276,1320 313,1341 -rect $classMesh2D.html 267,1365 323,1387 -rect $classModal.html 272,1411 317,1432 -rect $classPlucked.html 265,1456 324,1477 -rect $classPluckTwo.html 260,1501 329,1523 -rect $classResonate.html 263,1547 327,1568 -rect $classSampler.html 264,1592 325,1613 -rect $classSaxofony.html 263,1637 327,1659 -rect $classShakers.html 265,1683 324,1704 -rect $classSimple.html 269,1728 320,1749 -rect $classSitar.html 275,1773 315,1795 -rect $classStifKarp.html 265,1819 324,1840 -rect $classVoicForm.html 260,1864 329,1885 -rect $classWhistle.html 268,1909 321,1931 -rect $classBeeThree.html 387,1139 453,1160 -rect $classFMVoices.html 385,1184 455,1205 -rect $classHevyMetl.html 388,1229 452,1251 -rect $classPercFlut.html 389,1275 451,1296 -rect $classRhodey.html 392,1320 448,1341 -rect $classTubeBell.html 388,1365 452,1387 -rect $classWurley.html 393,1411 447,1432 -rect $classModalBar.html 387,1456 453,1477 -rect $classMandolin.html 389,1501 451,1523 -rect $classMoog.html 399,1592 441,1613 -rect $classRtWvIn.html 268,1955 321,1976 -rect $classTcpWvIn.html 263,2000 327,2021 -rect $classWaveLoop.html 257,2045 332,2067 -rect $classRtWvOut.html 261,2091 328,2112 -rect $classTcpWvOut.html 256,2136 333,2157 diff --git a/doc/html/inherit__graph__5.md5 b/doc/html/inherit__graph__5.md5 deleted file mode 100644 index dbcbc85..0000000 --- a/doc/html/inherit__graph__5.md5 +++ /dev/null @@ -1 +0,0 @@ -7de0a1ef95c95bd0f4428edf4f76a7e7 \ No newline at end of file diff --git a/doc/html/inherit__graph__5.png b/doc/html/inherit__graph__5.png deleted file mode 100644 index 65b5520..0000000 Binary files a/doc/html/inherit__graph__5.png and /dev/null differ diff --git a/doc/html/inherit__graph__6.map b/doc/html/inherit__graph__6.map deleted file mode 100644 index d760254..0000000 --- a/doc/html/inherit__graph__6.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStkError.html 17,5 79,26 diff --git a/doc/html/inherit__graph__6.md5 b/doc/html/inherit__graph__6.md5 deleted file mode 100644 index a2ac3f5..0000000 --- a/doc/html/inherit__graph__6.md5 +++ /dev/null @@ -1 +0,0 @@ -c2782d6b81ebd0457cc6e14ed77d3ecf \ No newline at end of file diff --git a/doc/html/inherit__graph__6.png b/doc/html/inherit__graph__6.png deleted file mode 100644 index 7fde5ba..0000000 Binary files a/doc/html/inherit__graph__6.png and /dev/null differ diff --git a/doc/html/inherit__graph__7.map b/doc/html/inherit__graph__7.map deleted file mode 100644 index 635490b..0000000 --- a/doc/html/inherit__graph__7.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classStkFrames.html 17,5 92,26 diff --git a/doc/html/inherit__graph__7.md5 b/doc/html/inherit__graph__7.md5 deleted file mode 100644 index a8b0acd..0000000 --- a/doc/html/inherit__graph__7.md5 +++ /dev/null @@ -1 +0,0 @@ -188532868a1579bd3e7830e5b07e7af4 \ No newline at end of file diff --git a/doc/html/inherit__graph__7.png b/doc/html/inherit__graph__7.png deleted file mode 100644 index 552a4bf..0000000 Binary files a/doc/html/inherit__graph__7.png and /dev/null differ diff --git a/doc/html/inherits.html b/doc/html/inherits.html deleted file mode 100644 index be5e46d..0000000 --- a/doc/html/inherits.html +++ /dev/null @@ -1,140 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    STK Graphical Class Hierarchy

    Go to the textual class hierarchy -

    - - - - - - - - - -
    - - -
    - - -
    - - -
    - - - - -
    - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - -
    - - -
    -


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/instruments.html b/doc/html/instruments.html index bd28a21..be07efe 100644 --- a/doc/html/instruments.html +++ b/doc/html/instruments.html @@ -8,17 +8,19 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    Instruments

    The ToolKit comes with a wide variety of synthesis algorithms, all of which inherit from the Instrmnt class. In this example, we'll fire up an instance of the BeeThree FM synthesis class and show how its frequency can be modified over time.

    + +

    +

    Instruments

    The ToolKit comes with a wide variety of synthesis algorithms, all of which inherit from the stk::Instrmnt class. In this example, we'll fire up an instance of the stk::BeeThree FM synthesis class and show how its frequency can be modified over time.

    // bethree.cpp STK tutorial program
     
     #include "BeeThree.h"
     #include "RtAudio.h"
    +using namespace stk;
     
     // The TickData structure holds all the class instances and data that
     // are shared by the various processing functions.
     struct TickData {
    -  Instrmnt *instrument;
    +  Instrmnt *instrument;
       StkFloat frequency;
       StkFloat scaler;
       long counter;
    @@ -33,7 +35,7 @@
     // called automatically when the system needs a new buffer of audio
     // samples.
     int tick( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
    -         double streamTime, RtAudioStreamStatus status, void *userData )
    +         double streamTime, RtAudioStreamStatus status, void *userData )
     {
       TickData *data = (TickData *) userData;
       register StkFloat *samples = (StkFloat *) outputBuffer;
    @@ -55,31 +57,31 @@
     int main()
     {
       // Set the global sample rate and rawwave path before creating class instances.
    -  Stk::setSampleRate( 44100.0 );
    -  Stk::setRawwavePath( "../../rawwaves/" );
    +  Stk::setSampleRate( 44100.0 );
    +  Stk::setRawwavePath( "../../rawwaves/" );
     
       TickData data;
    -  RtAudio dac;
    +  RtAudio dac;
     
       // Figure out how many bytes in an StkFloat and setup the RtAudio stream.
    -  RtAudio::StreamParameters parameters;
    -  parameters.deviceId = dac.getDefaultOutputDevice();
    -  parameters.nChannels = 1;
    -  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
    +  RtAudio::StreamParameters parameters;
    +  parameters.deviceId = dac.getDefaultOutputDevice();
    +  parameters.nChannels = 1;
    +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
       unsigned int bufferFrames = RT_BUFFER_SIZE;
       try {
    -    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
    +    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
       }
    -  catch ( RtError& error ) {
    -    error.printMessage();
    +  catch ( RtError& error ) {
    +    error.printMessage();
         goto cleanup;
       }
     
       try {
         // Define and load the BeeThree instrument
    -    data.instrument = new BeeThree();
    +    data.instrument = new BeeThree();
       }
    -  catch ( StkError & ) {
    +  catch ( StkError & ) {
         goto cleanup;
       }
     
    @@ -87,23 +89,23 @@
       data.instrument->noteOn( data.frequency, 0.5 );
     
       try {
    -    dac.startStream();
    +    dac.startStream();
       }
    -  catch ( RtError &error ) {
    -    error.printMessage();
    +  catch ( RtError &error ) {
    +    error.printMessage();
         goto cleanup;
       }
     
       // Block waiting until callback signals done.
       while ( !data.done )
    -    Stk::sleep( 100 );
    +    Stk::sleep( 100 );
       
       // Shut down the callback and output stream.
       try {
    -    dac.closeStream();
    +    dac.closeStream();
       }
    -  catch ( RtError &error ) {
    -    error.printMessage();
    +  catch ( RtError &error ) {
    +    error.printMessage();
       }
     
      cleanup:
    @@ -112,14 +114,15 @@
       return 0;
     }
     

    -We have used an Instrmnt pointer when referencing the BeeThree instance above, so it would be simple to replace the BeeThree class with any other STK instrument class. It should be noted, however, that a few classes do not respond to the setFrequency() function (e.g., Shakers, Drummer).

    -The noteOn() function initiates an instrument attack. Instruments that are continuously excited (e.g., Clarinet, BeeThree) will continue to sound until stopped with a noteOff(). Impulsively excited instrument sounds (e.g., Plucked, Wurley) typically decay within a few seconds time, requiring subsequent noteOn() messages for re-attack.

    +We have used an Instrmnt pointer when referencing the BeeThree instance above, so it would be simple to replace the BeeThree class with any other STK instrument class. It should be noted, however, that a few classes do not respond to the setFrequency() function (e.g., Shakers, Drummer).

    +The noteOn() function initiates an instrument attack. Instruments that are continuously excited (e.g., stk::Clarinet, stk::BeeThree) will continue to sound until stopped with a noteOff(). Impulsively excited instrument sounds (e.g., stk::Plucked, stk::Wurley) typically decay within a few seconds time, requiring subsequent noteOn() messages for re-attack.

    Instrument parameters can be precisely controlled as demonstrated above. A more flexible approach to instrument control, allowing arbitrary scorefile or realtime updates, is described in the next tutorial chapter.

    -[Main tutorial page]   [Next tutorial]


    +[Main tutorial page]   [Next tutorial]
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/links.html b/doc/html/links.html index 9528f47..a90fe0f 100644 --- a/doc/html/links.html +++ b/doc/html/links.html @@ -8,12 +8,13 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    Miscellaneous Links

    + +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/maillist.html b/doc/html/maillist.html index 8ee4822..5340c13 100644 --- a/doc/html/maillist.html +++ b/doc/html/maillist.html @@ -8,15 +8,17 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    The Mail List

    An STK mailing list has been set up to facilitate communication among STK users. Subscribing to this list is your best way of keeping on top of new releases, bug fixes, and various user developments.

    + +

    +

    The Mail List

    An STK mailing list has been set up to facilitate communication among STK users. Subscribing to this list is your best way of keeping on top of new releases, bug fixes, and various user developments.

    For answers to frequently asked questions, check the list archives.

    To join send a message to <stk-request@ccrma.stanford.edu> with the contents: subscribe

    -To be removed from the list send a message to <stk-request@ccrma.stanford.edu> with the contents: unsubscribe


    +To be removed from the list send a message to <stk-request@ccrma.stanford.edu> with the contents: unsubscribe
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/main.html b/doc/html/main.html deleted file mode 100644 index e65b1b8..0000000 --- a/doc/html/main.html +++ /dev/null @@ -1,29 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    The Synthesis ToolKit in C++ (STK)

    -

    -

    4.2.1

    - -

    Perry R. Cook & Gary P. Scavone

    -

    -The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. The Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (all source included, no unusual libraries, and no hidden drivers). We like to think that this increases the chances that our programs will still work in another 5-10 years. In fact, the ToolKit has been working continuously for about 10 years now. STK currently runs with "realtime" support (audio and MIDI) on SGI (Irix), Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    -

    -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/multichannel.html b/doc/html/multichannel.html index 8a82303..6106b7c 100644 --- a/doc/html/multichannel.html +++ b/doc/html/multichannel.html @@ -8,57 +8,60 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    Multi-Channel I/O

    The ToolKit WvIn and WvOut classes (and their subclasses) support multi-channel audio data input and output. A set of interleaved audio samples representing a single time "slice" is referred to as a sample frame. At a sample rate of 44.1 kHz, a four-channel audio stream will have 44100 sample frames per second and a total of 176400 individual samples per second.

    -Most STK classes process single-sample data streams via their tick() function. In order to distinguish single-sample and sample frame calculations, the WvIn and WvOut classes implement both tick() and tickFrame() functions. The tickFrame() functions take or return a reference to an StkFrames object representing one or more sample frames. For single-channel streams, the tick() and tickFrame() functions produce equivalent results. When tick() is called for a multi-channel stream, however, the function either returns a sample frame average (WvIn) or writes a single sample argument to all channels (WvOut).

    + +

    +

    Multi-Channel I/O

    The ToolKit stk::WvIn and stk::WvOut classes (and their subclasses) support multi-channel audio data input and output. Several other abstract base classes, such as stk::Instrmnt, stk::Generator, and stk::Effect, also support multi-channel computations though not all of their subclasses produce or take multi-channel data. A set of interleaved audio samples representing a single time "slice" is referred to as a sample frame. At a sample rate of 44.1 kHz, a four-channel audio stream will have 44100 sample frames per second and a total of 176400 individual samples per second.

    +Most STK classes process single-sample data streams via their tick() function. For classes supporting multi-channel data, one must distinguish the tick() functions taking or producing single StkFloat arguments from those taking stk::StkFrames& arguments. If a single-sample version of the tick() function is called for these classes, a full sample frame is computed but only a single value is either input and/or output. For example, if the single-sample tick() function is called for subclasses of WvOut, the sample argument is written to all channels in the one computed frame. For classes returning values, an optional channel argument specifies which channel value is returned from the computed frame (the default is always channel 0). To input and/or output multichannel data to these classes, the overloaded tick() functions taking StkFrames reference arguments should be used.

    Multi-channel support for realtime audio input and output is dependent on the audio device(s) available on your system.

    -The following example demonstrates the use of the FileWvOut class for creating a four channel, 16-bit AIFF formatted audio file. We will use four sinewaves of different frequencies for the first two seconds and then a single sinewave for the last two seconds.

    +The following example demonstrates the use of the stk::FileWvOut class for creating a four channel, 16-bit AIFF formatted audio file. We will use four sinewaves of different frequencies for the first two seconds and then a single sinewave for the last two seconds.

    // foursine.cpp STK tutorial program
     
     #include "SineWave.h"
     #include "FileWvOut.h"
    +using namespace stk;
     
     int main()
     {
       // Set the global sample rate before creating class instances.
    -  Stk::setSampleRate( 44100.0 );
    +  Stk::setSampleRate( 44100.0 );
     
       int i;
    -  FileWvOut output;
    -  SineWave inputs[4];
    +  FileWvOut output;
    +  SineWave inputs[4];
     
       // Set the sine wave frequencies.
       for ( i=0; i<4; i++ )
    -    inputs[i].setFrequency( 220.0 * (i+1) );
    +    inputs[i].setFrequency( 220.0 * (i+1) );
     
       // Define and open a 16-bit, four-channel AIFF formatted output file
       try {
    -    output.openFile( "foursine.aif", 4, FileWrite::FILE_AIF, Stk::STK_SINT16 );
    +    output.openFile( "foursine.aif", 4, FileWrite::FILE_AIF, Stk::STK_SINT16 );
       }
    -  catch (StkError &) {
    +  catch (StkError &) {
         exit( 1 );
       }
     
       // Write two seconds of four sines to the output file
    -  StkFrames frames( 88200, 4 );
    +  StkFrames frames( 88200, 4 );
       for ( i=0; i<4; i++ )
    -    inputs[i].tick( frames, i );
    +    inputs[i].tick( frames, i );
     
    -  output.tickFrame( frames );
    +  output.tick( frames );
     
       // Now write the first sine to all four channels for two seconds
       for ( i=0; i<88200; i++ ) {
    -    output.tick( inputs[0].tick() );
    +    output.tick( inputs[0].tick() );
       }
     
       return 0;
     }
     

    -[Main tutorial page]   [Next tutorial]


    +[Main tutorial page]   [Next tutorial]
    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtApiDs_1_1RtDsStatistics-members.html b/doc/html/namespaces.html similarity index 64% rename from doc/html/structRtApiDs_1_1RtDsStatistics-members.html rename to doc/html/namespaces.html index 2399da9..7dfb912 100644 --- a/doc/html/structRtApiDs_1_1RtDsStatistics-members.html +++ b/doc/html/namespaces.html @@ -6,15 +6,19 @@
       

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial +
    + +
    +

    Namespace List

    Here is a list of all documented namespaces with brief descriptions: + +
    stkThe STK namespace
    +

    - -

    RtApiDs::RtDsStatistics Member List

    This is the complete list of members for RtApiDs::RtDsStatistics, including all inherited members.

    -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/namespacestk.html b/doc/html/namespacestk.html new file mode 100644 index 0000000..480fd51 --- /dev/null +++ b/doc/html/namespacestk.html @@ -0,0 +1,325 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + +
    +

    stk Namespace Reference

    The STK namespace. +More... +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Classes

    class  ADSR
     STK ADSR envelope class. More...
    class  Asymp
     STK asymptotic curve envelope class. More...
    class  BandedWG
     Banded waveguide modeling class. More...
    class  BeeThree
     STK Hammond-oid organ FM synthesis instrument. More...
    class  BiQuad
     STK biquad (two-pole, two-zero) filter class. More...
    class  Blit
     STK band-limited impulse train class. More...
    class  BlitSaw
     STK band-limited sawtooth wave class. More...
    class  BlitSquare
     STK band-limited square wave class. More...
    class  BlowBotl
     STK blown bottle instrument class. More...
    class  BlowHole
     STK clarinet physical model with one register hole and one tonehole. More...
    class  Bowed
     STK bowed string instrument class. More...
    class  BowTable
     STK bowed string table class. More...
    class  Brass
     STK simple brass instrument class. More...
    class  Chorus
     STK chorus effect class. More...
    class  Clarinet
     STK clarinet physical model class. More...
    class  Delay
     STK non-interpolating delay line class. More...
    class  DelayA
     STK allpass interpolating delay line class. More...
    class  DelayL
     STK linear interpolating delay line class. More...
    class  Drummer
     STK drum sample player class. More...
    class  Echo
     STK echo effect class. More...
    class  Effect
     STK abstract effects parent class. More...
    class  Envelope
     STK linear line envelope class. More...
    class  FileLoop
     STK file looping / oscillator class. More...
    class  FileRead
     STK audio file input class. More...
    class  FileWrite
     STK audio file output class. More...
    class  FileWvIn
     STK audio file input class. More...
    class  FileWvOut
     STK audio file output class. More...
    class  Filter
     STK abstract filter class. More...
    class  Fir
     STK general finite impulse response filter class. More...
    class  Flute
     STK flute physical model class. More...
    class  FM
     STK abstract FM synthesis base class. More...
    class  FMVoices
     STK singing FM synthesis instrument. More...
    class  FormSwep
     STK sweepable formant filter class. More...
    class  Function
     STK abstract function parent class. More...
    class  Generator
     STK abstract unit generator parent class. More...
    class  Granulate
     STK granular synthesis class. More...
    class  HevyMetl
     STK heavy metal FM synthesis instrument. More...
    class  Iir
     STK general infinite impulse response filter class. More...
    class  InetWvIn
     STK internet streaming input class. More...
    class  InetWvOut
     STK internet streaming output class. More...
    class  Instrmnt
     STK instrument abstract base class. More...
    class  JCRev
     John Chowning's reverberator class. More...
    class  JetTable
     STK jet table class. More...
    class  Mandolin
     STK mandolin instrument model class. More...
    class  Mesh2D
     Two-dimensional rectilinear waveguide mesh class. More...
    class  Messager
     STK input control message parser. More...
    class  MidiFileIn
     A standard MIDI file reading/parsing class. More...
    class  Modal
     STK resonance model abstract base class. More...
    class  ModalBar
     STK resonant bar instrument class. More...
    class  Modulate
     STK periodic/random modulator. More...
    class  Moog
     STK moog-like swept filter sampling synthesis class. More...
    class  Mutex
     STK mutex class. More...
    class  Noise
     STK noise generator. More...
    class  NRev
     CCRMA's NRev reverberator class. More...
    class  OnePole
     STK one-pole filter class. More...
    class  OneZero
     STK one-zero filter class. More...
    class  PercFlut
     STK percussive flute FM synthesis instrument. More...
    class  Phonemes
     STK phonemes table. More...
    class  PitShift
     STK simple pitch shifter effect class. More...
    class  Plucked
     STK plucked string model class. More...
    class  PluckTwo
     STK enhanced plucked string model class. More...
    class  PoleZero
     STK one-pole, one-zero filter class. More...
    class  PRCRev
     Perry's simple reverberator class. More...
    class  ReedTable
     STK reed table class. More...
    class  Resonate
     STK noise driven formant filter. More...
    class  Rhodey
     STK Fender Rhodes electric piano FM synthesis instrument. More...
    class  RtWvIn
     STK realtime audio (blocking) input class. More...
    class  RtWvOut
     STK realtime audio (blocking) output class. More...
    class  Sampler
     STK sampling synthesis abstract base class. More...
    class  Saxofony
     STK faux conical bore reed instrument class. More...
    class  Shakers
     PhISEM and PhOLIES class. More...
    class  Simple
     STK wavetable/noise instrument. More...
    class  SineWave
     STK sinusoid oscillator class. More...
    class  SingWave
     STK "singing" looped soundfile class. More...
    class  Sitar
     STK sitar string model class. More...
    class  Skini
     STK SKINI parsing class. More...
    class  Socket
     STK internet socket abstract base class. More...
    class  Sphere
     STK sphere class. More...
    class  StifKarp
     STK plucked stiff string instrument. More...
    class  StkError
     STK error handling class. More...
    class  Stk
     STK base class. More...
    class  StkFrames
     An STK class to handle vectorized audio data. More...
    class  TapDelay
     STK non-interpolating tapped delay line class. More...
    class  TcpClient
     STK TCP socket client class. More...
    class  TcpServer
     STK TCP socket server class. More...
    class  Thread
     STK thread class. More...
    class  TubeBell
     STK tubular bell (orchestral chime) FM synthesis instrument. More...
    class  TwoPole
     STK two-pole filter class. More...
    class  TwoZero
     STK two-zero filter class. More...
    class  UdpSocket
     STK UDP socket server/client class. More...
    class  Vector3D
     STK 3D vector class. More...
    class  Voicer
     STK voice manager class. More...
    class  VoicForm
     Four formant synthesis instrument. More...
    class  Whistle
     STK police/referee whistle instrument class. More...
    class  Wurley
     STK Wurlitzer electric piano FM synthesis instrument. More...
    class  WvIn
     STK audio input abstract base class. More...
    class  WvOut
     STK audio output abstract base class. More...
    +


    Detailed Description

    +The STK namespace. +

    +Most Stk classes are defined within the STK namespace. Exceptions to this include the classes RtAudio, RtMidi, and RtError. +

    +

    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/pages.html b/doc/html/pages.html index ef6550e..f94508a 100644 --- a/doc/html/pages.html +++ b/doc/html/pages.html @@ -8,8 +8,9 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    STK Related Pages

    Here is a list of all related documentation pages:
      + +
      +

      Related Pages

      Here is a list of all related documentation pages: +

      - +
      The Synthesis ToolKit in C++ (STK)
      ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/polyvoices.html b/doc/html/polyvoices.html index 87a4577..9b92907 100644 --- a/doc/html/polyvoices.html +++ b/doc/html/polyvoices.html @@ -8,10 +8,11 @@    

      Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


      - -

      Voice Management

      The previous tutorial chapters were concerned only with monophonic ToolKit instrument playback and control. At this point, it should be relatively clear that one can instantiate multiple instruments and perhaps sum together their outputs or even direct their outputs to separate channels. It is less clear how one might go about controlling a group of instruments. The Voicer class is designed to serve just this purpose.

      -The STK Voicer class is a relatively simple voice manager. The user can dynamically add and delete instruments to/from its "control", with the option of controlling specific instruments via unique note tags and/or grouping sets of instruments via a "channel" number. All sounding instrument outputs are summed and returned via the tick() function. The Voicer class responds to noteOn, noteOff, setFrequency, pitchBend, and controlChange messages, automatically assigning incoming messages to the voices in its control. When all voices are sounding and a new noteOn is encountered, the Voicer interrupts the oldest sounding voice. The user is responsible for creating and deleting all instrument instances.

      -In the following example, we modify the controlbee.cpp program to make use of three BeeThree instruments, all controlled using a Voicer.

      + +

      +

      Voice Management

      The previous tutorial chapters were concerned only with monophonic ToolKit instrument playback and control. At this point, it should be relatively clear that one can instantiate multiple instruments and perhaps sum together their outputs or even direct their outputs to separate channels. It is less clear how one might go about controlling a group of instruments. The stk::Voicer class is designed to serve just this purpose.

      +The stk::Voicer class is a relatively simple voice manager. The user can dynamically add and delete instruments to/from its "control", with the option of controlling specific instruments via unique note tags and/or grouping sets of instruments via a "group" number. All sounding instrument outputs are summed and returned via the tick() function. The stk::Voicer class responds to noteOn, noteOff, setFrequency, pitchBend, and controlChange messages, automatically assigning incoming messages to the voices in its control. When all voices are sounding and a new noteOn is encountered, the stk::Voicer interrupts the oldest sounding voice. The user is responsible for creating and deleting all instrument instances.

      +In the following example, we modify the controlbee.cpp program to make use of three stk::BeeThree instruments, all controlled using a stk::Voicer.

      // threebees.cpp STK tutorial program
       
       #include "BeeThree.h"
      @@ -23,12 +24,14 @@ In the following example, we modify the controlbee.cpp program to m
       #include <algorithm>
       using std::min;
       
      +using namespace stk;
      +
       // The TickData structure holds all the class instances and data that
       // are shared by the various processing functions.
       struct TickData {
      -  Voicer voicer;
      -  Messager messager;
      -  Skini::Message message;
      +  Voicer voicer;
      +  Messager messager;
      +  Skini::Message message;
         int counter;
         bool haveMessage;
         bool done;
      @@ -90,7 +93,7 @@ In the following example, we modify the controlbee.cpp program to m
       // control updates.  It will be called automatically when the system
       // needs a new buffer of audio samples.
       int tick( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
      -         double streamTime, RtAudioStreamStatus status, void *dataPointer )
      +         double streamTime, RtAudioStreamStatus status, void *dataPointer )
       {
         TickData *data = (TickData *) dataPointer;
         register StkFloat *samples = (StkFloat *) outputBuffer;
      @@ -101,7 +104,7 @@ In the following example, we modify the controlbee.cpp program to m
           if ( !data->haveMessage ) {
             data->messager.popMessage( data->message );
             if ( data->message.type > 0 ) {
      -        data->counter = (long) (data->message.time * Stk::sampleRate());
      +        data->counter = (long) (data->message.time * Stk::sampleRate());
               data->haveMessage = true;
             }
             else
      @@ -127,35 +130,35 @@ In the following example, we modify the controlbee.cpp program to m
       int main()
       {
         // Set the global sample rate and rawwave path before creating class instances.
      -  Stk::setSampleRate( 44100.0 );
      -  Stk::setRawwavePath( "../../rawwaves/" );
      +  Stk::setSampleRate( 44100.0 );
      +  Stk::setRawwavePath( "../../rawwaves/" );
       
         int i;
         TickData data;
      -  RtAudio dac;
      -  Instrmnt *instrument[3];
      +  RtAudio dac;
      +  Instrmnt *instrument[3];
         for ( i=0; i<3; i++ ) instrument[i] = 0;
       
         // Figure out how many bytes in an StkFloat and setup the RtAudio stream.
      -  RtAudio::StreamParameters parameters;
      -  parameters.deviceId = dac.getDefaultOutputDevice();
      -  parameters.nChannels = 1;
      -  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
      +  RtAudio::StreamParameters parameters;
      +  parameters.deviceId = dac.getDefaultOutputDevice();
      +  parameters.nChannels = 1;
      +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
         unsigned int bufferFrames = RT_BUFFER_SIZE;
         try {
      -    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
      +    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
         }
      -  catch ( RtError &error ) {
      -    error.printMessage();
      +  catch ( RtError &error ) {
      +    error.printMessage();
           goto cleanup;
         }
       
         try {
           // Define and load the BeeThree instruments
           for ( i=0; i<3; i++ )
      -      instrument[i] = new BeeThree();
      +      instrument[i] = new BeeThree();
         }
      -  catch ( StkError & ) {
      +  catch ( StkError & ) {
           goto cleanup;
         }
       
      @@ -167,23 +170,23 @@ In the following example, we modify the controlbee.cpp program to m
           goto cleanup;
       
         try {
      -    dac.startStream();
      +    dac.startStream();
         }
      -  catch ( RtError &error ) {
      -    error.printMessage();
      +  catch ( RtError &error ) {
      +    error.printMessage();
           goto cleanup;
         }
       
         // Block waiting until callback signals done.
         while ( !data.done )
      -    Stk::sleep( 100 );
      +    Stk::sleep( 100 );
         
         // Shut down the callback and output stream.
         try {
      -    dac.closeStream();
      +    dac.closeStream();
         }
      -  catch ( RtError &error ) {
      -    error.printMessage();
      +  catch ( RtError &error ) {
      +    error.printMessage();
         }
       
        cleanup:
      @@ -196,12 +199,13 @@ We have written this program to accept control messages from STDIN.
       
      threebees < scores/bachfugue.ski
       

      For more fun, surf to Kern Scores for a huge assortment of other scorefiles that can be downloaded in the SKINI format.

      -Another easy extension would be to add the Messager::startMidiInput() function to the program and then play the instruments via a MIDI keyboard.

      -[Main tutorial page]


      +Another easy extension would be to add the stk::Messager::startMidiInput() function to the program and then play the instruments via a MIDI keyboard.

      +[Main tutorial page]

      +
      - +
      The Synthesis ToolKit in C++ (STK)
      ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/realtime.html b/doc/html/realtime.html index fd06237..7269c24 100644 --- a/doc/html/realtime.html +++ b/doc/html/realtime.html @@ -8,38 +8,52 @@    

      Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


      - -

      Realtime Audio (blocking)

      In this section, we modify the sineosc.cpp program in order to send the output to the default audio playback device on your computer system. We also make use of the SineWave class as a sine-wave oscillator. SineWave computes an internal, static sine-wave table when its first instance is created. Subsequent instances make use of the same table. The default table length, specified in SineWave.h, is 2048 samples.

      + +

      +

      Realtime Audio (blocking)

      In this section, we modify the sineosc.cpp program in order to send the output to the default audio playback device on your computer system. We also make use of the stk::SineWave class as a sine-wave oscillator. stk::SineWave computes an internal, static sine-wave table when its first instance is created. Subsequent instances make use of the same table. The default table length, specified in SineWave.h, is 2048 samples.

      // rtsine.cpp STK tutorial program
       
       #include "SineWave.h"
       #include "RtWvOut.h"
      +using namespace stk;
       
       int main()
       {
         // Set the global sample rate before creating class instances.
      -  Stk::setSampleRate( 44100.0 );
      -  Stk::showWarnings( true );
      +  Stk::setSampleRate( 44100.0 );
      +  Stk::showWarnings( true );
       
      -  SineWave sine;
      -  RtWvOut *dac = 0;
      +  int nFrames = 100000;
      +  SineWave sine;
      +  RtWvOut *dac = 0;
       
         try {
           // Define and open the default realtime output device for one-channel playback
      -    dac = new RtWvOut( 1 );
      +    dac = new RtWvOut( 1 );
         }
      -  catch ( StkError & ) {
      +  catch ( StkError & ) {
           exit( 1 );
         }
       
      -  sine.setFrequency( 441.0 );
      +  sine.setFrequency( 441.0 );
       
      -  // Play the oscillator for 40000 samples
      -  for ( int i=0; i<40000; i++ ) {
      +  // Option 1: Use StkFrames
      +  /*
      +  StkFrames frames( nFrames, 1 );
      +  try {
      +    dac->tick( sine.tick( frames ) );
      +  }
      +  catch ( StkError & ) {
      +    goto cleanup;
      +  }
      +  */
      +
      +  // Option 2: Single-sample computations
      +  for ( int i=0; i<nFrames; i++ ) {
           try {
      -      dac->tick( sine.tick() );
      +      dac->tick( sine.tick() );
            }
      -    catch ( StkError & ) {
      +    catch ( StkError & ) {
             goto cleanup;
           }
         }
      @@ -50,22 +64,23 @@
         return 0;
       }
       

      -The class RtWvOut is a protected subclass of WvOut. A number of optional constructor arguments can be used to fine tune its performance for a given system. RtWvOut provides a "single-sample", blocking interface to the RtAudio class. Note that RtWvOut (as well as the RtWvIn class described below) makes use of RtAudio's callback input/output functionality by creating a large ring-buffer into which data is written. These classes should not be used when low-latency and robust performance is necessary

      -Though not used here, an RtWvIn class exists as well that can be used to read realtime audio data from an input device. See the record.cpp example program in the examples project for more information.

      -It may be possible to use an instance of RtWvOut and an instance of RtWvIn to simultaneously read and write realtime audio to and from a hardware device or devices. However, it is recommended to instead use a single instance of RtAudio to achieve this behavior, as described in the next section. See the effects project or the duplex.cpp example program in the examples project for more information.

      -When using any realtime STK class (RtAudio, RtWvOut, RtWvIn, RtDuplex, RtMidi, InetWvIn, InetWvOut, Socket, UdpSocket, TcpServer, TcpClient, and Thread), it is necessary to specify an audio/MIDI API preprocessor definition and link with the appropriate libraries or frameworks. For example, the above program could be compiled on a Linux system using the GNU g++ compiler and the ALSA audio API as follows (assuming all necessary files exist in the project directory):

      -

      g++ -Wall -D__LINUX_ALSA__ -D__LITTLE_ENDIAN__ -o rtsine Stk.cpp Generator.cpp SineWave.cpp WvOut.cpp \
      -    RtWvOut.cpp RtAudio.cpp rtsine.cpp -lpthread -lasound
      +The class stk::RtWvOut is a protected subclass of stk::WvOut. A number of optional constructor arguments can be used to fine tune its performance for a given system. stk::RtWvOut provides a "single-sample", blocking interface to the RtAudio class. Note that stk::RtWvOut (as well as the stk::RtWvIn class described below) makes use of RtAudio's callback input/output functionality by creating a large ring-buffer into which data is written. These classes should not be used when low-latency and robust performance is necessary

      +Though not used here, an stk::RtWvIn class exists as well that can be used to read realtime audio data from an input device. See the record.cpp example program in the examples project for more information.

      +It may be possible to use an instance of stk::RtWvOut and an instance of stk::RtWvIn to simultaneously read and write realtime audio to and from a hardware device or devices. However, it is recommended to instead use a single instance of RtAudio to achieve this behavior, as described in the next section. See the effects project or the duplex.cpp example program in the examples project for more information.

      +When using any realtime STK class (RtAudio, stk::RtWvOut, stk::RtWvIn, RtMidi, stk::InetWvIn, stk::InetWvOut, stk::Socket, stk::UdpSocket, stk::TcpServer, stk::TcpClient, and stk::Thread), it is necessary to specify an audio/MIDI API preprocessor definition and link with the appropriate libraries or frameworks. For example, the above program could be compiled on a Linux system using the GNU g++ compiler and the ALSA audio API as follows (assuming all necessary files exist in the project directory):

      +

      g++ -Wall -D__LINUX_ALSA__ -D__LITTLE_ENDIAN__ -o rtsine Stk.cpp Generator.cpp SineWave.cpp WvOut.cpp \
      +    RtWvOut.cpp RtAudio.cpp rtsine.cpp -lpthread -lasound
       

      On a Macintosh OS X system, the syntax would be:

      -

      g++ -Wall -D__MACOSX_CORE__ -o rtsine Stk.cpp Generator.cpp SineWave.cpp WvOut.cpp RtWvOut.cpp RtAudio.cpp \
      +
      g++ -Wall -D__MACOSX_CORE__ -o rtsine Stk.cpp Generator.cpp SineWave.cpp WvOut.cpp RtWvOut.cpp RtAudio.cpp \
          rtsine.cpp -lpthread -framework CoreAudio -framework CoreMIDI -framework CoreFoundation
       

      -[Main tutorial page]   [Next tutorial]


      +[Main tutorial page]   [Next tutorial]
      +
      - +
      The Synthesis ToolKit in C++ (STK)
      ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/skini.html b/doc/html/skini.html index c1dd673..23e7fef 100644 --- a/doc/html/skini.html +++ b/doc/html/skini.html @@ -8,8 +8,9 @@    

      Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


      - -

      Synthesis toolKit Instrument Network Interface (SKINI)

      This describes the latest (version 1.1) implementation of SKINI for the Synthesis ToolKit in C++ (STK) by Perry R. Cook.

      + +

      +

      Synthesis toolKit Instrument Network Interface (SKINI)

      This describes the latest (version 1.1) implementation of SKINI for the Synthesis ToolKit in C++ (STK) by Perry R. Cook.

              Too good to be true?
           Have control and read it too?
                 A SKINI haiku.
      @@ -34,9 +35,9 @@ Message types include standard MIDI types like NoteOn, NoteOff, ControlChange, e
       All fields other than type, time, and channel are optional, and the types and useage of the additional fields is defined in the file SKINI.tbl.

      The other important file used by SKINI is SKINI.msg, which is a set of defines to make C code more readable, and to allow reasonably quick re-mapping of control numbers, etc.. All of these defined symbols are assigned integer values. For Java, the defines could be replaced by declaration and assignment statements, preserving the look and behavior of the rest of the code.

      Files Used To Implement SKINI

      -Skini is a C++ class which can either open a SKINI file and successively read and parse lines of text as SKINI strings, or accept strings from another object and parse them. The latter functionality would be used by a socket, pipe, or other connection receiving SKINI messages a line at a time, usually in real time, but not restricted to real time.

      -SKINI.msg should be included by anything wanting to use the Skini object. This is not mandatory, but use of the __SK_blah_ symbols which are defined in the .msg file will help to ensure clarity and consistency when messages are added and changed.

      -SKINI.tbl is used only by the Skini parser object (Skini.cpp). In the file SKINI.tbl, an array of structures is declared and assigned values which instruct the parser as to what the message types are, and what the fields mean for those message types. This table is compiled and linked into applications using SKINI, but could be dynamically loaded and changed in a future version of SKINI.

      +Skini is a C++ class which can either open a SKINI file and successively read and parse lines of text as SKINI strings, or accept strings from another object and parse them. The latter functionality would be used by a socket, pipe, or other connection receiving SKINI messages a line at a time, usually in real time, but not restricted to real time.

      +SKINI.msg should be included by anything wanting to use the Skini object. This is not mandatory, but use of the __SK_blah_ symbols which are defined in the .msg file will help to ensure clarity and consistency when messages are added and changed.

      +SKINI.tbl is used only by the Skini parser object (Skini.cpp). In the file SKINI.tbl, an array of structures is declared and assigned values which instruct the parser as to what the message types are, and what the fields mean for those message types. This table is compiled and linked into applications using SKINI, but could be dynamically loaded and changed in a future version of SKINI.

      SKINI Messages and the SKINI Parser:

      The parser isn't all that smart, but neither am I. Here are the basic rules governing a valid SKINI message:

        @@ -49,7 +50,7 @@ The parser isn't all that smart, but neither am I. Here are the basic rules gove
      • The first field must be a SKINI message name (like NoteOn). These might become case-insensitive in future versions, so don't plan on exciting clever overloading of names (like noTeOn being different from NoTeON). There can be a number of leading spaces or tabs, but don't exceed 32 or so.

        -
      • The second field must be a time specification in seconds. A time field can be either delta-time (most common and the only one supported in version 0.8), or absolute time. Absolute time messages have an '=' appended to the beginning of the floating point number with no space. So 0.10000 means delta time of 100 ms, while =0.10000 means absolute time of 100 ms. Absolute time messages make most sense in score files, but could also be used for (loose) synchronization in a real-time context. Real-time messages should be time-ordered AND time-correct. That is, if you've sent 100 total delta-time messages of 1.0 seconds, and then send an absolute time message of =90.0 seconds, or if you send two absolute time messages of =100.0 and =90.0 in that order, things will get really fouled up. The SKINI parser doesn't know about time, however. The WvOut device is the master time keeper in the Synthesis Toolkit, so it should be queried to see if absolute time messages are making sense. There's an example of how to do that later in this document. Absolute times are returned by the parser as negative numbers (since negative deltaTimes are not allowed).
      +
    • The second field must be a time specification in seconds. A time field can be either delta-time (most common and the only one supported in version 0.8), or absolute time. Absolute time messages have an '=' appended to the beginning of the floating point number with no space. So 0.10000 means delta time of 100 ms, while =0.10000 means absolute time of 100 ms. Absolute time messages make most sense in score files, but could also be used for (loose) synchronization in a real-time context. Real-time messages should be time-ordered AND time-correct. That is, if you've sent 100 total delta-time messages of 1.0 seconds, and then send an absolute time message of =90.0 seconds, or if you send two absolute time messages of =100.0 and =90.0 in that order, things will get really fouled up. The SKINI parser doesn't know about time, however. The WvOut device is the master time keeper in the Synthesis Toolkit, so it should be queried to see if absolute time messages are making sense. There's an example of how to do that later in this document. Absolute times are returned by the parser as negative numbers (since negative deltaTimes are not allowed).

    • The third field must be an integer channel number. Don't go crazy and think that this is just MIDI channel 0-15 (which is supported). The channel number is scanned as a long int. Channels 0-15 are in general to be treated as MIDI channels. After that it's wide open. Channels could be socket numbers, machine IDs, serial numbers, or even unique tags for each event in a synthesis. A -1 channel can be used as don't care, omni, or other functions depending on your needs and taste.
    @@ -58,37 +59,37 @@ The parser isn't all that smart, but neither am I. Here are the basic rules gove
  • All remaining fields are specified in the SKINI.tbl file. In general, there are maximum two more fields, which are either SK_INT (long), SK_DBL (double float), or SK_STR (string). The latter is the mechanism by which more arguments can be specified on the line, but the object using SKINI must take that string apart (retrived by using getRemainderString()) and scan it. Any excess fields are stashed in remainderString.
  • A Short SKINI File:

    -
              Howdy!!! Welcome to SKINI, by P. Cook 1999
    -
    -        NoteOn          0.000082 2 55 82
    -        NoteOff         1.000000 2 55 0
    -        NoteOn          0.000082 2 69 82
    -        StringDetune    0.100000 2    10
    -        StringDetune    0.100000 2    30
    -        StringDetune    0.100000 2    50
    -        NoteOn          0.000000 2 69 82
    -        StringDetune    0.100000 2    40
    -        StringDetune    0.100000 2    22
    -        StringDetune    0.100000 2    12
    -        //
    -        StringDamping   0.000100 2 0.0
    -        NoteOn          0.000082 2 55 82
    -        NoteOn          0.200000 2 62 82
    -        NoteOn          0.100000 2 71 82
    -        NoteOn          0.200000 2 79 82
    -        NoteOff         1.000000 2 55 82
    -        NoteOff         0.000000 2 62 82
    -        NoteOff         0.000000 2 71 82
    -        NoteOff         0.000000 2 79 82
    -        StringDamping  =4.000000 2 0.0
    -        NoteOn          0.000082 2 55 82
    -        NoteOn          0.200000 2 62 82
    -        NoteOn          0.100000 2 71 82
    -        NoteOn          0.200000 2 79 82
    -        NoteOff         1.000000 2 55 82
    -        NoteOff         0.000000 2 62 82
    -        NoteOff         0.000000 2 71 82
    -        NoteOff         0.000000 2 79 82
    +
            /*  Howdy!!! Welcome to SKINI, by P. Cook 1999
    +
    +        NoteOn          0.000082 2 55 82
    +        NoteOff         1.000000 2 55 0
    +        NoteOn          0.000082 2 69 82
    +        StringDetune    0.100000 2    10
    +        StringDetune    0.100000 2    30
    +        StringDetune    0.100000 2    50
    +        NoteOn          0.000000 2 69 82
    +        StringDetune    0.100000 2    40
    +        StringDetune    0.100000 2    22
    +        StringDetune    0.100000 2    12
    +        //
    +        StringDamping   0.000100 2 0.0
    +        NoteOn          0.000082 2 55 82
    +        NoteOn          0.200000 2 62 82
    +        NoteOn          0.100000 2 71 82
    +        NoteOn          0.200000 2 79 82
    +        NoteOff         1.000000 2 55 82
    +        NoteOff         0.000000 2 62 82
    +        NoteOff         0.000000 2 71 82
    +        NoteOff         0.000000 2 79 82
    +        StringDamping  =4.000000 2 0.0
    +        NoteOn          0.000082 2 55 82
    +        NoteOn          0.200000 2 62 82
    +        NoteOn          0.100000 2 71 82
    +        NoteOn          0.200000 2 79 82
    +        NoteOff         1.000000 2 55 82
    +        NoteOff         0.000000 2 62 82
    +        NoteOff         0.000000 2 71 82
    +        NoteOff         0.000000 2 79 82
     

    The SKINI.tbl File and Message Parsing:

    The SKINI.tbl file contains an array of structures which are accessed by the parser object Skini.cpp. The struct is:

    @@ -114,15 +115,15 @@ so an assignment of one of these structs looks like:

  • SK_DBL : double precision floating point. SKINI uses these in the MIDI context for note numbers with micro tuning, velocities, controller values, etc.
    • -
    • SK_STR : only valid in final field. This allows (nearly) arbitrary message types to be supported by simply scanning the string to EOL (End Of Line) and then passing it to a more intelligent handler. For example, MIDI SYSEX (system exclusive) messages can be read as space-delimited integers into the SK_STR buffer. Longer bulk dumps, soundfiles, etc. should be handled as a new message type pointing to a FileName, Socket, or something else stored in the SK_STR field, or as a new type of multi-line message.
    +
  • SK_STR : only valid in final field. This allows (nearly) arbitrary message types to be supported by simply scanning the string to EOL (End Of Line) and then passing it to a more intelligent handler. For example, MIDI SYSEX (system exclusive) messages can be read as space-delimited integers into the SK_STR buffer. Longer bulk dumps, soundfiles, etc. should be handled as a new message type pointing to a FileName, Socket, or something else stored in the SK_STR field, or as a new type of multi-line message.
  • -Each individual SKINI message is parsed and saved to a Skini::Message structure of the form:

      struct Message { 
    -    long type;                         !< The message type, as defined in SKINI.msg. 
    -    long channel;                      !< The message channel (not limited to 16!). 
    -    StkFloat time;                     !< The message time stamp in seconds (delta or absolute). 
    -    std::vector<StkFloat> floatValues; !< The message values read as floats (values are type-specific). 
    -    std::vector<long> intValues;       !< The message values read as ints (number and values are type-specific). 
    -    std::string remainder;             !< Any remaining message data, read as ascii text. 
    +Each individual SKINI message is parsed and saved to a Skini::Message structure of the form: 
      struct Message { 
    +    long type;                         
    +    long channel;                      
    +    StkFloat time;                     
    +    std::vector<StkFloat> floatValues; 
    +    std::vector<long> intValues;       
    +    std::string remainder;             
       };
     

    Here's a couple of lines from the SKINI.tbl file

    @@ -135,7 +136,7 @@ Here's a couple of lines from the SKINI.tbl file

    {"StringDamping" , __SK_ControlChange_, __SK_StringDamping_, SK_DBL}, {"StringDetune" , __SK_ControlChange_, __SK_StringDetune_, SK_DBL},

    -The first three are basic MIDI messages. The first two would cause the parser, after recognizing a match of the string "NoteOff" or "NoteOn", to set the message type to 128 or 144 (__SK_NoteOff_ and __SK_NoteOn_ are defined in the file SKINI.msg to be the MIDI byte value, without channel, of the actual MIDI messages for NoteOn and NoteOff). The parser would then set the time or delta time (this is always done and is therefore not described in the SKINI Message Struct). The next two fields would be scanned either as double-precision floats or as long ints, depending on the format specified in SKINI.tbl, and saved to the corresponding C++ vector variables in the Skini::Message structure (either floatValues or intValues). Floating-point values are also cast to ints (and vice-versa) and stored to their respective variables. For example, an expected integer value of 64 will also be saved as 64.0 in the corresponding floatValues variable of the Skini::Message structure. The remainder of the line is stashed in the remainderString variable.

    +The first three are basic MIDI messages. The first two would cause the parser, after recognizing a match of the string "NoteOff" or "NoteOn", to set the message type to 128 or 144 (__SK_NoteOff_ and __SK_NoteOn_ are defined in the file SKINI.msg to be the MIDI byte value, without channel, of the actual MIDI messages for NoteOn and NoteOff). The parser would then set the time or delta time (this is always done and is therefore not described in the SKINI Message Struct). The next two fields would be scanned either as double-precision floats or as long ints, depending on the format specified in SKINI.tbl, and saved to the corresponding C++ vector variables in the Skini::Message structure (either floatValues or intValues). Floating-point values are also cast to ints (and vice-versa) and stored to their respective variables. For example, an expected integer value of 64 will also be saved as 64.0 in the corresponding floatValues variable of the Skini::Message structure. The remainder of the line is stashed in the remainderString variable.

    The ControlChange spec is basically the same as NoteOn and NoteOff, but the second data byte is set to an integer (for checking later as to what MIDI control is being changed).

    The Volume spec is a MIDI Extension message, which behaves like a ControlChange message with the controller number set explicitly to the value for MIDI Volume (7). Thus the following two lines would accomplish the same changing of MIDI volume on channel 2:

        ControlChange  0.000000 2 7 64.1
    @@ -144,54 +145,55 @@ The Volume spec is a MIDI Extension message, which behaves like a ControlChange
     I like the second line better, thus my motivation for SKINI in the first place.

    The StringDamping and StringDetune messages behave the same as the Volume message, but use Control Numbers which aren't specifically nailed-down in MIDI. Note that these Control Numbers are carried around as long ints, so we're not limited to 0-127. If, however, you want to use a MIDI controller to play an instrument, using controller numbers in the 0-127 range might make sense.

    Using SKINI:

    -Here's a simple example of code which uses the Skini object to read a SKINI file and control a single instrument.

    -

            Skini score;
    -        Skini::Message message;
    -        instrument = new Mandolin(50.0);
    -        score.setFile( argv[1] );
    -        while ( score.nextMessage( message ) != 0 ) {
    -          tempDouble = message.time;
    +Here's a simple example of code which uses the Skini object to read a SKINI file and control a single instrument.

    +

            Skini score;
    +        Skini::Message message;
    +        instrument = new Mandolin(50.0);
    +        score.setFile( argv[1] );
    +        while ( score.nextMessage( message ) != 0 ) {
    +          tempDouble = message.time;
               if (tempDouble < 0)     {
                 tempDouble = - tempDouble;
    -            tempDouble = tempDouble - output.getTime();
    +            tempDouble = tempDouble - output.getTime();
                 if (tempDouble < 0) {
                   printf("Bad News Here!!!  Backward Absolute Time Required.\n");
                   tempDouble = 0.0;
                 }
               }
    -          tempLong = (long) ( tempDouble * Stk::sampleRate() );
    +          tempLong = (long) ( tempDouble * Stk::sampleRate() );
               for ( i=0; i<tempLong; i++ ) {
    -            output.tick( instrument->tick() );
    +            output.tick( instrument->tick() );
               }
     
    -          tempDouble3 = message.floatValues[1] * NORM_MIDI;
    -          if ( message.type == __SK_NoteOn_ ) {
    +          tempDouble3 = message.floatValues[1] * NORM_MIDI;
    +          if ( message.type == __SK_NoteOn_ ) {
                 if ( tempDouble3 == 0.0 ) {
                   tempDouble3 = 0.5;
    -              instrument->noteOff( tempDouble3 );
    +              instrument->noteOff( tempDouble3 );
                 }
                 else {
    -              tempLong = message.intValues[0];
    +              tempLong = message.intValues[0];
                   tempDouble2 = Midi2Pitch[tempLong];
    -              instrument->noteOn( tempDouble2, tempDouble3 );
    +              instrument->noteOn( tempDouble2, tempDouble3 );
                 }
               }
    -          else if ( message.type == __SK_NoteOff_ ) {
    -            instrument->noteOff( tempDouble3 );
    +          else if ( message.type == __SK_NoteOff_ ) {
    +            instrument->noteOff( tempDouble3 );
               }
    -          else if ( message.type == __SK_ControlChange_ ) {
    -            tempLong = message.intValues[0];
    -            instrument->controlChange( tempLong, tempDouble3 );
    +          else if ( message.type == __SK_ControlChange_ ) {
    +            tempLong = message.intValues[0];
    +            instrument->controlChange( tempLong, tempDouble3 );
               }
             }
     

    -When a SKINI score is passed to a Skini object using the Skini::setFile() function, valid messages are read from the file and returned using the Skini::nextMessage() function.

    -The "time" member of a Skini::Message is the deltaTime until the current message should occur. If this is greater than 0, synthesis occurs until the deltaTime has elapsed. If deltaTime is less than zero, the time is interpreted as absolute time and the output device is queried as to what time it is now. That is used to form a deltaTime, and if it's positive we synthesize. If it's negative, we print an error, pretend this never happened and we hang around hoping to eventually catch up.

    -The rest of the code sorts out message types NoteOn, NoteOff (including NoteOn with velocity 0), and ControlChange. The code implicitly takes into account the integer type of the control number, but all other data is treated as double float.


    +When a SKINI score is passed to a Skini object using the Skini::setFile() function, valid messages are read from the file and returned using the Skini::nextMessage() function.

    +The "time" member of a Skini::Message is the deltaTime until the current message should occur. If this is greater than 0, synthesis occurs until the deltaTime has elapsed. If deltaTime is less than zero, the time is interpreted as absolute time and the output device is queried as to what time it is now. That is used to form a deltaTime, and if it's positive we synthesize. If it's negative, we print an error, pretend this never happened and we hang around hoping to eventually catch up.

    +The rest of the code sorts out message types NoteOn, NoteOff (including NoteOn with velocity 0), and ControlChange. The code implicitly takes into account the integer type of the control number, but all other data is treated as double float.

    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structCallbackInfo-members.html b/doc/html/structCallbackInfo-members.html deleted file mode 100644 index e7cd9c5..0000000 --- a/doc/html/structCallbackInfo-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    CallbackInfo Member List

    This is the complete list of members for CallbackInfo, including all inherited members.

    - - - - - - - -
    apiInfoCallbackInfo
    callbackCallbackInfo
    CallbackInfo()CallbackInfo [inline]
    objectCallbackInfo
    threadCallbackInfo
    userDataCallbackInfo
    usingCallbackCallbackInfo


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structCallbackInfo.html b/doc/html/structCallbackInfo.html deleted file mode 100644 index b4318ca..0000000 --- a/doc/html/structCallbackInfo.html +++ /dev/null @@ -1,53 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    CallbackInfo Struct Reference

    List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 68 of file RtAudio.h. - - - - - - - - - - - - - - - - - -

    Public Member Functions

    CallbackInfo ()

    Public Attributes

    -void * object
    -ThreadHandle thread
    -bool usingCallback
    -void * callback
    -void * userData
    -void * apiInfo
    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structGranulate_1_1Grain-members.html b/doc/html/structGranulate_1_1Grain-members.html deleted file mode 100644 index 3c6e248..0000000 --- a/doc/html/structGranulate_1_1Grain-members.html +++ /dev/null @@ -1,33 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    Granulate::Grain Member List

    This is the complete list of members for Granulate::Grain, including all inherited members.

    - - - - - - - - - - - - -
    attackCountGranulate::Grain
    counterGranulate::Grain
    decayCountGranulate::Grain
    delayCountGranulate::Grain
    eRateGranulate::Grain
    eScalerGranulate::Grain
    Grain()Granulate::Grain [inline]
    pointerGranulate::Grain
    repeatsGranulate::Grain
    startPointerGranulate::Grain
    stateGranulate::Grain
    sustainCountGranulate::Grain


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structGranulate_1_1Grain.html b/doc/html/structGranulate_1_1Grain.html deleted file mode 100644 index bc87858..0000000 --- a/doc/html/structGranulate_1_1Grain.html +++ /dev/null @@ -1,70 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -

    Granulate::Grain Struct Reference

    List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 106 of file Granulate.h. - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Grain ()

    Public Attributes

    -StkFloat eScaler
    -StkFloat eRate
    -unsigned long attackCount
    -unsigned long sustainCount
    -unsigned long decayCount
    -unsigned long delayCount
    -unsigned long counter
    -unsigned long pointer
    -unsigned long startPointer
    -unsigned int repeats
    -GrainState state
    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structMessager_1_1MessagerData-members.html b/doc/html/structMessager_1_1MessagerData-members.html deleted file mode 100644 index f3db364..0000000 --- a/doc/html/structMessager_1_1MessagerData-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    Messager::MessagerData Member List

    This is the complete list of members for Messager::MessagerData, including all inherited members.

    - - - - - - - - - - -
    fdMessager::MessagerData
    maskMessager::MessagerData
    MessagerData()Messager::MessagerData [inline]
    midiMessager::MessagerData
    mutexMessager::MessagerData
    queueMessager::MessagerData
    queueLimitMessager::MessagerData
    skiniMessager::MessagerData
    socketMessager::MessagerData
    sourcesMessager::MessagerData


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structMessager_1_1MessagerData.html b/doc/html/structMessager_1_1MessagerData.html deleted file mode 100644 index 3eba0f8..0000000 --- a/doc/html/structMessager_1_1MessagerData.html +++ /dev/null @@ -1,64 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -

    Messager::MessagerData Struct Reference

    List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 63 of file Messager.h. - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    MessagerData ()

    Public Attributes

    -Skini skini
    -std::queue< Skini::Messagequeue
    -unsigned int queueLimit
    -int sources
    -Mutex mutex
    -RtMidiInmidi
    -TcpServersocket
    -std::vector< int > fd
    -fd_set mask
    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structMidiFileIn_1_1TempoChange-members.html b/doc/html/structMidiFileIn_1_1TempoChange-members.html deleted file mode 100644 index 4ad50a9..0000000 --- a/doc/html/structMidiFileIn_1_1TempoChange-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    MidiFileIn::TempoChange Member List

    This is the complete list of members for MidiFileIn::TempoChange, including all inherited members.

    - - -
    countMidiFileIn::TempoChange
    tickSecondsMidiFileIn::TempoChange


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structMidiFileIn_1_1TempoChange.html b/doc/html/structMidiFileIn_1_1TempoChange.html deleted file mode 100644 index 74179d2..0000000 --- a/doc/html/structMidiFileIn_1_1TempoChange.html +++ /dev/null @@ -1,39 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -

    MidiFileIn::TempoChange Struct Reference

    List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 122 of file MidiFileIn.h. - - - - - - -

    Public Attributes

    -unsigned long count
    -double tickSeconds
    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtApiDs_1_1RtDsStatistics.html b/doc/html/structRtApiDs_1_1RtDsStatistics.html deleted file mode 100644 index 7207718..0000000 --- a/doc/html/structRtApiDs_1_1RtDsStatistics.html +++ /dev/null @@ -1,32 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -

    RtApiDs::RtDsStatistics Struct Reference

    #include <RtAudio.h> -

    -List of all members.


    Detailed Description

    -Internal structure that provide debug information on the state of a running DSound device. -

    - - -
    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtApi_1_1ConvertInfo-members.html b/doc/html/structRtApi_1_1ConvertInfo-members.html deleted file mode 100644 index 0e70fd6..0000000 --- a/doc/html/structRtApi_1_1ConvertInfo-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApi::ConvertInfo Member List

    This is the complete list of members for RtApi::ConvertInfo, including all inherited members.

    - - - - - - - -
    channelsRtApi::ConvertInfo
    inFormatRtApi::ConvertInfo
    inJumpRtApi::ConvertInfo
    inOffsetRtApi::ConvertInfo
    outFormatRtApi::ConvertInfo
    outJumpRtApi::ConvertInfo
    outOffsetRtApi::ConvertInfo


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtApi_1_1ConvertInfo.html b/doc/html/structRtApi_1_1ConvertInfo.html deleted file mode 100644 index 960090d..0000000 --- a/doc/html/structRtApi_1_1ConvertInfo.html +++ /dev/null @@ -1,54 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -

    RtApi::ConvertInfo Struct Reference

    List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 172 of file RtAudio.h. - - - - - - - - - - - - - - - - -

    Public Attributes

    -int channels
    -int inJump
    -int outJump
    -RtAudioFormat inFormat
    -RtAudioFormat outFormat
    -std::vector< int > inOffset
    -std::vector< int > outOffset
    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtApi_1_1RtApiDevice-members.html b/doc/html/structRtApi_1_1RtApiDevice-members.html deleted file mode 100644 index 0145dab..0000000 --- a/doc/html/structRtApi_1_1RtApiDevice-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApi::RtApiDevice Member List

    This is the complete list of members for RtApi::RtApiDevice, including all inherited members.

    - - - - - - - - - - - - - - -
    apiDeviceIdRtApi::RtApiDevice
    hasDuplexSupportRtApi::RtApiDevice
    isDefaultRtApi::RtApiDevice
    maxDuplexChannelsRtApi::RtApiDevice
    maxInputChannelsRtApi::RtApiDevice
    maxOutputChannelsRtApi::RtApiDevice
    minDuplexChannelsRtApi::RtApiDevice
    minInputChannelsRtApi::RtApiDevice
    minOutputChannelsRtApi::RtApiDevice
    nameRtApi::RtApiDevice
    nativeFormatsRtApi::RtApiDevice
    probedRtApi::RtApiDevice
    RtApiDevice()RtApi::RtApiDevice [inline]
    sampleRatesRtApi::RtApiDevice


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtApi_1_1RtApiDevice.html b/doc/html/structRtApi_1_1RtApiDevice.html deleted file mode 100644 index c289bd1..0000000 --- a/doc/html/structRtApi_1_1RtApiDevice.html +++ /dev/null @@ -1,365 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -

    RtApi::RtApiDevice Struct Reference

    List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 207 of file RtAudio.h. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    RtApiDevice ()

    Public Attributes

    std::string name
    bool probed
    -void * apiDeviceId
    int maxOutputChannels
    int maxInputChannels
    int maxDuplexChannels
    int minOutputChannels
    int minInputChannels
    int minDuplexChannels
    bool hasDuplexSupport
    bool isDefault
    std::vector< int > sampleRates
    RtAudioFormat nativeFormats
    -


    Member Data Documentation

    -

    - - - - -
    - - - - -
    std::string RtApi::RtApiDevice::name
    -
    - - - - - -
    -   - - -

    -Character string device identifier. -

    -Definition at line 208 of file RtAudio.h.

    -

    - - - - -
    - - - - -
    bool RtApi::RtApiDevice::probed
    -
    - - - - - -
    -   - - -

    -true if the device capabilities were successfully probed. -

    -Definition at line 209 of file RtAudio.h.

    -

    - - - - -
    - - - - -
    int RtApi::RtApiDevice::maxOutputChannels
    -
    - - - - - -
    -   - - -

    -Maximum output channels supported by device. -

    -Definition at line 211 of file RtAudio.h.

    -

    - - - - -
    - - - - -
    int RtApi::RtApiDevice::maxInputChannels
    -
    - - - - - -
    -   - - -

    -Maximum input channels supported by device. -

    -Definition at line 212 of file RtAudio.h.

    -

    - - - - -
    - - - - -
    int RtApi::RtApiDevice::maxDuplexChannels
    -
    - - - - - -
    -   - - -

    -Maximum simultaneous input/output channels supported by device. -

    -Definition at line 213 of file RtAudio.h.

    -

    - - - - -
    - - - - -
    int RtApi::RtApiDevice::minOutputChannels
    -
    - - - - - -
    -   - - -

    -Minimum output channels supported by device. -

    -Definition at line 214 of file RtAudio.h.

    -

    - - - - -
    - - - - -
    int RtApi::RtApiDevice::minInputChannels
    -
    - - - - - -
    -   - - -

    -Minimum input channels supported by device. -

    -Definition at line 215 of file RtAudio.h.

    -

    - - - - -
    - - - - -
    int RtApi::RtApiDevice::minDuplexChannels
    -
    - - - - - -
    -   - - -

    -Minimum simultaneous input/output channels supported by device. -

    -Definition at line 216 of file RtAudio.h.

    -

    - - - - -
    - - - - -
    bool RtApi::RtApiDevice::hasDuplexSupport
    -
    - - - - - -
    -   - - -

    -true if device supports duplex mode. -

    -Definition at line 217 of file RtAudio.h.

    -

    - - - - -
    - - - - -
    bool RtApi::RtApiDevice::isDefault
    -
    - - - - - -
    -   - - -

    -true if this is the default output or input device. -

    -Definition at line 218 of file RtAudio.h.

    -

    - - - - -
    - - - - -
    std::vector<int> RtApi::RtApiDevice::sampleRates
    -
    - - - - - -
    -   - - -

    -Supported sample rates. -

    -Definition at line 219 of file RtAudio.h.

    -

    - - - - -
    - - - - -
    RtAudioFormat RtApi::RtApiDevice::nativeFormats
    -
    - - - - - -
    -   - - -

    -Bit mask of supported data formats. -

    -Definition at line 220 of file RtAudio.h.

    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtApi_1_1RtApiStream-members.html b/doc/html/structRtApi_1_1RtApiStream-members.html deleted file mode 100644 index 9027bb1..0000000 --- a/doc/html/structRtApi_1_1RtApiStream-members.html +++ /dev/null @@ -1,41 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtApi::RtApiStream Member List

    This is the complete list of members for RtApi::RtApiStream, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - -
    apiHandleRtApi::RtApiStream
    bufferSizeRtApi::RtApiStream
    callbackInfoRtApi::RtApiStream
    convertInfoRtApi::RtApiStream
    deInterleaveRtApi::RtApiStream
    deviceRtApi::RtApiStream
    deviceBufferRtApi::RtApiStream
    deviceFormatRtApi::RtApiStream
    doByteSwapRtApi::RtApiStream
    doConvertBufferRtApi::RtApiStream
    modeRtApi::RtApiStream
    mutexRtApi::RtApiStream
    nBuffersRtApi::RtApiStream
    nDeviceChannelsRtApi::RtApiStream
    nUserChannelsRtApi::RtApiStream
    RtApiStream()RtApi::RtApiStream [inline]
    sampleRateRtApi::RtApiStream
    stateRtApi::RtApiStream
    userBufferRtApi::RtApiStream
    userFormatRtApi::RtApiStream


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtApi_1_1RtApiStream.html b/doc/html/structRtApi_1_1RtApiStream.html deleted file mode 100644 index 75a6bcf..0000000 --- a/doc/html/structRtApi_1_1RtApiStream.html +++ /dev/null @@ -1,94 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -

    RtApi::RtApiStream Struct Reference

    List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 181 of file RtAudio.h. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    RtApiStream ()

    Public Attributes

    -int device [2]
    -void * apiHandle
    -StreamMode mode
    -StreamState state
    -char * userBuffer
    -char * deviceBuffer
    -bool doConvertBuffer [2]
    -bool deInterleave [2]
    -bool doByteSwap [2]
    -int sampleRate
    -int bufferSize
    -int nBuffers
    -int nUserChannels [2]
    -int nDeviceChannels [2]
    -RtAudioFormat userFormat
    -RtAudioFormat deviceFormat [2]
    -StreamMutex mutex
    -CallbackInfo callbackInfo
    -ConvertInfo convertInfo [2]
    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtAudioDeviceInfo-members.html b/doc/html/structRtAudioDeviceInfo-members.html deleted file mode 100644 index 8f1f70d..0000000 --- a/doc/html/structRtAudioDeviceInfo-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    RtAudioDeviceInfo Member List

    This is the complete list of members for RtAudioDeviceInfo, including all inherited members.

    - - - - - - - - -
    duplexChannelsRtAudioDeviceInfo
    inputChannelsRtAudioDeviceInfo
    isDefaultRtAudioDeviceInfo
    nameRtAudioDeviceInfo
    nativeFormatsRtAudioDeviceInfo
    outputChannelsRtAudioDeviceInfo
    probedRtAudioDeviceInfo
    sampleRatesRtAudioDeviceInfo


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtAudioDeviceInfo.html b/doc/html/structRtAudioDeviceInfo.html deleted file mode 100644 index adf864d..0000000 --- a/doc/html/structRtAudioDeviceInfo.html +++ /dev/null @@ -1,232 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    RtAudioDeviceInfo Struct Reference

    #include <RtAudio.h> -

    -List of all members.


    Detailed Description

    -The public device information structure for returning queried values. -

    - - - - - - - - - - - - - - - - - - - -

    Public Attributes

    std::string name
    bool probed
    int outputChannels
    int inputChannels
    int duplexChannels
    bool isDefault
    std::vector< int > sampleRates
    RtAudioFormat nativeFormats
    -


    Member Data Documentation

    -

    - - - - -
    - - - - -
    std::string RtAudioDeviceInfo::name
    -
    - - - - - -
    -   - - -

    -Character string device identifier.

    -

    - - - - -
    - - - - -
    bool RtAudioDeviceInfo::probed
    -
    - - - - - -
    -   - - -

    -true if the device capabilities were successfully probed.

    -

    - - - - -
    - - - - -
    int RtAudioDeviceInfo::outputChannels
    -
    - - - - - -
    -   - - -

    -Maximum output channels supported by device.

    -

    - - - - -
    - - - - -
    int RtAudioDeviceInfo::inputChannels
    -
    - - - - - -
    -   - - -

    -Maximum input channels supported by device.

    -

    - - - - -
    - - - - -
    int RtAudioDeviceInfo::duplexChannels
    -
    - - - - - -
    -   - - -

    -Maximum simultaneous input/output channels supported by device.

    -

    - - - - -
    - - - - -
    bool RtAudioDeviceInfo::isDefault
    -
    - - - - - -
    -   - - -

    -true if this is the default output or input device.

    -

    - - - - -
    - - - - -
    std::vector<int> RtAudioDeviceInfo::sampleRates
    -
    - - - - - -
    -   - - -

    -Supported sample rates (queried from list of standard rates).

    -

    - - - - -
    - - - - -
    RtAudioFormat RtAudioDeviceInfo::nativeFormats
    -
    - - - - - -
    -   - - -

    -Bit mask of supported data formats.

    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtAudio_1_1DeviceInfo-members.html b/doc/html/structRtAudio_1_1DeviceInfo-members.html index e6b8c00..c4a864b 100644 --- a/doc/html/structRtAudio_1_1DeviceInfo-members.html +++ b/doc/html/structRtAudio_1_1DeviceInfo-members.html @@ -8,22 +8,24 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    RtAudio::DeviceInfo Member List

    This is the complete list of members for RtAudio::DeviceInfo, including all inherited members.

    - - - - - - - - - -
    duplexChannelsRtAudio::DeviceInfo
    inputChannelsRtAudio::DeviceInfo
    isDefaultInputRtAudio::DeviceInfo
    isDefaultOutputRtAudio::DeviceInfo
    nameRtAudio::DeviceInfo
    nativeFormatsRtAudio::DeviceInfo
    outputChannelsRtAudio::DeviceInfo
    probedRtAudio::DeviceInfo
    sampleRatesRtAudio::DeviceInfo


    + + +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudio_1_1DeviceInfo.html b/doc/html/structRtAudio_1_1DeviceInfo.html index 3b425db..d01c2db 100644 --- a/doc/html/structRtAudio_1_1DeviceInfo.html +++ b/doc/html/structRtAudio_1_1DeviceInfo.html @@ -8,251 +8,184 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    RtAudio::DeviceInfo Struct Reference

    #include <RtAudio.h> + + +
    +

    RtAudio::RtAudio::DeviceInfo Struct Reference

    The public device information structure for returning queried values. +More...

    -List of all members.


    Detailed Description

    -The public device information structure for returning queried values. +#include <RtAudio.h>

    - + +

    +List of all members.

    - + - + - + - + - + - + - + - + - +

    Public Attributes

    bool probed
    bool probed
    std::string name
    std::string name
    unsigned int outputChannels
    unsigned int outputChannels
    unsigned int inputChannels
    unsigned int inputChannels
    unsigned int duplexChannels
    unsigned int duplexChannels
    bool isDefaultOutput
    bool isDefaultOutput
    bool isDefaultInput
    bool isDefaultInput
    std::vector< unsigned int > sampleRates
    std::vector< unsigned int > sampleRates
    RtAudioFormat nativeFormats
    RtAudioFormat nativeFormats
    -


    Member Data Documentation

    -

    - - - - -
    - +

    Detailed Description

    +The public device information structure for returning queried values.

    Member Data Documentation

    + +
    +
    +
    - +
    bool RtAudio::DeviceInfo::probed bool RtAudio::RtAudio::DeviceInfo::probed
    -
    - - - - - -
    -   - + +

    -true if the device capabilities were successfully probed.

    -

    - - - - -
    - +true if the device capabilities were successfully probed. + +

    + +

    +
    +
    - +
    std::string RtAudio::DeviceInfo::name std::string RtAudio::RtAudio::DeviceInfo::name
    -
    - - - - - -
    -   - + +

    -Character string device identifier.

    -

    - - - - -
    - +Character string device identifier. + +

    + +

    +
    +
    - +
    unsigned int RtAudio::DeviceInfo::outputChannels unsigned int RtAudio::RtAudio::DeviceInfo::outputChannels
    -
    - - - - - -
    -   - + +

    -Maximum output channels supported by device.

    -

    - - - - -
    - +Maximum output channels supported by device. + +

    + +

    +
    +
    - +
    unsigned int RtAudio::DeviceInfo::inputChannels unsigned int RtAudio::RtAudio::DeviceInfo::inputChannels
    -
    - - - - - -
    -   - + +

    -Maximum input channels supported by device.

    -

    - - - - -
    - +Maximum input channels supported by device. + +

    + +

    +
    +
    - +
    unsigned int RtAudio::DeviceInfo::duplexChannels unsigned int RtAudio::RtAudio::DeviceInfo::duplexChannels
    -
    - - - - - -
    -   - + +

    -Maximum simultaneous input/output channels supported by device.

    -

    - - - - -
    - +Maximum simultaneous input/output channels supported by device. + +

    + +

    +
    +
    - +
    bool RtAudio::DeviceInfo::isDefaultOutput bool RtAudio::RtAudio::DeviceInfo::isDefaultOutput
    -
    - - - - - -
    -   - + +

    -true if this is the default output device.

    -

    - - - - -
    - +true if this is the default output device. + +

    + +

    +
    +
    - +
    bool RtAudio::DeviceInfo::isDefaultInput bool RtAudio::RtAudio::DeviceInfo::isDefaultInput
    -
    - - - - - -
    -   - + +

    -true if this is the default input device.

    -

    - - - - -
    - +true if this is the default input device. + +

    + +

    +
    +
    - +
    std::vector<unsigned int> RtAudio::DeviceInfo::sampleRates std::vector<unsigned int> RtAudio::RtAudio::DeviceInfo::sampleRates
    -
    - - - - - -
    -   - + +

    -Supported sample rates (queried from list of standard rates).

    -

    - - - - -
    - +Supported sample rates (queried from list of standard rates). + +

    + +

    +
    +
    - +
    RtAudioFormat RtAudio::DeviceInfo::nativeFormats RtAudioFormat RtAudio::RtAudio::DeviceInfo::nativeFormats
    -
    - - - - - -
    -   - + +

    -Bit mask of supported data formats.

    +Bit mask of supported data formats. +

    +


    The documentation for this struct was generated from the following file: +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudio_1_1StreamOptions-members.html b/doc/html/structRtAudio_1_1StreamOptions-members.html index bdc9f5e..53da822 100644 --- a/doc/html/structRtAudio_1_1StreamOptions-members.html +++ b/doc/html/structRtAudio_1_1StreamOptions-members.html @@ -8,16 +8,19 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    RtAudio::StreamOptions Member List

    This is the complete list of members for RtAudio::StreamOptions, including all inherited members.

    - - - -
    flagsRtAudio::StreamOptions
    numberOfBuffersRtAudio::StreamOptions
    streamNameRtAudio::StreamOptions


    + +
    +

    RtAudio::RtAudio::StreamOptions Member List

    This is the complete list of members for RtAudio::RtAudio::StreamOptions, including all inherited members.

    + + + + +
    flagsRtAudio::RtAudio::StreamOptions
    numberOfBuffersRtAudio::RtAudio::StreamOptions
    priorityRtAudio::RtAudio::StreamOptions
    streamNameRtAudio::RtAudio::StreamOptions

    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudio_1_1StreamOptions.html b/doc/html/structRtAudio_1_1StreamOptions.html index 4025968..dffe06b 100644 --- a/doc/html/structRtAudio_1_1StreamOptions.html +++ b/doc/html/structRtAudio_1_1StreamOptions.html @@ -8,111 +8,110 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    RtAudio::StreamOptions Struct Reference

    #include <RtAudio.h> + + +
    +

    RtAudio::RtAudio::StreamOptions Struct Reference

    The structure for specifying stream options. +More...

    -List of all members.


    Detailed Description

    +#include <RtAudio.h> +

    + +

    +List of all members. + + + + + + + + + + +

    Public Attributes

    RtAudioStreamFlags flags
    unsigned int numberOfBuffers
    std::string streamName
    int priority
    +


    Detailed Description

    The structure for specifying stream options.

    The following flags can be OR'ed together to allow a client to make changes to the default stream behavior:

      -
    • RTAUDIO_NONINTERLEAVED: Use non-interleaved buffers (default = interleaved).
    • RTAUDIO_MINIMIZE_LATENCY: Attempt to set stream parameters for lowest possible latency.
    • RTAUDIO_HOG_DEVICE: Attempt grab device for exclusive use.
    +
  • RTAUDIO_NONINTERLEAVED: Use non-interleaved buffers (default = interleaved).
  • RTAUDIO_MINIMIZE_LATENCY: Attempt to set stream parameters for lowest possible latency.
  • RTAUDIO_HOG_DEVICE: Attempt grab device for exclusive use.
  • RTAUDIO_SCHEDULE_REALTIME: Attempt to select realtime scheduling for callback thread.
  • -By default, RtAudio streams pass and receive audio data from the client in an interleaved format. By passing the RTAUDIO_NONINTERLEAVED flag to the openStream() function, audio data will instead be presented in non-interleaved buffers. In this case, each buffer argument in the RtAudioCallback function will point to a single array of data, with nFrames samples for each channel concatenated back-to-back. For example, the first sample of data for the second channel would be located at index nFrames (assuming the buffer pointer was recast to the correct data type for the stream).

    -Certain audio APIs offer a number of parameters that influence the I/O latency of a stream. By default, RtAudio will attempt to set these parameters internally for robust (glitch-free) performance (though some APIs, like Windows Direct Sound, make this difficult). By passing the RTAUDIO_MINIMIZE_LATENCY flag to the openStream() function, internal stream settings will be influenced in an attempt to minimize stream latency, though possibly at the expense of stream performance.

    -If the RTAUDIO_HOG_DEVICE flag is set, RtAudio will attempt to open the input and/or output stream device(s) for exclusive use. Note that this is not possible with all supported audio APIs.

    -The numberOfBuffers parameter can be used to control stream latency in the Windows DirectSound, Linux OSS, and Linux Alsa APIs only. A value of two is usually the smallest allowed. Larger numbers can potentially result in more robust stream performance, though likely at the cost of stream latency. The value set by the user is replaced during execution of the RtAudio::openStream() function by the value actually used by the system.

    -The streamName parameter can be used to set the client name when using the Jack API. By default, the client name is set to RtApiJack. However, if you wish to create multiple instances of RtAudio with Jack, each instance must have a unique client name. -

    - - - - - - - - - -

    Public Attributes

    RtAudioStreamFlags flags
    unsigned int numberOfBuffers
    std::string streamName
    -


    Member Data Documentation

    -

    - - - - -
    - +By default, RtAudio streams pass and receive audio data from the client in an interleaved format. By passing the RTAUDIO_NONINTERLEAVED flag to the openStream() function, audio data will instead be presented in non-interleaved buffers. In this case, each buffer argument in the RtAudioCallback function will point to a single array of data, with nFrames samples for each channel concatenated back-to-back. For example, the first sample of data for the second channel would be located at index nFrames (assuming the buffer pointer was recast to the correct data type for the stream).

    +Certain audio APIs offer a number of parameters that influence the I/O latency of a stream. By default, RtAudio will attempt to set these parameters internally for robust (glitch-free) performance (though some APIs, like Windows Direct Sound, make this difficult). By passing the RTAUDIO_MINIMIZE_LATENCY flag to the openStream() function, internal stream settings will be influenced in an attempt to minimize stream latency, though possibly at the expense of stream performance.

    +If the RTAUDIO_HOG_DEVICE flag is set, RtAudio will attempt to open the input and/or output stream device(s) for exclusive use. Note that this is not possible with all supported audio APIs.

    +If the RTAUDIO_SCHEDULE_REALTIME flag is set, RtAudio will attempt to select realtime scheduling (round-robin) for the callback thread. The priority parameter will only be used if the RTAUDIO_SCHEDULE_REALTIME flag is set. It defines the thread's realtime priority.

    +The numberOfBuffers parameter can be used to control stream latency in the Windows DirectSound, Linux OSS, and Linux Alsa APIs only. A value of two is usually the smallest allowed. Larger numbers can potentially result in more robust stream performance, though likely at the cost of stream latency. The value set by the user is replaced during execution of the RtAudio::openStream() function by the value actually used by the system.

    +The streamName parameter can be used to set the client name when using the Jack API. By default, the client name is set to RtApiJack. However, if you wish to create multiple instances of RtAudio with Jack, each instance must have a unique client name.


    Member Data Documentation

    + +
    +
    +
    - +
    RtAudioStreamFlags RtAudio::StreamOptions::flags RtAudioStreamFlags RtAudio::RtAudio::StreamOptions::flags
    -
    - - - - - -
    -   - + +

    -A bit-mask of stream flags (RTAUDIO_NONINTERLEAVED, RTAUDIO_MINIMIZE_LATENCY, RTAUDIO_HOG_DEVICE).

    -

    - - - - -
    - +A bit-mask of stream flags (RTAUDIO_NONINTERLEAVED, RTAUDIO_MINIMIZE_LATENCY, RTAUDIO_HOG_DEVICE). + +

    + +

    +
    +
    - +
    unsigned int RtAudio::StreamOptions::numberOfBuffers unsigned int RtAudio::RtAudio::StreamOptions::numberOfBuffers
    -
    - - - - - -
    -   - + +

    -Number of stream buffers.

    -

    - - - - -
    - +Number of stream buffers. + +

    + +

    +
    +
    - +
    std::string RtAudio::StreamOptions::streamName std::string RtAudio::RtAudio::StreamOptions::streamName
    -
    - - - - - -
    -   - + +

    -A stream name (currently used only in Jack).

    +A stream name (currently used only in Jack). +

    +

    + +

    +
    + + + + +
    int RtAudio::RtAudio::StreamOptions::priority
    +
    +
    + +

    +Scheduling priority of callback thread (only used with flag RTAUDIO_SCHEDULE_REALTIME). +

    +


    The documentation for this struct was generated from the following file: +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudio_1_1StreamParameters-members.html b/doc/html/structRtAudio_1_1StreamParameters-members.html index d737447..665d005 100644 --- a/doc/html/structRtAudio_1_1StreamParameters-members.html +++ b/doc/html/structRtAudio_1_1StreamParameters-members.html @@ -8,16 +8,18 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    RtAudio::StreamParameters Member List

    This is the complete list of members for RtAudio::StreamParameters, including all inherited members.

    - - - -
    deviceIdRtAudio::StreamParameters
    firstChannelRtAudio::StreamParameters
    nChannelsRtAudio::StreamParameters


    + +
    +

    RtAudio::RtAudio::StreamParameters Member List

    This is the complete list of members for RtAudio::RtAudio::StreamParameters, including all inherited members.

    + + + +
    deviceIdRtAudio::RtAudio::StreamParameters
    firstChannelRtAudio::RtAudio::StreamParameters
    nChannelsRtAudio::RtAudio::StreamParameters

    +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudio_1_1StreamParameters.html b/doc/html/structRtAudio_1_1StreamParameters.html index 13a1365..bf6e109 100644 --- a/doc/html/structRtAudio_1_1StreamParameters.html +++ b/doc/html/structRtAudio_1_1StreamParameters.html @@ -8,101 +8,82 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - - -

    RtAudio::StreamParameters Struct Reference

    #include <RtAudio.h> + + +
    +

    RtAudio::RtAudio::StreamParameters Struct Reference

    The structure for specifying input or ouput stream parameters. +More...

    -List of all members.


    Detailed Description

    -The structure for specifying input or ouput stream parameters. +#include <RtAudio.h>

    - + +

    +List of all members.

    - + - + - +

    Public Attributes

    unsigned int deviceId
    unsigned int deviceId
    unsigned int nChannels
    unsigned int nChannels
    unsigned int firstChannel
    unsigned int firstChannel
    -


    Member Data Documentation

    -

    - - - - -
    - +

    Detailed Description

    +The structure for specifying input or ouput stream parameters.

    Member Data Documentation

    + +
    +
    +
    - +
    unsigned int RtAudio::StreamParameters::deviceId unsigned int RtAudio::RtAudio::StreamParameters::deviceId
    -
    - - - - - -
    -   - + +

    -Device index (0 to getDeviceCount() - 1).

    -

    - - - - -
    - +Device index (0 to getDeviceCount() - 1). + +

    + +

    +
    +
    - +
    unsigned int RtAudio::StreamParameters::nChannels unsigned int RtAudio::RtAudio::StreamParameters::nChannels
    -
    - - - - - -
    -   - + +

    -Number of channels.

    -

    - - - - -
    - +Number of channels. + +

    + +

    +
    +
    - +
    unsigned int RtAudio::StreamParameters::firstChannel unsigned int RtAudio::RtAudio::StreamParameters::firstChannel
    -
    - - - - - -
    -   - + +

    -First channel index on device (default = 0).

    +First channel index on device (default = 0). +

    +


    The documentation for this struct was generated from the following file: +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtMidiIn_1_1MidiMessage-members.html b/doc/html/structRtMidiIn_1_1MidiMessage-members.html deleted file mode 100644 index c5620b2..0000000 --- a/doc/html/structRtMidiIn_1_1MidiMessage-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtMidiIn::MidiMessage Member List

    This is the complete list of members for RtMidiIn::MidiMessage, including all inherited members.

    - - - -
    bytesRtMidiIn::MidiMessage
    MidiMessage()RtMidiIn::MidiMessage [inline]
    timeStampRtMidiIn::MidiMessage


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtMidiIn_1_1MidiMessage.html b/doc/html/structRtMidiIn_1_1MidiMessage.html deleted file mode 100644 index 5661ad6..0000000 --- a/doc/html/structRtMidiIn_1_1MidiMessage.html +++ /dev/null @@ -1,43 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -

    RtMidiIn::MidiMessage Struct Reference

    List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 190 of file RtMidi.h. - - - - - - - - - -

    Public Member Functions

    MidiMessage ()

    Public Attributes

    -std::vector< unsigned char > bytes
    -double timeStamp
    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtMidiIn_1_1RtMidiInData-members.html b/doc/html/structRtMidiIn_1_1RtMidiInData-members.html deleted file mode 100644 index 8c603a2..0000000 --- a/doc/html/structRtMidiIn_1_1RtMidiInData-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    RtMidiIn::RtMidiInData Member List

    This is the complete list of members for RtMidiIn::RtMidiInData, including all inherited members.

    - - - - - - - - - - -
    apiDataRtMidiIn::RtMidiInData
    doInputRtMidiIn::RtMidiInData
    firstMessageRtMidiIn::RtMidiInData
    ignoreFlagsRtMidiIn::RtMidiInData
    queueRtMidiIn::RtMidiInData
    queueLimitRtMidiIn::RtMidiInData
    RtMidiInData()RtMidiIn::RtMidiInData [inline]
    userCallbackRtMidiIn::RtMidiInData
    userDataRtMidiIn::RtMidiInData
    usingCallbackRtMidiIn::RtMidiInData


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structRtMidiIn_1_1RtMidiInData.html b/doc/html/structRtMidiIn_1_1RtMidiInData.html deleted file mode 100644 index 59896bb..0000000 --- a/doc/html/structRtMidiIn_1_1RtMidiInData.html +++ /dev/null @@ -1,64 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -

    RtMidiIn::RtMidiInData Struct Reference

    List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 201 of file RtMidi.h. - - - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

    RtMidiInData ()

    Public Attributes

    -std::queue< MidiMessagequeue
    -unsigned int queueLimit
    -unsigned char ignoreFlags
    -bool doInput
    -bool firstMessage
    -void * apiData
    -bool usingCallback
    -void * userCallback
    -void * userData
    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structSkini_1_1Message-members.html b/doc/html/structSkini_1_1Message-members.html deleted file mode 100644 index 0e984ef..0000000 --- a/doc/html/structSkini_1_1Message-members.html +++ /dev/null @@ -1,27 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - -

    Skini::Message Member List

    This is the complete list of members for Skini::Message, including all inherited members.

    - - - - - - -
    channelSkini::Message
    floatValuesSkini::Message
    intValuesSkini::Message
    remainderSkini::Message
    timeSkini::Message
    typeSkini::Message


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structSkini_1_1Message.html b/doc/html/structSkini_1_1Message.html deleted file mode 100644 index fca1859..0000000 --- a/doc/html/structSkini_1_1Message.html +++ /dev/null @@ -1,184 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    -
    - - -

    Skini::Message Struct Reference

    #include <Skini.h> -

    -List of all members.


    Detailed Description

    -A message structure to store and pass parsed SKINI messages. -

    - - - - - - - - - - - - - - - -

    Public Attributes

    long type
    long channel
    StkFloat time
    std::vector< StkFloat > floatValues
    std::vector< long > intValues
    std::string remainder
    -


    Member Data Documentation

    -

    - - - - -
    - - - - -
    long Skini::Message::type
    -
    - - - - - -
    -   - - -

    -The message type, as defined in SKINI.msg.

    -

    - - - - -
    - - - - -
    long Skini::Message::channel
    -
    - - - - - -
    -   - - -

    -The message channel (not limited to 16!).

    -

    - - - - -
    - - - - -
    StkFloat Skini::Message::time
    -
    - - - - - -
    -   - - -

    -The message time stamp in seconds (delta or absolute).

    -

    - - - - -
    - - - - -
    std::vector<StkFloat> Skini::Message::floatValues
    -
    - - - - - -
    -   - - -

    -The message values read as floats (values are type-specific).

    -

    - - - - -
    - - - - -
    std::vector<long> Skini::Message::intValues
    -
    - - - - - -
    -   - - -

    -The message values read as ints (number and values are type-specific).

    -

    - - - - -
    - - - - -
    std::string Skini::Message::remainder
    -
    - - - - - -
    -   - - -

    -Any remaining message data, read as ascii text.

    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structThreadInfo-members.html b/doc/html/structThreadInfo-members.html deleted file mode 100644 index e47113b..0000000 --- a/doc/html/structThreadInfo-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    ThreadInfo Member List

    This is the complete list of members for ThreadInfo, including all inherited members.

    - - -
    finishedThreadInfo
    objectThreadInfo


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structThreadInfo.html b/doc/html/structThreadInfo.html deleted file mode 100644 index 688c996..0000000 --- a/doc/html/structThreadInfo.html +++ /dev/null @@ -1,37 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    ThreadInfo Struct Reference

    List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 36 of file InetWvIn.h. - - - - - - -

    Public Attributes

    -bool finished
    -void * object
    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structVoicer_1_1Voice-members.html b/doc/html/structVoicer_1_1Voice-members.html deleted file mode 100644 index cc0a35e..0000000 --- a/doc/html/structVoicer_1_1Voice-members.html +++ /dev/null @@ -1,28 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    Voicer::Voice Member List

    This is the complete list of members for Voicer::Voice, including all inherited members.

    - - - - - - - -
    channelVoicer::Voice
    frequencyVoicer::Voice
    instrumentVoicer::Voice
    noteNumberVoicer::Voice
    soundingVoicer::Voice
    tagVoicer::Voice
    Voice()Voicer::Voice [inline]


    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structVoicer_1_1Voice.html b/doc/html/structVoicer_1_1Voice.html deleted file mode 100644 index 2fce7d9..0000000 --- a/doc/html/structVoicer_1_1Voice.html +++ /dev/null @@ -1,55 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - - -

    Voicer::Voice Struct Reference

    List of all members.

    Detailed Description

    - -

    - -

    -Definition at line 138 of file Voicer.h. - - - - - - - - - - - - - - - - - -

    Public Member Functions

    Voice ()

    Public Attributes

    -Instrmntinstrument
    -long tag
    -StkFloat noteNumber
    -StkFloat frequency
    -int sounding
    -int channel
    -


    The documentation for this struct was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/structstk_1_1Skini_1_1Message-members.html b/doc/html/structstk_1_1Skini_1_1Message-members.html new file mode 100644 index 0000000..bf486ca --- /dev/null +++ b/doc/html/structstk_1_1Skini_1_1Message-members.html @@ -0,0 +1,29 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/structstk_1_1Skini_1_1Message.html b/doc/html/structstk_1_1Skini_1_1Message.html new file mode 100644 index 0000000..7dda942 --- /dev/null +++ b/doc/html/structstk_1_1Skini_1_1Message.html @@ -0,0 +1,141 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial

    +
    + + +
    +

    stk::Skini::Skini::Message Struct Reference

    A message structure to store and pass parsed SKINI messages. +More... +

    +#include <Skini.h> +

    + +

    +List of all members. + + + + + + + + + + + + + + +

    Public Attributes

    long type
    long channel
    StkFloat time
    std::vector< StkFloat > floatValues
    std::vector< long > intValues
    std::string remainder
    +


    Detailed Description

    +A message structure to store and pass parsed SKINI messages.

    Member Data Documentation

    + +
    +
    + + + + +
    long stk::Skini::Skini::Message::type
    +
    +
    + +

    +The message type, as defined in SKINI.msg. +

    +

    + +

    +
    + + + + +
    long stk::Skini::Skini::Message::channel
    +
    +
    + +

    +The message channel (not limited to 16!). +

    +

    + +

    +
    + + + + +
    StkFloat stk::Skini::Skini::Message::time
    +
    +
    + +

    +The message time stamp in seconds (delta or absolute). +

    +

    + +

    +
    + + + + +
    std::vector<StkFloat> stk::Skini::Skini::Message::floatValues
    +
    +
    + +

    +The message values read as floats (values are type-specific). +

    +

    + +

    +
    + + + + +
    std::vector<long> stk::Skini::Skini::Message::intValues
    +
    +
    + +

    +The message values read as ints (number and values are type-specific). +

    +

    + +

    +
    + + + + +
    std::string stk::Skini::Skini::Message::remainder
    +
    +
    + +

    +Any remaining message data, read as ascii text. +

    +

    +


    The documentation for this struct was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/system.html b/doc/html/system.html index cb19f6c..f36ddc6 100644 --- a/doc/html/system.html +++ b/doc/html/system.html @@ -8,8 +8,9 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - -

    System Requirements

    General:
      + +
      +

      System Requirements

      General:
      • A MIDI interface to use MIDI input/output controls. (NOTE: This may be built into the soundcard on your computer.)
      • @@ -27,13 +28,11 @@ A soundcard to use realtime audio input/output capabilities. In order to use the

        Macintosh OS X (specific):

        • -A C++ compiler does install by default with OS X. It is necessary to download the Developer Kit from the Apple WWW site in order to compile STK or load it from the installation CD-ROM.
        • -
        • -IMPORTANT:The internal Macintosh audio hardware typically supports a sample rate of 44100 Hz only. The default STK sample rate is now 44100 Hz, but there may be programs that change that value before execution. Check the program code if you have sample rate conflicts. Many of the example project programs allow the sample rate to be specified via the command line.
        • +A C++ compiler is not installed by default with OS X. It is necessary to download the Developer Kit from the Apple WWW site in order to compile STK or load it from the installation CD-ROM.
        • If you experience frequent audio input/output "glitches", try increasing the RT_BUFFER_SIZE specified in Stk.h.
        • -The tcl/tk interpreter does not ship by default with OS X, but must be downloaded from the internet. The latest Tcl/Tk Aqua distribution (http://www.apple.com/downloads/macosx/unix_open_source/tcltk.html) has been successfully tested on 10.2 and 10.3 systems. The default installation will place a link to the wish interpretor at /usr/bin/wish.

          +The tcl/tk interpreter does not ship by default with OS X and must be downloaded from the internet. The latest Tcl/Tk Aqua distribution (http://www.apple.com/downloads/macosx/unix_open_source/tcltk.html) has been successfully tested on 10.2 and 10.3 systems. The default installation will place a link to the wish interpretor at /usr/bin/wish.

          It appears that socket support in Tcl/Tk uses the Nagle algorithm, which produces poor response between changes made in the tcl/tk script and the resulting audio updates. Note that this is only a problem when using a socket connection from a Tcl/Tk script.

        @@ -46,7 +45,7 @@ A soundcard to use realtime audio input/output capabilities. In order to use the
      • Visual C++ .NET for compiling (though a precompiled distribution is available).
      • -For compiling the source (if not already in your system):
          +For compiling the source (if not already in your system):
          • dsound.h header file (DirectX 6.1) - put somewhere in your header search path
          • @@ -54,16 +53,12 @@ For compiling the source (if not already in your system):
          -

          -WindowsNT (specific):

            -
          • -DirectX support for NT is inadequate, so it is not possible to use STK under WindowsNT with realtime DirectX support. It may be possible to use STK under WindowsNT with realtime ASIO support, though this has not been tested.
          • -
          +

      - +
      The Synthesis ToolKit in C++ (STK)
      ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/tab_b.gif b/doc/html/tab_b.gif new file mode 100644 index 0000000..0d62348 Binary files /dev/null and b/doc/html/tab_b.gif differ diff --git a/doc/html/tab_l.gif b/doc/html/tab_l.gif new file mode 100644 index 0000000..9b1e633 Binary files /dev/null and b/doc/html/tab_l.gif differ diff --git a/doc/html/tab_r.gif b/doc/html/tab_r.gif new file mode 100644 index 0000000..ce9dd9f Binary files /dev/null and b/doc/html/tab_r.gif differ diff --git a/doc/html/tabs.css b/doc/html/tabs.css new file mode 100644 index 0000000..ab02c62 --- /dev/null +++ b/doc/html/tabs.css @@ -0,0 +1,105 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : 80%; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : 80%; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI.current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI.current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.navpath +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; + text-align : center; + margin : 2px; + padding : 2px; +} diff --git a/doc/html/tree.html b/doc/html/tree.html deleted file mode 100644 index 54e384b..0000000 --- a/doc/html/tree.html +++ /dev/null @@ -1,458 +0,0 @@ - - - - - - - TreeView - - - - - -
      -

      STK

      -
      -

      o*The Synthesis ToolKit in C++ (STK)

      -

      o+File List

      -
      -

      |o*ADSR.h

      -

      |o*Asymp.h

      -

      |o*BandedWG.h

      -

      |o*BeeThree.h

      -

      |o*BiQuad.h

      -

      |o*Blit.h

      -

      |o*BlitSaw.h

      -

      |o*BlitSquare.h

      -

      |o*BlowBotl.h

      -

      |o*BlowHole.h

      -

      |o*Bowed.h

      -

      |o*BowTable.h

      -

      |o*Brass.h

      -

      |o*Chorus.h

      -

      |o*Clarinet.h

      -

      |o*Delay.h

      -

      |o*DelayA.h

      -

      |o*DelayL.h

      -

      |o*Drummer.h

      -

      |o*Echo.h

      -

      |o*Effect.h

      -

      |o*Envelope.h

      -

      |o*FileRead.h

      -

      |o*FileWrite.h

      -

      |o*FileWvIn.h

      -

      |o*FileWvOut.h

      -

      |o*Filter.h

      -

      |o*Flute.h

      -

      |o*FM.h

      -

      |o*FMVoices.h

      -

      |o*FormSwep.h

      -

      |o*Function.h

      -

      |o*Generator.h

      -

      |o*Granulate.h

      -

      |o*HevyMetl.h

      -

      |o*InetWvIn.h

      -

      |o*InetWvOut.h

      -

      |o*Instrmnt.h

      -

      |o*JCRev.h

      -

      |o*JetTable.h

      -

      |o*Mandolin.h

      -

      |o*Mesh2D.h

      -

      |o*Messager.h

      -

      |o*MidiFileIn.h

      -

      |o*Modal.h

      -

      |o*ModalBar.h

      -

      |o*Modulate.h

      -

      |o*Moog.h

      -

      |o*Mutex.h

      -

      |o*Noise.h

      -

      |o*NRev.h

      -

      |o*OnePole.h

      -

      |o*OneZero.h

      -

      |o*PercFlut.h

      -

      |o*Phonemes.h

      -

      |o*PitShift.h

      -

      |o*Plucked.h

      -

      |o*PluckTwo.h

      -

      |o*PoleZero.h

      -

      |o*PRCRev.h

      -

      |o*ReedTable.h

      -

      |o*Resonate.h

      -

      |o*Rhodey.h

      -

      |o*RtAudio.h

      -

      |o*RtDuplex.h

      -

      |o*RtError.h

      -

      |o*RtMidi.h

      -

      |o*RtWvIn.h

      -

      |o*RtWvOut.h

      -

      |o*Sampler.h

      -

      |o*Saxofony.h

      -

      |o*Shakers.h

      -

      |o*Simple.h

      -

      |o*SineWave.h

      -

      |o*SingWave.h

      -

      |o*Sitar.h

      -

      |o*Skini.h

      -

      |o*Socket.h

      -

      |o*Sphere.h

      -

      |o*StifKarp.h

      -

      |o*Stk.h

      -

      |o*SubNoise.h

      -

      |o*TcpClient.h

      -

      |o*TcpServer.h

      -

      |o*Thread.h

      -

      |o*TubeBell.h

      -

      |o*TwoPole.h

      -

      |o*TwoZero.h

      -

      |o*UdpSocket.h

      -

      |o*Vector3D.h

      -

      |o*Voicer.h

      -

      |o*VoicForm.h

      -

      |o*WaveLoop.h

      -

      |o*Whistle.h

      -

      |o*Wurley.h

      -

      |o*WvIn.h

      -

      |\*WvOut.h

      -
      -

      o+Class List

      - -

      o+Class Hierarchy

      - -

      o*Class Members

      -

      o+Directories

      -
      -

      |\+include

      -
      -
      -
      -

      \+Related Pages

      - -
      -
      - - diff --git a/doc/html/tutorial.html b/doc/html/tutorial.html index a22534a..cf0a7e6 100644 --- a/doc/html/tutorial.html +++ b/doc/html/tutorial.html @@ -8,8 +8,9 @@    

      Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


      - -

      Tutorial

      The Synthesis ToolKit is a set of C++ classes. In order to go beyond the simple example programs we provide, it is necessary to know some basics about programming in C and C++. STK's "target audience" includes people who:
        + +
        +

        Tutorial

        The Synthesis ToolKit is a set of C++ classes. In order to go beyond the simple example programs we provide, it is necessary to know some basics about programming in C and C++. STK's "target audience" includes people who:

        - +
        The Synthesis ToolKit in C++ (STK)
        ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
        ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
        diff --git a/doc/html/usage.html b/doc/html/usage.html index 0b33399..4f7ce22 100644 --- a/doc/html/usage.html +++ b/doc/html/usage.html @@ -8,8 +8,9 @@    

        Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


        - -

        Usage Documentation

          + +
          +

          Usage Documentation


          @@ -41,7 +42,7 @@ The projects directory contains various demo and example STK pro This release of STK comes with four separate "project" directories:

          1. -The demo project is used to demonstrate nearly all of the STK instruments. The demo program has been written to allow a variety of control input and sound data output options. Simple graphical user interfaces (GUIs) are also provided.

            +The demo project is used to demonstrate nearly all of the STK instruments. The demo program has been written to allow a variety of control input and sound data output options. Simple graphical user interfaces (GUIs) are also provided.

          2. @@ -59,10 +60,7 @@ The examples project contains several simple programs that demon Compiling:
            • -Windows95/98/2000/XP: Realtime support is available using either DirectSound or ASIO audio drivers. For DirectSound support, use the __WINDOWS_DS__ preprocessor definition and link with the dsound.lib, winmm.lib, and Wsock32.lib libraries. For ASIO support, use the __WINDOWS_ASIO__ preprocessor definition, include all the files in the src/asio/ directory (i.e. asio.h,cpp, asiodrivers.h,cpp, ...), and link with the winmm.lib, and Wsock32.lib libraries. In addition, the __LITTLE_ENDIAN__ and __WINDOWS_MM__ preprocessor definitions are necessary for all Windows systems (RtMidi uses the Windows MultiMedia MIDI API). A distribution of the release is available with precompiled binaries (using DirectSound) for all the projects. In order for these binaries to function properly, your system must have the DirectX 5.0 (or higher) runtime libraries installed (available from Microsoft). Further, the effects project requires that your soundcard and drivers provide full duplex mode capabilities. Visual C++ .NET project files are provided in each project directory as well should you wish to compile your own binaries. It is important to link with the non-debug libraries when compiling "release" program versions and debug libraries when compiling "debug" program versions.

              -

            • -
            • -WindowsNT: DirectX support for NT is inadequate, so it is not possible to use STK under WindowsNT with realtime DirectX support. It may be possible to use STK under WindowsNT with realtime ASIO support, though this has not been tested.

              +Windows95/98/2000/XP: Realtime support is available using either DirectSound or ASIO audio drivers. For DirectSound support, use the __WINDOWS_DS__ preprocessor definition and link with the dsound.lib, winmm.lib, and Wsock32.lib libraries. For ASIO support, use the __WINDOWS_ASIO__ preprocessor definition, include all the files in the src/asio/ directory (i.e. asio.h,cpp, asiodrivers.h,cpp, ...), and link with the winmm.lib, and Wsock32.lib libraries. In addition, the __LITTLE_ENDIAN__ and __WINDOWS_MM__ preprocessor definitions are necessary for all Windows systems (RtMidi uses the Windows MultiMedia MIDI API). A distribution of the release is available with precompiled binaries (using DirectSound) for all the projects. In order for these binaries to function properly, your system must have the DirectX 5.0 (or higher) runtime libraries installed (available from Microsoft). Further, the effects project requires that your soundcard and drivers provide full duplex mode capabilities. Visual C++ .NET project files are provided in each project directory as well should you wish to compile your own binaries. It is important to link with the non-debug libraries when compiling "release" program versions and debug libraries when compiling "debug" program versions.

            • Unix Systems: A GNU configure shell script is included in the distribution for unix-based systems. From the top-level distribution directory, type './configure' and the script will create Makefiles in each project directory specific to the characteristics of the host computer. Then from within any given project directory (example demo), type 'make' to compile the project. In addition, an STK library can be compiled from within the src directory.

              @@ -89,93 +87,93 @@ For novice STK users, the default configuration should be adequate.

            • For those who wish to create their own system-specific Makefiles:

              • -Linux: Realtime audio support is enabled with either the __LINUX_ALSA__, __UNIX_JACK__, and/or __LINUX_OSS__ preprocessor definitions, which are used to select the underlying audio system API(s). Because the ALSA library is now integrated into the standard Linux kernel, it is the default audio/MIDI API with STK versions 4.2 and higher. The __LINUX_ALSASEQ__ preprocessor definition must be included for MIDI support. Note that native OSS MIDI support no longer exists in RtMidi. If the __LINUX_OSS__ preprocessor definition is specified, only OSS (version 4.0) audio support will be compiled and RtMidi will still be compiled using the ALSA API (assuming the __LINUX_ALSASEQ__ definition is defined). For this reason, STK now requires the asound library for realtime support. Realtime programs must also link with the pthread library. In addition, the __LITTLE_ENDIAN__ preprocessor definition is necessary if compiling on a little-endian system. See the README-Linux file for further system configuration information.

                +Linux: Realtime audio support is enabled with either the __LINUX_ALSA__, __UNIX_JACK__, and/or __LINUX_OSS__ preprocessor definitions, which are used to select the underlying audio system API(s). Because the ALSA library is now integrated into the standard Linux kernel, it is the default audio/MIDI API with STK versions 4.2 and higher. The __LINUX_ALSASEQ__ preprocessor definition must be included for MIDI support. Note that native OSS MIDI support no longer exists in RtMidi. If the __LINUX_OSS__ preprocessor definition is specified, only OSS (version 4.0) audio support will be compiled and RtMidi will still be compiled using the ALSA API (assuming the __LINUX_ALSASEQ__ definition is defined). For this reason, STK now requires the asound library for realtime support. Realtime programs must also link with the pthread library. In addition, the __LITTLE_ENDIAN__ preprocessor definition is necessary if compiling on a little-endian system. See the README-Linux file for further system configuration information.

              • Macintosh OS X: Realtime support is enabled with the __MACOSX_CORE__ and __UNIX_JACK__ preprocessor definitions, which incorporate the CoreAudio audio/MIDI API and/or the JACK API. Realtime programs must also link with the pthread library and the CoreAudio, CoreMIDI, and CoreFoundation frameworks (for Core Audio support) and/or the JACK library. See the README-MacOSX file for further system configuration information.

              • -Generic (non-realtime): Most STK classes are operating system independent and can be compiled using any current C++ compiler. STK assumes big-endian host byte order by default, so if your system is little-endian (i.e. Intel processor), you must provide the __LITTLE_ENDIAN__ preprocessor definition to your compiler. The demo project will compile without realtime support, allowing the use of SKINI scorefiles for input control and output to a variety of soundfile formats. The following classes cannot be used without realtime support: RtAudio, RtWvIn, RtWvOut, RtDuplex, RtMidi, Socket, Thread, Mutex, TcpWvIn, TcpWvOut. Because of this, it is not possible to compile the effects, ragamatic, and most of the examples projects for non-realtime use.
              • +Generic (non-realtime): Most STK classes are operating system independent and can be compiled using any current C++ compiler. STK assumes big-endian host byte order by default, so if your system is little-endian (i.e. Intel processor), you must provide the __LITTLE_ENDIAN__ preprocessor definition to your compiler. The demo project will compile without realtime support, allowing the use of SKINI scorefiles for input control and output to a variety of soundfile formats. The following classes cannot be used without realtime support: RtAudio, RtWvIn, RtWvOut, RtDuplex, RtMidi, Socket, Thread, Mutex, TcpWvIn, TcpWvOut. Because of this, it is not possible to compile the effects, ragamatic, and most of the examples projects for non-realtime use.

              Control Data:

              -All STK programs in this distribution take input control data in the form of SKINI or MIDI messages only. The Messager class unifies the various means of acquiring control data under a single, easy to use set of functions. The way that SKINI messages can be sent to the programs is dependent upon the operating system in use, as well as whether the program is running in realtime or not. In general, it is possible to:

              +All STK programs in this distribution take input control data in the form of SKINI or MIDI messages only. The Messager class unifies the various means of acquiring control data under a single, easy to use set of functions. The way that SKINI messages can be sent to the programs is dependent upon the operating system in use, as well as whether the program is running in realtime or not. In general, it is possible to:

              1. Redirect or pipe SKINI scorefiles to an executable.
              2. Pipe realtime SKINI input messages to an executable (not possible under Windows95/98).
              3. -Socket realtime SKINI input messages to an executable.
              4. +Socket realtime SKINI input messages to an executable.
              5. Acquire realtime MIDI messages from a MIDI port on your computer.

              -Tcl/Tk graphical user interfaces (GUI) are provided with this distribution that can generate realtime SKINI messages. Note that the Messager class allows multiple simultaneous socket client connections, together with MIDI and/or piped input. The Md2Skini program (in the demo directory) is mostly obsolete but can be used to create SKINI scorefiles from realtime MIDI input.

              +Tcl/Tk graphical user interfaces (GUI) are provided with this distribution that can generate realtime SKINI messages. Note that the Messager class allows multiple simultaneous socket client connections, together with MIDI and/or piped input. The Md2Skini program (in the demo directory) is mostly obsolete but can be used to create SKINI scorefiles from realtime MIDI input.

              Demo: STK Instruments

              The demo project demonstrates the behavior of all the distributed STK instruments. The instruments available with this release include:
              • -Clarinet: Pretty good physical model of the clarinet
              • +Clarinet: Pretty good physical model of the clarinet
              • -BlowHole: A clarinet physical model with one tonehole and one register vent
              • +BlowHole: A clarinet physical model with one tonehole and one register vent
              • -Saxofony: A psuedo-conical bore reed instrument that sometimes sounds like a saxophone
              • +Saxofony: A psuedo-conical bore reed instrument that sometimes sounds like a saxophone
              • -Flute: Pretty good physical model of the flute
              • +Flute: Pretty good physical model of the flute
              • -Brass: Not so bad physical model of a brass instrument
              • +Brass: Not so bad physical model of a brass instrument
              • -BlowBotl: A basic helmholtz resonator and air jet model
              • +BlowBotl: A basic helmholtz resonator and air jet model
              • -Bowed: Not hideous physical model of a bowed string instrument
              • +Bowed: Not hideous physical model of a bowed string instrument
              • -Plucked: Yer basic plucked string physical model
              • +Plucked: Yer basic plucked string physical model
              • -StifKarp: A simple plucked, stiff string physical model
              • +StifKarp: A simple plucked, stiff string physical model
              • -Sitar: A simple sitar/plucked string physical model
              • +Sitar: A simple sitar/plucked string physical model
              • -Mandolin: Two-string mandolin physical model
              • +Mandolin: Two-string mandolin physical model
              • -Rhodey: Rhodes-like electric piano FM synthesis model
              • +Rhodey: Rhodes-like electric piano FM synthesis model
              • -Wurley: Wurlitzer-like electric piano FM synthesis model
              • +Wurley: Wurlitzer-like electric piano FM synthesis model
              • -TubeBell: FM synthesis model
              • +TubeBell: FM synthesis model
              • -HevyMetl: Distorted synthesizer FM synthesis model
              • +HevyMetl: Distorted synthesizer FM synthesis model
              • -PercFlut: Percussive flute-like FM synthesis model
              • +PercFlut: Percussive flute-like FM synthesis model
              • -BeeThree: Cheezy organ FM synthesis model
              • +BeeThree: Cheezy organ FM synthesis model
              • -Moog: Swept filter sampler
              • +Moog: Swept filter sampler
              • -FMVoices: Three-formant FM voice synthesis
              • +FMVoices: Three-formant FM voice synthesis
              • -VoicForm: Four-formant resonance filter voice synthesis
              • +VoicForm: Four-formant resonance filter voice synthesis
              • -Resonate: Noise through a BiQuad filter
              • +Resonate: Noise through a BiQuad filter
              • -Drummer: Sampling synthesis
              • +Drummer: Sampling synthesis
              • -BandedWG: Banded waveguide meta-object for bowed bars, tibetan bowls, etc.
              • +BandedWG: Banded waveguide meta-object for bowed bars, tibetan bowls, etc.
              • -Shakers: Various stochastic event models of shaker instruments
              • +Shakers: Various stochastic event models of shaker instruments
              • -ModalBar: Various four-resonance presets (marimba, vibraphone, etc...)
              • +ModalBar: Various four-resonance presets (marimba, vibraphone, etc...)
              • -Mesh2D: Two-dimensional, rectilinear digital waveguide mesh
              • +Mesh2D: Two-dimensional, rectilinear digital waveguide mesh
              • -Whistle: Hybrid physical/spectral model of a police whistle
              • +Whistle: Hybrid physical/spectral model of a police whistle

              Demo: Non-Realtime Use

              See the information above with respect to compiling STK for non-realtime use.

              In non-realtime mode, it is assumed that input control messages are provided from a SKINI scorefile and that audio output is written to a soundfile (.snd, .wav, .aif, .mat, .raw). A number of SKINI scorefiles are provided in the scores directory of the demo project. Assuming a successful compilation of the demo program, typing:

              -

              demo BeeThree -ow myfile.wav -if scores/bookert.ski
              +
              demo BeeThree -ow myfile.wav -if scores/bookert.ski
               

              -from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and write the resulting audio data to a WAV formatted soundfile called "myfile.wav" (note that you may need to append ./ to the program name if your default shell setup is not set to look in the current directory). Typing demo without any arguments will provide a full program usage description.

              +from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and write the resulting audio data to a WAV formatted soundfile called "myfile.wav" (note that you may need to append ./ to the program name if your default shell setup is not set to look in the current directory). Typing demo without any arguments will provide a full program usage description.

              Demo: Realtime Use

              STK realtime audio and MIDI input/output and realtime SKINI control input via socketing support is provided for Linux, Mac OS-X, and Windows95/98/2000/XP operating systems. STK realtime SKINI control input via piping is possible under Linux, Mac OS X, and Windows2000/XP only.

              Control input and audio output options are typically specified as command-line arguments to STK programs. For example, the demo program is invoked as:

              @@ -205,36 +203,37 @@ where instruments include those described above and flags can be any or all of:

            The -ip and -is flags must be used when piping or socketing realtime SKINI control data to an STK program. The -im flag must be used to read MIDI control input from your MIDI port. Note that you can use all three input types simultaneously.

            Assuming a successful compilation of the demo program, typing:

            -

            demo BeeThree -or -if scores/bookert.ski
            +
            demo BeeThree -or -if scores/bookert.ski
             

            -from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and stream the resulting audio data in realtime to the audio output channel of your computer. Typing demo without any arguments will provide a full program usage description.

            +from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and stream the resulting audio data in realtime to the audio output channel of your computer. Typing demo without any arguments will provide a full program usage description.

            Realtime Control Input using Tcl/Tk Graphical User Interfaces:

            There are a number of Tcl/Tk GUIs supplied with the STK projects. These scripts require Tcl/Tk version 8.0 or later, which can be downloaded for free over the WWW. On Unix and Windows2000/XP platforms, you can run the various executable scripts (e.g. StkDemo.bat) provided with each project to start everything up (you may need to symbolically link the wishXX executable to the name wish). The Physical.bat script just implements the following command-line sequence:

            -

            wish < tcl/Physical.tcl | demo Clarinet -or -ip
            +
            wish < tcl/Physical.tcl | demo Clarinet -or -ip
             

            On WindowsXX and Unix platforms, the following operations are necessary to establish a socket connection between the Tcl/Tk GUI and the STK program:

            1. -Open a DOS shell and start the STK program with the -is flag (ex. demo Clarinet -or -is).
            2. +Open a DOS shell and start the STK program with the -is flag (ex. demo Clarinet -or -is).
            3. Open the Tcl/Tk GUI (e.g. tcl/Physical.tcl) by double-clicking on it, or type wish < tcl/Physical.tcl in another DOS shell.
            4. -Establish the socket connection by selecting Socket under the Communications menu item in the Tcl/Tk GUI.
            5. +Establish the socket connection by selecting Socket under the Communications menu item in the Tcl/Tk GUI.

            Note that it is possible to specify a hostname when establishing the socket connection from the socket client. Thus, the STK socket server program and the Tcl/Tk GUI need not necessarily reside on the same computer.

            Realtime MIDI Control Input:

            -On all supported realtime platforms, you can direct realtime MIDI input to the STK Clarinet by typing:

            -

            demo Clarinet -or -im
            +On all supported realtime platforms, you can direct realtime MIDI input to the STK Clarinet by typing:

            +

            demo Clarinet -or -im
             

            This will attempt to use the default MIDI port for input. An optional MIDI port number can be specified after the -im flag. Valid MIDI ports are numbered from 0 (default) and higher. On Linux and Macintosh OS-X systems, it is possible to open a virtual MIDI input port (that other software applications can connect to) by specifying a port identifier of -1.

            Polyphony:

            -The demo program supports an arbitrary number of voices via the -n NUMBER command-line flag and argument. For example, you can play eight BeeThree instruments with realtime output and control them from a MIDI device by typing:

            -

            demo BeeThree -n 8 -or -im
            -

            +The demo program supports an arbitrary number of voices via the -n NUMBER command-line flag and argument. For example, you can play eight BeeThree instruments with realtime output and control them from a MIDI device by typing:

            +

            demo BeeThree -n 8 -or -im
            +
            +
            - +
            The Synthesis ToolKit in C++ (STK)
            ©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.