mirror of
https://github.com/thestk/stk
synced 2026-01-17 06:41:51 +00:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d63b50e85 | ||
|
|
d12ef806ac | ||
|
|
ffce5357c6 | ||
|
|
b39c0bb101 | ||
|
|
f25eb5c3d7 | ||
|
|
71e5c027fb | ||
|
|
586b0add5f | ||
|
|
6e0d1955a8 | ||
|
|
2f09fcd019 |
41
INSTALL
Normal file
41
INSTALL
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
The Synthesis ToolKit in C++ (STK)
|
||||||
|
|
||||||
|
By Perry R. Cook and Gary P. Scavone, 1995-2004.
|
||||||
|
|
||||||
|
The Synthesis ToolKit in C++ can be used in a variety of ways, depending on your particular needs. Some people just choose the classes they need for a particular project and copy those to their project directory. Others like to compile and link to a library of object files. STK was not designed with one particular style of use in mind.
|
||||||
|
|
||||||
|
To configure and compile (on Unix systems):
|
||||||
|
|
||||||
|
1. Unpack the STK distribution (tar -xzf stk-4.x.tar.gz).
|
||||||
|
2. From within the directory containing this file, run configure:
|
||||||
|
|
||||||
|
./configure
|
||||||
|
|
||||||
|
3. From within each project directory, type "make".
|
||||||
|
4. To compile a library of objects, type "make" from within the src directory.
|
||||||
|
|
||||||
|
Several options can be passed to configure, including:
|
||||||
|
|
||||||
|
--disable-realtime = only compile generic non-realtime classes
|
||||||
|
--enable-debug = enable various debug output
|
||||||
|
--with-alsa = choose native ALSA API support (linux only)
|
||||||
|
--with-jack = choose native JACK server API support (linux only)
|
||||||
|
--enable-midiator = enable native MS-124W MIDI support (linux only)
|
||||||
|
|
||||||
|
At the moment, it is not possible to specify more than one Linux audio API, though this will change in the next release. Typing "./configure --help" will display all the available options. In addition, it is possible to specify the RAWWAVES and INCLUDE paths to configure as (ex. to set to /home/gary/rawwaves and /home/gary/include):
|
||||||
|
|
||||||
|
./configure RAWWAVE_PATH="/home/gary/rawwaves/"
|
||||||
|
./configure INCLUDE_PATH="/home/gary/include/"
|
||||||
|
|
||||||
|
The ending "/" is required for the RAWWAVES path. The default behavior will set a relative path that works for the project files included with the distribution (assuming they are not moved). You can also change the RAWWAVE_PATH dynamically via the static Stk::setRawwavePath() function.
|
||||||
|
|
||||||
|
If you wish to use a different compiler than that selected by configure, specify that compiler in the command line (ex. to use CC):
|
||||||
|
|
||||||
|
./configure CXX=CC
|
||||||
|
|
||||||
|
In addition, a linux RPM is available from the STK WWW site (http://www-ccrma.stanford.edu/software/stk/).
|
||||||
|
|
||||||
|
|
||||||
|
For Windows Users:
|
||||||
|
|
||||||
|
An STK distribution is available which contains precompiled executables. In addition, Visual C++ project files are included for each of the example STK projects.
|
||||||
16
README
16
README
@@ -1,6 +1,6 @@
|
|||||||
The Synthesis ToolKit in C++ (STK)
|
The Synthesis ToolKit in C++ (STK)
|
||||||
|
|
||||||
By Perry R. Cook and Gary P. Scavone, 1995-2002.
|
By Perry R. Cook and Gary P. Scavone, 1995-2004.
|
||||||
|
|
||||||
This distribution of the Synthesis ToolKit in C++ (STK) contains the following:
|
This distribution of the Synthesis ToolKit in C++ (STK) contains the following:
|
||||||
|
|
||||||
@@ -12,26 +12,28 @@ projects: example STK programs
|
|||||||
|
|
||||||
Please read the Legal and Ethical notes near the bottom of this document.
|
Please read the Legal and Ethical notes near the bottom of this document.
|
||||||
|
|
||||||
|
For compiling and installing STK, see the INSTALL file in this directory.
|
||||||
|
|
||||||
|
|
||||||
OVERVIEW:
|
OVERVIEW:
|
||||||
|
|
||||||
The Synthesis ToolKit in C++ (STK) is a set of audio signal processing and synthesis classes and algorithms written in C++. You can use these classes to create programs that make sounds with a variety of synthesis techniques. This is not a terribly novel concept, except that the Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (no libraries, no hidden drivers, and all source code is included). 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 8 years now. STK currently runs with "realtime" support (audio and MIDI) on SGI (Irix), Linux, 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 C++. 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 8 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 is free for non-commercial use. The only parts of the Synthesis ToolKit that are platform-dependent concern real-time audio and MIDI input and output, and that is taken care of with a few special classes. The interface for MIDI input and the simple <A HREF="http://dev.scriptics.com">Tcl/Tk</A> graphical user interfaces (GUIs) provided is the same, so it's easy to experiment in real time using either the GUIs or MIDI. The Synthesis ToolKit can generate simultaneous SND (AU), WAV, AIFF, and MAT-file output soundfile formats (as well as realtime sound output), so you can view your results using one of a large variety of sound/signal analysis tools already available (e.g. <A HREF="http://www-ccrma.stanford.edu/software/snd/">Snd</A>, Cool Edit, Matlab).
|
The Synthesis ToolKit is free for non-commercial use. The only parts of the Synthesis ToolKit that are platform-dependent concern real-time audio and MIDI input and output, and that is taken care of with a few special classes. The interface for MIDI input and the simple Tcl/Tk graphical user interfaces (GUIs) provided is the same, so it's easy to experiment in real time using either the GUIs or MIDI. The Synthesis ToolKit can generate simultaneous SND (AU), WAV, AIFF, and MAT-file output soundfile formats (as well as realtime sound output), so you can view your results using one of a large variety of sound/signal analysis tools already available (e.g. Snd, Cool Edit, Matlab).
|
||||||
|
|
||||||
The Synthesis Toolkit is not one particular program. Rather, it is a set of C++ classes that you can use to create your own programs. A few example applications are provided to demonstrate some of the ways to use the classes. If you have specific needs, you will probably have to either modify the example programs or write a new program altogether. Further, the example programs don't have a fancy GUI wrapper. If you feel the need to have a "drag and drop" graphical patching GUI, you probably don't want to use the ToolKit. Spending hundreds of hours making platform-dependent graphics code would go against one of the fundamental design goals of the ToolKit - platform independence.
|
The Synthesis Toolkit is not one particular program. Rather, it is a set of C++ classes that you can use to create your own programs. A few example applications are provided to demonstrate some of the ways to use the classes. If you have specific needs, you will probably have to either modify the example programs or write a new program altogether. Further, the example programs don't have a fancy GUI wrapper. If you feel the need to have a "drag and drop" graphical patching GUI, you probably don't want to use the ToolKit. Spending hundreds of hours making platform-dependent graphics code would go against one of the fundamental design goals of the ToolKit - platform independence.
|
||||||
|
|
||||||
For those instances where a simple GUI with sliders and buttons is helpful, we use <A HREF="http://dev.scriptics.com">Tcl/Tk</A> (which is freely distributed for all the supported ToolKit platforms). A number of Tcl/Tk GUI scripts are distributed with the ToolKit release. For control, the Synthesis Toolkit uses raw MIDI (on supported platforms), and SKINI (Synthesis ToolKit Instrument Network Interface, a MIDI-like text message synthesis control format).
|
For those instances where a simple GUI with sliders and buttons is helpful, we use Tcl/Tk (http://dev.scriptics.com) which is freely distributed for all the supported ToolKit platforms. A number of Tcl/Tk GUI scripts are distributed with the ToolKit release. For control, the Synthesis Toolkit uses raw MIDI (on supported platforms), and SKINI (Synthesis ToolKit Instrument Network Interface, a MIDI-like text message synthesis control format).
|
||||||
|
|
||||||
|
|
||||||
SYSTEM REQUIREMENTS:
|
SYSTEM REQUIREMENTS:
|
||||||
|
|
||||||
See the individual README's (eg. README-linux) for platform specific information and system requirements. In general, you will use either the provided Makefiles (Unix platforms) or the VC++ workspace files to compile the example programs. To use the Tcl/Tk GUIs, you will need Tcl/Tk version 8.0 or higher.
|
See the individual README's (eg. README-linux) in the /doc directory for platform specific information and system requirements. In general, you will use the configure script to create Makefiles on unix platforms or the VC++ workspace files to compile the example programs. To use the Tcl/Tk GUIs, you will need Tcl/Tk version 8.0 or higher.
|
||||||
|
|
||||||
|
|
||||||
WHAT'S NEW:
|
WHAT'S NEW:
|
||||||
|
|
||||||
STK has undergone several key revisions, changes, and additions since its last release. Despite being available in one form or another since 1996, we still consider STK to be alpha software. Thus, backward compatability has not been a priority. Please read the Release Notes to see what has changed since the last release.
|
Despite being available in one form or another since 1996, we still consider STK to be alpha software. Thus, backward compatability has not been a priority. Please read the Release Notes to see what has changed since the last release.
|
||||||
|
|
||||||
The control message handling scheme has been simplified greatly through the use of the Messager class. It is now possible to have access to simultaneous piped, socketed, and/or MIDI input control messages. In most cases, this should eliminate the use of the Md2Skini program.
|
The control message handling scheme has been simplified greatly through the use of the Messager class. It is now possible to have access to simultaneous piped, socketed, and/or MIDI input control messages. In most cases, this should eliminate the use of the Md2Skini program.
|
||||||
|
|
||||||
@@ -39,7 +41,7 @@ Realtime audio input capabilities were added to STK with release 3.0, though the
|
|||||||
|
|
||||||
As mentioned above, it is possible to record the audio ouput of an STK program to .snd, .wav, .raw, .aif, and .mat (Matlab MAT-file) output file types. Though somewhat obsolete, the program Md2Skini can be used to write SKINI scorefiles from realtime MIDI input. Finally, STK should compile with non-realtime functionality on any platform with a generic C++ compiler.
|
As mentioned above, it is possible to record the audio ouput of an STK program to .snd, .wav, .raw, .aif, and .mat (Matlab MAT-file) output file types. Though somewhat obsolete, the program Md2Skini can be used to write SKINI scorefiles from realtime MIDI input. Finally, STK should compile with non-realtime functionality on any platform with a generic C++ compiler.
|
||||||
|
|
||||||
For those who wish to make a library from the core STK classes, there is a Makefile in the src directory that will accomplish that (Linux and SGI only).
|
For those who wish to make a library from the core STK classes, the configure script generates a Makefile in the src directory that will accomplish that (Linux, SGI, and Macintosh OS X only).
|
||||||
|
|
||||||
|
|
||||||
DISCLAIMER:
|
DISCLAIMER:
|
||||||
|
|||||||
189
bin/treesed
Executable file
189
bin/treesed
Executable file
@@ -0,0 +1,189 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
# treesed
|
||||||
|
# Written January 1996 by Rick Jansen (rick@sara.nl)
|
||||||
|
# URL: http://www.sara.nl/rick
|
||||||
|
|
||||||
|
# usage: treesed pattern1 pattern2 -tree
|
||||||
|
# treesed pattern1 pattern2 -files file1 file2 ...
|
||||||
|
|
||||||
|
# example: treesed href HREF -files *.html
|
||||||
|
|
||||||
|
# Treesed searches for pattern1 and replaces pattern1 by pattern2
|
||||||
|
# if pattern2 supplied. If only pattern1 given treesed just searches.
|
||||||
|
# Treesed will search in all files and subdirectories of the current
|
||||||
|
# directory
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------------------------------------------------------
|
||||||
|
# Parameters
|
||||||
|
|
||||||
|
$DoEdit=0;
|
||||||
|
$search_pattern = $ARGV[0];
|
||||||
|
$search_pattern =~ s/(\W)/\\$1/g; # escape regexp chars
|
||||||
|
shift;
|
||||||
|
|
||||||
|
while ($#ARGV >= 0) {
|
||||||
|
|
||||||
|
if ($ARGV[0] eq '-files') {
|
||||||
|
@temp_ls = @ARGV[1 .. $#ARGV];
|
||||||
|
# Get list of files, skip dirs
|
||||||
|
foreach $file (@ARGV[1 .. $#ARGV]) {
|
||||||
|
if (-f $file) {
|
||||||
|
push(@ls, $file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
elsif ($ARGV[0] eq '-tree') {
|
||||||
|
&Get_LS;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! -f $ARGV[0]) {
|
||||||
|
if (defined($replacement_pattern)) {
|
||||||
|
print "usage: treesed pattern1 <pattern2> -tree/-files <files>\n";
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
$replacement_pattern = $ARGV[0];
|
||||||
|
#$replacement_pattern =~ s/(\W)/\\$1/g; # escape regexp chars
|
||||||
|
$DoEdit=1;
|
||||||
|
shift;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# No files?
|
||||||
|
if ($#ls < 0) {
|
||||||
|
print "xx No input files\n";
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
print "search_pattern: $search_pattern\n";
|
||||||
|
print "replacement_pattern: $replacement_pattern\n";
|
||||||
|
if ($DoEdit) {
|
||||||
|
print "\n** EDIT MODE!\n\n"; }
|
||||||
|
else {
|
||||||
|
print "\n** Search mode\n\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
#foreach $file (@ls) {
|
||||||
|
# print "$file \n";
|
||||||
|
#}
|
||||||
|
|
||||||
|
|
||||||
|
#--------------------------------------------------------
|
||||||
|
# Search list of files for pattern
|
||||||
|
|
||||||
|
$linepos=0;
|
||||||
|
|
||||||
|
$| = 1; # Force flush after every write
|
||||||
|
foreach $file (@ls) {
|
||||||
|
#print "$file\n";
|
||||||
|
print '.';
|
||||||
|
$linepos++;
|
||||||
|
if ($linepos > 50) {
|
||||||
|
$linepos=0;
|
||||||
|
print "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!open(FILE, $file)) {
|
||||||
|
print "\nCould not open $file\n";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
$Found = 0;
|
||||||
|
$Count = 0;
|
||||||
|
$lineno = 0;
|
||||||
|
@lines = ();
|
||||||
|
while (<FILE>) {
|
||||||
|
$lineno++;
|
||||||
|
if (/$search_pattern/i) {
|
||||||
|
#print;
|
||||||
|
$Count++;
|
||||||
|
$Found = 1;
|
||||||
|
push(@lines, $lineno);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(FILE);
|
||||||
|
if ($Found) {
|
||||||
|
print "\n$file: $Count lines on: @lines\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($Found && $DoEdit) { &Edit($file); }
|
||||||
|
|
||||||
|
}
|
||||||
|
$| = 0;
|
||||||
|
print "\n";
|
||||||
|
|
||||||
|
|
||||||
|
exit(0);
|
||||||
|
|
||||||
|
|
||||||
|
#--------------------------------------------------------
|
||||||
|
# Edit file
|
||||||
|
|
||||||
|
sub Edit {
|
||||||
|
|
||||||
|
# Replace $ARGV[0] with $ARGV[1] in $file
|
||||||
|
|
||||||
|
local($file) = @_;
|
||||||
|
local($bakfile) = $file.'.'.$$;
|
||||||
|
|
||||||
|
# First create backup
|
||||||
|
open(FILE, $file) || die "Could not open $file for read\n";
|
||||||
|
open(BAKFILE, ">$bakfile") || die "Could not open $bakfile for backup\n";
|
||||||
|
while (<FILE>) {
|
||||||
|
print BAKFILE;
|
||||||
|
}
|
||||||
|
close(BAKFILE);
|
||||||
|
close(FILE);
|
||||||
|
|
||||||
|
# Now replace $ARGV[0] by $ARGV[1] in the backupfile,
|
||||||
|
# result into $file
|
||||||
|
open(BAKFILE, $bakfile) || die "Could not open $bakfile for read\n";
|
||||||
|
open(FILE,">$file") || die "Could not open $file for write\n";
|
||||||
|
$Count=0;
|
||||||
|
while (<BAKFILE>) {
|
||||||
|
if (/$search_pattern/i) { $Count++; }
|
||||||
|
s/$search_pattern/$replacement_pattern/gi;
|
||||||
|
print FILE;
|
||||||
|
}
|
||||||
|
close(BAKFILE);
|
||||||
|
close(FILE);
|
||||||
|
|
||||||
|
print
|
||||||
|
"\nReplaced $search_pattern by $replacement_pattern on $Count lines in $file\n";
|
||||||
|
|
||||||
|
} #sub Edit
|
||||||
|
|
||||||
|
#--------------------------------------------------------
|
||||||
|
|
||||||
|
sub Get_LS {
|
||||||
|
|
||||||
|
# Get a list of full path names into array @ls
|
||||||
|
|
||||||
|
local(@localls)=`ls -R1`;
|
||||||
|
local($item,$Dir);
|
||||||
|
|
||||||
|
#print "localls: @localls\n";
|
||||||
|
$Dir='';
|
||||||
|
foreach $item (@localls) {
|
||||||
|
#print "$item\n";
|
||||||
|
if ($item =~ /:$/) {
|
||||||
|
$Dir=$item;
|
||||||
|
chop($Dir);
|
||||||
|
$Dir =~ s/:$/\//;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
chop($item);
|
||||||
|
$item = $Dir.$item;
|
||||||
|
if ($item !~ /^\s*$/) { push(@ls, $item); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@localls=();
|
||||||
|
|
||||||
|
} # sub Get_LS
|
||||||
|
|
||||||
1371
config.guess
vendored
Executable file
1371
config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1362
config.sub
vendored
Normal file
1362
config.sub
vendored
Normal file
File diff suppressed because it is too large
Load Diff
128
configure.ac
Normal file
128
configure.ac
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
AC_INIT(STK, 4.1.2, gary@ccrma.stanford.edu, stk)
|
||||||
|
AC_CONFIG_SRCDIR(src/Stk.cpp)
|
||||||
|
AC_CONFIG_FILES(src/Makefile projects/demo/Makefile projects/effects/Makefile projects/ragamatic/Makefile projects/examples/Makefile)
|
||||||
|
|
||||||
|
# Checks for programs.
|
||||||
|
AC_PROG_CC
|
||||||
|
AC_PROG_CXX(g++ CC c++ cxx)
|
||||||
|
AC_PROG_CXX
|
||||||
|
|
||||||
|
# Checks for header files.
|
||||||
|
AC_HEADER_STDC
|
||||||
|
AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h termio.h unistd.h)
|
||||||
|
|
||||||
|
# Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
AC_C_CONST
|
||||||
|
AC_TYPE_SIZE_T
|
||||||
|
AC_HEADER_TIME
|
||||||
|
AC_C_BIGENDIAN
|
||||||
|
AC_EGREP_CPP(yes,
|
||||||
|
[#ifndef WORDS_BIGENDIAN
|
||||||
|
yes
|
||||||
|
#endif
|
||||||
|
], [AC_SUBST( byte_order, [-D__LITTLE_ENDIAN__] )] )
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(for RAWWAVE_PATH argument)
|
||||||
|
AC_SUBST( rawwaves, $RAWWAVE_PATH )
|
||||||
|
AC_MSG_RESULT($RAWWAVE_PATH)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(for INCLUDE_PATH argument)
|
||||||
|
AC_SUBST( include, $INCLUDE_PATH )
|
||||||
|
AC_MSG_RESULT($INCLUDE_PATH)
|
||||||
|
|
||||||
|
# Check for realtime support disable
|
||||||
|
AC_MSG_CHECKING(whether to compile realtime support)
|
||||||
|
AC_ARG_ENABLE(realtime, [ --disable-realtime = only compile generic non-realtime classes], [AC_SUBST( realtime, [no] ) AC_SUBST( sound_api, [] )], [AC_SUBST( realtime, [yes] ) ] )
|
||||||
|
AC_MSG_RESULT($realtime)
|
||||||
|
|
||||||
|
# Check for math library
|
||||||
|
AC_CHECK_LIB(m, cos, , AC_MSG_ERROR(math library is needed!))
|
||||||
|
|
||||||
|
if test $realtime = yes; then
|
||||||
|
AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(realtime support requires the pthread library!))
|
||||||
|
AC_CHECK_FUNCS(gettimeofday select socket)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check for debug
|
||||||
|
AC_MSG_CHECKING(whether to compile debug version)
|
||||||
|
AC_ARG_ENABLE(debug,
|
||||||
|
[ --enable-debug = enable various debug output],
|
||||||
|
[AC_SUBST( debug, [-D_STK_DEBUG_] ) AC_SUBST( cflags, [-g] ) AC_SUBST( object_path, [Debug] ) AC_MSG_RESULT(yes)],
|
||||||
|
[AC_SUBST( debug, [] ) AC_SUBST( cflags, [-O2] ) AC_SUBST( object_path, [Release] ) AC_MSG_RESULT(no)])
|
||||||
|
|
||||||
|
# Check compiler and use -Wall if gnu.
|
||||||
|
if test $GXX = "yes" ; then
|
||||||
|
AC_SUBST( warn, ["-Wall -g"] )
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $realtime = yes; then
|
||||||
|
# Checks for package options and external software
|
||||||
|
AC_CANONICAL_HOST
|
||||||
|
AC_MSG_CHECKING(for audio API)
|
||||||
|
case $host in
|
||||||
|
*-*-linux*)
|
||||||
|
AC_SUBST( sound_api, [_NO_API_] )
|
||||||
|
|
||||||
|
# Look for Jack flag
|
||||||
|
AC_ARG_WITH(jack, [ --with-jack = choose JACK server support (linux only)], [AC_SUBST( sound_api, [-D__LINUX_JACK__] ) AC_MSG_RESULT(using JACK)] , )
|
||||||
|
if [test $sound_api = -D__LINUX_JACK__;] then
|
||||||
|
TEMP_LIBS=$LIBS
|
||||||
|
AC_CHECK_LIB(jack, jack_client_new, , AC_MSG_ERROR(JACK support requires the jack library!))
|
||||||
|
AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(ALSA support requires the asound library!))
|
||||||
|
LIBS="`pkg-config --cflags --libs jack` $TEMP_LIBS -lasound"
|
||||||
|
audio_apis="-D__LINUX_JACK__"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Look for Alsa flag
|
||||||
|
AC_ARG_WITH(alsa, [ --with-alsa = choose native ALSA API support (linux only)], [AC_SUBST( sound_api, [-D__LINUX_ALSA__] ) AC_MSG_RESULT(using ALSA)], )
|
||||||
|
if test $sound_api = -D__LINUX_ALSA__; then
|
||||||
|
AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(ALSA support requires the asound library!))
|
||||||
|
audio_apis="-D__LINUX_ALSA__ $audio_apis"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Look for OSS flag
|
||||||
|
AC_ARG_WITH(oss, [ --with-oss = choose OSS API support (linux only)], [AC_SUBST( sound_api, [-D__LINUX_OSS__] ) AC_MSG_RESULT(using OSS)], )
|
||||||
|
if test $sound_api = -D__LINUX_OSS__; then
|
||||||
|
audio_apis="-D__LINUX_OSS__ $audio_apis"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If no audio api flags specified, use OSS
|
||||||
|
if [test $sound_api = _NO_API_;] then
|
||||||
|
AC_SUBST( sound_api, [-D__LINUX_OSS__] )
|
||||||
|
AC_MSG_RESULT(using OSS)
|
||||||
|
AC_SUBST( audio_apis, [-D__LINUX_OSS__] )
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(midiator, [ --enable-midiator = enable native MS-124W MIDI support (linux only)], [AC_SUBST( midiator, [-D__MIDIATOR__] )], [AC_SUBST( midiator, [] )])
|
||||||
|
;;
|
||||||
|
|
||||||
|
*-sgi*)
|
||||||
|
AC_SUBST( audio_apis, ["-D__IRIX_AL__ -LANG:std -w"] )
|
||||||
|
AC_MSG_RESULT(using IRIX AL)
|
||||||
|
AC_CHECK_LIB(audio, alOpenPort, , AC_MSG_ERROR(IRIX audio support requires the audio library!) )
|
||||||
|
AC_CHECK_LIB(md, mdOpenInPort, , AC_MSG_ERROR(IRIX MIDI support requires the md library!) )
|
||||||
|
;;
|
||||||
|
|
||||||
|
*-apple*)
|
||||||
|
# Check for CoreAudio and CoreMIDI framework
|
||||||
|
AC_CHECK_HEADERS(CoreAudio/CoreAudio.h CoreMIDI/CoreMIDI.h CoreServices/CoreServices.h,
|
||||||
|
[AC_SUBST( audio_apis, [-D__MACOSX_CORE__] )],
|
||||||
|
[AC_MSG_ERROR(CoreAudio and/or CoreMIDI header files not found!)] )
|
||||||
|
AC_SUBST( frameworks, ["-framework CoreAudio -framework CoreMIDI -framework CoreFoundation"] )
|
||||||
|
# Explicitly link with c++ library.
|
||||||
|
AC_CHECK_LIB(stdc++, printf, , AC_MSG_ERROR(Stk requires the C++ library!) )
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
# Default case for unknown realtime systems.
|
||||||
|
AC_MSG_ERROR(Unknown system type for realtime support ... try --disable-realtime argument!)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Checks for library functions.
|
||||||
|
AC_PROG_GCC_TRADITIONAL
|
||||||
|
AC_CHECK_FUNCS(strstr)
|
||||||
|
|
||||||
|
AC_OUTPUT
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
STK: A ToolKit of Audio Synthesis Classes and Instruments in C++
|
STK: A ToolKit of Audio Synthesis Classes and Instruments in C++
|
||||||
|
|
||||||
By Perry R. Cook and Gary P. Scavone, 1995-2002.
|
By Perry R. Cook and Gary P. Scavone, 1995-2004.
|
||||||
|
|
||||||
STK Classes - See the HTML documentation in the html directory for complete information.
|
STK Classes - See the HTML documentation in the html directory for complete information.
|
||||||
|
|
||||||
@@ -27,6 +27,10 @@ Stk -|
|
|||||||
|
|
|
|
||||||
|- Modulate
|
|- Modulate
|
||||||
|
|
|
|
||||||
|
|- SingWave
|
||||||
|
|
|
||||||
|
|- Voicer
|
||||||
|
|
|
||||||
|- Messager
|
|- Messager
|
||||||
|
|
|
|
||||||
|- SKINI
|
|- SKINI
|
||||||
@@ -37,6 +41,8 @@ Stk -|
|
|||||||
| |
|
| |
|
||||||
| |- Modal - ModalBar
|
| |- Modal - ModalBar
|
||||||
| |
|
| |
|
||||||
|
| |- VoicForm
|
||||||
|
| |
|
||||||
| |- Sampler - Moog
|
| |- Sampler - Moog
|
||||||
| |
|
| |
|
||||||
| |- Resonate
|
| |- Resonate
|
||||||
@@ -51,7 +57,9 @@ Stk -|
|
|||||||
|
|
|
|
||||||
|- BandedWG
|
|- BandedWG
|
||||||
|
|
|
|
||||||
.- Mesh2D
|
|- Mesh2D
|
||||||
|
|
|
||||||
|
.- Whistle
|
||||||
|
|
||||||
|
|
||||||
*********** UNIT GENERATORS **************
|
*********** UNIT GENERATORS **************
|
||||||
@@ -69,7 +77,7 @@ Sources: Envelope.cpp Linearly Goes to Target by Rate
|
|||||||
TcpWvIn.cpp Audio Streaming (socket server) Input Class (subclass of WvIn)
|
TcpWvIn.cpp Audio Streaming (socket server) Input Class (subclass of WvIn)
|
||||||
|
|
||||||
Sinks: WvOut.cpp Output Master Class for RAW, WAV, SND (AU), AIFF, MAT-file files
|
Sinks: WvOut.cpp Output Master Class for RAW, WAV, SND (AU), AIFF, MAT-file files
|
||||||
RtWvOut.cpp Realtime Output Class (subclass of WvOut)
|
RtWvOut.cpp Realtime Audio Output Class (subclass of WvOut)
|
||||||
TcpWvOut.cpp Audio Streaming (socket client) Output Class (subclass of WvOut)
|
TcpWvOut.cpp Audio Streaming (socket client) Output Class (subclass of WvOut)
|
||||||
|
|
||||||
Duplex: RtDuplex.cpp Synchronous Realtime Audio Input/Output Class
|
Duplex: RtDuplex.cpp Synchronous Realtime Audio Input/Output Class
|
||||||
@@ -90,13 +98,14 @@ Non-Linear: JetTabl.cpp Cubic Jet Non-Linearity
|
|||||||
BowTabl.cpp x^(-3) Bow Non-Linearity
|
BowTabl.cpp x^(-3) Bow Non-Linearity
|
||||||
ReedTabl.cpp One Breakpoint Saturating Reed Non-Linearity
|
ReedTabl.cpp One Breakpoint Saturating Reed Non-Linearity
|
||||||
|
|
||||||
Derived: Modulate.cpp Periodic and Random Vibrato: RawWvIn, SubNoise, OnePole
|
Derived: Modulate.cpp Periodic and Random Vibrato: WvIn, SubNoise, OnePole
|
||||||
|
SingWave.cpp Looping wave table with randomness: Modulate, WaveLoop, Envelope
|
||||||
|
|
||||||
|
|
||||||
********** INSTRUMENTS AND ALGORITHMS **************
|
********** INSTRUMENTS AND ALGORITHMS **************
|
||||||
|
|
||||||
Each Class will be listed either with all the unit generators it uses,
|
Each class is listed either with some of the unit generators it uses,
|
||||||
or the <<Algorithm>> of which it is a flavor. All inherit from Instrmnt,
|
or in terms of the algorithm it implements. All inherit from Instrmnt,
|
||||||
which inherits from Stk.
|
which inherits from Stk.
|
||||||
|
|
||||||
Simple.cpp Simple Instrument Pulse oscillator + resonant filtered noise
|
Simple.cpp Simple Instrument Pulse oscillator + resonant filtered noise
|
||||||
@@ -121,6 +130,7 @@ Rhodey.cpp Rhodes-Like Electric Piano 2 Parallel Simple FMs
|
|||||||
Wurley.cpp Wurlitzer Electric Piano 2 Parallel Simple FMs
|
Wurley.cpp Wurlitzer Electric Piano 2 Parallel Simple FMs
|
||||||
TubeBell.cpp Classic FM Bell 2 Parallel Simple FMs
|
TubeBell.cpp Classic FM Bell 2 Parallel Simple FMs
|
||||||
FMVoices.cpp 3 Formant FM Voice 3 Carriers Share 1 Modulator
|
FMVoices.cpp 3 Formant FM Voice 3 Carriers Share 1 Modulator
|
||||||
|
VoicForm.cpp 4 Formant Voice Synthesis FormSwep, SingWave, OnePole, OneZero, Envelope, Noise
|
||||||
BeeThree.cpp Cheezy Additive Organ 4 Oscillators Additive
|
BeeThree.cpp Cheezy Additive Organ 4 Oscillators Additive
|
||||||
Sampler.cpp Sampling Synthesizer 5 each ADSR, WvIn, WaveLoop, OnePole
|
Sampler.cpp Sampling Synthesizer 5 each ADSR, WvIn, WaveLoop, OnePole
|
||||||
Moog.cpp Swept Filter Sampler with Swept Filter
|
Moog.cpp Swept Filter Sampler with Swept Filter
|
||||||
@@ -128,6 +138,7 @@ Resonate.cpp Filtered Noise ADSR, BiQuad, Noise
|
|||||||
Drummer.cpp Drum Synthesizer Bunch of WvIns, and OnePole
|
Drummer.cpp Drum Synthesizer Bunch of WvIns, and OnePole
|
||||||
Shakers.cpp PhISM statistical model for shakers and real-world sound effects
|
Shakers.cpp PhISM statistical model for shakers and real-world sound effects
|
||||||
Mesh2D.cpp Two-dimensional, rectilinear digital waveguide mesh.
|
Mesh2D.cpp Two-dimensional, rectilinear digital waveguide mesh.
|
||||||
|
Whistle.cpp Hybrid physical/spectral model of a police whistle.
|
||||||
|
|
||||||
Reverb.cpp Reverberator Effects Processor Master Class for reverberators
|
Reverb.cpp Reverberator Effects Processor Master Class for reverberators
|
||||||
JCRev.cpp Chowning Reverberator 3 series allpass units, 4 parallel combs, 2 stereo delays
|
JCRev.cpp Chowning Reverberator 3 series allpass units, 4 parallel combs, 2 stereo delays
|
||||||
@@ -143,6 +154,7 @@ PitShift.cpp Cheap Pitch Shifter DelayL
|
|||||||
RtAudio.cpp Multi-OS/API audio I/O routines
|
RtAudio.cpp Multi-OS/API audio I/O routines
|
||||||
RtMidi.cpp Multi-OS/API MIDI I/O routines
|
RtMidi.cpp Multi-OS/API MIDI I/O routines
|
||||||
Messager.cpp Pipe, socket, and MIDI control message handling
|
Messager.cpp Pipe, socket, and MIDI control message handling
|
||||||
|
Voicer.cpp Multi-instrument voice manager
|
||||||
|
|
||||||
demo.cpp Demonstration program for most synthesis algorithms
|
demo.cpp Demonstration program for most synthesis algorithms
|
||||||
effects.cpp Effects demonstration program
|
effects.cpp Effects demonstration program
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
The Synthesis ToolKit in C++ (STK)
|
The Synthesis ToolKit in C++ (STK)
|
||||||
|
|
||||||
By Perry R. Cook and Gary P. Scavone, 1995-2002.
|
By Perry R. Cook and Gary P. Scavone, 1995-2004.
|
||||||
|
|
||||||
Please read the file README for more general STK information.
|
Please read the file README and INSTALL for more general STK information.
|
||||||
|
|
||||||
Realtime support for Linux is currently using either the Open Sound System (OSS) or the Advanced Linux Sound Architecture (ALSA) sound and MIDI APIs. The free version of OSS works as well (and in some cases better than the commercial OSS version ... such as with my Maestro 2e chipset). In general, the ALSA drivers also seem to perform well. You can read more about ALSA at http://www.alsa-project.org/. ALSA is open source and holds great promise for audio under Linux. The API is selected during compilation using either the __LINUX_ALSA__ or __LINUX_OSS__ definitions.
|
Realtime support for Linux is currently using either the Open Sound System (OSS) or the Advanced Linux Sound Architecture (ALSA) sound and MIDI APIs. The free version of OSS works as well (and in some cases better than the commercial OSS version ... such as with my Maestro 2e chipset). In general, the ALSA drivers also seem to perform well. You can read more about ALSA at http://www.alsa-project.org/. ALSA is open source and holds great promise for audio under Linux. The API is selected during compilation using either the __LINUX_ALSA__ or __LINUX_OSS__ definitions. The configure script uses the OSS API by default. The ALSA API can be selected by passing the "--with-alsa" option to configure.
|
||||||
|
|
||||||
STK should compile without much trouble under Linux ... afterall, it is primarily developed on Linux platforms. Since all Linux distributions typically include the GNU makefile utilities, you should be able to use the default Makefile. Typing "make" will initiate the compilation process.
|
STK should compile without much trouble under Linux ... afterall, it is primarily developed on Linux platforms. Since all Linux distributions typically include the GNU makefile utilities, you should be able to use the default Makefile. Typing "make" will initiate the compilation process.
|
||||||
|
|
||||||
MIDIATOR SERIAL PORT MIDI SUPPORT:
|
MIDIATOR SERIAL PORT MIDI SUPPORT:
|
||||||
|
|
||||||
STK now has special support for the MIDIator serial port MIDI interface. This is of primary interest to us laptop users, whose computers usually don't have a gameport. If you want to buy one of these devices, make sure you get the MS-124w model (www.midiator.com). For it to work in STK, you must provide the __MIDIATOR__ definition during compilation (in addition to either __LINUX_ALSA__ or __LINUX_OSS__).
|
STK now has special support for the MIDIator serial port MIDI interface. This is of primary interest to us laptop users, whose computers usually don't have a gameport. If you want to buy one of these devices, make sure you get the MS-124w model (www.midiator.com). For it to work in STK, you must provide the __MIDIATOR__ definition during compilation (in addition to either __LINUX_ALSA__ or __LINUX_OSS__) or pass the "--enable-midiator" option to configure.
|
||||||
|
|
||||||
There are a few things that need to be done on your system to get the MIDIator working. Assuming you wish to attach the MIDIator to serial port 0, add the following lines to your bootup sequence in /etc/rc.d/rc.local:
|
There are a few things that need to be done on your system to get the MIDIator working. Assuming you wish to attach the MIDIator to serial port 0, add the following lines to your bootup sequence in /etc/rc.d/rc.local:
|
||||||
|
|
||||||
|
|||||||
22
doc/README-MacOSX.txt
Normal file
22
doc/README-MacOSX.txt
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
The Synthesis ToolKit in C++ (STK)
|
||||||
|
|
||||||
|
By Perry R. Cook and Gary P. Scavone, 1995-2004.
|
||||||
|
|
||||||
|
Please read the file README and INSTALL for more general STK information.
|
||||||
|
|
||||||
|
Realtime support for Macintosh OS X uses the CoreAudio HAL API and is specified during compilation using the __MACOSX_CORE__ preprocessor definition.
|
||||||
|
|
||||||
|
It is necessary to download the OS X developer kit in order to compile STK. STK was successfully tested on OS X version 10.2.
|
||||||
|
|
||||||
|
The internal Macintosh audio hardware typically supports a sample rate of 44100 Hz only. Therefore, it is necessary to either specify this rate as a command-line option to the STK example programs or to change the default sample rate inside the Stk.h file before compilation. In addition, the RT_BUFFER_SIZE, specified in Stk.h, could be increased (to a higher power of two) for more robust performance.
|
||||||
|
|
||||||
|
There is a potential conflict between the STK Delay class and a Delay() function declared in OSUtils.h (which is included via <CoreServices/CoreServices.h>). In general, this conflict can be avoided via the use of a namespace (an explicit Delay::Delay declaration), though this made the Windows Visual C++ compiler barf. If you use STK classes within a project that includes the OSUtils.h file, you will likely need to make changes in STK classes that use the Delay class.
|
||||||
|
|
||||||
|
|
||||||
|
Tcl/Tk on OS X:
|
||||||
|
|
||||||
|
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 a 10.2 system. The default installation will place a link to the wish interpretor at /usr/bin/wish.
|
||||||
|
|
||||||
|
Initial tests have shown somewhat poor response between changes made in the tcl/tk script and the resulting audio updates.
|
||||||
|
|
||||||
|
It is possible to connect a tcl/tk interface to an STK program via a socket connection. However, the tcl/tk interpreter does not appear to properly close the socket connection during disconnection. It is therefore necessary to type "Exit" in the STK program terminal window to properly exit the STK program.
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
The Synthesis ToolKit in C++ (STK)
|
The Synthesis ToolKit in C++ (STK)
|
||||||
|
|
||||||
By Perry R. Cook and Gary P. Scavone, 1995-2002.
|
By Perry R. Cook and Gary P. Scavone, 1995-2004.
|
||||||
|
|
||||||
Please read the file README for more general STK information.
|
Please read the file README and INSTALL for more general STK information.
|
||||||
|
|
||||||
Please read the file README.txt for more general STK information.
|
|
||||||
|
|
||||||
STK has always worked under NeXTStep without realtime audio or MIDI support. In general, STK should compile in this way using any generic C++ compiler. C++ exception handling was added to STK with release 3.2. We managed to get a version of gcc compiled for NeXTStep that can deal with C++ exceptions.
|
STK has always worked under NeXTStep without realtime audio or MIDI support. In general, STK should compile in this way using any generic C++ compiler. C++ exception handling was added to STK with release 3.2. We managed to get a version of gcc compiled for NeXTStep that can deal with C++ exceptions.
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
The Synthesis ToolKit in C++ (STK)
|
The Synthesis ToolKit in C++ (STK)
|
||||||
|
|
||||||
By Perry R. Cook and Gary P. Scavone, 1995-2002.
|
By Perry R. Cook and Gary P. Scavone, 1995-2004.
|
||||||
|
|
||||||
Please read the file README for more general STK information.
|
Please read the file README and INSTALL for more general STK information.
|
||||||
|
|
||||||
When using the Makefiles provided, first try invoking "gmake" (for GNU make). If that doesn't work, try to download the GNU Makefile utilities from the Internet and use STK's default Makefile. If this is not possible, try using Makefile.sgi (make -f Makefile.sgi).
|
The project Makefiles are created by configure. If you have trouble running "make", try invoking "gmake" (for GNU make). If that doesn't work, try to download the GNU Makefile utilities from the Internet.
|
||||||
|
|
||||||
Another issue that has crept up with this release is proper compiler support for C++ error handling. If you experience problems, you probably don't have a recent version of the C++ compiler. Otherwise, STK should compile and run on SGI platforms without any problems. Release 4.0 of STK is confirmed to compile without difficulty using CC version 7.30.
|
Another issue that has crept up with this release is proper compiler support for C++ error handling. If you experience problems, you probably don't have a recent version of the C++ compiler. Otherwise, STK should compile and run on SGI platforms without any problems. Release 4.0 of STK is confirmed to compile (with various warnings) using CC version 7.30.
|
||||||
|
|
||||||
NOTE REGARDING PTHREADS:
|
NOTE REGARDING PTHREADS:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
The Synthesis ToolKit in C++ (STK)
|
The Synthesis ToolKit in C++ (STK)
|
||||||
|
|
||||||
By Perry R. Cook and Gary P. Scavone, 1995-2002.
|
By Perry R. Cook and Gary P. Scavone, 1995-2004.
|
||||||
|
|
||||||
Please read the file README for more general STK information.
|
Please read the file README for more general STK information.
|
||||||
|
|
||||||
@@ -11,13 +11,13 @@ STK is currently distributed with Visual C++ 6.0 project and workspace files. I
|
|||||||
|
|
||||||
IMPORTANT VC++ NOTE: When compiling "release" versions of STK programs, link to the release multithreaded library. When compiling "debug" versions, link to the debug multithreaded library. Compiler errors will result otherwise. Also, the Microsoft folk are up to their old habits of trying to change standards. The .NET compiler will complain about cerr for some reason.
|
IMPORTANT VC++ NOTE: When compiling "release" versions of STK programs, link to the release multithreaded library. When compiling "debug" versions, link to the debug multithreaded library. Compiler errors will result otherwise. Also, the Microsoft folk are up to their old habits of trying to change standards. The .NET compiler will complain about cerr for some reason.
|
||||||
|
|
||||||
The STK realtime sound input capabilities under Windoze are only supported using the DirectSoundCapture API. The latency is pretty horrendous, but what do you expect? Also, there is a chance you don't have DirectSoundCapture support on your computer. If not, you should download the DirectX 6.0 (or higher) runtime libraries from Microsoft's WWW site (http://www.microsoft.com/directx/download.asp) in order to run the pre-compiled STK executables for Windoze. The last time I checked, there was no DirectSoundCapture support for WindowsNT ... you'll have to switch to Windows 2000 or XP. I stopped supporting the WinMM audio output code with release 3.2.
|
Both the DirectSound and Steinberg ASIO audio APIs are supported for realtime audio input/output. The Visual C++ project files included with this distribution are configured to use the DirectSound API. In order to use the ASIO API, it is necessary to change the preprocessor definition from __WINDOWS_DS__ to __WINDOWS_ASIO__, as well as include all the files in the /src/asio/ directory (i.e. asio.h, asio.cpp, ...). If you have a good quality soundcard and a native ASIO driver (not emulated), you are likely to get much better input/output response using that.
|
||||||
|
|
||||||
Realtime sound output under Windoze is supported using the DirectSound (dsound.lib) API. All new versions of WindowsXX come with the DirectSound library, but early versions did not. If you have trouble running the distributed executables, then you probably don't have DirectSound installed on your system. You can download the necessary DirectSound stuff from Microsoft's WWW pages (http://www.microsoft.com/directx/download.asp).
|
When using the DirectSound API for audio input, latency is typically pretty horrendous (should we be surprised?). Also, there is a slight chance you don't have DirectSoundCapture support on your computer. If not, you should download the DirectX 6.0 (or higher) runtime libraries from Microsoft's WWW site (http://www.microsoft.com/directx/download.asp) in order to run the pre-compiled STK executables for Windoze. The last time I checked, there was no DirectSoundCapture support for WindowsNT ... you'll have to switch to Windows 2000 or XP or use an ASIO driver. I stopped supporting the WinMM audio output code with release 3.2.
|
||||||
|
|
||||||
Realtime MIDI input is supported using the winmm.lib API.
|
Realtime MIDI input is supported using the winmm.lib API.
|
||||||
|
|
||||||
Visual C++ 6.0 workspaces have been created for the various STK projects. Everything has already been configured for you. The intermediate .obj files will be written to either the "release" or "debug" directories, but the executable files will be written to the main project directories (where they need to be for proper execution). If you should somehow lose or hose the VC++ workspace file for a project, then you will have to do a LOT of configuring to recreate it ... it's probably easier just to download the distribution again from our WWW sites. Anyway, for your benefit and mine, here is a list of things that need to be added to the various "Project Settings":
|
Visual C++ 6.0 workspaces have been created for the various STK projects. Everything has already been configured for you. The intermediate .obj files will be written to either the "Release" or "Debug" directories, but the executable files will be written to the main project directories (where they need to be for proper execution). If you should somehow lose or hose the VC++ workspace file for a project, then you will have to do a LOT of configuring to recreate it ... it's probably easier just to download the distribution again from our WWW sites. Anyway, for your benefit and mine, here is a list of things that need to be added to the various "Project Settings":
|
||||||
|
|
||||||
1. Under General: Set "Output files:" to <blank> (this will put the executable in the main project directory.
|
1. Under General: Set "Output files:" to <blank> (this will put the executable in the main project directory.
|
||||||
|
|
||||||
@@ -40,16 +40,22 @@ In order for socketing to work, it is necessary to have the TCP protocol install
|
|||||||
Finally, to use it all -
|
Finally, to use it all -
|
||||||
|
|
||||||
|
|
||||||
|
WINDOWS XP/2000:
|
||||||
|
|
||||||
|
There is a big advantage in using Windows XP/2000 over 95/98 with STK in that piping works, just as under unix. Also, the scheduler in 2000/XP seems to be much better, so socketed messages don't get clumped together like they do in Windows 95/98. Simply fire up a script file (ex. StkDemo.bat) by either double-clicking on it or typing it within a shell.
|
||||||
|
|
||||||
|
|
||||||
|
WINDOWS 95/98:
|
||||||
|
|
||||||
PLAY SKINI SCOREFILES IN REALTIME:
|
PLAY SKINI SCOREFILES IN REALTIME:
|
||||||
|
|
||||||
demo Clarinet -or < scores/streetsf.ski
|
demo Clarinet -or < scores/streetsf.ski
|
||||||
|
|
||||||
|
|
||||||
USE TCL/TK GUIs FOR REALTIME CONTROL:
|
USE TCL/TK GUIs FOR REALTIME CONTROL:
|
||||||
|
|
||||||
1. Open a DOS console window and start syntmono (eg. demo Clarinet -or -is).
|
1. Open a DOS console window and start syntmono (eg. demo Clarinet -or -is).
|
||||||
|
|
||||||
2. Double click on a Tcl/Tk file in TCLSpecs (eg. TCLPhys.tcl) from the Windows Explorer to start the GUI. Select the "communications" menu item and "Socket" and make the connection.
|
2. Double click on a Tcl/Tk file in the tcl/ subdirectory of the demo directory (eg. Demo.tcl) from the Windows Explorer to start the GUI. Select the "communications" menu item and "Socket" and make the connection.
|
||||||
|
|
||||||
3. Start moving the sliders to control the instrument.
|
3. Start moving the sliders to control the instrument.
|
||||||
|
|
||||||
@@ -61,13 +67,8 @@ USE REALTIME MIDI INPUT FOR CONTROL:
|
|||||||
This assumes you already have MIDI setup correctly for your computer.
|
This assumes you already have MIDI setup correctly for your computer.
|
||||||
|
|
||||||
|
|
||||||
WINDOWS 2000/XP:
|
|
||||||
|
|
||||||
There is a big advantage in using Windows 2000/XP over 95/98 with STK in that piping works, just as under unix. Also, the scheduler in 2000/XP seems to be much better, so socketed messages don't get clumped together like they do in Windows 95/98. The script files (ex. Demo) can be renamed with .bat extensions, allowing them to work in the same way as in unix systems.
|
|
||||||
|
|
||||||
|
|
||||||
WINDOWS NT ONLY:
|
WINDOWS NT ONLY:
|
||||||
|
|
||||||
Realtime piping seems to work under WindowsNT in much the same way as on Unix platforms. Thus, it is possible to pipe realtime control data to syntmono under WindowsNT as well.
|
Realtime piping seems to work under WindowsNT in much the same way as on Unix platforms. Thus, it is possible to pipe realtime control data to syntmono under WindowsNT as well. Note, however, that the DirectSoundCapture API does not exist for WindowsNT, so it is necessary to use an ASIO audio driver and the STK ASIO support.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,44 @@
|
|||||||
The Synthesis ToolKit in C++ (STK)
|
The Synthesis ToolKit in C++ (STK)
|
||||||
|
|
||||||
By Perry R. Cook and Gary P. Scavone, 1995-2002.
|
By Perry R. Cook and Gary P. Scavone, 1995-2004.
|
||||||
|
|
||||||
|
v4.1.2: (15 March 2004)
|
||||||
|
- added Linux JACK support to RtAudio
|
||||||
|
- 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
|
||||||
|
- fixed bug in ADSR::setReleaseTime() method
|
||||||
|
- fixed missing initialization of apInput in non-default constructor of DelayA class
|
||||||
|
- added time seeding of random number generator to Noise constructor
|
||||||
|
- update to the contentsAt() method of Delay class
|
||||||
|
- WAV file fixes (8-bit) in WvIn and WvOut classes
|
||||||
|
- configure changes
|
||||||
|
- updated <iostream> include statements and appended "std::" as necessary throughout for compatibility with gcc 3
|
||||||
|
|
||||||
|
v4.1.1: (24 October 2002)
|
||||||
|
- bug fix in RtAudio for Macintosh OS X and Windows ASIO duplex operation
|
||||||
|
- windows ASIO fix in Stk.h
|
||||||
|
- documentation updates
|
||||||
|
- expanded tutorial
|
||||||
|
- fixed RtDuplex omission in src Makefile
|
||||||
|
|
||||||
|
v4.1: (8 October 2002)
|
||||||
|
- Macintosh OS X support added
|
||||||
|
- new Whistle class
|
||||||
|
- added Voicer, SingWave, and VoicForm classes
|
||||||
|
- improvements/fixes to the banded waveguide instruments
|
||||||
|
- 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)
|
||||||
|
- added nextOut() method to Delay classes
|
||||||
|
- documentation fixes for Reverb classes
|
||||||
|
- RAWWAVE_PATH changed to include the "rawwave" directory
|
||||||
|
- "configure" support added for unix systems
|
||||||
|
- multivoice flag (-n NUMBER) added as command line option to demo program
|
||||||
|
- sample rate flag added as command line option to all example programs
|
||||||
|
- socket port number added as command line option to all example programs
|
||||||
|
|
||||||
v4.0: (April 2002)
|
v4.0: (April 2002)
|
||||||
- new documentation and tutorial
|
- new documentation and tutorial
|
||||||
|
|||||||
@@ -1,44 +1,56 @@
|
|||||||
# Doxyfile 1.2.6
|
# Doxyfile 1.3.6
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# General configuration options
|
# Project related configuration options
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
PROJECT_NAME = STK
|
PROJECT_NAME = STK
|
||||||
PROJECT_NUMBER =
|
PROJECT_NUMBER =
|
||||||
OUTPUT_DIRECTORY = .
|
OUTPUT_DIRECTORY = .
|
||||||
OUTPUT_LANGUAGE = English
|
OUTPUT_LANGUAGE = English
|
||||||
|
USE_WINDOWS_ENCODING = NO
|
||||||
|
BRIEF_MEMBER_DESC = YES
|
||||||
|
REPEAT_BRIEF = YES
|
||||||
|
ABBREVIATE_BRIEF =
|
||||||
|
ALWAYS_DETAILED_SEC = NO
|
||||||
|
INLINE_INHERITED_MEMB = NO
|
||||||
|
FULL_PATH_NAMES = NO
|
||||||
|
STRIP_FROM_PATH =
|
||||||
|
SHORT_NAMES = NO
|
||||||
|
JAVADOC_AUTOBRIEF = NO
|
||||||
|
MULTILINE_CPP_IS_BRIEF = NO
|
||||||
|
DETAILS_AT_TOP = NO
|
||||||
|
INHERIT_DOCS = YES
|
||||||
|
DISTRIBUTE_GROUP_DOC = NO
|
||||||
|
TAB_SIZE = 8
|
||||||
|
ALIASES =
|
||||||
|
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||||
|
OPTIMIZE_OUTPUT_JAVA = NO
|
||||||
|
SUBGROUPING = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Build related configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
EXTRACT_ALL = NO
|
EXTRACT_ALL = NO
|
||||||
EXTRACT_PRIVATE = NO
|
EXTRACT_PRIVATE = NO
|
||||||
EXTRACT_STATIC = YES
|
EXTRACT_STATIC = YES
|
||||||
|
EXTRACT_LOCAL_CLASSES = YES
|
||||||
HIDE_UNDOC_MEMBERS = YES
|
HIDE_UNDOC_MEMBERS = YES
|
||||||
HIDE_UNDOC_CLASSES = YES
|
HIDE_UNDOC_CLASSES = YES
|
||||||
BRIEF_MEMBER_DESC = YES
|
HIDE_FRIEND_COMPOUNDS = NO
|
||||||
REPEAT_BRIEF = YES
|
HIDE_IN_BODY_DOCS = NO
|
||||||
ALWAYS_DETAILED_SEC = NO
|
|
||||||
FULL_PATH_NAMES = NO
|
|
||||||
STRIP_FROM_PATH =
|
|
||||||
INTERNAL_DOCS = NO
|
INTERNAL_DOCS = NO
|
||||||
CLASS_DIAGRAMS = YES
|
|
||||||
SOURCE_BROWSER = NO
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
CASE_SENSE_NAMES = YES
|
CASE_SENSE_NAMES = YES
|
||||||
HIDE_SCOPE_NAMES = NO
|
HIDE_SCOPE_NAMES = NO
|
||||||
VERBATIM_HEADERS = YES
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
SHOW_INCLUDE_FILES = YES
|
||||||
JAVADOC_AUTOBRIEF = NO
|
|
||||||
INHERIT_DOCS = YES
|
|
||||||
INLINE_INFO = YES
|
INLINE_INFO = YES
|
||||||
SORT_MEMBER_DOCS = NO
|
SORT_MEMBER_DOCS = NO
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
SORT_BRIEF_DOCS = NO
|
||||||
TAB_SIZE = 8
|
SORT_BY_SCOPE_NAME = NO
|
||||||
ENABLED_SECTIONS =
|
|
||||||
GENERATE_TODOLIST = YES
|
GENERATE_TODOLIST = YES
|
||||||
GENERATE_TESTLIST = YES
|
GENERATE_TESTLIST = YES
|
||||||
GENERATE_BUGLIST = YES
|
GENERATE_BUGLIST = YES
|
||||||
ALIASES =
|
GENERATE_DEPRECATEDLIST= YES
|
||||||
|
ENABLED_SECTIONS =
|
||||||
MAX_INITIALIZER_LINES = 30
|
MAX_INITIALIZER_LINES = 30
|
||||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
|
||||||
SHOW_USED_FILES = YES
|
SHOW_USED_FILES = YES
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to warning and progress messages
|
# configuration options related to warning and progress messages
|
||||||
@@ -46,22 +58,37 @@ SHOW_USED_FILES = YES
|
|||||||
QUIET = NO
|
QUIET = NO
|
||||||
WARNINGS = YES
|
WARNINGS = YES
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
WARN_IF_UNDOCUMENTED = YES
|
||||||
|
WARN_IF_DOC_ERROR = YES
|
||||||
WARN_FORMAT = "$file:$line: $text"
|
WARN_FORMAT = "$file:$line: $text"
|
||||||
WARN_LOGFILE =
|
WARN_LOGFILE =
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the input files
|
# configuration options related to the input files
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
INPUT = index.txt information.txt classes.txt download.txt usage.txt maillist.txt system.txt tutorial.txt skini.txt ../../include/
|
INPUT = . \
|
||||||
FILE_PATTERNS = *.h
|
../../include
|
||||||
RECURSIVE = NO
|
FILE_PATTERNS = *.txt \
|
||||||
EXCLUDE =
|
*.h \
|
||||||
|
*.cpp
|
||||||
|
RECURSIVE = YES
|
||||||
|
EXCLUDE = ../../src/asio
|
||||||
|
EXCLUDE_SYMLINKS = NO
|
||||||
EXCLUDE_PATTERNS =
|
EXCLUDE_PATTERNS =
|
||||||
EXAMPLE_PATH =
|
EXAMPLE_PATH =
|
||||||
EXAMPLE_PATTERNS =
|
EXAMPLE_PATTERNS =
|
||||||
|
EXAMPLE_RECURSIVE = NO
|
||||||
IMAGE_PATH =
|
IMAGE_PATH =
|
||||||
INPUT_FILTER =
|
INPUT_FILTER =
|
||||||
FILTER_SOURCE_FILES = NO
|
FILTER_SOURCE_FILES = NO
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to source browsing
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
SOURCE_BROWSER = YES
|
||||||
|
INLINE_SOURCES = NO
|
||||||
|
STRIP_CODE_COMMENTS = YES
|
||||||
|
REFERENCED_BY_RELATION = YES
|
||||||
|
REFERENCES_RELATION = YES
|
||||||
|
VERBATIM_HEADERS = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the alphabetical class index
|
# configuration options related to the alphabetical class index
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
ALPHABETICAL_INDEX = NO
|
ALPHABETICAL_INDEX = NO
|
||||||
@@ -72,11 +99,14 @@ IGNORE_PREFIX =
|
|||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
GENERATE_HTML = YES
|
GENERATE_HTML = YES
|
||||||
HTML_OUTPUT = ../html
|
HTML_OUTPUT = ../html
|
||||||
|
HTML_FILE_EXTENSION = .html
|
||||||
HTML_HEADER = header.html
|
HTML_HEADER = header.html
|
||||||
HTML_FOOTER = footer.html
|
HTML_FOOTER = footer.html
|
||||||
HTML_STYLESHEET =
|
HTML_STYLESHEET =
|
||||||
HTML_ALIGN_MEMBERS = YES
|
HTML_ALIGN_MEMBERS = YES
|
||||||
GENERATE_HTMLHELP = NO
|
GENERATE_HTMLHELP = NO
|
||||||
|
CHM_FILE =
|
||||||
|
HHC_LOCATION =
|
||||||
GENERATE_CHI = NO
|
GENERATE_CHI = NO
|
||||||
BINARY_TOC = NO
|
BINARY_TOC = NO
|
||||||
TOC_EXPAND = NO
|
TOC_EXPAND = NO
|
||||||
@@ -89,6 +119,8 @@ TREEVIEW_WIDTH = 250
|
|||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
GENERATE_LATEX = YES
|
GENERATE_LATEX = YES
|
||||||
LATEX_OUTPUT = latex
|
LATEX_OUTPUT = latex
|
||||||
|
LATEX_CMD_NAME = latex
|
||||||
|
MAKEINDEX_CMD_NAME = makeindex
|
||||||
COMPACT_LATEX = NO
|
COMPACT_LATEX = NO
|
||||||
PAPER_TYPE = letter
|
PAPER_TYPE = letter
|
||||||
EXTRA_PACKAGES =
|
EXTRA_PACKAGES =
|
||||||
@@ -96,6 +128,7 @@ LATEX_HEADER = header.tex
|
|||||||
PDF_HYPERLINKS = YES
|
PDF_HYPERLINKS = YES
|
||||||
USE_PDFLATEX = YES
|
USE_PDFLATEX = YES
|
||||||
LATEX_BATCHMODE = NO
|
LATEX_BATCHMODE = NO
|
||||||
|
LATEX_HIDE_INDICES = NO
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the RTF output
|
# configuration options related to the RTF output
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
@@ -104,12 +137,33 @@ RTF_OUTPUT = rtf
|
|||||||
COMPACT_RTF = NO
|
COMPACT_RTF = NO
|
||||||
RTF_HYPERLINKS = NO
|
RTF_HYPERLINKS = NO
|
||||||
RTF_STYLESHEET_FILE =
|
RTF_STYLESHEET_FILE =
|
||||||
|
RTF_EXTENSIONS_FILE =
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the man page output
|
# configuration options related to the man page output
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
GENERATE_MAN = NO
|
GENERATE_MAN = NO
|
||||||
MAN_OUTPUT = man
|
MAN_OUTPUT = man
|
||||||
MAN_EXTENSION = .3
|
MAN_EXTENSION = .3
|
||||||
|
MAN_LINKS = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the XML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_XML = NO
|
||||||
|
XML_OUTPUT = xml
|
||||||
|
XML_SCHEMA =
|
||||||
|
XML_DTD =
|
||||||
|
XML_PROGRAMLISTING = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options for the AutoGen Definitions output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_AUTOGEN_DEF = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the Perl module output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_PERLMOD = NO
|
||||||
|
PERLMOD_LATEX = NO
|
||||||
|
PERLMOD_PRETTY = YES
|
||||||
|
PERLMOD_MAKEVAR_PREFIX =
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Configuration options related to the preprocessor
|
# Configuration options related to the preprocessor
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
@@ -121,35 +175,38 @@ INCLUDE_PATH =
|
|||||||
INCLUDE_FILE_PATTERNS =
|
INCLUDE_FILE_PATTERNS =
|
||||||
PREDEFINED =
|
PREDEFINED =
|
||||||
EXPAND_AS_DEFINED =
|
EXPAND_AS_DEFINED =
|
||||||
|
SKIP_FUNCTION_MACROS = YES
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Configuration::addtions related to external references
|
# Configuration::additions related to external references
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
TAGFILES =
|
TAGFILES =
|
||||||
GENERATE_TAGFILE =
|
GENERATE_TAGFILE =
|
||||||
ALLEXTERNALS = NO
|
ALLEXTERNALS = NO
|
||||||
|
EXTERNAL_GROUPS = YES
|
||||||
PERL_PATH = /usr/bin/perl
|
PERL_PATH = /usr/bin/perl
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Configuration options related to the dot tool
|
# Configuration options related to the dot tool
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
CLASS_DIAGRAMS = YES
|
||||||
|
HIDE_UNDOC_RELATIONS = YES
|
||||||
HAVE_DOT = NO
|
HAVE_DOT = NO
|
||||||
CLASS_GRAPH = YES
|
CLASS_GRAPH = YES
|
||||||
COLLABORATION_GRAPH = YES
|
COLLABORATION_GRAPH = YES
|
||||||
|
UML_LOOK = NO
|
||||||
|
TEMPLATE_RELATIONS = NO
|
||||||
INCLUDE_GRAPH = YES
|
INCLUDE_GRAPH = YES
|
||||||
INCLUDED_BY_GRAPH = YES
|
INCLUDED_BY_GRAPH = YES
|
||||||
|
CALL_GRAPH = NO
|
||||||
GRAPHICAL_HIERARCHY = YES
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
DOT_IMAGE_FORMAT = png
|
||||||
DOT_PATH =
|
DOT_PATH =
|
||||||
|
DOTFILE_DIRS =
|
||||||
MAX_DOT_GRAPH_WIDTH = 1024
|
MAX_DOT_GRAPH_WIDTH = 1024
|
||||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||||
|
MAX_DOT_GRAPH_DEPTH = 0
|
||||||
GENERATE_LEGEND = YES
|
GENERATE_LEGEND = YES
|
||||||
DOT_CLEANUP = YES
|
DOT_CLEANUP = YES
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Configuration::addtions related to the search engine
|
# Configuration::additions related to the search engine
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
SEARCHENGINE = NO
|
SEARCHENGINE = NO
|
||||||
CGI_NAME = search.cgi
|
|
||||||
CGI_URL =
|
|
||||||
DOC_URL =
|
|
||||||
DOC_ABSPATH =
|
|
||||||
BIN_ABSPATH = /usr/local/bin/
|
|
||||||
EXT_DOC_PATHS =
|
|
||||||
|
|
||||||
|
|||||||
99
doc/doxygen/compile.txt
Normal file
99
doc/doxygen/compile.txt
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
/*! \page compile 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 <TT>Makefiles</TT> which compile project-specific class objects from common <TT>src</TT> and <TT>include</TT> 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.
|
||||||
|
|
||||||
|
|
||||||
|
\section rtvsnonrt "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) <I>dependent</I>. STK classes which require specific platform/OS support include RtAudio, RtWvOut, RtWvIn, RtDuplex, RtMidi, TcpWvIn, TcpWvOut, Socket, and Thread. These classes currently can only be compiled on Linux, Irix, Macintosh OS X, and Windows systems using the <TT>__LINUX_OSS__</TT>, <TT>__LINUX_ALSA__</TT>, <TT>__IRIX_AL__</TT>, <TT>__MACOSX_CORE__</TT>, <TT>__WINDOWS_DS__</TT>, or <TT>__WINDOWS_ASIO__</TT> preprocessor definitions.
|
||||||
|
|
||||||
|
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 <TT>__LITTLE_ENDIAN__</TT> preprocessor definition should be provided.
|
||||||
|
|
||||||
|
|
||||||
|
\section unix 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.
|
||||||
|
|
||||||
|
<CENTER>
|
||||||
|
<TABLE BORDER=2 COLS=5 WIDTH="100%">
|
||||||
|
<TR BGCOLOR="beige">
|
||||||
|
<TD WIDTH="5%"><B>OS:</B></TD>
|
||||||
|
<TD WIDTH="5%"><B>Realtime Audio/MIDI API:</B></TD>
|
||||||
|
<TD WIDTH="5%"><B>Preprocessor Definition:</B></TD>
|
||||||
|
<TD WIDTH="5%"><B>Library or Framework:</B></TD>
|
||||||
|
</TR>
|
||||||
|
<TR>
|
||||||
|
<TD>Linux</TD>
|
||||||
|
<TD>ALSA</TD>
|
||||||
|
<TD>__LINUX_ALSA__, __LITTLE_ENDIAN__</TD>
|
||||||
|
<TD><TT>asound, pthread</TT></TD>
|
||||||
|
</TR>
|
||||||
|
<TR>
|
||||||
|
<TD>Linux</TD>
|
||||||
|
<TD>OSS</TD>
|
||||||
|
<TD>__LINUX_OSS__, __LITTLE_ENDIAN__</TD>
|
||||||
|
<TD><TT>pthread</TT></TD>
|
||||||
|
</TR>
|
||||||
|
<TR>
|
||||||
|
<TD>Macintosh OS X</TD>
|
||||||
|
<TD>CoreAudio</TD>
|
||||||
|
<TD>__MACOSX_CORE__</TD>
|
||||||
|
<TD><TT>pthread, stdc++, CoreAudio, CoreMIDI, CoreFoundation</TT></TD>
|
||||||
|
</TR>
|
||||||
|
<TR>
|
||||||
|
<TD>Irix</TD>
|
||||||
|
<TD>AL</TD>
|
||||||
|
<TD>__IRIX_AL__</TD>
|
||||||
|
<TD><TT>audio, pthread</TT></TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>
|
||||||
|
</CENTER>
|
||||||
|
|
||||||
|
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 <TT>sineosc.cpp</TT> example from the previous tutorial chapter, it would be necessary to set up a directory that includes the files <TT>sineosc.cpp</TT>, the rawwave file <TT>sinewave.raw</TT> in a subdirectory called <TT>rawwaves</TT>, and the header and source files for the classes Stk, WvIn, WaveLoop, and WvOut. The program could then be compiled on a Linux system using the GNU g++ compiler as follows:
|
||||||
|
\code
|
||||||
|
g++ -Wall -D__LITTLE_ENDIAN__ -o sineosc Stk.cpp WvIn.cpp WaveLoop.cpp WvOut.cpp sineosc.cpp
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
Note that the <TT>sineosc.cpp</TT> 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 <TT>Makefiles</TT> (built by the configure script) which compile project-specific class objects from the distribution <TT>src</TT> and <TT>include</TT> directories. This approach makes it relatively easy when upgrading to a new STK release (by making path substitutions in the <TT>Makefile</TT> or by moving the projects to a similar relative path within the new STK source tree). A <TT>Makefile</TT> is provided in the <TT>projects/examples</TT> directory for compiling all the tutorial programs, as well as other example programs. To compile the <TT>sineosc.cpp</TT> program, for example, one need only type <TT>make sineosc</TT> from within the <TT>projects/examples</TT> directory. Note that this particular <TT>Makefile</TT> depends on a static library, as described in the next section.
|
||||||
|
|
||||||
|
|
||||||
|
\subsection library Library Use:
|
||||||
|
|
||||||
|
The STK distribution provides a <TT>Makefile</TT> that can be used on Unix systems to build a static library. After unpacking the distribution (<TT>tar -xzf stk-4.x.tar.gz</TT>), run the configure script by typing <TT>./configure</TT> from the top level distribution directory (see the INSTALL file in the same directory for more information). Then from within the <TT>src</TT> directory, type <TT>make</TT>. After a successful build, you may wish to move the library (<TT>libstk.a</TT>) and the contents of the <TT>include</TT> directory to standard library and include search paths on your system. For example, the linux RPM distribution of STK puts the library in <TT>/usr/lib/</TT> and the STK header files in <TT>/usr/include/stk/</TT>.
|
||||||
|
|
||||||
|
Assuming the library is located in a standard search path and the header files are located in <TT>/usr/include/stk/</TT>, the <TT>sineosc.cpp</TT> example from the previous tutorial chapter can be compiled on a Linux system using the GNU g++ compiler as follows:
|
||||||
|
|
||||||
|
\code
|
||||||
|
g++ -Wall -D__LITTLE_ENDIAN__ -I/usr/include/stk -o sineosc sineosc.cpp -lstk
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
With the header files in a standard search path, it is possible to modify the <TT>\#include</TT> statements in the <TT>sineosc.cpp</TT> program as follows:
|
||||||
|
|
||||||
|
\code
|
||||||
|
#include "stk/WaveLoop.h"
|
||||||
|
#include "stk/WvOut.h"
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
and then compile without an explicit include path argument to the compiler:
|
||||||
|
|
||||||
|
\code
|
||||||
|
g++ -Wall -D__LITTLE_ENDIAN__ -o sineosc sineosc.cpp -lstk
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
|
||||||
|
\section compileWin Windows:
|
||||||
|
|
||||||
|
STK has been tested on Windows platforms using the Visual C++ compiler only. It is assumed here that you're familiar with Visual C++ and its particular idiosyncrasies.
|
||||||
|
|
||||||
|
The approach when using Visual C++ is to build a project which includes the necessary ToolKit files from the distribution <TT>src</TT> and <TT>include</TT> directories. For the example program from the previous tutorial chapter, create a VC++ console application project, add the Stk, WvIn, WaveLoop, and WvOut class files, as well as <TT>sineosc.cpp</TT>, and make sure the <TT>sinewave.raw</TT> file is in the subdirectory <TT>rawwaves</TT>.
|
||||||
|
|
||||||
|
For programs using any of the STK realtime classes mentioned above, it is necessary to link with the DirectSound (<TT>dsound.lib</TT>), <TT>winmm.lib</TT>, and <TT>Wsock32.lib</TT> libraries, select the multithreaded library, and provide the <TT>__LITTLE_ENDIAN__</TT> and <TT>__WINDOWS_DS__</TT> preprocessor definitions.
|
||||||
|
|
||||||
|
For Steinberg ASIO support, use the <TT>__WINDOWS_ASIO__</TT> preprocessor definition, include all the files in the <TT>src/asio/</TT> directory (i.e., <TT>asio.h,cpp</TT>, <TT>asiodrivers.h,cpp</TT>, ...), and link with the <TT>winmm.lib</TT>, and <TT>Wsock32.lib</TT> libraries.
|
||||||
|
|
||||||
|
[<A HREF="realtime.html">Next tutorial</A>] [<A HREF="tutorial.html">Main tutorial page</A>]
|
||||||
|
*/
|
||||||
130
doc/doxygen/control.txt
Normal file
130
doc/doxygen/control.txt
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
/*! \page controlin 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 <A HREF="skini.html">SKINI</A> 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:
|
||||||
|
|
||||||
|
\code
|
||||||
|
NoteOn 0.000082 2 55.0 82.3
|
||||||
|
NoteOff 1.000000 2 55.0 64.0
|
||||||
|
NoteOn 0.000082 2 69.0 82.8
|
||||||
|
StringDetune 0.100000 2 10.0
|
||||||
|
StringDetune 0.100000 2 30.0
|
||||||
|
StringDetune 0.100000 2 50.0
|
||||||
|
StringDetune 0.100000 2 40.0
|
||||||
|
StringDetune 0.100000 2 22.0
|
||||||
|
StringDetune 0.100000 2 12.0
|
||||||
|
NoteOff 1.000000 2 69.0 64.0
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
MIDI messages (with the exception of Sysex) 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. 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 <TT>bethree.cpp</TT> program from the previous tutorial chapter and incorporate a Messager class to allow control via a SKINI scorefile.
|
||||||
|
|
||||||
|
\code
|
||||||
|
// controlbee.cpp
|
||||||
|
|
||||||
|
#include "BeeThree.h"
|
||||||
|
#include "RtWvOut.h"
|
||||||
|
#include "Messager.h"
|
||||||
|
#include "SKINI.msg"
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
// Set the global sample rate before creating class instances.
|
||||||
|
Stk::setSampleRate( 44100.0 );
|
||||||
|
|
||||||
|
Instrmnt *instrument = 0;
|
||||||
|
RtWvOut *output = 0;
|
||||||
|
Messager *messager = 0;
|
||||||
|
bool done = FALSE;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Define and load the BeeThree instrument
|
||||||
|
instrument = new BeeThree();
|
||||||
|
|
||||||
|
// Define and open the default realtime output device for one-channel playback
|
||||||
|
output = new RtWvOut(1);
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Create a Messager instance to read from a redirected SKINI scorefile.
|
||||||
|
messager = new Messager();
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Play the instrument until the end of the scorefile.
|
||||||
|
int i, nTicks, type;
|
||||||
|
MY_FLOAT byte2, byte3, frequency;
|
||||||
|
while (!done) {
|
||||||
|
|
||||||
|
// Look for new messages and return a delta time (in samples).
|
||||||
|
type = messager->nextMessage();
|
||||||
|
if (type < 0)
|
||||||
|
done = TRUE;
|
||||||
|
|
||||||
|
nTicks = messager->getDelta();
|
||||||
|
try {
|
||||||
|
for ( i=0; i<nTicks; i++ )
|
||||||
|
output->tick( instrument->tick() );
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( type > 0 ) {
|
||||||
|
// Process the new control message.
|
||||||
|
byte2 = messager->getByteTwo();
|
||||||
|
byte3 = messager->getByteThree();
|
||||||
|
|
||||||
|
switch(type) {
|
||||||
|
|
||||||
|
case __SK_NoteOn_:
|
||||||
|
frequency = (MY_FLOAT) 220.0 * pow( 2.0, (byte2 - 57.0) / 12.0 );
|
||||||
|
instrument->noteOn( frequency, byte3 * ONE_OVER_128 );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case __SK_NoteOff_:
|
||||||
|
instrument->noteOff( byte3 * ONE_OVER_128 );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case __SK_ControlChange_:
|
||||||
|
instrument->controlChange( (int) byte2, byte3 );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case __SK_AfterTouch_:
|
||||||
|
instrument->controlChange( 128, byte2 );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
delete instrument;
|
||||||
|
delete output;
|
||||||
|
delete messager;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
Assuming the program is compiled as <TT>controlbee</TT> and the SKINI scorefile <A HREF="tutorial/bookert.ski"><TT>bookert.ski</TT></A> is in the <TT>scores</TT> directory, the scorefile could be redirected to the program as:
|
||||||
|
|
||||||
|
\code
|
||||||
|
controlbee < scores/bookert.ski
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
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 STDIN, socket, or MIDI connections. The Messager class constructor takes an optional argument consisting of a bitmask of the following options: <TT>STK_PIPE</TT>, <TT>STK_SOCKET</TT>, and/or <TT>STK_MIDI</TT>.
|
||||||
|
|
||||||
|
[<A HREF="multichannel.html">Next tutorial</A>] [<A HREF="tutorial.html">Main tutorial page</A>]
|
||||||
|
*/
|
||||||
@@ -1,12 +1,61 @@
|
|||||||
/*! \page download Download and Release Notes
|
/*! \page download Download and Release Notes
|
||||||
|
|
||||||
<B>Version 4.0, 30 April 2002</B><P>
|
<B>Version 4.1.2, 15 March 2004</B><P>
|
||||||
<A HREF="Release/stk-4.0.tar.gz">STK Version 4.0: Source distribution</A> (1.64 MB tar/gzipped)<BR>
|
<UL>
|
||||||
<A HREF="Release/stk-4.0.binaries.tar.gz">STK Version 4.0: Source distribution with precompiled windows binaries</A> (2.26 MB tar/gzipped)<BR>
|
<LI><A HREF="http://www-ccrma.stanford.edu/software/stk/release/stk-4.1.2.tar.gz">Source distribution</A></LI>
|
||||||
<P>
|
<LI><A HREF="http://www-ccrma.stanford.edu/software/stk/release/stk-4.1.2.binaries.tar.gz">Source with precompiled Windows binaries</A></LI>
|
||||||
|
<LI><A HREF="http://www-ccrma.stanford.edu/planetccrma/software/">Linux RPMs from Planet CCRMA</A></LI>
|
||||||
|
</UL>
|
||||||
|
|
||||||
|
|
||||||
\section notes Release Notes:
|
\section notes Release Notes:
|
||||||
|
|
||||||
|
\subsection v4dot1dot2 Version 4.1.2
|
||||||
|
|
||||||
|
<UL>
|
||||||
|
<li>Added Linux JACK support to RtAudio.</li>
|
||||||
|
<li>Added optional doNormalize argument to WvIn to allow specification of data normalization or not.</li>
|
||||||
|
<li>Added volume control to demo program and various tcl scripts.</li>
|
||||||
|
<li>Added support for dynamic rawwavePath() setting.</li>
|
||||||
|
<li>WaveLoop bug fix.</li>
|
||||||
|
<li>Fixed bug in ADSR::setReleaseTime() method.</li>
|
||||||
|
<li>Fixed missing initialization of apInput in non-default constructor of DelayA class.</li>
|
||||||
|
<li>Added time seeding of random number generator to Noise constructor.</li>
|
||||||
|
<li>Update to the contentsAt() method of Delay class.</li>
|
||||||
|
<li>WAV file fixes (8-bit) in WvIn and WvOut classes.</li>
|
||||||
|
<li>Configure script changes.</li>
|
||||||
|
<li>Updated <iostream> include statements and appended "std::" as necessary throughout for compatibility with gcc 3.</li>
|
||||||
|
</UL>
|
||||||
|
|
||||||
|
\subsection v4dot1dot1 Version 4.1.1
|
||||||
|
<ul>
|
||||||
|
<li>Bug fix in RtAudio for Macintosh OS X and Windows ASIO duplex operation.</li>
|
||||||
|
<li>Windows ASIO fix in Stk.h.</li>
|
||||||
|
<li>Documentation updates.</li>
|
||||||
|
<li>Expanded tutorial.</li>
|
||||||
|
<li>Fixed RtDuplex omission in src Makefile.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
\subsection v4dot1 Version 4.1
|
||||||
|
|
||||||
|
<UL>
|
||||||
|
<LI>Macintosh OS X support added.</LI>
|
||||||
|
<LI>New Whistle class.</LI>
|
||||||
|
<LI>Added Voicer, SingWave, and VoicForm classes.</LI>
|
||||||
|
<LI>Improvements/fixes to the banded waveguide instruments.</LI>
|
||||||
|
<LI>Demo program now uses Voicer, allowing polyphony.</LI>
|
||||||
|
<LI>Demo tcl/tk scripts changed to use SKINI PitchChange instead of PitchBend.</LI>
|
||||||
|
<LI>Demo program response to PitchBend modified to octave up/down.</LI>
|
||||||
|
<LI>Several RtAudio fixes and improvements (OS X and Windows ASIO support added).</LI>
|
||||||
|
<LI>Added nextOut() method to Delay classes.</LI>
|
||||||
|
<LI>Documentation fixes for Reverb classes.</LI>
|
||||||
|
<LI>RAWWAVE_PATH changed to include the "rawwave" directory.</LI>
|
||||||
|
<LI>"configure" support added for unix systems.</LI>
|
||||||
|
<LI>Multivoice flag (-n NUMBER) added as command line option to demo program.</LI>
|
||||||
|
<LI>Sample rate flag added as command line option to example programs.</LI>
|
||||||
|
<LI>Socket port number added as command line option to example programs.</LI>
|
||||||
|
</UL>
|
||||||
|
|
||||||
\subsection v4 Version 4.0
|
\subsection v4 Version 4.0
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,6 +5,6 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
104
doc/doxygen/hello.txt
Normal file
104
doc/doxygen/hello.txt
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
/*! \page hello Hello Sine!
|
||||||
|
|
||||||
|
We'll begin our introduction to the Synthesis ToolKit with a simple sine-wave oscillator program. STK does not provide a specific oscillator for sine waves. Instead, it provides a generic waveform oscillator class, WaveLoop, which 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 WvOut to write the result to a 16-bit, WAV formatted audio file.
|
||||||
|
|
||||||
|
\code
|
||||||
|
|
||||||
|
// sineosc.cpp
|
||||||
|
|
||||||
|
#include "WaveLoop.h"
|
||||||
|
#include "WvOut.h"
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
// Set the global sample rate before creating class instances.
|
||||||
|
Stk::setSampleRate( 44100.0 );
|
||||||
|
|
||||||
|
// Define and load the sine wave file
|
||||||
|
WaveLoop *input = new WaveLoop( "rawwaves/sinewave.raw", TRUE );
|
||||||
|
input->setFrequency( 440.0 );
|
||||||
|
|
||||||
|
// Define and open a 16-bit, one-channel WAV formatted output file
|
||||||
|
output = new WvOut( "hellosine.wav", 1, WvOut::WVOUT_WAV, Stk::STK_SINT16 );
|
||||||
|
|
||||||
|
// Run the oscillator for 40000 samples, writing to the output file
|
||||||
|
int i;
|
||||||
|
for ( i=0; i<40000; i++ ) {
|
||||||
|
output->tick( input->tick() );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clean up
|
||||||
|
delete input;
|
||||||
|
delete output;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
WaveLoop is a subclass of WvIn, 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. WvIn provides interpolating, read once ("oneshot") functionality, as well as methods for setting the read rate and read position.
|
||||||
|
|
||||||
|
The WvIn and WvOut classes are complementary, both supporting 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. However, WvOut does not perform data interpolation.
|
||||||
|
|
||||||
|
Nearly all STK classes implement <TT>tick()</TT> functions which take and/or return sample values. Within the <TT>tick()</TT> function, the fundamental sample calculations are performed for a given class. Most STK classes consume/generate a single sample per operation and their <TT>tick()</TT> method takes/returns each sample "by value". In addition, every class implementing a <TT>tick()</TT> function also provides an overloaded <TT>tick()</TT> function taking pointer and size arguments which can be used for vectorized computations.
|
||||||
|
|
||||||
|
The WvIn and WvOut classes support multi-channel sample frames. To distinguish single-sample frame operations from multi-channel frame operations, these classes also implement <TT>tickFrame()</TT> functions. When a <TT>tick()</TT> 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 which 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 22050 Hz.
|
||||||
|
|
||||||
|
Another primary concept that is somewhat obscurred in this example concerns the data format in which sample values are passed and received. Audio and control signals throughout STK use a floating-point data type, the exact precision of which can be controlled via the <TT>MY_FLOAT</TT> \#define statement in Stk.h. 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, and the WvIn and WvOut classes and subclasses scale appropriately for DAC or soundfile input and output.
|
||||||
|
|
||||||
|
\section error Error Handling
|
||||||
|
|
||||||
|
The ToolKit has some basic C++ error handling functionality built in. Classes which 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.
|
||||||
|
|
||||||
|
\code
|
||||||
|
// sineosc.cpp
|
||||||
|
|
||||||
|
#include "WaveLoop.h"
|
||||||
|
#include "WvOut.h"
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
// Set the global sample rate before creating class instances.
|
||||||
|
Stk::setSampleRate( 44100.0 );
|
||||||
|
|
||||||
|
WaveLoop *input = 0;
|
||||||
|
WvOut *output = 0;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Define and load the sine wave file
|
||||||
|
input = new WaveLoop( "rawwaves/sinewave.raw", TRUE );
|
||||||
|
|
||||||
|
// Define and open a 16-bit, one-channel WAV formatted output file
|
||||||
|
output = new WvOut( "hellosine.wav", 1, WvOut::WVOUT_WAV, Stk::STK_SINT16 );
|
||||||
|
}
|
||||||
|
catch ( StkError & ) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
input->setFrequency( 440.0 );
|
||||||
|
|
||||||
|
// Run the oscillator for 40000 samples, writing to the output file
|
||||||
|
for ( int i=0; i<40000; i++ ) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
output->tick( input->tick() );
|
||||||
|
}
|
||||||
|
catch ( StkError & ) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
delete input;
|
||||||
|
delete output;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
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 \ref classes to determine which constructors and functions can throw an error.
|
||||||
|
|
||||||
|
[<A HREF="compile.html">Next tutorial</A>] [<A HREF="tutorial.html">Main tutorial page</A>]
|
||||||
|
*/
|
||||||
@@ -2,7 +2,9 @@
|
|||||||
|
|
||||||
<BODY BGCOLOR="white">
|
<BODY BGCOLOR="white">
|
||||||
|
|
||||||
The <B>Synthesis ToolKit in C++ (STK)</B> is a set of audio signal processing and synthesis classes and algorithms written in C++. You can use these classes to create programs that make sounds with a variety of synthesis techniques. This is not a terribly novel concept, except that the Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (no libraries, no hidden drivers, and all source code is included). 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 8 years now. STK currently runs with "realtime" support (audio and MIDI) on SGI (Irix), Linux, 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.
|
<center><h3>Perry R. Cook & Gary P. Scavone</h3></center>
|
||||||
|
|
||||||
|
The <B>Synthesis ToolKit in C++ (STK)</B> is a set of open source audio signal processing and algorithmic synthesis classes written in C++. 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 8 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.
|
||||||
|
|
||||||
- \ref information
|
- \ref information
|
||||||
- \ref classes
|
- \ref classes
|
||||||
@@ -10,6 +12,13 @@ The <B>Synthesis ToolKit in C++ (STK)</B> is a set of audio signal processing an
|
|||||||
- \ref usage
|
- \ref usage
|
||||||
- \ref maillist
|
- \ref maillist
|
||||||
- \ref system
|
- \ref system
|
||||||
|
- \ref links
|
||||||
- \ref tutorial
|
- \ref tutorial
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
<P>
|
||||||
|
<FONT SIZE=-1>
|
||||||
|
STK is a registered trademark of Analytical Graphics, Inc., 40 General Warren Blvd., Malvern, PA 19355, the manufacturer of the Satellite Tool Kit<69> (STK<54>) family of satellite simulation software. Although the term "STK" is used in this website, the content of this site is in no way related to Analytical Graphics, Inc, or its registered STK mark. Nothing in this website should be construed to mean that a business relationship, either past or present, exists between Analytical Graphics, Inc. and the owners of this particular website.
|
||||||
|
</FONT>
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ This is a link to Perry Cook's STK Web page. He has information about the \ref
|
|||||||
|
|
||||||
<H4>What is the <I>Synthesis ToolKit</I>?</H4>
|
<H4>What is the <I>Synthesis ToolKit</I>?</H4>
|
||||||
|
|
||||||
The Synthesis ToolKit in C++ (STK) is a set of audio signal processing and synthesis classes and algorithms written in C++. You can use these classes to create programs that make sounds with a variety of synthesis techniques. This is not a terribly novel concept, except that the Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (no libraries, no hidden drivers, and all source code is included). 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 8 years now. STK currently runs with "realtime" support (audio and MIDI) on SGI (Irix), Linux, 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 C++. 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 8 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 is free for non-commercial use. The only parts of the Synthesis ToolKit that are platform-dependent concern real-time audio and MIDI input and output, and that is taken care of with a few special classes. The interface for MIDI input and the simple <A HREF="http://dev.scriptics.com">Tcl/Tk</A> graphical user interfaces (GUIs) provided is the same, so it's easy to experiment in real time using either the GUIs or MIDI. The Synthesis ToolKit can generate simultaneous SND (AU), WAV, AIFF, and MAT-file output soundfile formats (as well as realtime sound output), so you can view your results using one of a large variety of sound/signal analysis tools already available (e.g. <A HREF="http://www-ccrma.stanford.edu/software/snd/">Snd</A>, Cool Edit, Matlab).
|
The Synthesis ToolKit is free for non-commercial use. The only parts of the Synthesis ToolKit that are platform-dependent concern real-time audio and MIDI input and output, and that is taken care of with a few special classes. The interface for MIDI input and the simple <A HREF="http://dev.scriptics.com">Tcl/Tk</A> graphical user interfaces (GUIs) provided is the same, so it's easy to experiment in real time using either the GUIs or MIDI. The Synthesis ToolKit can generate simultaneous SND (AU), WAV, AIFF, and MAT-file output soundfile formats (as well as realtime sound output), so you can view your results using one of a large variety of sound/signal analysis tools already available (e.g. <A HREF="http://www-ccrma.stanford.edu/software/snd/">Snd</A>, Cool Edit, Matlab).
|
||||||
|
|
||||||
|
|||||||
73
doc/doxygen/instruments.txt
Normal file
73
doc/doxygen/instruments.txt
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
/*! \page instruments 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 it's frequency can be modified over time.
|
||||||
|
|
||||||
|
\code
|
||||||
|
// bethree.cpp
|
||||||
|
|
||||||
|
#include "BeeThree.h"
|
||||||
|
#include "RtWvOut.h"
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
// Set the global sample rate before creating class instances.
|
||||||
|
Stk::setSampleRate( 44100.0 );
|
||||||
|
|
||||||
|
Instrmnt *instrument = 0;
|
||||||
|
RtWvOut *output = 0;
|
||||||
|
MY_FLOAT frequency, amplitude, scaler;
|
||||||
|
long counter, i;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Define and load the BeeThree instrument
|
||||||
|
instrument = new BeeThree();
|
||||||
|
|
||||||
|
// Define and open the default realtime output device for one-channel playback
|
||||||
|
output = new RtWvOut(1);
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
scaler = 1.0;
|
||||||
|
frequency = 220.0;
|
||||||
|
amplitude = 0.5;
|
||||||
|
instrument->noteOn( frequency, amplitude );
|
||||||
|
|
||||||
|
// Play the instrument for 80000 samples, changing the frequency every 2000 samples
|
||||||
|
counter = 0;
|
||||||
|
while ( counter < 80000 ) {
|
||||||
|
for ( i=0; i<2000; i++ ) {
|
||||||
|
try {
|
||||||
|
output->tick( instrument->tick() );
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
counter += 2000;
|
||||||
|
scaler += 0.025;
|
||||||
|
instrument->setFrequency( frequency * scaler );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Turn the instrument off with maximum decay envelope.
|
||||||
|
instrument->noteOff( 1.0 );
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
delete instrument;
|
||||||
|
delete output;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
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 which 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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
[<A HREF="controlin.html">Next tutorial</A>] [<A HREF="tutorial.html">Main tutorial page</A>]
|
||||||
|
*/
|
||||||
|
|
||||||
19
doc/doxygen/links.txt
Normal file
19
doc/doxygen/links.txt
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
/*! \page links Miscellaneous Links
|
||||||
|
|
||||||
|
- <A HREF="http://www-ccrma.stanford.edu/~gary/rtaudio/">The RtAudio WWW site</A>
|
||||||
|
|
||||||
|
- <A HREF="http://kern.humdrum.net/">Kern Scores: A Library of Electronic Musical Scores</A> (with automatic conversion to SKINI format)
|
||||||
|
|
||||||
|
- <A HREF="http://stk.sapp.org/midi2skini">MIDI to SKINI file converter</A> by Craig Sapp
|
||||||
|
|
||||||
|
- <A HREF="http://stk.sapp.org/kern2skini">Kern Score to SKINI file converter</A> by Craig Sapp
|
||||||
|
|
||||||
|
- <A HREF="http://www.artassault.org/software/software.html">Calico - A Polyphonic Score File Parser for STK</A> by Greg Kellum
|
||||||
|
|
||||||
|
- <A HREF="http://www.music.columbia.edu/PeRColate/">PeRColate: A Port of STK for Max/MSP</A>
|
||||||
|
|
||||||
|
- <A HREF="http://mathmorphs.swiki.net/32/">A Partial Port of STK to Squeak</A>
|
||||||
|
|
||||||
|
- <a href="http://airy.andre.online.fr/AU/index.html">AUStk: a demo of integration of STK instruments into an AudioUnit</a> by Airy Andre
|
||||||
|
|
||||||
|
*/
|
||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
An <A HREF="mailto:stk-request@ccrma.stanford.edu">STK</A> 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.
|
An <A HREF="mailto:stk-request@ccrma.stanford.edu">STK</A> 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.
|
||||||
<P>
|
<P>
|
||||||
|
For answers to frequently asked questions, check the list <A HREF="http://ccrma-mail.stanford.edu/pipermail/stk/">archives</A>.
|
||||||
|
<P>
|
||||||
To join send a message to <A HREF="mailto:stk-request@ccrma.stanford.edu"><stk-request@ccrma.stanford.edu></A>
|
To join send a message to <A HREF="mailto:stk-request@ccrma.stanford.edu"><stk-request@ccrma.stanford.edu></A>
|
||||||
with the contents: <TT>subscribe</TT>
|
with the contents: <TT>subscribe</TT>
|
||||||
|
|
||||||
|
|||||||
70
doc/doxygen/multichannel.txt
Normal file
70
doc/doxygen/multichannel.txt
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
/*! \page multichannel 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 <I>sample frame</I>. 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 <TT>tick()</TT> function. In order to distinguish single-sample and sample frame calculations, the WvIn and WvOut classes implement both <TT>tick()</TT> and <TT>tickFrame()</TT> functions. The <TT>tickFrame()</TT> functions take or return a pointer to an array of audio data representing one or more sample frames. For single-channel streams, the <TT>tick()</TT> and <TT>tickFrame()</TT> functions produce equivalent results. When <TT>tick()</TT> 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 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 WvOut 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.
|
||||||
|
|
||||||
|
\code
|
||||||
|
// foursine.cpp
|
||||||
|
|
||||||
|
#include "WaveLoop.h"
|
||||||
|
#include "WvOut.h"
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
// Set the global sample rate before creating class instances.
|
||||||
|
Stk::setSampleRate( 44100.0 );
|
||||||
|
|
||||||
|
int i, j;
|
||||||
|
WvOut *output = 0;
|
||||||
|
WaveLoop *inputs[4];
|
||||||
|
for ( i=0; i<4; i++ ) inputs[i] = 0;
|
||||||
|
|
||||||
|
// Define and load the sine waves
|
||||||
|
try {
|
||||||
|
for ( i=0; i<4; i++ ) {
|
||||||
|
inputs[i] = new WaveLoop( "rawwaves/sinewave.raw", TRUE );
|
||||||
|
inputs[i]->setFrequency( 220.0 * (i+1) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Define and open a 16-bit, four-channel AIFF formatted output file
|
||||||
|
try {
|
||||||
|
output = new WvOut( "foursine.aif", 4, WvOut::WVOUT_AIF, Stk::STK_SINT16 );
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write two seconds of four sines to the output file
|
||||||
|
MY_FLOAT frame[4];
|
||||||
|
for ( j=0; j<88200; j++ ) {
|
||||||
|
for ( i=0; i<4; i++ )
|
||||||
|
frame[i] = inputs[i]->tick();
|
||||||
|
|
||||||
|
output->tickFrame( frame );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now write the first sine to all four channels for two seconds
|
||||||
|
for ( j=0; j<88200; j++ ) {
|
||||||
|
output->tick( inputs[0]->tick() );
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
for ( i=0; i<4; i++ ) delete inputs[i];
|
||||||
|
delete output;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
|
||||||
|
[<A HREF="polyvoices.html">Next tutorial</A>] [<A HREF="tutorial.html">Main tutorial page</A>]
|
||||||
|
*/
|
||||||
122
doc/doxygen/polyvoices.txt
Normal file
122
doc/doxygen/polyvoices.txt
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
/*! \page polyvoices 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 sounds or even direct their sounds to separate output 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 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 <TT>tick()</TT> 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 <TT>controlbee.cpp</TT> program to make use of three BeeThree instruments, all controlled using a Voicer.
|
||||||
|
|
||||||
|
\code
|
||||||
|
// threebees.cpp
|
||||||
|
|
||||||
|
#include "BeeThree.h"
|
||||||
|
#include "RtWvOut.h"
|
||||||
|
#include "Messager.h"
|
||||||
|
#include "Voicer.h"
|
||||||
|
#include "SKINI.msg"
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
// Set the global sample rate before creating class instances.
|
||||||
|
Stk::setSampleRate( 44100.0 );
|
||||||
|
|
||||||
|
int i;
|
||||||
|
RtWvOut *output = 0;
|
||||||
|
Messager *messager = 0;
|
||||||
|
Voicer *voicer = 0;
|
||||||
|
bool done = FALSE;
|
||||||
|
Instrmnt *instrument[3];
|
||||||
|
for ( i=0; i<3; i++ ) instrument[i] = 0;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Define and load the BeeThree instruments
|
||||||
|
for ( i=0; i<3; i++ )
|
||||||
|
instrument[i] = new BeeThree();
|
||||||
|
|
||||||
|
// Define and open the default realtime output device for one-channel playback
|
||||||
|
output = new RtWvOut(1);
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Create a Messager instance to read from a redirected SKINI scorefile.
|
||||||
|
messager = new Messager();
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Instantiate the voicer for a maximum of three voices.
|
||||||
|
voicer = new Voicer( 3 );
|
||||||
|
for ( i=0; i<3; i++ )
|
||||||
|
voicer->addInstrument( instrument[i] );
|
||||||
|
|
||||||
|
// Play the instrument until the end of the scorefile.
|
||||||
|
int nTicks, type;
|
||||||
|
MY_FLOAT byte2, byte3;
|
||||||
|
while (!done) {
|
||||||
|
|
||||||
|
// Look for new messages and return a delta time (in samples).
|
||||||
|
type = messager->nextMessage();
|
||||||
|
if (type < 0)
|
||||||
|
done = TRUE;
|
||||||
|
|
||||||
|
nTicks = messager->getDelta();
|
||||||
|
try {
|
||||||
|
for ( i=0; i<nTicks; i++ )
|
||||||
|
output->tick( voicer->tick() );
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( type > 0 ) {
|
||||||
|
// Process the new control message.
|
||||||
|
byte2 = messager->getByteTwo();
|
||||||
|
byte3 = messager->getByteThree();
|
||||||
|
|
||||||
|
switch(type) {
|
||||||
|
|
||||||
|
case __SK_NoteOn_:
|
||||||
|
voicer->noteOn( byte2, byte3 );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case __SK_NoteOff_:
|
||||||
|
voicer->noteOff( byte2, byte3 );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case __SK_ControlChange_:
|
||||||
|
voicer->controlChange( (int) byte2, byte3 );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case __SK_AfterTouch_:
|
||||||
|
voicer->controlChange( 128, byte2 );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
for ( i=0; i<3; i++ ) delete instrument[i];
|
||||||
|
delete output;
|
||||||
|
delete messager;
|
||||||
|
delete voicer;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
Assuming the program is compiled as <TT>threebees</TT>, the three-voice SKINI scorefile <A HREF="tutorial/bachfugue.ski"><TT>bachfugue.ski</TT></A> (also located in the <tt>scores</tt> directory with the examples) could be redirected to the program as:
|
||||||
|
|
||||||
|
\code
|
||||||
|
threebees < bachfugue.ski
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
For more fun, surf to <A HREF="http://kern.humdrum.net/">Kern Scores</A> for a huge assortment of other scorefiles which can be downloaded in the SKINI format.
|
||||||
|
|
||||||
|
Another easy extension would be to use the <TT>STK_MIDI</TT> constructor argument to the Messager class and then play the instruments via a MIDI keyboard.
|
||||||
|
|
||||||
|
[<A HREF="tutorial.html">Main tutorial page</A>]
|
||||||
|
*/
|
||||||
72
doc/doxygen/realtime.txt
Normal file
72
doc/doxygen/realtime.txt
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
/*! \page realtime Realtime Audio
|
||||||
|
|
||||||
|
In this section, we modify the <TT>sineosc.cpp</TT> program in order to send the output to the default audio playback device on your system.
|
||||||
|
|
||||||
|
\code
|
||||||
|
// rtsine.cpp
|
||||||
|
|
||||||
|
#include "WaveLoop.h"
|
||||||
|
#include "RtWvOut.h"
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
// Set the global sample rate before creating class instances.
|
||||||
|
Stk::setSampleRate( 44100.0 );
|
||||||
|
|
||||||
|
WaveLoop *input = 0;
|
||||||
|
RtWvOut *output = 0;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Define and load the sine wave file
|
||||||
|
input = new WaveLoop( "rawwaves/sinewave.raw", TRUE );
|
||||||
|
|
||||||
|
// Define and open the default realtime output device for one-channel playback
|
||||||
|
output = new RtWvOut(1);
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
input->setFrequency(440.0);
|
||||||
|
|
||||||
|
// Play the oscillator for 40000 samples
|
||||||
|
int i;
|
||||||
|
for ( i=0; i<40000; i++ ) {
|
||||||
|
try {
|
||||||
|
output->tick(input->tick());
|
||||||
|
}
|
||||||
|
catch (StkError &) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
delete input;
|
||||||
|
delete output;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Though not used here, an RtWvIn class exists as well which can be used to read realtime audio data from an input device. See the <TT>record.cpp</TT> example program in the <TT>examples</TT> project for more information.
|
||||||
|
|
||||||
|
It is 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 RtDuplex to achieve this behavior, in that it guarantees better synchronization between the input and output data. See the <TT>effects</TT> project or the <TT>io.cpp</TT> example program in the <TT>examples</TT> project for more information.
|
||||||
|
|
||||||
|
When using any realtime STK class (RtAudio, RtWvOut, RtWvIn, RtDuplex, RtMidi, TcpWvIn, TcpWvOut, Socket, 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/MIDI API as follows (assuming all necessary files exist in the project directory):
|
||||||
|
|
||||||
|
\code
|
||||||
|
g++ -Wall -D__LINUX_ALSA__ -D__LITTLE_ENDIAN__ -o rtsine Stk.cpp WvIn.cpp WaveLoop.cpp WvOut.cpp \
|
||||||
|
RtWvOut.cpp RtAudio.cpp rtsine.cpp -lpthread -lasound -lstk
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
On a Macintosh OS X system, the syntax would be:
|
||||||
|
|
||||||
|
\code
|
||||||
|
CC -D__MACOSX_CORE__ -o rtsine Stk.cpp WvIn.cpp WaveLoop.cpp WvOut.cpp RtWvOut.cpp RtAudio.cpp \
|
||||||
|
rtsine.cpp -lpthread -lstdc++ -lstk -framework CoreAudio -framework CoreMIDI -framework CoreFoundation
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
[<A HREF="instruments.html">Next tutorial</A>] [<A HREF="tutorial.html">Main tutorial page</A>]
|
||||||
|
*/
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
/*! \page skini Synthesis toolKit Instrument Network Interface (SKINI)
|
/*! \page skini 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.
|
This describes the latest (version 1.1) implementation of SKINI for the Synthesis ToolKit in C++ (STK) by Perry R. Cook.
|
||||||
|
|
||||||
\code
|
\code
|
||||||
Too good to be true?
|
Too good to be true?
|
||||||
@@ -18,7 +18,7 @@ Differences from MIDI, and motivations, include:
|
|||||||
|
|
||||||
- Text-based messages are used, with meaningful names wherever possible. This allows any language or system capable of formatted printing to generate SKINI. Similarly, any system capable of reading in a string and turning delimited fields into strings, floats, and ints can consume SKINI for control. More importantly, humans can actually read, and even write if they want, SKINI files and streams. Use an editor and search/replace or macros to change a channel or control number. Load a SKINI score into a spread sheet to apply transformations to time, control parameters, MIDI velocities, etc. Put a monkey on a special typewriter and get your next great work. Life's too short to debug bit/nybble packed variable length mumble messages. Disk space gets cheaper, available bandwidth increases, music takes up so little space and bandwidth compared to video and grapics. Live a little.
|
- Text-based messages are used, with meaningful names wherever possible. This allows any language or system capable of formatted printing to generate SKINI. Similarly, any system capable of reading in a string and turning delimited fields into strings, floats, and ints can consume SKINI for control. More importantly, humans can actually read, and even write if they want, SKINI files and streams. Use an editor and search/replace or macros to change a channel or control number. Load a SKINI score into a spread sheet to apply transformations to time, control parameters, MIDI velocities, etc. Put a monkey on a special typewriter and get your next great work. Life's too short to debug bit/nybble packed variable length mumble messages. Disk space gets cheaper, available bandwidth increases, music takes up so little space and bandwidth compared to video and grapics. Live a little.
|
||||||
|
|
||||||
- Floating point numbers are used wherever possible. Note Numbers, Velocities, Controller Values, and Delta and Absolute Times are all represented and scanned as ASCII double-precision floats. MIDI byte values are preserved, so that incoming MIDI bytes from an interface can be put directly into SKINI messages. 60.0 or 60 is middle C, 127.0 or 127 is maximum velocity etc. But, unlike MIDI, 60.5 can cause a 50cent sharp middle C to be played. As with MIDI byte values like velocity, use of the integer and SKINI-added fractional parts is up to the implementor of the algorithm being controlled by SKINI messages. But the extra precision is there to be used or ignored.
|
- Floating point numbers are used wherever possible. Note Numbers, Velocities, Controller Values, and Delta and Absolute Times are all represented and scanned as ASCII double-precision floats. MIDI byte values are preserved, so that incoming MIDI bytes from an interface can be put directly into SKINI messages. 60.0 or 60 is middle C, 127.0 or 127 is maximum velocity etc. But, unlike MIDI, 60.5 can cause a 50 cent sharp middle C to be played. As with MIDI byte values like velocity, use of the integer and SKINI-added fractional parts is up to the implementor of the algorithm being controlled by SKINI messages. But the extra precision is there to be used or ignored.
|
||||||
|
|
||||||
\section why Why SKINI?
|
\section why Why SKINI?
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,28 @@
|
|||||||
/*! \page system System Requirements
|
/*! \page system System Requirements
|
||||||
|
|
||||||
<B>General</B>
|
<B>General:</B>
|
||||||
<UL>
|
<UL>
|
||||||
<LI>A MIDI interface to use MIDI input controls. (NOTE: This may be built into the soundcard on your computer.)</LI>
|
<LI>A MIDI interface to use MIDI input controls. (NOTE: This may be built into the soundcard on your computer.)</LI>
|
||||||
<LI><A HREF="http://dev.scriptics.com">Tcl/Tk</A> version 8.0 or higher to use the simple Tcl/Tk GUIs provided with the STK distribution (available free over the WWW for all supported realtime platforms).</LI>
|
<LI><A HREF="http://dev.scriptics.com">Tcl/Tk</A> version 8.0 or higher to use the simple Tcl/Tk GUIs provided with the STK distribution (available free over the WWW for all supported realtime platforms).</LI>
|
||||||
</UL>
|
</UL>
|
||||||
<B>Linux (specific)</B>
|
|
||||||
|
<B>Linux (specific):</B>
|
||||||
<UL>
|
<UL>
|
||||||
<LI>A soundcard to use realtime audio input/output capabilities. In order to use the <I><B>effects</B></I> project, the soundcard and drivers must support full duplex mode.</LI>
|
<LI>A soundcard to use realtime audio input/output capabilities. In order to use the <I><B>effects</B></I> project, the soundcard and drivers must support full duplex mode.</LI>
|
||||||
<LI><A HREF="http://www.opensound.com">OSS</A> or <A HREF="http://www.alsa-project.org/">ALSA</A> device drivers for realtime sound output and MIDI input.</LI>
|
<LI><A HREF="http://www.opensound.com">OSS</A> or <A HREF="http://www.alsa-project.org/">ALSA</A> device drivers for realtime sound output and MIDI input.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<B>Windows95/98/2000/XP (specific)</B>
|
<B>Macintosh OS X (specific):</B>
|
||||||
|
<UL>
|
||||||
|
<LI>A C++ compiler does not ship by default with OS X. It is necessary to download the Developer Kit from the Apple WWW site in order to compile STK.</LI>
|
||||||
|
<LI><B>IMPORTANT:</B>The internal Macintosh audio hardware typically supports a sample rate of 44100 Hz only. Therefore, it is necessary to either specify this rate as a command-line option to the STK example programs or to change the default sample rate inside the Stk.h file before compilation. In addition, the RT_BUFFER_SIZE, specified in Stk.h, could be increased (to a higher power of two) for more robust performance.</LI>
|
||||||
|
<LI>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 a 10.2 system. The default installation will place a link to the wish interpretor at /usr/bin/wish.
|
||||||
|
|
||||||
|
Initial tests have shown somewhat poor response between changes made in the tcl/tk script and the resulting audio updates. It is possible to connect a tcl/tk interface to an STK program via a socket connection. However, the tcl/tk interpreter does not appear to properly close the socket connection during disconnection. It is therefore necessary to type "Exit" in the STK program terminal window to properly exit the STK program.</LI>
|
||||||
|
|
||||||
|
</UL>
|
||||||
|
|
||||||
|
<B>Windows95/98/2000/XP (specific):</B>
|
||||||
<UL>
|
<UL>
|
||||||
<LI>A soundcard to use realtime audio input/output capabilities. In order to use the <I><B>effects</B></I> project, the soundcard and drivers must support full duplex mode.</LI>
|
<LI>A soundcard to use realtime audio input/output capabilities. In order to use the <I><B>effects</B></I> project, the soundcard and drivers must support full duplex mode.</LI>
|
||||||
<LI><A HREF="http://www.microsoft.com/directx/">DirectX</A> 5.0 (or higher) runtime libraries to use the precompiled binaries.</LI>
|
<LI><A HREF="http://www.microsoft.com/directx/">DirectX</A> 5.0 (or higher) runtime libraries to use the precompiled binaries.</LI>
|
||||||
@@ -19,9 +30,9 @@
|
|||||||
<LI>For compiling the source (if not already in your system): <UL><LI><A HREF="Misc/dsound.h">dsound.h</A> header file (DirectX 6.1) - put somewhere in your header search path</LI><LI><A HREF="Misc/dsound.lib">dsound.lib</A> library file (DirectX 6.1) - put somewhere in your library search path</LI></UL></LI>
|
<LI>For compiling the source (if not already in your system): <UL><LI><A HREF="Misc/dsound.h">dsound.h</A> header file (DirectX 6.1) - put somewhere in your header search path</LI><LI><A HREF="Misc/dsound.lib">dsound.lib</A> library file (DirectX 6.1) - put somewhere in your library search path</LI></UL></LI>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<B>WindowsNT (specific)</B>
|
<B>WindowsNT (specific):</B>
|
||||||
<UL>
|
<UL>
|
||||||
<LI>STK is no longer supported under WindowsNT because DirectX support for NT is minimal. Unless DirectX 5.0 or higher becomes available for NT, STK won't work.</LI>
|
<LI>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.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
|||||||
@@ -1,149 +1,23 @@
|
|||||||
/*! \page tutorial Tutorial
|
/*! \page tutorial Tutorial
|
||||||
|
|
||||||
- \ref intro
|
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 or C++. STK's "target audience" includes people who:
|
||||||
- \ref start
|
|
||||||
- \ref compile
|
|
||||||
- \ref rtvsnonrt
|
|
||||||
|
|
||||||
\section intro Introduction
|
|
||||||
|
|
||||||
First and foremost, the Synthesis ToolKit is a set of C++ classes. That means you need to know some basics about programming in C++ to make use of STK (beyond the example programs we provide). STK's "target audience" is people who:
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI>already know how to program in C and C++</LI>
|
|
||||||
<LI>want to create audio DSP and/or synthesis programs</LI>
|
<LI>want to create audio DSP and/or synthesis programs</LI>
|
||||||
<LI>want to save some time by using our unit generators and input/output routines</LI>
|
<LI>want to save some time by using our unit generators and input/output routines</LI>
|
||||||
<LI>know C, but want to learn about synthesis and processing algorithms</LI>
|
<LI>want to learn about synthesis and processing algorithms</LI>
|
||||||
<LI>wish to teach real-time synthesis and processing, and wish to use some of our classes and examples</LI>
|
<LI>wish to teach real-time synthesis and processing, and wish to use some of our classes and examples</LI>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
Most ToolKit programmers will likely end up writing a class or two for their own particular needs, but this task is typically simplified by making use of pre-existing STK classes (filters, oscillators, etc.).
|
Most ToolKit programmers will likely end up writing a class or two for their own particular needs, but this task is typically simplified by making use of pre-existing STK classes (filters, oscillators, etc.).
|
||||||
|
|
||||||
\section start Getting Started
|
The following tutorial chapters describe many of the fundamental ToolKit concepts and classes. All tutorial programs are included in the <TT>projects/examples</TT> directory.
|
||||||
|
|
||||||
We'll begin our introduction to the Synthesis ToolKit with a simple sine-wave oscillator program. STK doesn't provide a specific oscillator for sine waves. Instead, it provides a generic waveform oscillator class, WaveLoop, which can load a variety of common file types. In this example, we load a sine "table" from an STK RAW file. The class RtWvOut will send "realtime" samples to the audio output hardware on your computer.
|
-# \ref hello
|
||||||
|
-# \ref compile
|
||||||
\code
|
-# \ref realtime
|
||||||
|
-# \ref instruments
|
||||||
// sineosc.cpp
|
-# \ref controlin
|
||||||
|
-# \ref multichannel
|
||||||
#include "WaveLoop.h"
|
-# \ref polyvoices
|
||||||
#include "RtWvOut.h"
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
// Set the global sample rate before creating class instances.
|
|
||||||
Stk::setSampleRate( 44100.0 );
|
|
||||||
|
|
||||||
// Define and load the sine wave file
|
|
||||||
WaveLoop *input = new WaveLoop("sinewave.raw", TRUE);
|
|
||||||
input->setFrequency(440.0);
|
|
||||||
|
|
||||||
// Define and open the default realtime output device for one-channel playback
|
|
||||||
RtWvOut *output = new RtWvOut(1);
|
|
||||||
|
|
||||||
// Play the oscillator for 40000 samples
|
|
||||||
for (int i=0; i<40000; i++) {
|
|
||||||
output->tick( input->tick() );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clean up
|
|
||||||
delete input;
|
|
||||||
delete output;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
WaveLoop is a subclass of WvIn, 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. WvIn provides interpolating, read once ("oneshot") functionality, as well as methods for setting the read rate and read position.
|
|
||||||
|
|
||||||
Nearly all STK classes implement tick() methods which take and/or return sample values. Within the tick() method, 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() method also provides an overloaded tick() function taking pointer and size arguments which can be used for vectorized computations.
|
|
||||||
|
|
||||||
The WvIn and WvOut classes 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 which 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 22050 Hz.
|
|
||||||
|
|
||||||
Another primary concept that is somewhat obscurred in this example concerns the data format in which sample values are passed and received. Audio and control signals throughout STK use a floating-point data type, the exact precision of which can be controlled via the MY_FLOAT \#define statement in Stk.h. 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, and the WvIn and WvOut classes and subclasses scale appropriately for DAC or soundfile input and output.
|
|
||||||
|
|
||||||
Finally, STK has some basic C++ error handling functionality built in. Classes which 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.
|
|
||||||
|
|
||||||
\code
|
|
||||||
// sineosc.cpp
|
|
||||||
|
|
||||||
#include "WaveLoop.h"
|
|
||||||
#include "RtWvOut.h"
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
// Set the global sample rate before creating class instances.
|
|
||||||
Stk::setSampleRate( 44100.0 );
|
|
||||||
|
|
||||||
WaveLoop *input = 0;
|
|
||||||
RtWvOut *output = 0;
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Define and load the sine wave file
|
|
||||||
input = new WaveLoop( "sinewave.raw", TRUE );
|
|
||||||
|
|
||||||
// Define and open the default realtime output device for one-channel playback
|
|
||||||
output = new RtWvOut(1);
|
|
||||||
}
|
|
||||||
catch (StkError &) {
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
input->setFrequency(440.0);
|
|
||||||
|
|
||||||
// Play the oscillator for 40000 samples
|
|
||||||
for (int i=0; i<40000; i++) {
|
|
||||||
try {
|
|
||||||
output->tick(input->tick());
|
|
||||||
}
|
|
||||||
catch (StkError &) {
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
cleanup:
|
|
||||||
delete input;
|
|
||||||
delete output;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
\section compile Compiling
|
|
||||||
|
|
||||||
\subsection compileLinux Linux
|
|
||||||
|
|
||||||
In general, you will probably want to use a <TT>Makefile</TT> for your STK programs and projects. For this particular program, however, the following will suffice (on a linux system):
|
|
||||||
\code
|
|
||||||
g++ -Wall -D__LINUX_OSS__ -D__LITTLE_ENDIAN__ -o sineosc Stk.cpp WvIn.cpp WaveLoop.cpp WvOut.cpp RtWvOut.cpp RtAudio.cpp sineosc.cpp -lpthread
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
This assumes you've set up a directory that includes the files <TT>sineosc.cpp</TT>, the rawwave file <TT>sinewave.raw</TT>, and the header and source files for the classes Stk, WvIn, WaveLoop, WvOut, RtWvOut, and RtAudio. There are other, more convenient, means for structuring projects that will be discussed later.
|
|
||||||
|
|
||||||
Most linux systems currently come installed with the OSS audio hardware drivers. If your system instead has ALSA audio drivers installed and you wish to make use of native ALSA API calls, a link to the ALSA library must be specified in the above compile statement (<TT>-lasound</TT>) and the preprocessor definition should instead be <TT>__LINUX_ALSA__</TT>.
|
|
||||||
|
|
||||||
\subsection compileIrix Irix
|
|
||||||
|
|
||||||
The irix (SGI) and linux operating systems are both flavors of unix and thus behave similarly. Making the same assumptions as in the linux case, the following compile statement should work:
|
|
||||||
\code
|
|
||||||
CC -Wall -D__IRIX_AL__ -o sineosc Stk.cpp WvIn.cpp WaveLoop.cpp WvOut.cpp RtWvOut.cpp RtAudio.cpp sineosc.cpp -lpthread
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
\subsection compileWin Windows
|
|
||||||
|
|
||||||
I have personally only worked with Visual C++ when compiling programs under windoze. I'll assume you've become familiar with Visual C+ and don't need a tutorial on its particular idiosyncrasies. In creating the VC++ project, add the Stk, WvIn, WaveLoop, WvOut, RtWvOut, and RtAudio class files, as well as the <TT>sineosc.cpp</TT> and <TT>sinewave.raw</TT> files. You will also need to link to the DirectSound library (<TT>dsound.lib</TT>), select the multithreaded library, and provide the <TT>__WINDOWS_DS__</TT> and <TT>__LITTLE_ENDIAN__</TT> preprocessor definitions.
|
|
||||||
|
|
||||||
|
|
||||||
\section rtvsnonrt "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) <I>dependent</I>. STK classes which require specific platform/OS support include RtAudio, RtWvOut, RtWvIn, RtDuplex, RtMidi, TcpWvIn, TcpWvOut, Socket, and Thread. These classes currently can only be compiled on Linux, Irix, and Windows (except Windows NT) systems using the <TT>__LINUX_OSS__</TT>, <TT>__LINUX_ALSA__</TT>, <TT>__IRIX_AL__</TT>, or <TT>__WINDOWS_DS__</TT> preprocessor definitions.
|
|
||||||
|
|
||||||
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 <TT>__LITTLE_ENDIAN__</TT> preprocessor definition should be provided.
|
|
||||||
|
|
||||||
\section continued To Be Continued ...
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@@ -3,11 +3,12 @@
|
|||||||
- \ref directory
|
- \ref directory
|
||||||
- \ref compiling
|
- \ref compiling
|
||||||
- \ref control
|
- \ref control
|
||||||
- \ref instruments
|
- \ref voices
|
||||||
- \ref nort
|
- \ref nort
|
||||||
- \ref rt
|
- \ref rt
|
||||||
- \ref tcl
|
- \ref tcl
|
||||||
- \ref midi
|
- \ref midi
|
||||||
|
- \ref polyphony
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
@@ -16,9 +17,9 @@
|
|||||||
The top level distribution contains the following directories:
|
The top level distribution contains the following directories:
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI> The <I><B>src</B></I> directory contains the source .cpp files for almost all the STK unit generator and algorithm classes.</LI><P>
|
<LI> The <I><B>src</B></I> directory contains the source .cpp files for all the STK unit generator and algorithm classes.</LI><P>
|
||||||
|
|
||||||
<LI> The <I><B>include</B></I> directory contains the header files for almost all the STK unit generator and algorithm classes.</LI><P>
|
<LI> The <I><B>include</B></I> directory contains the header files for all the STK unit generator and algorithm classes.</LI><P>
|
||||||
|
|
||||||
<LI> The <I><B>rawwaves</B></I> directory contains various raw, monophonic, 16-bit, big-endian soundfiles used with the STK classes.</LI><P>
|
<LI> The <I><B>rawwaves</B></I> directory contains various raw, monophonic, 16-bit, big-endian soundfiles used with the STK classes.</LI><P>
|
||||||
|
|
||||||
@@ -42,15 +43,38 @@ This release of STK comes with four separate "project" directories:
|
|||||||
\section compiling Compiling:
|
\section compiling Compiling:
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
<LI><B>Windows95/98/2000/XP:</B> Realtime support is available using either DirectSound or ASIO audio drivers. For DirectSound support, use the <TT>__WINDOWS_DS__</TT> preprocessor definition and link with the <TT>dsound.lib</TT>, <TT>winmm.lib</TT>, and <TT>Wsock32.lib</TT> libraries. For ASIO support, use the <TT>__WINDOWS_ASIO__</TT> preprocessor definition, include all the files in the <TT>src/asio/</TT> directory (i.e. <TT>asio.h,cpp</TT>, <TT>asiodrivers.h,cpp</TT>, ...), and link with the <TT>winmm.lib</TT>, and <TT>Wsock32.lib</TT> libraries. In addition, the <TT>__LITTLE_ENDIAN__</TT> preprocessor definition is necessary for all Windows systems. 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 <A HREF="http://www.microsoft.com/directx/">Microsoft</A>). Further, the <I><B>effects</B></I> project requires that your soundcard and drivers provide full duplex mode capabilities. Visual C++ 6.0 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.</LI>
|
||||||
|
|
||||||
|
<LI><B>WindowsNT:</B> 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.</LI>
|
||||||
|
|
||||||
|
<LI><B>Unix Systems:</B> A GNU <TT>configure</TT> shell script is included in the distribution for unix-based systems. From the top-level distribution directory, type <TT>'./configure'</TT> and the script will create <TT>Makefiles</TT> in each project directory specific to the characteristics of the host computer. Then from within any given project directory (example <TT>demo</TT>), type <TT>'make'</TT> to compile the project. In addition, an STK library can be compiled from within the <TT>src</TT> directory.
|
||||||
|
|
||||||
|
Several options can be supplied to the <TT>configure</TT> script to customize the build behavior:
|
||||||
|
<UL>
|
||||||
|
<LI><TT>--disable-realtime</TT> to only compile generic non-realtime classes</LI>
|
||||||
|
<LI><TT>--enable-debug</TT> to enable various debug output</LI>
|
||||||
|
<LI><TT>--enable-midiator</TT> to enable native MS-124W MIDI support (linux only)</LI>
|
||||||
|
<LI><TT>--with-alsa</TT> to choose native ALSA API support (linux only)</LI>
|
||||||
|
</UL>
|
||||||
|
<P>
|
||||||
|
In addition, it is possible to specify the location of the STK rawwaves and the STK include path as follows:
|
||||||
|
\code
|
||||||
|
./configure RAWWAVE_PATH="/home/gary/rawwaves/"
|
||||||
|
./configure INCLUDE_PATH="/home/gary/include/"
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
For novice STK users, the default configuration should be adequate.
|
||||||
|
</UL>
|
||||||
|
|
||||||
|
For those who wish to create their own system-specific <TT>Makefiles</TT>:
|
||||||
|
<UL>
|
||||||
|
<LI><B>Linux:</B> Realtime support is enabled with either the <TT>__LINUX_OSS__</TT> or <TT>__LINUX_ALSA__</TT> preprocessor definitions, which are used to select the underlying audio/MIDI system API. Realtime programs must also link with the <TT>pthread</TT> library. When using the ALSA API, it is also necessary to link with the <TT>asound</TT> library. In addition, the <TT>__LITTLE_ENDIAN__</TT> preprocessor definition is necessary if compiling on a little-endian system. Special support exists under Linux for the MIDIator serial MIDI device, enabled using the <TT>__MIDIATOR__</TT> preprocessor definition (together with either the <TT>__LINUX_ALSA__</TT> or <TT>__LINUX_OSS__</TT> definitions). See the README-Linux file for further system configuration information.</LI>
|
||||||
|
|
||||||
|
<LI><B>Macintosh OS X:</B> Realtime support is enabled with the <TT>__MACOSX_CORE__</TT> preprocessor definitions, which incorporates the CoreAudio audio/MIDI API. Realtime programs must also link with the <TT>pthread</TT> library and the <TT>CoreAudio</TT>, <TT>CoreMIDI</TT>, and <TT>CoreFoundation</TT> frameworks. See the README-MacOSX file for further system configuration information.</LI>
|
||||||
|
|
||||||
|
<LI><B>SGI:</B> Realtime support is enabled with the <TT>__IRIX_AL__</TT> preprocessor definition and linkage with the <TT>audio</TT>, <TT>md</TT>, and <TT>pthread</TT> libraries. STK 4.0 (and higher) is confirmed to compile using CC version 7.30. There may be problems with old compiler versions.</LI>
|
||||||
|
|
||||||
<LI><B>Generic (non-realtime):</B> Most STK classes are operating system <I>independent</I> 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 <TT>__LITTLE_ENDIAN__</TT> preprocessor definition to your compiler. The <I><B>demo</B></I> 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 <I>cannot</I> be used without realtime support: RtAudio, RtWvIn, RtWvOut, RtDuplex, RtMidi, Socket, Thread, TcpWvIn, TcpWvOut. Because of this, it is not possible to compile the <I><B>effects</B></I>, <I><B>ragamatic</B></I>, and most of the <I><B>examples</B></I> projects for non-realtime use.</LI>
|
<LI><B>Generic (non-realtime):</B> Most STK classes are operating system <I>independent</I> 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 <TT>__LITTLE_ENDIAN__</TT> preprocessor definition to your compiler. The <I><B>demo</B></I> 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 <I>cannot</I> be used without realtime support: RtAudio, RtWvIn, RtWvOut, RtDuplex, RtMidi, Socket, Thread, TcpWvIn, TcpWvOut. Because of this, it is not possible to compile the <I><B>effects</B></I>, <I><B>ragamatic</B></I>, and most of the <I><B>examples</B></I> projects for non-realtime use.</LI>
|
||||||
|
|
||||||
<LI><B>Linux:</B> Realtime support is enabled with either the <TT>__LINUX_OSS__</TT> or <TT>__LINUX_ALSA__</TT> preprocessor definitions, which are used to select the underlying audio/MIDI system API. Realtime programs must also link with the <TT>pthread</TT> library. When using the ALSA API, it is also necessary to link with the <TT>asound</TT> library. In addition, the <TT>__LITTLE_ENDIAN__</TT> preprocessor definition is necessary if compiling on a little-endian system. Assuming your system has the <A HREF="http://gnu.cetcol.net.co/">GNU</A> Makefile utilities installed, typing <TT>make</TT> within a particular project directory will initiate the compilation process. The <TT>Makefile</TT> will have to be modified to change the default audio/MIDI system API and for big-endian processors. Special support exists under Linux for the MIDIator serial MIDI device, enabled using the __MIDIATOR__ preprocessor definition (together with either the __LINUX_ALSA__ or __LINUX_OSS__ definitions). See the README-Linux file for further system configuration information.</LI>
|
|
||||||
|
|
||||||
<LI><B>SGI:</B> Realtime support is enabled with the <TT>__IRIX_AL__</TT> preprocessor definition and linkage with the <TT>audio</TT>, <TT>md</TT>, and <TT>pthread</TT> libraries. If your system has the <A HREF="http://gnu.cetcol.net.co/">GNU</A> Makefile utilities installed, typing <TT>make</TT> (or <TT>gmake</TT>) within a particular project directory will initiate the compilation process. If your system does not have the GNU Makefile utilities, you should first try to download and install them. If this is not possible, a generic Makefile is provided with the <I><B>demo</B></I> project (Makefile.sgi). It can be invoked by typing <TT>make -f Makefile.sgi</TT> within that project directory. STK 4.0 is confirmed to compile using CC version 7.30. There may be problems with old compiler versions.</LI>
|
|
||||||
|
|
||||||
<LI><B>Windows95/98/2000/XP:</B> Realtime support is enabled with the <TT>__WINDOWS_DS__</TT> preprocessor definition and linkage with the <TT>dsound.lib</TT>, <TT>winmm.lib</TT>, and <TT>Wsock32.lib</TT> libraries. In addition, the <TT>__LITTLE_ENDIAN__</TT> preprocessor definition is necessary for all Windows systems. A distribution of the release is available with precompiled binaries 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 <A HREF="http://www.microsoft.com/directx/">Microsoft</A>). Further, the <I><B>effects</B></I> project requires that your soundcard and drivers provide full duplex mode capabilities. Visual C++ 6.0 project file 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.</LI>
|
|
||||||
|
|
||||||
<LI><B>WindowsNT:</B> I've given up trying to make things work under NT. You'll have to switch to Windows 2000 (which does seem to work).</LI>
|
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
|
|
||||||
@@ -68,7 +92,7 @@ All STK programs in this distribution take input control data in the form of <A
|
|||||||
<A HREF="http://dev.scriptics.com">Tcl/Tk</A> graphical user interfaces (GUI) are provided with this distribution which can generate realtime SKINI messages. Note that the Messager class allows multiple simultaneous socket client connections, together with MIDI and/or piped input. The <I><B>Md2Skini</B></I> program (in the <I><B>demo</B></I> directory) is mostly obsolete but can be used to create SKINI scorefiles from realtime MIDI input.
|
<A HREF="http://dev.scriptics.com">Tcl/Tk</A> graphical user interfaces (GUI) are provided with this distribution which can generate realtime SKINI messages. Note that the Messager class allows multiple simultaneous socket client connections, together with MIDI and/or piped input. The <I><B>Md2Skini</B></I> program (in the <I><B>demo</B></I> directory) is mostly obsolete but can be used to create SKINI scorefiles from realtime MIDI input.
|
||||||
|
|
||||||
|
|
||||||
\section instruments Demo: STK Instruments
|
\section voices Demo: STK Instruments
|
||||||
|
|
||||||
The <I><B>demo</B></I> project demonstrates the behavior of all the distributed STK instruments. The instruments available with this release include:
|
The <I><B>demo</B></I> project demonstrates the behavior of all the distributed STK instruments. The instruments available with this release include:
|
||||||
<UL>
|
<UL>
|
||||||
@@ -91,12 +115,14 @@ The <I><B>demo</B></I> project demonstrates the behavior of all the distributed
|
|||||||
<LI>BeeThree: Cheezy organ FM synthesis model</LI>
|
<LI>BeeThree: Cheezy organ FM synthesis model</LI>
|
||||||
<LI>Moog: Swept filter sampler</LI>
|
<LI>Moog: Swept filter sampler</LI>
|
||||||
<LI>FMVoices: Three-formant FM voice synthesis</LI>
|
<LI>FMVoices: Three-formant FM voice synthesis</LI>
|
||||||
|
<LI>VoicForm: Four-formant resonance filter voice synthesis</LI>
|
||||||
<LI>Resonate: Noise through a BiQuad filter</LI>
|
<LI>Resonate: Noise through a BiQuad filter</LI>
|
||||||
<LI>Drummer: Sampling synthesis</LI>
|
<LI>Drummer: Sampling synthesis</LI>
|
||||||
<LI>BandedWG: Banded waveguide meta-object for bowed bars, tibetan bowls, etc.</LI>
|
<LI>BandedWG: Banded waveguide meta-object for bowed bars, tibetan bowls, etc.</LI>
|
||||||
<LI>Shakers: Various stochastic event models of shaker instruments</LI>
|
<LI>Shakers: Various stochastic event models of shaker instruments</LI>
|
||||||
<LI>ModalBar: Various four-resonance presets (marimba, vibraphone, etc...)</LI>
|
<LI>ModalBar: Various four-resonance presets (marimba, vibraphone, etc...)</LI>
|
||||||
<LI>Mesh2D: Two-dimensional, rectilinear digital waveguide mesh</LI>
|
<LI>Mesh2D: Two-dimensional, rectilinear digital waveguide mesh</LI>
|
||||||
|
<LI>Whistle: Hybrid physical/spectral model of a police whistle</LI>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
\section nort Demo: Non-Realtime Use
|
\section nort Demo: Non-Realtime Use
|
||||||
@@ -106,13 +132,13 @@ 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 <I>scores</I> directory of the <I><B>demo</B></I> project. Assuming a successful compilation of the <I><B>demo</B></I> program, typing:
|
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 <I>scores</I> directory of the <I><B>demo</B></I> project. Assuming a successful compilation of the <I><B>demo</B></I> program, typing:
|
||||||
|
|
||||||
\code
|
\code
|
||||||
cat scores/bookert.ski | demo BeeThree -w myfile.wav
|
cat scores/bookert.ski | demo BeeThree -ow myfile.wav
|
||||||
\endcode
|
\endcode
|
||||||
|
|
||||||
or (on WindowsXX and/or Unix)
|
or (on WindowsXX and/or Unix)
|
||||||
|
|
||||||
\code
|
\code
|
||||||
demo BeeThree -w myfile.wav < scores\bookert.ski
|
demo BeeThree -ow myfile.wav < scores\bookert.ski
|
||||||
\endcode
|
\endcode
|
||||||
|
|
||||||
from the <I><B>demo</B></I> directory will play the scorefile <I>bookert.ski</I> using the STK BeeThree instrument and write the resulting audio data to a WAV formatted soundfile called "myfile.wav". Typing <TT>demo</TT> without any arguments will provide a full program usage description.
|
from the <I><B>demo</B></I> directory will play the scorefile <I>bookert.ski</I> using the STK BeeThree instrument and write the resulting audio data to a WAV formatted soundfile called "myfile.wav". Typing <TT>demo</TT> without any arguments will provide a full program usage description.
|
||||||
@@ -120,7 +146,7 @@ from the <I><B>demo</B></I> directory will play the scorefile <I>bookert.ski</I>
|
|||||||
|
|
||||||
\section rt Demo: Realtime Use
|
\section rt Demo: Realtime Use
|
||||||
|
|
||||||
STK realtime audio and MIDI input/output and realtime SKINI control input via socketing support is provided for Linux, SGI, and Windows95/98/2000/XP operating systems. STK realtime SKINI control input via piping is possible under Linux, SGI, and Windows2000/XP only.
|
STK realtime audio and MIDI input/output and realtime SKINI control input via socketing support is provided for Linux, SGI, Mac OS X, and Windows95/98/2000/XP operating systems. STK realtime SKINI control input via piping is possible under Linux, SGI, Mac OS X, and Windows2000/XP only.
|
||||||
<P>
|
<P>
|
||||||
Control input and audio output options are typically specified as command-line arguments to STK programs. For example, the <I><B>demo</B></I> program is invoked as:
|
Control input and audio output options are typically specified as command-line arguments to STK programs. For example, the <I><B>demo</B></I> program is invoked as:
|
||||||
|
|
||||||
@@ -134,8 +160,11 @@ where instruments include those described above and flags can be any or all of:
|
|||||||
<LI><I>-ow <file name></I> for WAV soundfile output,</LI>
|
<LI><I>-ow <file name></I> for WAV soundfile output,</LI>
|
||||||
<LI><I>-os <file name></I> for SND (AU) soundfile output,</LI>
|
<LI><I>-os <file name></I> for SND (AU) soundfile output,</LI>
|
||||||
<LI><I>-om <file name></I> for MAT-file output,</LI>
|
<LI><I>-om <file name></I> for MAT-file output,</LI>
|
||||||
<LI><I>-ip</I> or <I>-is</I> for realtime SKINI control input via piping or socketing, respectively,</LI>
|
<LI><I>-ip</I> for realtime SKINI control input via piping,</LI>
|
||||||
|
<LI><I>-is <port></I> > for realtime SKINI control input via socketing (with an optional port number),</LI>
|
||||||
<LI><I>-im <file name></I> for MIDI control input</LI>
|
<LI><I>-im <file name></I> for MIDI control input</LI>
|
||||||
|
<LI><I>-s RATE</I> to specify a sample rate</LI>
|
||||||
|
<LI><I>-n NUMBER</I> to specify multivoice polyphony</LI>
|
||||||
</UL>
|
</UL>
|
||||||
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.
|
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.
|
||||||
|
|
||||||
@@ -156,7 +185,7 @@ from the <I><B>demo</B></I> directory will play the scorefile <I>bookert.ski</I>
|
|||||||
|
|
||||||
\section tcl Realtime Control Input using Tcl/Tk Graphical User Interfaces:
|
\section tcl Realtime Control Input using Tcl/Tk Graphical User Interfaces:
|
||||||
|
|
||||||
There are a number of <A HREF="http://dev.scriptics.com">Tcl/Tk</A> 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 wish80 executable to the name <I>wish</I>). The PhysicalDemo script just implements the following command-line sequence:
|
There are a number of <A HREF="http://dev.scriptics.com">Tcl/Tk</A> 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 <I>wish</I>). The Physical.bat script just implements the following command-line sequence:
|
||||||
|
|
||||||
\code
|
\code
|
||||||
wish < tcl/Physical.tcl | demo Clarinet -or -ip
|
wish < tcl/Physical.tcl | demo Clarinet -or -ip
|
||||||
@@ -180,4 +209,13 @@ On all supported realtime platforms, you can direct realtime MIDI input to the S
|
|||||||
demo Clarinet -or -im
|
demo Clarinet -or -im
|
||||||
\endcode
|
\endcode
|
||||||
|
|
||||||
|
|
||||||
|
\section polyphony Polyphony:
|
||||||
|
|
||||||
|
The <I><B>demo</B></I> program supports an arbitrary number of voices via the <TT>-n NUMBER</TT> 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:
|
||||||
|
|
||||||
|
\code
|
||||||
|
demo BeeThree -n 8 -or -im
|
||||||
|
\endcode
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -5,71 +5,71 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>ADSR.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>ADSR.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00016 <font class="comment">/***************************************************/</font>
|
00016 <span class="comment">/***************************************************/</span>
|
||||||
00017
|
00017
|
||||||
00018 <font class="preprocessor">#if !defined(__ADSR_H)</font>
|
00018 <span class="preprocessor">#if !defined(__ADSR_H)</span>
|
||||||
00019 <font class="preprocessor"></font><font class="preprocessor">#define __ADSR_H</font>
|
00019 <span class="preprocessor"></span><span class="preprocessor">#define __ADSR_H</span>
|
||||||
00020 <font class="preprocessor"></font>
|
00020 <span class="preprocessor"></span>
|
||||||
00021 <font class="preprocessor">#include "Envelope.h"</font>
|
00021 <span class="preprocessor">#include "Envelope.h"</span>
|
||||||
00022
|
00022
|
||||||
00023 <font class="keyword">class </font><a class="code" href="classADSR.html">ADSR</a> : <font class="keyword">public</font> <a class="code" href="classEnvelope.html">Envelope</a>
|
<a name="l00023"></a><a class="code" href="classADSR.html">00023</a> <span class="keyword">class </span><a class="code" href="classADSR.html">ADSR</a> : <span class="keyword">public</span> <a class="code" href="classEnvelope.html">Envelope</a>
|
||||||
00024 {
|
00024 {
|
||||||
00025 <font class="keyword">public</font>:
|
00025 <span class="keyword">public</span>:
|
||||||
00026
|
00026
|
||||||
00028 <font class="keyword">enum</font> { ATTACK, DECAY, SUSTAIN, RELEASE, DONE };
|
00028 <span class="keyword">enum</span> { ATTACK, DECAY, SUSTAIN, RELEASE, DONE };
|
||||||
00029
|
00029
|
||||||
00031 <a class="code" href="classADSR.html#a0">ADSR</a>(<font class="keywordtype">void</font>);
|
00031 <a class="code" href="classADSR.html#a0">ADSR</a>(<span class="keywordtype">void</span>);
|
||||||
00032
|
00032
|
||||||
00034 <a class="code" href="classADSR.html#a1">~ADSR</a>(<font class="keywordtype">void</font>);
|
00034 <a class="code" href="classADSR.html#a1">~ADSR</a>(<span class="keywordtype">void</span>);
|
||||||
00035
|
00035
|
||||||
00037 <font class="keywordtype">void</font> <a class="code" href="classEnvelope.html#a2">keyOn</a>(<font class="keywordtype">void</font>);
|
00037 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
|
||||||
00038
|
00038
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classEnvelope.html#a3">keyOff</a>(<font class="keywordtype">void</font>);
|
00040 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
|
||||||
00041
|
00041
|
||||||
00043 <font class="keywordtype">void</font> <a class="code" href="classADSR.html#a4">setAttackRate</a>(MY_FLOAT aRate);
|
00043 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a4">setAttackRate</a>(MY_FLOAT aRate);
|
||||||
00044
|
00044
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classADSR.html#a5">setDecayRate</a>(MY_FLOAT aRate);
|
00046 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a5">setDecayRate</a>(MY_FLOAT aRate);
|
||||||
00047
|
00047
|
||||||
00049 <font class="keywordtype">void</font> <a class="code" href="classADSR.html#a6">setSustainLevel</a>(MY_FLOAT aLevel);
|
00049 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a6">setSustainLevel</a>(MY_FLOAT aLevel);
|
||||||
00050
|
00050
|
||||||
00052 <font class="keywordtype">void</font> <a class="code" href="classADSR.html#a7">setReleaseRate</a>(MY_FLOAT aRate);
|
00052 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a7">setReleaseRate</a>(MY_FLOAT aRate);
|
||||||
00053
|
00053
|
||||||
00055 <font class="keywordtype">void</font> <a class="code" href="classADSR.html#a8">setAttackTime</a>(MY_FLOAT aTime);
|
00055 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a8">setAttackTime</a>(MY_FLOAT aTime);
|
||||||
00056
|
00056
|
||||||
00058 <font class="keywordtype">void</font> <a class="code" href="classADSR.html#a9">setDecayTime</a>(MY_FLOAT aTime);
|
00058 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a9">setDecayTime</a>(MY_FLOAT aTime);
|
||||||
00059
|
00059
|
||||||
00061 <font class="keywordtype">void</font> <a class="code" href="classADSR.html#a10">setReleaseTime</a>(MY_FLOAT aTime);
|
00061 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a10">setReleaseTime</a>(MY_FLOAT aTime);
|
||||||
00062
|
00062
|
||||||
00064 <font class="keywordtype">void</font> <a class="code" href="classADSR.html#a11">setAllTimes</a>(MY_FLOAT aTime, MY_FLOAT dTime, MY_FLOAT sLevel, MY_FLOAT rTime);
|
00064 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a11">setAllTimes</a>(MY_FLOAT aTime, MY_FLOAT dTime, MY_FLOAT sLevel, MY_FLOAT rTime);
|
||||||
00065
|
00065
|
||||||
00067 <font class="keywordtype">void</font> <a class="code" href="classEnvelope.html#a6">setTarget</a>(MY_FLOAT aTarget);
|
00067 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a12">setTarget</a>(MY_FLOAT aTarget);
|
||||||
00068
|
00068
|
||||||
00070 <font class="keywordtype">int</font> <a class="code" href="classEnvelope.html#a8">getState</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00070 <span class="keywordtype">int</span> <a class="code" href="classADSR.html#a13">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00071
|
00071
|
||||||
00073 <font class="keywordtype">void</font> <a class="code" href="classEnvelope.html#a7">setValue</a>(MY_FLOAT aValue);
|
00073 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a14">setValue</a>(MY_FLOAT aValue);
|
||||||
00074
|
00074
|
||||||
00076 MY_FLOAT <a class="code" href="classEnvelope.html#a9">tick</a>(<font class="keywordtype">void</font>);
|
00076 MY_FLOAT <a class="code" href="classADSR.html#a15">tick</a>(<span class="keywordtype">void</span>);
|
||||||
00077
|
00077
|
||||||
00079 MY_FLOAT *<a class="code" href="classEnvelope.html#a9">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00079 MY_FLOAT *<a class="code" href="classADSR.html#a15">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00080
|
00080
|
||||||
00081 <font class="keyword">protected</font>:
|
00081 <span class="keyword">protected</span>:
|
||||||
00082 MY_FLOAT attackRate;
|
00082 MY_FLOAT attackRate;
|
||||||
00083 MY_FLOAT decayRate;
|
00083 MY_FLOAT decayRate;
|
||||||
00084 MY_FLOAT sustainLevel;
|
00084 MY_FLOAT sustainLevel;
|
||||||
00085 MY_FLOAT releaseRate;
|
00085 MY_FLOAT releaseRate;
|
||||||
00086 };
|
00086 };
|
||||||
00087
|
00087
|
||||||
00088 <font class="preprocessor">#endif</font>
|
00088 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,82 +5,86 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>BandedWG.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>BandedWG.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00030 <font class="comment">/***************************************************/</font>
|
00030 <span class="comment">/***************************************************/</span>
|
||||||
00031
|
00031
|
||||||
00032 <font class="preprocessor">#if !defined(__BANDEDWG_H)</font>
|
00032 <span class="preprocessor">#if !defined(__BANDEDWG_H)</span>
|
||||||
00033 <font class="preprocessor"></font><font class="preprocessor">#define __BANDEDWG_H</font>
|
00033 <span class="preprocessor"></span><span class="preprocessor">#define __BANDEDWG_H</span>
|
||||||
00034 <font class="preprocessor"></font>
|
00034 <span class="preprocessor"></span>
|
||||||
00035 <font class="preprocessor">#define MAX_BANDED_MODES 17</font>
|
00035 <span class="preprocessor">#define MAX_BANDED_MODES 20</span>
|
||||||
00036 <font class="preprocessor"></font>
|
00036 <span class="preprocessor"></span>
|
||||||
00037 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00037 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00038 <font class="preprocessor">#include "Delay.h"</font>
|
00038 <span class="preprocessor">#include "DelayL.h"</span>
|
||||||
00039 <font class="preprocessor">#include "BowTabl.h"</font>
|
00039 <span class="preprocessor">#include "BowTabl.h"</span>
|
||||||
00040 <font class="preprocessor">#include "ADSR.h"</font>
|
00040 <span class="preprocessor">#include "ADSR.h"</span>
|
||||||
00041 <font class="preprocessor">#include "BiQuad.h"</font>
|
00041 <span class="preprocessor">#include "BiQuad.h"</span>
|
||||||
00042
|
00042
|
||||||
00043 <font class="keyword">class </font><a class="code" href="classBandedWG.html">BandedWG</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00043"></a><a class="code" href="classBandedWG.html">00043</a> <span class="keyword">class </span><a class="code" href="classBandedWG.html">BandedWG</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00044 {
|
00044 {
|
||||||
00045 <font class="keyword">public</font>:
|
00045 <span class="keyword">public</span>:
|
||||||
00047 <a class="code" href="classBandedWG.html#a0">BandedWG</a>();
|
00047 <a class="code" href="classBandedWG.html#a0">BandedWG</a>();
|
||||||
00048
|
00048
|
||||||
00050 <a class="code" href="classBandedWG.html#a1">~BandedWG</a>();
|
00050 <a class="code" href="classBandedWG.html#a1">~BandedWG</a>();
|
||||||
00051
|
00051
|
||||||
00053 <font class="keywordtype">void</font> <a class="code" href="classBandedWG.html#a2">clear</a>();
|
00053 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a2">clear</a>();
|
||||||
00054
|
00054
|
||||||
00056 <font class="keywordtype">void</font> <a class="code" href="classBandedWG.html#a3">setStrikePosition</a>(MY_FLOAT position);
|
00056 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a3">setStrikePosition</a>(MY_FLOAT position);
|
||||||
00057
|
00057
|
||||||
00059 <font class="keywordtype">void</font> <a class="code" href="classBandedWG.html#a4">setPreset</a>(<font class="keywordtype">int</font> preset);
|
00059 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
|
||||||
00060
|
00060
|
||||||
00062 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00062 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a5">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00063
|
00063
|
||||||
00065 <font class="keywordtype">void</font> <a class="code" href="classBandedWG.html#a6">startBowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
00065 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a6">startBowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
||||||
00066
|
00066
|
||||||
00068 <font class="keywordtype">void</font> <a class="code" href="classBandedWG.html#a7">stopBowing</a>(MY_FLOAT rate);
|
00068 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a7">stopBowing</a>(MY_FLOAT rate);
|
||||||
00069
|
00069
|
||||||
00071 <font class="keywordtype">void</font> <a class="code" href="classBandedWG.html#a8">pluck</a>(MY_FLOAT amp);
|
00071 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a8">pluck</a>(MY_FLOAT amp);
|
||||||
00072
|
00072
|
||||||
00074 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00074 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a9">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00075
|
00075
|
||||||
00077 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00077 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a10">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00078
|
00078
|
||||||
00080 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00080 MY_FLOAT <a class="code" href="classBandedWG.html#a11">tick</a>();
|
||||||
00081
|
00081
|
||||||
00083 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00083 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00084
|
00084
|
||||||
00085 <font class="keyword">protected</font>:
|
00085 <span class="keyword">protected</span>:
|
||||||
00086
|
00086
|
||||||
00087 <font class="keywordtype">bool</font> doPluck;
|
00087 <span class="keywordtype">bool</span> doPluck;
|
||||||
00088 <font class="keywordtype">bool</font> trackVelocity;
|
00088 <span class="keywordtype">bool</span> trackVelocity;
|
||||||
00089 <font class="keywordtype">int</font> nModes;
|
00089 <span class="keywordtype">int</span> nModes;
|
||||||
00090 <font class="keywordtype">int</font> presetModes;
|
00090 <span class="keywordtype">int</span> presetModes;
|
||||||
00091 <a class="code" href="classBowTabl.html">BowTabl</a> *bowTabl;
|
00091 <a class="code" href="classBowTabl.html">BowTabl</a> *bowTabl;
|
||||||
00092 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
00092 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
||||||
00093 <a class="code" href="classBiQuad.html">BiQuad</a> *bandpass;
|
00093 <a class="code" href="classBiQuad.html">BiQuad</a> *bandpass;
|
||||||
00094 <a class="code" href="classDelay.html">Delay</a> *delay;
|
00094 <a class="code" href="classDelayL.html">DelayL</a> *delay;
|
||||||
00095 MY_FLOAT maxVelocity;
|
00095 MY_FLOAT maxVelocity;
|
||||||
00096 MY_FLOAT modes[MAX_BANDED_MODES];
|
00096 MY_FLOAT modes[MAX_BANDED_MODES];
|
||||||
00097 MY_FLOAT freakency;
|
00097 MY_FLOAT freakency;
|
||||||
00098 MY_FLOAT baseGain;
|
00098 MY_FLOAT baseGain;
|
||||||
00099 MY_FLOAT gains[MAX_BANDED_MODES];
|
00099 MY_FLOAT gains[MAX_BANDED_MODES];
|
||||||
00100 MY_FLOAT integrationConstant;
|
00100 MY_FLOAT basegains[MAX_BANDED_MODES];
|
||||||
00101 MY_FLOAT bowVelocity;
|
00101 MY_FLOAT excitation[MAX_BANDED_MODES];
|
||||||
00102 MY_FLOAT bowTarget;
|
00102 MY_FLOAT integrationConstant;
|
||||||
00103 MY_FLOAT bowPosition;
|
00103 MY_FLOAT velocityInput;
|
||||||
00104 <font class="keywordtype">int</font> strikePosition;
|
00104 MY_FLOAT bowVelocity;
|
||||||
00105
|
00105 MY_FLOAT bowTarget;
|
||||||
00106 };
|
00106 MY_FLOAT bowPosition;
|
||||||
00107
|
00107 MY_FLOAT strikeAmp;
|
||||||
00108 <font class="preprocessor">#endif</font>
|
00108 <span class="keywordtype">int</span> strikePosition;
|
||||||
</font></pre></div><HR>
|
00109
|
||||||
|
00110 };
|
||||||
|
00111
|
||||||
|
00112 <span class="preprocessor">#endif</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,36 +5,36 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>BeeThree.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>BeeThree.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00033 <font class="comment">/***************************************************/</font>
|
00033 <span class="comment">/***************************************************/</span>
|
||||||
00034
|
00034
|
||||||
00035 <font class="preprocessor">#if !defined(__BEETHREE_H)</font>
|
00035 <span class="preprocessor">#if !defined(__BEETHREE_H)</span>
|
||||||
00036 <font class="preprocessor"></font><font class="preprocessor">#define __BEETHREE_H</font>
|
00036 <span class="preprocessor"></span><span class="preprocessor">#define __BEETHREE_H</span>
|
||||||
00037 <font class="preprocessor"></font>
|
00037 <span class="preprocessor"></span>
|
||||||
00038 <font class="preprocessor">#include "FM.h"</font>
|
00038 <span class="preprocessor">#include "FM.h"</span>
|
||||||
00039
|
00039
|
||||||
00040 <font class="keyword">class </font><a class="code" href="classBeeThree.html">BeeThree</a> : <font class="keyword">public</font> <a class="code" href="classFM.html">FM</a>
|
<a name="l00040"></a><a class="code" href="classBeeThree.html">00040</a> <span class="keyword">class </span><a class="code" href="classBeeThree.html">BeeThree</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
|
||||||
00041 {
|
00041 {
|
||||||
00042 <font class="keyword">public</font>:
|
00042 <span class="keyword">public</span>:
|
||||||
00044 <a class="code" href="classBeeThree.html#a0">BeeThree</a>();
|
00044 <a class="code" href="classBeeThree.html#a0">BeeThree</a>();
|
||||||
00045
|
00045
|
||||||
00047 <a class="code" href="classBeeThree.html#a1">~BeeThree</a>();
|
00047 <a class="code" href="classBeeThree.html#a1">~BeeThree</a>();
|
||||||
00048
|
00048
|
||||||
00050 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00050 <span class="keywordtype">void</span> <a class="code" href="classBeeThree.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00051
|
00051
|
||||||
00053 MY_FLOAT <a class="code" href="classFM.html#a14">tick</a>();
|
00053 MY_FLOAT <a class="code" href="classBeeThree.html#a3">tick</a>();
|
||||||
00054 };
|
00054 };
|
||||||
00055
|
00055
|
||||||
00056 <font class="preprocessor">#endif</font>
|
00056 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,65 +5,65 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>BiQuad.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>BiQuad.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00013 <font class="comment">/***************************************************/</font>
|
00013 <span class="comment">/***************************************************/</span>
|
||||||
00014
|
00014
|
||||||
00015 <font class="preprocessor">#if !defined(__BIQUAD_H)</font>
|
00015 <span class="preprocessor">#if !defined(__BIQUAD_H)</span>
|
||||||
00016 <font class="preprocessor"></font><font class="preprocessor">#define __BIQUAD_H</font>
|
00016 <span class="preprocessor"></span><span class="preprocessor">#define __BIQUAD_H</span>
|
||||||
00017 <font class="preprocessor"></font>
|
00017 <span class="preprocessor"></span>
|
||||||
00018 <font class="preprocessor">#include "Filter.h"</font>
|
00018 <span class="preprocessor">#include "Filter.h"</span>
|
||||||
00019
|
00019
|
||||||
00020 <font class="keyword">class </font><a class="code" href="classBiQuad.html">BiQuad</a> : <font class="keyword">protected</font> <a class="code" href="classFilter.html">Filter</a>
|
<a name="l00020"></a><a class="code" href="classBiQuad.html">00020</a> <span class="keyword">class </span><a class="code" href="classBiQuad.html">BiQuad</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
|
||||||
00021 {
|
00021 {
|
||||||
00022 <font class="keyword">public</font>:
|
00022 <span class="keyword">public</span>:
|
||||||
00023
|
00023
|
||||||
00025 <a class="code" href="classBiQuad.html#a0">BiQuad</a>();
|
00025 <a class="code" href="classBiQuad.html#a0">BiQuad</a>();
|
||||||
00026
|
00026
|
||||||
00028 <font class="keyword">virtual</font> <a class="code" href="classBiQuad.html#a1">~BiQuad</a>();
|
00028 <span class="keyword">virtual</span> <a class="code" href="classBiQuad.html#a1">~BiQuad</a>();
|
||||||
00029
|
00029
|
||||||
00031 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a3">clear</a>(<font class="keywordtype">void</font>);
|
00031 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a2">clear</a>(<span class="keywordtype">void</span>);
|
||||||
00032
|
00032
|
||||||
00034 <font class="keywordtype">void</font> <a class="code" href="classBiQuad.html#a3">setB0</a>(MY_FLOAT b0);
|
00034 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a3">setB0</a>(MY_FLOAT b0);
|
||||||
00035
|
00035
|
||||||
00037 <font class="keywordtype">void</font> <a class="code" href="classBiQuad.html#a4">setB1</a>(MY_FLOAT b1);
|
00037 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a4">setB1</a>(MY_FLOAT b1);
|
||||||
00038
|
00038
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classBiQuad.html#a5">setB2</a>(MY_FLOAT b2);
|
00040 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a5">setB2</a>(MY_FLOAT b2);
|
||||||
00041
|
00041
|
||||||
00043 <font class="keywordtype">void</font> <a class="code" href="classBiQuad.html#a6">setA1</a>(MY_FLOAT a1);
|
00043 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a6">setA1</a>(MY_FLOAT a1);
|
||||||
00044
|
00044
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classBiQuad.html#a7">setA2</a>(MY_FLOAT a2);
|
00046 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a7">setA2</a>(MY_FLOAT a2);
|
||||||
00047
|
00047
|
||||||
00049
|
00049
|
||||||
00060 <font class="keywordtype">void</font> <a class="code" href="classBiQuad.html#a8">setResonance</a>(MY_FLOAT frequency, MY_FLOAT radius, <font class="keywordtype">bool</font> normalize = FALSE);
|
00060 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a8">setResonance</a>(MY_FLOAT frequency, MY_FLOAT radius, <span class="keywordtype">bool</span> normalize = FALSE);
|
||||||
00061
|
00061
|
||||||
00063
|
00063
|
||||||
00069 <font class="keywordtype">void</font> <a class="code" href="classBiQuad.html#a9">setNotch</a>(MY_FLOAT frequency, MY_FLOAT radius);
|
00069 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a9">setNotch</a>(MY_FLOAT frequency, MY_FLOAT radius);
|
||||||
00070
|
00070
|
||||||
00072
|
00072
|
||||||
00078 <font class="keywordtype">void</font> <a class="code" href="classBiQuad.html#a10">setEqualGainZeroes</a>();
|
00078 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a10">setEqualGainZeroes</a>();
|
||||||
00079
|
00079
|
||||||
00081
|
00081
|
||||||
00085 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a7">setGain</a>(MY_FLOAT theGain);
|
00085 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a11">setGain</a>(MY_FLOAT theGain);
|
||||||
00086
|
00086
|
||||||
00088 MY_FLOAT <a class="code" href="classFilter.html#a8">getGain</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00088 MY_FLOAT <a class="code" href="classBiQuad.html#a12">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00089
|
00089
|
||||||
00091 MY_FLOAT <a class="code" href="classFilter.html#a9">lastOut</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00091 MY_FLOAT <a class="code" href="classBiQuad.html#a13">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00092
|
00092
|
||||||
00094 MY_FLOAT <a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT sample);
|
00094 MY_FLOAT <a class="code" href="classBiQuad.html#a14">tick</a>(MY_FLOAT sample);
|
||||||
00095
|
00095
|
||||||
00097 MY_FLOAT *<a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00097 MY_FLOAT *<a class="code" href="classBiQuad.html#a14">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00098 };
|
00098 };
|
||||||
00099
|
00099
|
||||||
00100 <font class="preprocessor">#endif</font>
|
00100 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,48 +5,48 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>BlowBotl.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>BlowBotl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00017 <font class="comment">/***************************************************/</font>
|
00017 <span class="comment">/***************************************************/</span>
|
||||||
00018
|
00018
|
||||||
00019 <font class="preprocessor">#if !defined(__BOTTLE_H)</font>
|
00019 <span class="preprocessor">#if !defined(__BOTTLE_H)</span>
|
||||||
00020 <font class="preprocessor"></font><font class="preprocessor">#define __BOTTLE_H</font>
|
00020 <span class="preprocessor"></span><span class="preprocessor">#define __BOTTLE_H</span>
|
||||||
00021 <font class="preprocessor"></font>
|
00021 <span class="preprocessor"></span>
|
||||||
00022 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00022 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00023 <font class="preprocessor">#include "JetTabl.h"</font>
|
00023 <span class="preprocessor">#include "JetTabl.h"</span>
|
||||||
00024 <font class="preprocessor">#include "BiQuad.h"</font>
|
00024 <span class="preprocessor">#include "BiQuad.h"</span>
|
||||||
00025 <font class="preprocessor">#include "PoleZero.h"</font>
|
00025 <span class="preprocessor">#include "PoleZero.h"</span>
|
||||||
00026 <font class="preprocessor">#include "Noise.h"</font>
|
00026 <span class="preprocessor">#include "Noise.h"</span>
|
||||||
00027 <font class="preprocessor">#include "ADSR.h"</font>
|
00027 <span class="preprocessor">#include "ADSR.h"</span>
|
||||||
00028 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00028 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00029
|
00029
|
||||||
00030 <font class="keyword">class </font><a class="code" href="classBlowBotl.html">BlowBotl</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00030"></a><a class="code" href="classBlowBotl.html">00030</a> <span class="keyword">class </span><a class="code" href="classBlowBotl.html">BlowBotl</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00031 {
|
00031 {
|
||||||
00032 <font class="keyword">public</font>:
|
00032 <span class="keyword">public</span>:
|
||||||
00034 <a class="code" href="classBlowBotl.html#a0">BlowBotl</a>();
|
00034 <a class="code" href="classBlowBotl.html#a0">BlowBotl</a>();
|
||||||
00035
|
00035
|
||||||
00037 <a class="code" href="classBlowBotl.html#a1">~BlowBotl</a>();
|
00037 <a class="code" href="classBlowBotl.html#a1">~BlowBotl</a>();
|
||||||
00038
|
00038
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classBlowBotl.html#a2">clear</a>();
|
00040 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a2">clear</a>();
|
||||||
00041
|
00041
|
||||||
00043 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00043 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00044
|
00044
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classBlowBotl.html#a4">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
00046 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a4">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
||||||
00047
|
00047
|
||||||
00049 <font class="keywordtype">void</font> <a class="code" href="classBlowBotl.html#a5">stopBlowing</a>(MY_FLOAT rate);
|
00049 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a5">stopBlowing</a>(MY_FLOAT rate);
|
||||||
00050
|
00050
|
||||||
00052 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00052 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00053
|
00053
|
||||||
00055 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00055 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a7">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00056
|
00056
|
||||||
00058 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00058 MY_FLOAT <a class="code" href="classBlowBotl.html#a8">tick</a>();
|
||||||
00059
|
00059
|
||||||
00061 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00061 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00062
|
00062
|
||||||
00063 <font class="keyword">protected</font>:
|
00063 <span class="keyword">protected</span>:
|
||||||
00064 <a class="code" href="classJetTabl.html">JetTabl</a> *jetTable;
|
00064 <a class="code" href="classJetTabl.html">JetTabl</a> *jetTable;
|
||||||
00065 <a class="code" href="classBiQuad.html">BiQuad</a> *resonator;
|
00065 <a class="code" href="classBiQuad.html">BiQuad</a> *resonator;
|
||||||
00066 <a class="code" href="classPoleZero.html">PoleZero</a> *dcBlock;
|
00066 <a class="code" href="classPoleZero.html">PoleZero</a> *dcBlock;
|
||||||
@@ -60,12 +60,12 @@
|
|||||||
00074
|
00074
|
||||||
00075 };
|
00075 };
|
||||||
00076
|
00076
|
||||||
00077 <font class="preprocessor">#endif</font>
|
00077 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,53 +5,53 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>BlowHole.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>BlowHole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00034 <font class="comment">/***************************************************/</font>
|
00034 <span class="comment">/***************************************************/</span>
|
||||||
00035
|
00035
|
||||||
00036 <font class="preprocessor">#if !defined(__BLOWHOLE_H)</font>
|
00036 <span class="preprocessor">#if !defined(__BLOWHOLE_H)</span>
|
||||||
00037 <font class="preprocessor"></font><font class="preprocessor">#define __BLOWHOLE_H</font>
|
00037 <span class="preprocessor"></span><span class="preprocessor">#define __BLOWHOLE_H</span>
|
||||||
00038 <font class="preprocessor"></font>
|
00038 <span class="preprocessor"></span>
|
||||||
00039 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00039 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00040 <font class="preprocessor">#include "DelayL.h"</font>
|
00040 <span class="preprocessor">#include "DelayL.h"</span>
|
||||||
00041 <font class="preprocessor">#include "ReedTabl.h"</font>
|
00041 <span class="preprocessor">#include "ReedTabl.h"</span>
|
||||||
00042 <font class="preprocessor">#include "OneZero.h"</font>
|
00042 <span class="preprocessor">#include "OneZero.h"</span>
|
||||||
00043 <font class="preprocessor">#include "PoleZero.h"</font>
|
00043 <span class="preprocessor">#include "PoleZero.h"</span>
|
||||||
00044 <font class="preprocessor">#include "Envelope.h"</font>
|
00044 <span class="preprocessor">#include "Envelope.h"</span>
|
||||||
00045 <font class="preprocessor">#include "Noise.h"</font>
|
00045 <span class="preprocessor">#include "Noise.h"</span>
|
||||||
00046 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00046 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00047
|
00047
|
||||||
00048 <font class="keyword">class </font><a class="code" href="classBlowHole.html">BlowHole</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00048"></a><a class="code" href="classBlowHole.html">00048</a> <span class="keyword">class </span><a class="code" href="classBlowHole.html">BlowHole</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00049 {
|
00049 {
|
||||||
00050 <font class="keyword">public</font>:
|
00050 <span class="keyword">public</span>:
|
||||||
00052 <a class="code" href="classBlowHole.html#a0">BlowHole</a>(MY_FLOAT lowestFrequency);
|
00052 <a class="code" href="classBlowHole.html#a0">BlowHole</a>(MY_FLOAT lowestFrequency);
|
||||||
00053
|
00053
|
||||||
00055 <a class="code" href="classBlowHole.html#a1">~BlowHole</a>();
|
00055 <a class="code" href="classBlowHole.html#a1">~BlowHole</a>();
|
||||||
00056
|
00056
|
||||||
00058 <font class="keywordtype">void</font> <a class="code" href="classBlowHole.html#a2">clear</a>();
|
00058 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a2">clear</a>();
|
||||||
00059
|
00059
|
||||||
00061 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00061 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00062
|
00062
|
||||||
00064 <font class="keywordtype">void</font> <a class="code" href="classBlowHole.html#a4">setTonehole</a>(MY_FLOAT newValue);
|
00064 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a4">setTonehole</a>(MY_FLOAT newValue);
|
||||||
00065
|
00065
|
||||||
00067 <font class="keywordtype">void</font> <a class="code" href="classBlowHole.html#a5">setVent</a>(MY_FLOAT newValue);
|
00067 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a5">setVent</a>(MY_FLOAT newValue);
|
||||||
00068
|
00068
|
||||||
00070 <font class="keywordtype">void</font> <a class="code" href="classBlowHole.html#a6">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
00070 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a6">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
||||||
00071
|
00071
|
||||||
00073 <font class="keywordtype">void</font> <a class="code" href="classBlowHole.html#a7">stopBlowing</a>(MY_FLOAT rate);
|
00073 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a7">stopBlowing</a>(MY_FLOAT rate);
|
||||||
00074
|
00074
|
||||||
00076 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00076 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a8">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00077
|
00077
|
||||||
00079 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00079 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a9">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00080
|
00080
|
||||||
00082 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00082 MY_FLOAT <a class="code" href="classBlowHole.html#a10">tick</a>();
|
||||||
00083
|
00083
|
||||||
00085 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00085 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00086
|
00086
|
||||||
00087 <font class="keyword">protected</font>:
|
00087 <span class="keyword">protected</span>:
|
||||||
00088 <a class="code" href="classDelayL.html">DelayL</a> *delays[3];
|
00088 <a class="code" href="classDelayL.html">DelayL</a> *delays[3];
|
||||||
00089 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable;
|
00089 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable;
|
||||||
00090 <a class="code" href="classOneZero.html">OneZero</a> *filter;
|
00090 <a class="code" href="classOneZero.html">OneZero</a> *filter;
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
00093 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
|
00093 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
|
||||||
00094 <a class="code" href="classNoise.html">Noise</a> *noise;
|
00094 <a class="code" href="classNoise.html">Noise</a> *noise;
|
||||||
00095 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
00095 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
||||||
00096 <font class="keywordtype">long</font> length;
|
00096 <span class="keywordtype">long</span> length;
|
||||||
00097 MY_FLOAT scatter;
|
00097 MY_FLOAT scatter;
|
||||||
00098 MY_FLOAT th_coeff;
|
00098 MY_FLOAT th_coeff;
|
||||||
00099 MY_FLOAT r_th;
|
00099 MY_FLOAT r_th;
|
||||||
@@ -72,12 +72,12 @@
|
|||||||
00105
|
00105
|
||||||
00106 };
|
00106 };
|
||||||
00107
|
00107
|
||||||
00108 <font class="preprocessor">#endif</font>
|
00108 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,51 +5,51 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>BowTabl.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>BowTabl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00010 <font class="comment">/***************************************************/</font>
|
00010 <span class="comment">/***************************************************/</span>
|
||||||
00011
|
00011
|
||||||
00012 <font class="preprocessor">#if !defined(__BOWTABL_H)</font>
|
00012 <span class="preprocessor">#if !defined(__BOWTABL_H)</span>
|
||||||
00013 <font class="preprocessor"></font><font class="preprocessor">#define __BOWTABL_H</font>
|
00013 <span class="preprocessor"></span><span class="preprocessor">#define __BOWTABL_H</span>
|
||||||
00014 <font class="preprocessor"></font>
|
00014 <span class="preprocessor"></span>
|
||||||
00015 <font class="preprocessor">#include "Stk.h"</font>
|
00015 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00016
|
00016
|
||||||
00017 <font class="keyword">class </font><a class="code" href="classBowTabl.html">BowTabl</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00017"></a><a class="code" href="classBowTabl.html">00017</a> <span class="keyword">class </span><a class="code" href="classBowTabl.html">BowTabl</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00018 {
|
00018 {
|
||||||
00019 <font class="keyword">public</font>:
|
00019 <span class="keyword">public</span>:
|
||||||
00021 <a class="code" href="classBowTabl.html#a0">BowTabl</a>();
|
00021 <a class="code" href="classBowTabl.html#a0">BowTabl</a>();
|
||||||
00022
|
00022
|
||||||
00024 <a class="code" href="classBowTabl.html#a1">~BowTabl</a>();
|
00024 <a class="code" href="classBowTabl.html#a1">~BowTabl</a>();
|
||||||
00025
|
00025
|
||||||
00027
|
00027
|
||||||
00033 <font class="keywordtype">void</font> <a class="code" href="classBowTabl.html#a2">setOffset</a>(MY_FLOAT aValue);
|
00033 <span class="keywordtype">void</span> <a class="code" href="classBowTabl.html#a2">setOffset</a>(MY_FLOAT aValue);
|
||||||
00034
|
00034
|
||||||
00036
|
00036
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classBowTabl.html#a3">setSlope</a>(MY_FLOAT aValue);
|
00040 <span class="keywordtype">void</span> <a class="code" href="classBowTabl.html#a3">setSlope</a>(MY_FLOAT aValue);
|
||||||
00041
|
00041
|
||||||
00043 MY_FLOAT <a class="code" href="classBowTabl.html#a4">lastOut</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00043 MY_FLOAT <a class="code" href="classBowTabl.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00044
|
00044
|
||||||
00046
|
00046
|
||||||
00050 MY_FLOAT <a class="code" href="classBowTabl.html#a5">tick</a>(<font class="keyword">const</font> MY_FLOAT input);
|
00050 MY_FLOAT <a class="code" href="classBowTabl.html#a5">tick</a>(<span class="keyword">const</span> MY_FLOAT input);
|
||||||
00051
|
00051
|
||||||
00053 MY_FLOAT *<a class="code" href="classBowTabl.html#a5">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00053 MY_FLOAT *<a class="code" href="classBowTabl.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00054
|
00054
|
||||||
00055 <font class="keyword">protected</font>:
|
00055 <span class="keyword">protected</span>:
|
||||||
00056 MY_FLOAT offSet;
|
00056 MY_FLOAT offSet;
|
||||||
00057 MY_FLOAT slope;
|
00057 MY_FLOAT slope;
|
||||||
00058 MY_FLOAT lastOutput;
|
00058 MY_FLOAT lastOutput;
|
||||||
00059
|
00059
|
||||||
00060 };
|
00060 };
|
||||||
00061
|
00061
|
||||||
00062 <font class="preprocessor">#endif</font>
|
00062 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,50 +5,50 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Bowed.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Bowed.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00022 <font class="comment">/***************************************************/</font>
|
00022 <span class="comment">/***************************************************/</span>
|
||||||
00023
|
00023
|
||||||
00024 <font class="preprocessor">#if !defined(__BOWED_H)</font>
|
00024 <span class="preprocessor">#if !defined(__BOWED_H)</span>
|
||||||
00025 <font class="preprocessor"></font><font class="preprocessor">#define __BOWED_H</font>
|
00025 <span class="preprocessor"></span><span class="preprocessor">#define __BOWED_H</span>
|
||||||
00026 <font class="preprocessor"></font>
|
00026 <span class="preprocessor"></span>
|
||||||
00027 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00027 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00028 <font class="preprocessor">#include "DelayL.h"</font>
|
00028 <span class="preprocessor">#include "DelayL.h"</span>
|
||||||
00029 <font class="preprocessor">#include "BowTabl.h"</font>
|
00029 <span class="preprocessor">#include "BowTabl.h"</span>
|
||||||
00030 <font class="preprocessor">#include "OnePole.h"</font>
|
00030 <span class="preprocessor">#include "OnePole.h"</span>
|
||||||
00031 <font class="preprocessor">#include "BiQuad.h"</font>
|
00031 <span class="preprocessor">#include "BiQuad.h"</span>
|
||||||
00032 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00032 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00033 <font class="preprocessor">#include "ADSR.h"</font>
|
00033 <span class="preprocessor">#include "ADSR.h"</span>
|
||||||
00034
|
00034
|
||||||
00035 <font class="keyword">class </font><a class="code" href="classBowed.html">Bowed</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00035"></a><a class="code" href="classBowed.html">00035</a> <span class="keyword">class </span><a class="code" href="classBowed.html">Bowed</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00036 {
|
00036 {
|
||||||
00037 <font class="keyword">public</font>:
|
00037 <span class="keyword">public</span>:
|
||||||
00039 <a class="code" href="classBowed.html#a0">Bowed</a>(MY_FLOAT lowestFrequency);
|
00039 <a class="code" href="classBowed.html#a0">Bowed</a>(MY_FLOAT lowestFrequency);
|
||||||
00040
|
00040
|
||||||
00042 <a class="code" href="classBowed.html#a1">~Bowed</a>();
|
00042 <a class="code" href="classBowed.html#a1">~Bowed</a>();
|
||||||
00043
|
00043
|
||||||
00045 <font class="keywordtype">void</font> <a class="code" href="classBowed.html#a2">clear</a>();
|
00045 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a2">clear</a>();
|
||||||
00046
|
00046
|
||||||
00048 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00048 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00049
|
00049
|
||||||
00051 <font class="keywordtype">void</font> <a class="code" href="classBowed.html#a4">setVibrato</a>(MY_FLOAT gain);
|
00051 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a4">setVibrato</a>(MY_FLOAT gain);
|
||||||
00052
|
00052
|
||||||
00054 <font class="keywordtype">void</font> <a class="code" href="classBowed.html#a5">startBowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
00054 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a5">startBowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
||||||
00055
|
00055
|
||||||
00057 <font class="keywordtype">void</font> <a class="code" href="classBowed.html#a6">stopBowing</a>(MY_FLOAT rate);
|
00057 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a6">stopBowing</a>(MY_FLOAT rate);
|
||||||
00058
|
00058
|
||||||
00060 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00060 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00061
|
00061
|
||||||
00063 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00063 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a8">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00064
|
00064
|
||||||
00066 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00066 MY_FLOAT <a class="code" href="classBowed.html#a9">tick</a>();
|
||||||
00067
|
00067
|
||||||
00069 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00069 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00070
|
00070
|
||||||
00071 <font class="keyword">protected</font>:
|
00071 <span class="keyword">protected</span>:
|
||||||
00072 <a class="code" href="classDelayL.html">DelayL</a> *neckDelay;
|
00072 <a class="code" href="classDelayL.html">DelayL</a> *neckDelay;
|
||||||
00073 <a class="code" href="classDelayL.html">DelayL</a> *bridgeDelay;
|
00073 <a class="code" href="classDelayL.html">DelayL</a> *bridgeDelay;
|
||||||
00074 <a class="code" href="classBowTabl.html">BowTabl</a> *bowTable;
|
00074 <a class="code" href="classBowTabl.html">BowTabl</a> *bowTable;
|
||||||
@@ -63,12 +63,12 @@
|
|||||||
00083
|
00083
|
||||||
00084 };
|
00084 };
|
||||||
00085
|
00085
|
||||||
00086 <font class="preprocessor">#endif</font>
|
00086 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,55 +5,55 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Brass.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Brass.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00021 <font class="comment">/***************************************************/</font>
|
00021 <span class="comment">/***************************************************/</span>
|
||||||
00022
|
00022
|
||||||
00023 <font class="preprocessor">#if !defined(__BRASS_H)</font>
|
00023 <span class="preprocessor">#if !defined(__BRASS_H)</span>
|
||||||
00024 <font class="preprocessor"></font><font class="preprocessor">#define __BRASS_H</font>
|
00024 <span class="preprocessor"></span><span class="preprocessor">#define __BRASS_H</span>
|
||||||
00025 <font class="preprocessor"></font>
|
00025 <span class="preprocessor"></span>
|
||||||
00026 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00026 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00027 <font class="preprocessor">#include "DelayA.h"</font>
|
00027 <span class="preprocessor">#include "DelayA.h"</span>
|
||||||
00028 <font class="preprocessor">#include "BiQuad.h"</font>
|
00028 <span class="preprocessor">#include "BiQuad.h"</span>
|
||||||
00029 <font class="preprocessor">#include "PoleZero.h"</font>
|
00029 <span class="preprocessor">#include "PoleZero.h"</span>
|
||||||
00030 <font class="preprocessor">#include "ADSR.h"</font>
|
00030 <span class="preprocessor">#include "ADSR.h"</span>
|
||||||
00031 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00031 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00032
|
00032
|
||||||
00033 <font class="keyword">class </font><a class="code" href="classBrass.html">Brass</a>: <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00033"></a><a class="code" href="classBrass.html">00033</a> <span class="keyword">class </span><a class="code" href="classBrass.html">Brass</a>: <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00034 {
|
00034 {
|
||||||
00035 <font class="keyword">public</font>:
|
00035 <span class="keyword">public</span>:
|
||||||
00037 <a class="code" href="classBrass.html#a0">Brass</a>(MY_FLOAT lowestFrequency);
|
00037 <a class="code" href="classBrass.html#a0">Brass</a>(MY_FLOAT lowestFrequency);
|
||||||
00038
|
00038
|
||||||
00040 <a class="code" href="classBrass.html#a1">~Brass</a>();
|
00040 <a class="code" href="classBrass.html#a1">~Brass</a>();
|
||||||
00041
|
00041
|
||||||
00043 <font class="keywordtype">void</font> <a class="code" href="classBrass.html#a2">clear</a>();
|
00043 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a2">clear</a>();
|
||||||
00044
|
00044
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00046 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00047
|
00047
|
||||||
00049 <font class="keywordtype">void</font> <a class="code" href="classBrass.html#a4">setLip</a>(MY_FLOAT frequency);
|
00049 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a4">setLip</a>(MY_FLOAT frequency);
|
||||||
00050
|
00050
|
||||||
00052 <font class="keywordtype">void</font> <a class="code" href="classBrass.html#a5">startBlowing</a>(MY_FLOAT amplitude,MY_FLOAT rate);
|
00052 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a5">startBlowing</a>(MY_FLOAT amplitude,MY_FLOAT rate);
|
||||||
00053
|
00053
|
||||||
00055 <font class="keywordtype">void</font> <a class="code" href="classBrass.html#a6">stopBlowing</a>(MY_FLOAT rate);
|
00055 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a6">stopBlowing</a>(MY_FLOAT rate);
|
||||||
00056
|
00056
|
||||||
00058 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00058 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00059
|
00059
|
||||||
00061 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00061 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a8">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00062
|
00062
|
||||||
00064 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00064 MY_FLOAT <a class="code" href="classBrass.html#a9">tick</a>();
|
||||||
00065
|
00065
|
||||||
00067 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00067 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00068
|
00068
|
||||||
00069 <font class="keyword">protected</font>:
|
00069 <span class="keyword">protected</span>:
|
||||||
00070 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
|
00070 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
|
||||||
00071 <a class="code" href="classBiQuad.html">BiQuad</a> *lipFilter;
|
00071 <a class="code" href="classBiQuad.html">BiQuad</a> *lipFilter;
|
||||||
00072 <a class="code" href="classPoleZero.html">PoleZero</a> *dcBlock;
|
00072 <a class="code" href="classPoleZero.html">PoleZero</a> *dcBlock;
|
||||||
00073 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
00073 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
||||||
00074 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
00074 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
||||||
00075 <font class="keywordtype">long</font> length;
|
00075 <span class="keywordtype">long</span> length;
|
||||||
00076 MY_FLOAT lipTarget;
|
00076 MY_FLOAT lipTarget;
|
||||||
00077 MY_FLOAT slideTarget;
|
00077 MY_FLOAT slideTarget;
|
||||||
00078 MY_FLOAT vibratoGain;
|
00078 MY_FLOAT vibratoGain;
|
||||||
@@ -61,12 +61,12 @@
|
|||||||
00080
|
00080
|
||||||
00081 };
|
00081 };
|
||||||
00082
|
00082
|
||||||
00083 <font class="preprocessor">#endif</font>
|
00083 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,46 +5,46 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Chorus.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Chorus.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00009 <font class="comment">/***************************************************/</font>
|
00009 <span class="comment">/***************************************************/</span>
|
||||||
00010
|
00010
|
||||||
00011 <font class="preprocessor">#if !defined(__CHORUS_H)</font>
|
00011 <span class="preprocessor">#if !defined(__CHORUS_H)</span>
|
||||||
00012 <font class="preprocessor"></font><font class="preprocessor">#define __CHORUS_H</font>
|
00012 <span class="preprocessor"></span><span class="preprocessor">#define __CHORUS_H</span>
|
||||||
00013 <font class="preprocessor"></font>
|
00013 <span class="preprocessor"></span>
|
||||||
00014 <font class="preprocessor">#include "Stk.h"</font>
|
00014 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00015 <font class="preprocessor">#include "DelayL.h"</font>
|
00015 <span class="preprocessor">#include "DelayL.h"</span>
|
||||||
00016 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00016 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00017
|
00017
|
||||||
00018 <font class="keyword">class </font><a class="code" href="classChorus.html">Chorus</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00018"></a><a class="code" href="classChorus.html">00018</a> <span class="keyword">class </span><a class="code" href="classChorus.html">Chorus</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00019 {
|
00019 {
|
||||||
00020 <font class="keyword">public</font>:
|
00020 <span class="keyword">public</span>:
|
||||||
00022 <a class="code" href="classChorus.html#a0">Chorus</a>(MY_FLOAT baseDelay);
|
00022 <a class="code" href="classChorus.html#a0">Chorus</a>(MY_FLOAT baseDelay);
|
||||||
00023
|
00023
|
||||||
00025 <a class="code" href="classChorus.html#a1">~Chorus</a>();
|
00025 <a class="code" href="classChorus.html#a1">~Chorus</a>();
|
||||||
00026
|
00026
|
||||||
00028 <font class="keywordtype">void</font> <a class="code" href="classChorus.html#a2">clear</a>();
|
00028 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a2">clear</a>();
|
||||||
00029
|
00029
|
||||||
00031 <font class="keywordtype">void</font> <a class="code" href="classChorus.html#a3">setModDepth</a>(MY_FLOAT depth);
|
00031 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a3">setModDepth</a>(MY_FLOAT depth);
|
||||||
00032
|
00032
|
||||||
00034 <font class="keywordtype">void</font> <a class="code" href="classChorus.html#a4">setModFrequency</a>(MY_FLOAT frequency);
|
00034 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a4">setModFrequency</a>(MY_FLOAT frequency);
|
||||||
00035
|
00035
|
||||||
00037 <font class="keywordtype">void</font> <a class="code" href="classChorus.html#a5">setEffectMix</a>(MY_FLOAT mix);
|
00037 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a5">setEffectMix</a>(MY_FLOAT mix);
|
||||||
00038
|
00038
|
||||||
00040 MY_FLOAT <a class="code" href="classChorus.html#a6">lastOut</a>() <font class="keyword">const</font>;
|
00040 MY_FLOAT <a class="code" href="classChorus.html#a6">lastOut</a>() <span class="keyword">const</span>;
|
||||||
00041
|
00041
|
||||||
00043 MY_FLOAT <a class="code" href="classChorus.html#a7">lastOutLeft</a>() <font class="keyword">const</font>;
|
00043 MY_FLOAT <a class="code" href="classChorus.html#a7">lastOutLeft</a>() <span class="keyword">const</span>;
|
||||||
00044
|
00044
|
||||||
00046 MY_FLOAT <a class="code" href="classChorus.html#a8">lastOutRight</a>() <font class="keyword">const</font>;
|
00046 MY_FLOAT <a class="code" href="classChorus.html#a8">lastOutRight</a>() <span class="keyword">const</span>;
|
||||||
00047
|
00047
|
||||||
00049 MY_FLOAT <a class="code" href="classChorus.html#a9">tick</a>(MY_FLOAT input);
|
00049 MY_FLOAT <a class="code" href="classChorus.html#a9">tick</a>(MY_FLOAT input);
|
||||||
00050
|
00050
|
||||||
00052 MY_FLOAT *<a class="code" href="classChorus.html#a9">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00052 MY_FLOAT *<a class="code" href="classChorus.html#a9">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00053
|
00053
|
||||||
00054 <font class="keyword">protected</font>:
|
00054 <span class="keyword">protected</span>:
|
||||||
00055 <a class="code" href="classDelayL.html">DelayL</a> *delayLine[2];
|
00055 <a class="code" href="classDelayL.html">DelayL</a> *delayLine[2];
|
||||||
00056 <a class="code" href="classWaveLoop.html">WaveLoop</a> *mods[2];
|
00056 <a class="code" href="classWaveLoop.html">WaveLoop</a> *mods[2];
|
||||||
00057 MY_FLOAT baseLength;
|
00057 MY_FLOAT baseLength;
|
||||||
@@ -54,13 +54,13 @@
|
|||||||
00061
|
00061
|
||||||
00062 };
|
00062 };
|
||||||
00063
|
00063
|
||||||
00064 <font class="preprocessor">#endif</font>
|
00064 <span class="preprocessor">#endif</span>
|
||||||
00065 <font class="preprocessor"></font>
|
00065 <span class="preprocessor"></span>
|
||||||
</pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,67 +5,67 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Clarinet.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Clarinet.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00023 <font class="comment">/***************************************************/</font>
|
00023 <span class="comment">/***************************************************/</span>
|
||||||
00024
|
00024
|
||||||
00025 <font class="preprocessor">#if !defined(__CLARINET_H)</font>
|
00025 <span class="preprocessor">#if !defined(__CLARINET_H)</span>
|
||||||
00026 <font class="preprocessor"></font><font class="preprocessor">#define __CLARINET_H</font>
|
00026 <span class="preprocessor"></span><span class="preprocessor">#define __CLARINET_H</span>
|
||||||
00027 <font class="preprocessor"></font>
|
00027 <span class="preprocessor"></span>
|
||||||
00028 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00028 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00029 <font class="preprocessor">#include "DelayL.h"</font>
|
00029 <span class="preprocessor">#include "DelayL.h"</span>
|
||||||
00030 <font class="preprocessor">#include "ReedTabl.h"</font>
|
00030 <span class="preprocessor">#include "ReedTabl.h"</span>
|
||||||
00031 <font class="preprocessor">#include "OneZero.h"</font>
|
00031 <span class="preprocessor">#include "OneZero.h"</span>
|
||||||
00032 <font class="preprocessor">#include "Envelope.h"</font>
|
00032 <span class="preprocessor">#include "Envelope.h"</span>
|
||||||
00033 <font class="preprocessor">#include "Noise.h"</font>
|
00033 <span class="preprocessor">#include "Noise.h"</span>
|
||||||
00034 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00034 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00035
|
00035
|
||||||
00036 <font class="keyword">class </font><a class="code" href="classClarinet.html">Clarinet</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00036"></a><a class="code" href="classClarinet.html">00036</a> <span class="keyword">class </span><a class="code" href="classClarinet.html">Clarinet</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00037 {
|
00037 {
|
||||||
00038 <font class="keyword">public</font>:
|
00038 <span class="keyword">public</span>:
|
||||||
00040 <a class="code" href="classClarinet.html#a0">Clarinet</a>(MY_FLOAT lowestFrequency);
|
00040 <a class="code" href="classClarinet.html#a0">Clarinet</a>(MY_FLOAT lowestFrequency);
|
||||||
00041
|
00041
|
||||||
00043 <a class="code" href="classClarinet.html#a1">~Clarinet</a>();
|
00043 <a class="code" href="classClarinet.html#a1">~Clarinet</a>();
|
||||||
00044
|
00044
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classClarinet.html#a2">clear</a>();
|
00046 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a2">clear</a>();
|
||||||
00047
|
00047
|
||||||
00049 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00049 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00050
|
00050
|
||||||
00052 <font class="keywordtype">void</font> <a class="code" href="classClarinet.html#a4">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
00052 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a4">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
||||||
00053
|
00053
|
||||||
00055 <font class="keywordtype">void</font> <a class="code" href="classClarinet.html#a5">stopBlowing</a>(MY_FLOAT rate);
|
00055 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a5">stopBlowing</a>(MY_FLOAT rate);
|
||||||
00056
|
00056
|
||||||
00058 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00058 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00059
|
00059
|
||||||
00061 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00061 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a7">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00062
|
00062
|
||||||
00064 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00064 MY_FLOAT <a class="code" href="classClarinet.html#a8">tick</a>();
|
||||||
00065
|
00065
|
||||||
00067 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00067 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00068
|
00068
|
||||||
00069 <font class="keyword">protected</font>:
|
00069 <span class="keyword">protected</span>:
|
||||||
00070 <a class="code" href="classDelayL.html">DelayL</a> *delayLine;
|
00070 <a class="code" href="classDelayL.html">DelayL</a> *delayLine;
|
||||||
00071 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable;
|
00071 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable;
|
||||||
00072 <a class="code" href="classOneZero.html">OneZero</a> *filter;
|
00072 <a class="code" href="classOneZero.html">OneZero</a> *filter;
|
||||||
00073 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
|
00073 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
|
||||||
00074 <a class="code" href="classNoise.html">Noise</a> *noise;
|
00074 <a class="code" href="classNoise.html">Noise</a> *noise;
|
||||||
00075 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
00075 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
||||||
00076 <font class="keywordtype">long</font> length;
|
00076 <span class="keywordtype">long</span> length;
|
||||||
00077 MY_FLOAT outputGain;
|
00077 MY_FLOAT outputGain;
|
||||||
00078 MY_FLOAT noiseGain;
|
00078 MY_FLOAT noiseGain;
|
||||||
00079 MY_FLOAT vibratoGain;
|
00079 MY_FLOAT vibratoGain;
|
||||||
00080
|
00080
|
||||||
00081 };
|
00081 };
|
||||||
00082
|
00082
|
||||||
00083 <font class="preprocessor">#endif</font>
|
00083 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,50 +5,55 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>DelayA.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>DelayA.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00023 <font class="comment">/***************************************************/</font>
|
00023 <span class="comment">/***************************************************/</span>
|
||||||
00024
|
00024
|
||||||
00025 <font class="preprocessor">#if !defined(__DelayA_h)</font>
|
00025 <span class="preprocessor">#if !defined(__DelayA_h)</span>
|
||||||
00026 <font class="preprocessor"></font><font class="preprocessor">#define __DelayA_h</font>
|
00026 <span class="preprocessor"></span><span class="preprocessor">#define __DelayA_h</span>
|
||||||
00027 <font class="preprocessor"></font>
|
00027 <span class="preprocessor"></span>
|
||||||
00028 <font class="preprocessor">#include "Delay.h"</font>
|
00028 <span class="preprocessor">#include "Delay.h"</span>
|
||||||
00029
|
00029
|
||||||
00030 <font class="keyword">class </font><a class="code" href="classDelayA.html">DelayA</a> : <font class="keyword">public</font> <a class="code" href="classDelay.html">Delay</a>
|
<a name="l00030"></a><a class="code" href="classDelayA.html">00030</a> <span class="keyword">class </span><a class="code" href="classDelayA.html">DelayA</a> : <span class="keyword">public</span> <a class="code" href="classDelay.html">Delay</a>
|
||||||
00031 {
|
00031 {
|
||||||
00032 <font class="keyword">public</font>:
|
00032 <span class="keyword">public</span>:
|
||||||
00033
|
00033
|
||||||
00035 <a class="code" href="classDelayA.html#a0">DelayA</a>();
|
00035 <a class="code" href="classDelayA.html#a0">DelayA</a>();
|
||||||
00036
|
00036
|
||||||
00038
|
00038
|
||||||
00039 <a class="code" href="classDelayA.html#a0">DelayA</a>(MY_FLOAT theDelay, <font class="keywordtype">long</font> maxDelay);
|
00039 <a class="code" href="classDelayA.html#a0">DelayA</a>(MY_FLOAT theDelay, <span class="keywordtype">long</span> maxDelay);
|
||||||
00040
|
00040
|
||||||
00042 <a class="code" href="classDelayA.html#a2">~DelayA</a>();
|
00042 <a class="code" href="classDelayA.html#a2">~DelayA</a>();
|
||||||
00043
|
00043
|
||||||
00045 <font class="keywordtype">void</font> <a class="code" href="classDelay.html#a3">clear</a>();
|
00045 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a3">clear</a>();
|
||||||
00046
|
00046
|
||||||
00048
|
00048
|
||||||
00051 <font class="keywordtype">void</font> <a class="code" href="classDelay.html#a4">setDelay</a>(MY_FLOAT theDelay);
|
00051 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a4">setDelay</a>(MY_FLOAT theDelay);
|
||||||
00052
|
00052
|
||||||
00054 MY_FLOAT <a class="code" href="classDelay.html#a5">getDelay</a>(<font class="keywordtype">void</font>);
|
00054 MY_FLOAT <a class="code" href="classDelayA.html#a5">getDelay</a>(<span class="keywordtype">void</span>);
|
||||||
00055
|
00055
|
||||||
00057 MY_FLOAT <a class="code" href="classDelay.html#a9">tick</a>(MY_FLOAT sample);
|
00057
|
||||||
00058
|
00060 MY_FLOAT <a class="code" href="classDelayA.html#a6">nextOut</a>(<span class="keywordtype">void</span>);
|
||||||
00059 <font class="keyword">protected</font>:
|
00061
|
||||||
00060 MY_FLOAT alpha;
|
00063 MY_FLOAT <a class="code" href="classDelayA.html#a7">tick</a>(MY_FLOAT sample);
|
||||||
00061 MY_FLOAT coeff;
|
|
||||||
00062 MY_FLOAT apInput;
|
|
||||||
00063 };
|
|
||||||
00064
|
00064
|
||||||
00065 <font class="preprocessor">#endif</font>
|
00065 <span class="keyword">protected</span>:
|
||||||
</font></pre></div><HR>
|
00066 MY_FLOAT alpha;
|
||||||
|
00067 MY_FLOAT coeff;
|
||||||
|
00068 MY_FLOAT apInput;
|
||||||
|
00069 MY_FLOAT nextOutput;
|
||||||
|
00070 <span class="keywordtype">bool</span> doNextOut;
|
||||||
|
00071 };
|
||||||
|
00072
|
||||||
|
00073 <span class="preprocessor">#endif</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,47 +5,52 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>DelayL.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>DelayL.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00023 <font class="comment">/***************************************************/</font>
|
00023 <span class="comment">/***************************************************/</span>
|
||||||
00024
|
00024
|
||||||
00025 <font class="preprocessor">#if !defined(__DELAYL_H)</font>
|
00025 <span class="preprocessor">#if !defined(__DELAYL_H)</span>
|
||||||
00026 <font class="preprocessor"></font><font class="preprocessor">#define __DELAYL_H</font>
|
00026 <span class="preprocessor"></span><span class="preprocessor">#define __DELAYL_H</span>
|
||||||
00027 <font class="preprocessor"></font>
|
00027 <span class="preprocessor"></span>
|
||||||
00028 <font class="preprocessor">#include "Delay.h"</font>
|
00028 <span class="preprocessor">#include "Delay.h"</span>
|
||||||
00029
|
00029
|
||||||
00030 <font class="keyword">class </font><a class="code" href="classDelayL.html">DelayL</a> : <font class="keyword">public</font> <a class="code" href="classDelay.html">Delay</a>
|
<a name="l00030"></a><a class="code" href="classDelayL.html">00030</a> <span class="keyword">class </span><a class="code" href="classDelayL.html">DelayL</a> : <span class="keyword">public</span> <a class="code" href="classDelay.html">Delay</a>
|
||||||
00031 {
|
00031 {
|
||||||
00032 <font class="keyword">public</font>:
|
00032 <span class="keyword">public</span>:
|
||||||
00033
|
00033
|
||||||
00035 <a class="code" href="classDelayL.html#a0">DelayL</a>();
|
00035 <a class="code" href="classDelayL.html#a0">DelayL</a>();
|
||||||
00036
|
00036
|
||||||
00038
|
00038
|
||||||
00039 <a class="code" href="classDelayL.html#a0">DelayL</a>(MY_FLOAT theDelay, <font class="keywordtype">long</font> maxDelay);
|
00039 <a class="code" href="classDelayL.html#a0">DelayL</a>(MY_FLOAT theDelay, <span class="keywordtype">long</span> maxDelay);
|
||||||
00040
|
00040
|
||||||
00042 <a class="code" href="classDelayL.html#a2">~DelayL</a>();
|
00042 <a class="code" href="classDelayL.html#a2">~DelayL</a>();
|
||||||
00043
|
00043
|
||||||
00045
|
00045
|
||||||
00048 <font class="keywordtype">void</font> <a class="code" href="classDelay.html#a4">setDelay</a>(MY_FLOAT theDelay);
|
00048 <span class="keywordtype">void</span> <a class="code" href="classDelayL.html#a3">setDelay</a>(MY_FLOAT theDelay);
|
||||||
00049
|
00049
|
||||||
00051 MY_FLOAT <a class="code" href="classDelay.html#a5">getDelay</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00051 MY_FLOAT <a class="code" href="classDelayL.html#a4">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00052
|
00052
|
||||||
00054 MY_FLOAT <a class="code" href="classDelay.html#a9">tick</a>(MY_FLOAT sample);
|
00054
|
||||||
00055
|
00057 MY_FLOAT <a class="code" href="classDelayL.html#a5">nextOut</a>(<span class="keywordtype">void</span>);
|
||||||
00056 <font class="keyword">protected</font>:
|
00058
|
||||||
00057 MY_FLOAT alpha;
|
00060 MY_FLOAT <a class="code" href="classDelayL.html#a6">tick</a>(MY_FLOAT sample);
|
||||||
00058 MY_FLOAT omAlpha;
|
00061
|
||||||
00059 };
|
00062 <span class="keyword">protected</span>:
|
||||||
00060
|
00063 MY_FLOAT alpha;
|
||||||
00061 <font class="preprocessor">#endif</font>
|
00064 MY_FLOAT omAlpha;
|
||||||
</font></pre></div><HR>
|
00065 MY_FLOAT nextOutput;
|
||||||
|
00066 <span class="keywordtype">bool</span> doNextOut;
|
||||||
|
00067 };
|
||||||
|
00068
|
||||||
|
00069 <span class="preprocessor">#endif</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,60 +5,63 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Delay.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Delay.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00019 <font class="comment">/***************************************************/</font>
|
00019 <span class="comment">/***************************************************/</span>
|
||||||
00020
|
00020
|
||||||
00021 <font class="preprocessor">#if !defined(__DELAY_H)</font>
|
00021 <span class="preprocessor">#if !defined(__DELAY_H)</span>
|
||||||
00022 <font class="preprocessor"></font><font class="preprocessor">#define __DELAY_H</font>
|
00022 <span class="preprocessor"></span><span class="preprocessor">#define __DELAY_H</span>
|
||||||
00023 <font class="preprocessor"></font>
|
00023 <span class="preprocessor"></span>
|
||||||
00024 <font class="preprocessor">#include "Filter.h"</font>
|
00024 <span class="preprocessor">#include "Filter.h"</span>
|
||||||
00025
|
00025
|
||||||
00026 <font class="keyword">class </font><a class="code" href="classDelay.html">Delay</a> : <font class="keyword">protected</font> <a class="code" href="classFilter.html">Filter</a>
|
<a name="l00026"></a><a class="code" href="classDelay.html">00026</a> <span class="keyword">class </span><a class="code" href="classDelay.html">Delay</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
|
||||||
00027 {
|
00027 {
|
||||||
00028 <font class="keyword">public</font>:
|
00028 <span class="keyword">public</span>:
|
||||||
00029
|
00029
|
||||||
00031 <a class="code" href="classDelay.html#a0">Delay</a>();
|
00031 <a class="code" href="classDelay.html#a0">Delay</a>();
|
||||||
00032
|
00032
|
||||||
00034 <a class="code" href="classDelay.html#a0">Delay</a>(<font class="keywordtype">long</font> theDelay, <font class="keywordtype">long</font> maxDelay);
|
00034 <a class="code" href="classDelay.html#a0">Delay</a>(<span class="keywordtype">long</span> theDelay, <span class="keywordtype">long</span> maxDelay);
|
||||||
00035
|
00035
|
||||||
00037 <font class="keyword">virtual</font> <a class="code" href="classDelay.html#a2">~Delay</a>();
|
00037 <span class="keyword">virtual</span> <a class="code" href="classDelay.html#a2">~Delay</a>();
|
||||||
00038
|
00038
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a3">clear</a>();
|
00040 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a3">clear</a>();
|
||||||
00041
|
00041
|
||||||
00043
|
00043
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classDelay.html#a4">setDelay</a>(<font class="keywordtype">long</font> theDelay);
|
00046 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a4">setDelay</a>(<span class="keywordtype">long</span> theDelay);
|
||||||
00047
|
00047
|
||||||
00049 <font class="keywordtype">long</font> <a class="code" href="classDelay.html#a5">getDelay</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00049 <span class="keywordtype">long</span> <a class="code" href="classDelay.html#a5">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00050
|
00050
|
||||||
00052 MY_FLOAT <a class="code" href="classDelay.html#a6">energy</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00052 MY_FLOAT <a class="code" href="classDelay.html#a6">energy</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00053
|
00053
|
||||||
00055
|
00055
|
||||||
00058 MY_FLOAT <a class="code" href="classDelay.html#a7">contentsAt</a>(<font class="keywordtype">long</font> tapDelay) <font class="keyword">const</font>;
|
00060 MY_FLOAT <a class="code" href="classDelay.html#a7">contentsAt</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> tapDelay) <span class="keyword">const</span>;
|
||||||
00059
|
00061
|
||||||
00061 MY_FLOAT <a class="code" href="classFilter.html#a9">lastOut</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00063 MY_FLOAT <a class="code" href="classDelay.html#a8">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00062
|
00064
|
||||||
00064 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT sample);
|
00066
|
||||||
00065
|
00069 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classDelay.html#a9">nextOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00067 <font class="keyword">virtual</font> MY_FLOAT *<a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00070
|
||||||
00068
|
00072 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classDelay.html#a10">tick</a>(MY_FLOAT sample);
|
||||||
00069 <font class="keyword">protected</font>:
|
00073
|
||||||
00070 <font class="keywordtype">long</font> inPoint;
|
00075 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classDelay.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00071 <font class="keywordtype">long</font> outPoint;
|
00076
|
||||||
00072 <font class="keywordtype">long</font> length;
|
00077 <span class="keyword">protected</span>:
|
||||||
00073 MY_FLOAT delay;
|
00078 <span class="keywordtype">long</span> inPoint;
|
||||||
00074 };
|
00079 <span class="keywordtype">long</span> outPoint;
|
||||||
00075
|
00080 <span class="keywordtype">long</span> length;
|
||||||
00076 <font class="preprocessor">#endif</font>
|
00081 MY_FLOAT delay;
|
||||||
00077 <font class="preprocessor"></font>
|
00082 };
|
||||||
|
00083
|
||||||
|
00084 <span class="preprocessor">#endif</span>
|
||||||
|
00085 <span class="preprocessor"></span>
|
||||||
</pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,51 +5,51 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Drummer.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Drummer.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00016 <font class="comment">/***************************************************/</font>
|
00016 <span class="comment">/***************************************************/</span>
|
||||||
00017
|
00017
|
||||||
00018 <font class="preprocessor">#if !defined(__DRUMMER_H)</font>
|
00018 <span class="preprocessor">#if !defined(__DRUMMER_H)</span>
|
||||||
00019 <font class="preprocessor"></font><font class="preprocessor">#define __DRUMMER_H</font>
|
00019 <span class="preprocessor"></span><span class="preprocessor">#define __DRUMMER_H</span>
|
||||||
00020 <font class="preprocessor"></font>
|
00020 <span class="preprocessor"></span>
|
||||||
00021 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00021 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00022 <font class="preprocessor">#include "WvIn.h"</font>
|
00022 <span class="preprocessor">#include "WvIn.h"</span>
|
||||||
00023 <font class="preprocessor">#include "OnePole.h"</font>
|
00023 <span class="preprocessor">#include "OnePole.h"</span>
|
||||||
00024
|
00024
|
||||||
00025 <font class="preprocessor">#define DRUM_NUMWAVES 11</font>
|
00025 <span class="preprocessor">#define DRUM_NUMWAVES 11</span>
|
||||||
00026 <font class="preprocessor"></font><font class="preprocessor">#define DRUM_POLYPHONY 4</font>
|
00026 <span class="preprocessor"></span><span class="preprocessor">#define DRUM_POLYPHONY 4</span>
|
||||||
00027 <font class="preprocessor"></font>
|
00027 <span class="preprocessor"></span>
|
||||||
00028 <font class="keyword">class </font><a class="code" href="classDrummer.html">Drummer</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00028"></a><a class="code" href="classDrummer.html">00028</a> <span class="keyword">class </span><a class="code" href="classDrummer.html">Drummer</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00029 {
|
00029 {
|
||||||
00030 <font class="keyword">public</font>:
|
00030 <span class="keyword">public</span>:
|
||||||
00032 <a class="code" href="classDrummer.html#a0">Drummer</a>();
|
00032 <a class="code" href="classDrummer.html#a0">Drummer</a>();
|
||||||
00033
|
00033
|
||||||
00035 <a class="code" href="classDrummer.html#a1">~Drummer</a>();
|
00035 <a class="code" href="classDrummer.html#a1">~Drummer</a>();
|
||||||
00036
|
00036
|
||||||
00038
|
00038
|
||||||
00043 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT instrument, MY_FLOAT amplitude);
|
00043 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a2">noteOn</a>(MY_FLOAT instrument, MY_FLOAT amplitude);
|
||||||
00044
|
00044
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00046 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00047
|
00047
|
||||||
00049 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00049 MY_FLOAT <a class="code" href="classDrummer.html#a4">tick</a>();
|
||||||
00050
|
00050
|
||||||
00051 <font class="keyword">protected</font>:
|
00051 <span class="keyword">protected</span>:
|
||||||
00052 <a class="code" href="classWvIn.html">WvIn</a> *waves[DRUM_POLYPHONY];
|
00052 <a class="code" href="classWvIn.html">WvIn</a> *waves[DRUM_POLYPHONY];
|
||||||
00053 <a class="code" href="classOnePole.html">OnePole</a> *filters[DRUM_POLYPHONY];
|
00053 <a class="code" href="classOnePole.html">OnePole</a> *filters[DRUM_POLYPHONY];
|
||||||
00054 <font class="keywordtype">int</font> sounding[DRUM_POLYPHONY];
|
00054 <span class="keywordtype">int</span> sounding[DRUM_POLYPHONY];
|
||||||
00055 <font class="keywordtype">int</font> nSounding;
|
00055 <span class="keywordtype">int</span> nSounding;
|
||||||
00056
|
00056
|
||||||
00057 };
|
00057 };
|
||||||
00058
|
00058
|
||||||
00059 <font class="preprocessor">#endif</font>
|
00059 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,53 +5,53 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Echo.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Echo.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00009 <font class="comment">/***************************************************/</font>
|
00009 <span class="comment">/***************************************************/</span>
|
||||||
00010
|
00010
|
||||||
00011 <font class="preprocessor">#if !defined(__ECHO_H)</font>
|
00011 <span class="preprocessor">#if !defined(__ECHO_H)</span>
|
||||||
00012 <font class="preprocessor"></font><font class="preprocessor">#define __ECHO_H</font>
|
00012 <span class="preprocessor"></span><span class="preprocessor">#define __ECHO_H</span>
|
||||||
00013 <font class="preprocessor"></font>
|
00013 <span class="preprocessor"></span>
|
||||||
00014 <font class="preprocessor">#include "Stk.h"</font>
|
00014 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00015 <font class="preprocessor">#include "Delay.h"</font>
|
00015 <span class="preprocessor">#include "Delay.h"</span>
|
||||||
00016
|
00016
|
||||||
00017 <font class="keyword">class </font><a class="code" href="classEcho.html">Echo</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00017"></a><a class="code" href="classEcho.html">00017</a> <span class="keyword">class </span><a class="code" href="classEcho.html">Echo</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00018 {
|
00018 {
|
||||||
00019 <font class="keyword">public</font>:
|
00019 <span class="keyword">public</span>:
|
||||||
00021 <a class="code" href="classEcho.html#a0">Echo</a>(MY_FLOAT longestDelay);
|
00021 <a class="code" href="classEcho.html#a0">Echo</a>(MY_FLOAT longestDelay);
|
||||||
00022
|
00022
|
||||||
00024 <a class="code" href="classEcho.html#a1">~Echo</a>();
|
00024 <a class="code" href="classEcho.html#a1">~Echo</a>();
|
||||||
00025
|
00025
|
||||||
00027 <font class="keywordtype">void</font> <a class="code" href="classEcho.html#a2">clear</a>();
|
00027 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a2">clear</a>();
|
||||||
00028
|
00028
|
||||||
00030 <font class="keywordtype">void</font> <a class="code" href="classEcho.html#a3">setDelay</a>(MY_FLOAT delay);
|
00030 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a3">setDelay</a>(MY_FLOAT delay);
|
||||||
00031
|
00031
|
||||||
00033 <font class="keywordtype">void</font> <a class="code" href="classEcho.html#a4">setEffectMix</a>(MY_FLOAT mix);
|
00033 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a4">setEffectMix</a>(MY_FLOAT mix);
|
||||||
00034
|
00034
|
||||||
00036 MY_FLOAT <a class="code" href="classEcho.html#a5">lastOut</a>() <font class="keyword">const</font>;
|
00036 MY_FLOAT <a class="code" href="classEcho.html#a5">lastOut</a>() <span class="keyword">const</span>;
|
||||||
00037
|
00037
|
||||||
00039 MY_FLOAT <a class="code" href="classEcho.html#a6">tick</a>(MY_FLOAT input);
|
00039 MY_FLOAT <a class="code" href="classEcho.html#a6">tick</a>(MY_FLOAT input);
|
||||||
00040
|
00040
|
||||||
00042 MY_FLOAT *<a class="code" href="classEcho.html#a6">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00042 MY_FLOAT *<a class="code" href="classEcho.html#a6">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00043
|
00043
|
||||||
00044 <font class="keyword">protected</font>:
|
00044 <span class="keyword">protected</span>:
|
||||||
00045 <a class="code" href="classDelay.html">Delay</a> *delayLine;
|
00045 <a class="code" href="classDelay.html">Delay</a> *delayLine;
|
||||||
00046 <font class="keywordtype">long</font> length;
|
00046 <span class="keywordtype">long</span> length;
|
||||||
00047 MY_FLOAT lastOutput;
|
00047 MY_FLOAT lastOutput;
|
||||||
00048 MY_FLOAT effectMix;
|
00048 MY_FLOAT effectMix;
|
||||||
00049
|
00049
|
||||||
00050 };
|
00050 };
|
||||||
00051
|
00051
|
||||||
00052 <font class="preprocessor">#endif</font>
|
00052 <span class="preprocessor">#endif</span>
|
||||||
00053 <font class="preprocessor"></font>
|
00053 <span class="preprocessor"></span>
|
||||||
</pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,59 +5,59 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Envelope.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Envelope.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00014 <font class="comment">/***************************************************/</font>
|
00014 <span class="comment">/***************************************************/</span>
|
||||||
00015
|
00015
|
||||||
00016 <font class="preprocessor">#if !defined(__ENVELOPE_H)</font>
|
00016 <span class="preprocessor">#if !defined(__ENVELOPE_H)</span>
|
||||||
00017 <font class="preprocessor"></font><font class="preprocessor">#define __ENVELOPE_H</font>
|
00017 <span class="preprocessor"></span><span class="preprocessor">#define __ENVELOPE_H</span>
|
||||||
00018 <font class="preprocessor"></font>
|
00018 <span class="preprocessor"></span>
|
||||||
00019 <font class="preprocessor">#include "Stk.h"</font>
|
00019 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00020
|
00020
|
||||||
00021 <font class="keyword">class </font><a class="code" href="classEnvelope.html">Envelope</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00021"></a><a class="code" href="classEnvelope.html">00021</a> <span class="keyword">class </span><a class="code" href="classEnvelope.html">Envelope</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00022 {
|
00022 {
|
||||||
00023 <font class="keyword">public</font>:
|
00023 <span class="keyword">public</span>:
|
||||||
00024
|
00024
|
||||||
00026 <a class="code" href="classEnvelope.html#a0">Envelope</a>(<font class="keywordtype">void</font>);
|
00026 <a class="code" href="classEnvelope.html#a0">Envelope</a>(<span class="keywordtype">void</span>);
|
||||||
00027
|
00027
|
||||||
00029 <font class="keyword">virtual</font> <a class="code" href="classEnvelope.html#a1">~Envelope</a>(<font class="keywordtype">void</font>);
|
00029 <span class="keyword">virtual</span> <a class="code" href="classEnvelope.html#a1">~Envelope</a>(<span class="keywordtype">void</span>);
|
||||||
00030
|
00030
|
||||||
00032 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classEnvelope.html#a2">keyOn</a>(<font class="keywordtype">void</font>);
|
00032 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
|
||||||
00033
|
00033
|
||||||
00035 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classEnvelope.html#a3">keyOff</a>(<font class="keywordtype">void</font>);
|
00035 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
|
||||||
00036
|
00036
|
||||||
00038 <font class="keywordtype">void</font> <a class="code" href="classEnvelope.html#a4">setRate</a>(MY_FLOAT aRate);
|
00038 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a4">setRate</a>(MY_FLOAT aRate);
|
||||||
00039
|
00039
|
||||||
00041 <font class="keywordtype">void</font> <a class="code" href="classEnvelope.html#a5">setTime</a>(MY_FLOAT aTime);
|
00041 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a5">setTime</a>(MY_FLOAT aTime);
|
||||||
00042
|
00042
|
||||||
00044 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classEnvelope.html#a6">setTarget</a>(MY_FLOAT aTarget);
|
00044 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a6">setTarget</a>(MY_FLOAT aTarget);
|
||||||
00045
|
00045
|
||||||
00047 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classEnvelope.html#a7">setValue</a>(MY_FLOAT aValue);
|
00047 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a7">setValue</a>(MY_FLOAT aValue);
|
||||||
00048
|
00048
|
||||||
00050 <font class="keyword">virtual</font> <font class="keywordtype">int</font> <a class="code" href="classEnvelope.html#a8">getState</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00050 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classEnvelope.html#a8">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00051
|
00051
|
||||||
00053 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classEnvelope.html#a9">tick</a>(<font class="keywordtype">void</font>);
|
00053 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classEnvelope.html#a9">tick</a>(<span class="keywordtype">void</span>);
|
||||||
00054
|
00054
|
||||||
00056 <font class="keyword">virtual</font> MY_FLOAT *<a class="code" href="classEnvelope.html#a9">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00056 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classEnvelope.html#a9">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00057
|
00057
|
||||||
00059 MY_FLOAT <a class="code" href="classEnvelope.html#a11">lastOut</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00059 MY_FLOAT <a class="code" href="classEnvelope.html#a11">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00060
|
00060
|
||||||
00061 <font class="keyword">protected</font>:
|
00061 <span class="keyword">protected</span>:
|
||||||
00062 MY_FLOAT value;
|
00062 MY_FLOAT value;
|
||||||
00063 MY_FLOAT target;
|
00063 MY_FLOAT target;
|
||||||
00064 MY_FLOAT rate;
|
00064 MY_FLOAT rate;
|
||||||
00065 <font class="keywordtype">int</font> state;
|
00065 <span class="keywordtype">int</span> state;
|
||||||
00066 };
|
00066 };
|
||||||
00067
|
00067
|
||||||
00068 <font class="preprocessor">#endif</font>
|
00068 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,45 +5,45 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>FMVoices.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>FMVoices.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00031 <font class="comment">/***************************************************/</font>
|
00031 <span class="comment">/***************************************************/</span>
|
||||||
00032
|
00032
|
||||||
00033 <font class="preprocessor">#if !defined(__FMVOICES_H)</font>
|
00033 <span class="preprocessor">#if !defined(__FMVOICES_H)</span>
|
||||||
00034 <font class="preprocessor"></font><font class="preprocessor">#define __FMVOICES_H</font>
|
00034 <span class="preprocessor"></span><span class="preprocessor">#define __FMVOICES_H</span>
|
||||||
00035 <font class="preprocessor"></font>
|
00035 <span class="preprocessor"></span>
|
||||||
00036 <font class="preprocessor">#include "FM.h"</font>
|
00036 <span class="preprocessor">#include "FM.h"</span>
|
||||||
00037
|
00037
|
||||||
00038 <font class="keyword">class </font><a class="code" href="classFMVoices.html">FMVoices</a> : <font class="keyword">public</font> <a class="code" href="classFM.html">FM</a>
|
<a name="l00038"></a><a class="code" href="classFMVoices.html">00038</a> <span class="keyword">class </span><a class="code" href="classFMVoices.html">FMVoices</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
|
||||||
00039 {
|
00039 {
|
||||||
00040 <font class="keyword">public</font>:
|
00040 <span class="keyword">public</span>:
|
||||||
00042 <a class="code" href="classFMVoices.html#a0">FMVoices</a>();
|
00042 <a class="code" href="classFMVoices.html#a0">FMVoices</a>();
|
||||||
00043
|
00043
|
||||||
00045 <a class="code" href="classFMVoices.html#a1">~FMVoices</a>();
|
00045 <a class="code" href="classFMVoices.html#a1">~FMVoices</a>();
|
||||||
00046
|
00046
|
||||||
00048 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classFM.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a2">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00049
|
00049
|
||||||
00051 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00051 <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00052
|
00052
|
||||||
00054 MY_FLOAT <a class="code" href="classFM.html#a14">tick</a>();
|
00054 MY_FLOAT <a class="code" href="classFMVoices.html#a4">tick</a>();
|
||||||
00055
|
00055
|
||||||
00057 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classFM.html#a15">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00057 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a5">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00058
|
00058
|
||||||
00059 <font class="keyword">protected</font>:
|
00059 <span class="keyword">protected</span>:
|
||||||
00060 <font class="keywordtype">int</font> currentVowel;
|
00060 <span class="keywordtype">int</span> currentVowel;
|
||||||
00061 MY_FLOAT tilt[3];
|
00061 MY_FLOAT tilt[3];
|
||||||
00062 MY_FLOAT mods[3];
|
00062 MY_FLOAT mods[3];
|
||||||
00063 };
|
00063 };
|
||||||
00064
|
00064
|
||||||
00065 <font class="preprocessor">#endif</font>
|
00065 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,62 +5,62 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>FM.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>FM.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00024 <font class="comment">/***************************************************/</font>
|
00024 <span class="comment">/***************************************************/</span>
|
||||||
00025
|
00025
|
||||||
00026 <font class="preprocessor">#if !defined(__FM_H)</font>
|
00026 <span class="preprocessor">#if !defined(__FM_H)</span>
|
||||||
00027 <font class="preprocessor"></font><font class="preprocessor">#define __FM_H</font>
|
00027 <span class="preprocessor"></span><span class="preprocessor">#define __FM_H</span>
|
||||||
00028 <font class="preprocessor"></font>
|
00028 <span class="preprocessor"></span>
|
||||||
00029 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00029 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00030 <font class="preprocessor">#include "ADSR.h"</font>
|
00030 <span class="preprocessor">#include "ADSR.h"</span>
|
||||||
00031 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00031 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00032 <font class="preprocessor">#include "TwoZero.h"</font>
|
00032 <span class="preprocessor">#include "TwoZero.h"</span>
|
||||||
00033
|
00033
|
||||||
00034 <font class="keyword">class </font><a class="code" href="classFM.html">FM</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00034"></a><a class="code" href="classFM.html">00034</a> <span class="keyword">class </span><a class="code" href="classFM.html">FM</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00035 {
|
00035 {
|
||||||
00036 <font class="keyword">public</font>:
|
00036 <span class="keyword">public</span>:
|
||||||
00038 <a class="code" href="classFM.html#a0">FM</a>( <font class="keywordtype">int</font> operators = 4 );
|
00038 <a class="code" href="classFM.html#a0">FM</a>( <span class="keywordtype">int</span> operators = 4 );
|
||||||
00039
|
00039
|
||||||
00041 <font class="keyword">virtual</font> <a class="code" href="classFM.html#a1">~FM</a>();
|
00041 <span class="keyword">virtual</span> <a class="code" href="classFM.html#a1">~FM</a>();
|
||||||
00042
|
00042
|
||||||
00044 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a2">clear</a>();
|
00044 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a2">clear</a>();
|
||||||
00045
|
00045
|
||||||
00047 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a3">loadWaves</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> **filenames);
|
00047 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a3">loadWaves</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> **filenames);
|
||||||
00048
|
00048
|
||||||
00050 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00050 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00051
|
00051
|
||||||
00053 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a5">setRatio</a>(<font class="keywordtype">int</font> waveIndex, MY_FLOAT ratio);
|
00053 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a5">setRatio</a>(<span class="keywordtype">int</span> waveIndex, MY_FLOAT ratio);
|
||||||
00054
|
00054
|
||||||
00056 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a6">setGain</a>(<font class="keywordtype">int</font> waveIndex, MY_FLOAT gain);
|
00056 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a6">setGain</a>(<span class="keywordtype">int</span> waveIndex, MY_FLOAT gain);
|
||||||
00057
|
00057
|
||||||
00059 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a7">setModulationSpeed</a>(MY_FLOAT mSpeed);
|
00059 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a7">setModulationSpeed</a>(MY_FLOAT mSpeed);
|
||||||
00060
|
00060
|
||||||
00062 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a8">setModulationDepth</a>(MY_FLOAT mDepth);
|
00062 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a8">setModulationDepth</a>(MY_FLOAT mDepth);
|
||||||
00063
|
00063
|
||||||
00065 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a9">setControl1</a>(MY_FLOAT cVal);
|
00065 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a9">setControl1</a>(MY_FLOAT cVal);
|
||||||
00066
|
00066
|
||||||
00068 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a10">setControl2</a>(MY_FLOAT cVal);
|
00068 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a10">setControl2</a>(MY_FLOAT cVal);
|
||||||
00069
|
00069
|
||||||
00071 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a11">keyOn</a>();
|
00071 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a11">keyOn</a>();
|
||||||
00072
|
00072
|
||||||
00074 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a12">keyOff</a>();
|
00074 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a12">keyOff</a>();
|
||||||
00075
|
00075
|
||||||
00077 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00077 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a13">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00078
|
00078
|
||||||
00080 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>() = 0;
|
00080 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFM.html#a14">tick</a>() = 0;
|
||||||
00081
|
00081
|
||||||
00083 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00083 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a15">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00084
|
00084
|
||||||
00085 <font class="keyword">protected</font>:
|
00085 <span class="keyword">protected</span>:
|
||||||
00086 <a class="code" href="classADSR.html">ADSR</a> **adsr;
|
00086 <a class="code" href="classADSR.html">ADSR</a> **adsr;
|
||||||
00087 <a class="code" href="classWaveLoop.html">WaveLoop</a> **waves;
|
00087 <a class="code" href="classWaveLoop.html">WaveLoop</a> **waves;
|
||||||
00088 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
00088 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
||||||
00089 <a class="code" href="classTwoZero.html">TwoZero</a> *twozero;
|
00089 <a class="code" href="classTwoZero.html">TwoZero</a> *twozero;
|
||||||
00090 <font class="keywordtype">int</font> nOperators;
|
00090 <span class="keywordtype">int</span> nOperators;
|
||||||
00091 MY_FLOAT baseFrequency;
|
00091 MY_FLOAT baseFrequency;
|
||||||
00092 MY_FLOAT *ratios;
|
00092 MY_FLOAT *ratios;
|
||||||
00093 MY_FLOAT *gains;
|
00093 MY_FLOAT *gains;
|
||||||
@@ -73,12 +73,12 @@
|
|||||||
00100
|
00100
|
||||||
00101 };
|
00101 };
|
||||||
00102
|
00102
|
||||||
00103 <font class="preprocessor">#endif</font>
|
00103 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,54 +5,54 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Filter.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Filter.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00028 <font class="comment">/***************************************************/</font>
|
00028 <span class="comment">/***************************************************/</span>
|
||||||
00029
|
00029
|
||||||
00030 <font class="preprocessor">#if !defined(__FILTER_H)</font>
|
00030 <span class="preprocessor">#if !defined(__FILTER_H)</span>
|
||||||
00031 <font class="preprocessor"></font><font class="preprocessor">#define __FILTER_H</font>
|
00031 <span class="preprocessor"></span><span class="preprocessor">#define __FILTER_H</span>
|
||||||
00032 <font class="preprocessor"></font>
|
00032 <span class="preprocessor"></span>
|
||||||
00033 <font class="preprocessor">#include "Stk.h"</font>
|
00033 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00034
|
00034
|
||||||
00035 <font class="keyword">class </font><a class="code" href="classFilter.html">Filter</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00035"></a><a class="code" href="classFilter.html">00035</a> <span class="keyword">class </span><a class="code" href="classFilter.html">Filter</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00036 {
|
00036 {
|
||||||
00037 <font class="keyword">public</font>:
|
00037 <span class="keyword">public</span>:
|
||||||
00039 <a class="code" href="classFilter.html#a0">Filter</a>(<font class="keywordtype">void</font>);
|
00039 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">void</span>);
|
||||||
00040
|
00040
|
||||||
00042
|
00042
|
||||||
00046 <a class="code" href="classFilter.html#a0">Filter</a>(<font class="keywordtype">int</font> nb, MY_FLOAT *bCoefficients, <font class="keywordtype">int</font> na, MY_FLOAT *aCoefficients);
|
00046 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">int</span> nb, MY_FLOAT *bCoefficients, <span class="keywordtype">int</span> na, MY_FLOAT *aCoefficients);
|
||||||
00047
|
00047
|
||||||
00049 <font class="keyword">virtual</font> <a class="code" href="classFilter.html#a2">~Filter</a>(<font class="keywordtype">void</font>);
|
00049 <span class="keyword">virtual</span> <a class="code" href="classFilter.html#a2">~Filter</a>(<span class="keywordtype">void</span>);
|
||||||
00050
|
00050
|
||||||
00052 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a3">clear</a>(<font class="keywordtype">void</font>);
|
00052 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a3">clear</a>(<span class="keywordtype">void</span>);
|
||||||
00053
|
00053
|
||||||
00055
|
00055
|
||||||
00060 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a4">setCoefficients</a>(<font class="keywordtype">int</font> nb, MY_FLOAT *bCoefficients, <font class="keywordtype">int</font> na, MY_FLOAT *aCoefficients);
|
00060 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a4">setCoefficients</a>(<span class="keywordtype">int</span> nb, MY_FLOAT *bCoefficients, <span class="keywordtype">int</span> na, MY_FLOAT *aCoefficients);
|
||||||
00061
|
00061
|
||||||
00063
|
00063
|
||||||
00069 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a5">setNumerator</a>(<font class="keywordtype">int</font> nb, MY_FLOAT *bCoefficients);
|
00069 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a5">setNumerator</a>(<span class="keywordtype">int</span> nb, MY_FLOAT *bCoefficients);
|
||||||
00070
|
00070
|
||||||
00072
|
00072
|
||||||
00080 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a6">setDenominator</a>(<font class="keywordtype">int</font> na, MY_FLOAT *aCoefficients);
|
00080 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a6">setDenominator</a>(<span class="keywordtype">int</span> na, MY_FLOAT *aCoefficients);
|
||||||
00081
|
00081
|
||||||
00083
|
00083
|
||||||
00087 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a7">setGain</a>(MY_FLOAT theGain);
|
00087 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a7">setGain</a>(MY_FLOAT theGain);
|
||||||
00088
|
00088
|
||||||
00090 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classFilter.html#a8">getGain</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00090 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFilter.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00091
|
00091
|
||||||
00093 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classFilter.html#a9">lastOut</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00093 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFilter.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00094
|
00094
|
||||||
00096 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT sample);
|
00096 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT sample);
|
||||||
00097
|
00097
|
||||||
00099 <font class="keyword">virtual</font> MY_FLOAT *<a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00099 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00100
|
00100
|
||||||
00101 <font class="keyword">protected</font>:
|
00101 <span class="keyword">protected</span>:
|
||||||
00102 MY_FLOAT gain;
|
00102 MY_FLOAT gain;
|
||||||
00103 <font class="keywordtype">int</font> nB;
|
00103 <span class="keywordtype">int</span> nB;
|
||||||
00104 <font class="keywordtype">int</font> nA;
|
00104 <span class="keywordtype">int</span> nA;
|
||||||
00105 MY_FLOAT *b;
|
00105 MY_FLOAT *b;
|
||||||
00106 MY_FLOAT *a;
|
00106 MY_FLOAT *a;
|
||||||
00107 MY_FLOAT *outputs;
|
00107 MY_FLOAT *outputs;
|
||||||
@@ -60,12 +60,12 @@
|
|||||||
00109
|
00109
|
||||||
00110 };
|
00110 };
|
||||||
00111
|
00111
|
||||||
00112 <font class="preprocessor">#endif</font>
|
00112 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,55 +5,55 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Flute.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Flute.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00023 <font class="comment">/***************************************************/</font>
|
00023 <span class="comment">/***************************************************/</span>
|
||||||
00024
|
00024
|
||||||
00025 <font class="preprocessor">#if !defined(__FLUTE_H)</font>
|
00025 <span class="preprocessor">#if !defined(__FLUTE_H)</span>
|
||||||
00026 <font class="preprocessor"></font><font class="preprocessor">#define __FLUTE_H</font>
|
00026 <span class="preprocessor"></span><span class="preprocessor">#define __FLUTE_H</span>
|
||||||
00027 <font class="preprocessor"></font>
|
00027 <span class="preprocessor"></span>
|
||||||
00028 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00028 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00029 <font class="preprocessor">#include "JetTabl.h"</font>
|
00029 <span class="preprocessor">#include "JetTabl.h"</span>
|
||||||
00030 <font class="preprocessor">#include "DelayL.h"</font>
|
00030 <span class="preprocessor">#include "DelayL.h"</span>
|
||||||
00031 <font class="preprocessor">#include "OnePole.h"</font>
|
00031 <span class="preprocessor">#include "OnePole.h"</span>
|
||||||
00032 <font class="preprocessor">#include "PoleZero.h"</font>
|
00032 <span class="preprocessor">#include "PoleZero.h"</span>
|
||||||
00033 <font class="preprocessor">#include "Noise.h"</font>
|
00033 <span class="preprocessor">#include "Noise.h"</span>
|
||||||
00034 <font class="preprocessor">#include "ADSR.h"</font>
|
00034 <span class="preprocessor">#include "ADSR.h"</span>
|
||||||
00035 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00035 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00036
|
00036
|
||||||
00037 <font class="keyword">class </font><a class="code" href="classFlute.html">Flute</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00037"></a><a class="code" href="classFlute.html">00037</a> <span class="keyword">class </span><a class="code" href="classFlute.html">Flute</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00038 {
|
00038 {
|
||||||
00039 <font class="keyword">public</font>:
|
00039 <span class="keyword">public</span>:
|
||||||
00041 <a class="code" href="classFlute.html#a0">Flute</a>(MY_FLOAT lowestFrequency);
|
00041 <a class="code" href="classFlute.html#a0">Flute</a>(MY_FLOAT lowestFrequency);
|
||||||
00042
|
00042
|
||||||
00044 <a class="code" href="classFlute.html#a1">~Flute</a>();
|
00044 <a class="code" href="classFlute.html#a1">~Flute</a>();
|
||||||
00045
|
00045
|
||||||
00047 <font class="keywordtype">void</font> <a class="code" href="classFlute.html#a2">clear</a>();
|
00047 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a2">clear</a>();
|
||||||
00048
|
00048
|
||||||
00050 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00050 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00051
|
00051
|
||||||
00053 <font class="keywordtype">void</font> <a class="code" href="classFlute.html#a4">setJetReflection</a>(MY_FLOAT coefficient);
|
00053 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a4">setJetReflection</a>(MY_FLOAT coefficient);
|
||||||
00054
|
00054
|
||||||
00056 <font class="keywordtype">void</font> <a class="code" href="classFlute.html#a5">setEndReflection</a>(MY_FLOAT coefficient);
|
00056 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a5">setEndReflection</a>(MY_FLOAT coefficient);
|
||||||
00057
|
00057
|
||||||
00059 <font class="keywordtype">void</font> <a class="code" href="classFlute.html#a6">setJetDelay</a>(MY_FLOAT aRatio);
|
00059 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a6">setJetDelay</a>(MY_FLOAT aRatio);
|
||||||
00060
|
00060
|
||||||
00062 <font class="keywordtype">void</font> <a class="code" href="classFlute.html#a7">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
00062 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a7">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
||||||
00063
|
00063
|
||||||
00065 <font class="keywordtype">void</font> <a class="code" href="classFlute.html#a8">stopBlowing</a>(MY_FLOAT rate);
|
00065 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a8">stopBlowing</a>(MY_FLOAT rate);
|
||||||
00066
|
00066
|
||||||
00068 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00068 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a9">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00069
|
00069
|
||||||
00071 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00071 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a10">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00072
|
00072
|
||||||
00074 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00074 MY_FLOAT <a class="code" href="classFlute.html#a11">tick</a>();
|
||||||
00075
|
00075
|
||||||
00077 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00077 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00078
|
00078
|
||||||
00079 <font class="keyword">protected</font>:
|
00079 <span class="keyword">protected</span>:
|
||||||
00080 <a class="code" href="classDelayL.html">DelayL</a> *jetDelay;
|
00080 <a class="code" href="classDelayL.html">DelayL</a> *jetDelay;
|
||||||
00081 <a class="code" href="classDelayL.html">DelayL</a> *boreDelay;
|
00081 <a class="code" href="classDelayL.html">DelayL</a> *boreDelay;
|
||||||
00082 <a class="code" href="classJetTabl.html">JetTabl</a> *jetTable;
|
00082 <a class="code" href="classJetTabl.html">JetTabl</a> *jetTable;
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
00085 <a class="code" href="classNoise.html">Noise</a> *noise;
|
00085 <a class="code" href="classNoise.html">Noise</a> *noise;
|
||||||
00086 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
00086 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
||||||
00087 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
00087 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
||||||
00088 <font class="keywordtype">long</font> length;
|
00088 <span class="keywordtype">long</span> length;
|
||||||
00089 MY_FLOAT lastFrequency;
|
00089 MY_FLOAT lastFrequency;
|
||||||
00090 MY_FLOAT maxPressure;
|
00090 MY_FLOAT maxPressure;
|
||||||
00091 MY_FLOAT jetReflection;
|
00091 MY_FLOAT jetReflection;
|
||||||
@@ -74,12 +74,12 @@
|
|||||||
00097
|
00097
|
||||||
00098 };
|
00098 };
|
||||||
00099
|
00099
|
||||||
00100 <font class="preprocessor">#endif</font>
|
00100 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,45 +5,45 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>FormSwep.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>FormSwep.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00013 <font class="comment">/***************************************************/</font>
|
00013 <span class="comment">/***************************************************/</span>
|
||||||
00014
|
00014
|
||||||
00015 <font class="preprocessor">#if !defined(__FORMSWEP_H)</font>
|
00015 <span class="preprocessor">#if !defined(__FORMSWEP_H)</span>
|
||||||
00016 <font class="preprocessor"></font><font class="preprocessor">#define __FORMSWEP_H</font>
|
00016 <span class="preprocessor"></span><span class="preprocessor">#define __FORMSWEP_H</span>
|
||||||
00017 <font class="preprocessor"></font>
|
00017 <span class="preprocessor"></span>
|
||||||
00018 <font class="preprocessor">#include "BiQuad.h"</font>
|
00018 <span class="preprocessor">#include "BiQuad.h"</span>
|
||||||
00019
|
00019
|
||||||
00020 <font class="keyword">class </font><a class="code" href="classFormSwep.html">FormSwep</a> : <font class="keyword">public</font> <a class="code" href="classBiQuad.html">BiQuad</a>
|
<a name="l00020"></a><a class="code" href="classFormSwep.html">00020</a> <span class="keyword">class </span><a class="code" href="classFormSwep.html">FormSwep</a> : <span class="keyword">public</span> <a class="code" href="classBiQuad.html">BiQuad</a>
|
||||||
00021 {
|
00021 {
|
||||||
00022 <font class="keyword">public</font>:
|
00022 <span class="keyword">public</span>:
|
||||||
00023
|
00023
|
||||||
00025 <a class="code" href="classFormSwep.html#a0">FormSwep</a>();
|
00025 <a class="code" href="classFormSwep.html#a0">FormSwep</a>();
|
||||||
00026
|
00026
|
||||||
00028 <a class="code" href="classFormSwep.html#a1">~FormSwep</a>();
|
00028 <a class="code" href="classFormSwep.html#a1">~FormSwep</a>();
|
||||||
00029
|
00029
|
||||||
00031
|
00031
|
||||||
00042 <font class="keywordtype">void</font> <a class="code" href="classBiQuad.html#a8">setResonance</a>(MY_FLOAT aFrequency, MY_FLOAT aRadius);
|
00042 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a2">setResonance</a>(MY_FLOAT aFrequency, MY_FLOAT aRadius);
|
||||||
00043
|
00043
|
||||||
00045 <font class="keywordtype">void</font> <a class="code" href="classFormSwep.html#a3">setStates</a>(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain = 1.0);
|
00045 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a3">setStates</a>(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain = 1.0);
|
||||||
00046
|
00046
|
||||||
00048 <font class="keywordtype">void</font> <a class="code" href="classFormSwep.html#a4">setTargets</a>(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain = 1.0);
|
00048 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a4">setTargets</a>(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain = 1.0);
|
||||||
00049
|
00049
|
||||||
00051
|
00051
|
||||||
00059 <font class="keywordtype">void</font> <a class="code" href="classFormSwep.html#a5">setSweepRate</a>(MY_FLOAT aRate);
|
00059 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a5">setSweepRate</a>(MY_FLOAT aRate);
|
||||||
00060
|
00060
|
||||||
00062
|
00062
|
||||||
00067 <font class="keywordtype">void</font> <a class="code" href="classFormSwep.html#a6">setSweepTime</a>(MY_FLOAT aTime);
|
00067 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a6">setSweepTime</a>(MY_FLOAT aTime);
|
||||||
00068
|
00068
|
||||||
00070 MY_FLOAT <a class="code" href="classBiQuad.html#a14">tick</a>(MY_FLOAT sample);
|
00070 MY_FLOAT <a class="code" href="classFormSwep.html#a7">tick</a>(MY_FLOAT sample);
|
||||||
00071
|
00071
|
||||||
00073 MY_FLOAT *<a class="code" href="classBiQuad.html#a14">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00073 MY_FLOAT *<a class="code" href="classFormSwep.html#a7">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00074
|
00074
|
||||||
00075 <font class="keyword">protected</font>:
|
00075 <span class="keyword">protected</span>:
|
||||||
00076 <font class="keywordtype">bool</font> dirty;
|
00076 <span class="keywordtype">bool</span> dirty;
|
||||||
00077 MY_FLOAT frequency;
|
00077 MY_FLOAT frequency;
|
||||||
00078 MY_FLOAT radius;
|
00078 MY_FLOAT radius;
|
||||||
00079 MY_FLOAT startFrequency;
|
00079 MY_FLOAT startFrequency;
|
||||||
@@ -60,12 +60,12 @@
|
|||||||
00090
|
00090
|
||||||
00091 };
|
00091 };
|
||||||
00092
|
00092
|
||||||
00093 <font class="preprocessor">#endif</font>
|
00093 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,36 +5,36 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>HevyMetl.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>HevyMetl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00029 <font class="comment">/***************************************************/</font>
|
00029 <span class="comment">/***************************************************/</span>
|
||||||
00030
|
00030
|
||||||
00031 <font class="preprocessor">#if !defined(__HEVYMETL_H)</font>
|
00031 <span class="preprocessor">#if !defined(__HEVYMETL_H)</span>
|
||||||
00032 <font class="preprocessor"></font><font class="preprocessor">#define __HEVYMETL_H</font>
|
00032 <span class="preprocessor"></span><span class="preprocessor">#define __HEVYMETL_H</span>
|
||||||
00033 <font class="preprocessor"></font>
|
00033 <span class="preprocessor"></span>
|
||||||
00034 <font class="preprocessor">#include "FM.h"</font>
|
00034 <span class="preprocessor">#include "FM.h"</span>
|
||||||
00035
|
00035
|
||||||
00036 <font class="keyword">class </font><a class="code" href="classHevyMetl.html">HevyMetl</a> : <font class="keyword">public</font> <a class="code" href="classFM.html">FM</a>
|
<a name="l00036"></a><a class="code" href="classHevyMetl.html">00036</a> <span class="keyword">class </span><a class="code" href="classHevyMetl.html">HevyMetl</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
|
||||||
00037 {
|
00037 {
|
||||||
00038 <font class="keyword">public</font>:
|
00038 <span class="keyword">public</span>:
|
||||||
00040 <a class="code" href="classHevyMetl.html#a0">HevyMetl</a>();
|
00040 <a class="code" href="classHevyMetl.html#a0">HevyMetl</a>();
|
||||||
00041
|
00041
|
||||||
00043 <a class="code" href="classHevyMetl.html#a1">~HevyMetl</a>();
|
00043 <a class="code" href="classHevyMetl.html#a1">~HevyMetl</a>();
|
||||||
00044
|
00044
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00046 <span class="keywordtype">void</span> <a class="code" href="classHevyMetl.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00047
|
00047
|
||||||
00049 MY_FLOAT <a class="code" href="classFM.html#a14">tick</a>();
|
00049 MY_FLOAT <a class="code" href="classHevyMetl.html#a3">tick</a>();
|
||||||
00050 };
|
00050 };
|
||||||
00051
|
00051
|
||||||
00052 <font class="preprocessor">#endif</font>
|
00052 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,51 +5,55 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Instrmnt.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Instrmnt.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00010 <font class="comment">/***************************************************/</font>
|
00010 <span class="comment">/***************************************************/</span>
|
||||||
00011
|
00011
|
||||||
00012 <font class="preprocessor">#if !defined(__INSTRMNT_H)</font>
|
00012 <span class="preprocessor">#if !defined(__INSTRMNT_H)</span>
|
||||||
00013 <font class="preprocessor"></font><font class="preprocessor">#define __INSTRMNT_H</font>
|
00013 <span class="preprocessor"></span><span class="preprocessor">#define __INSTRMNT_H</span>
|
||||||
00014 <font class="preprocessor"></font>
|
00014 <span class="preprocessor"></span>
|
||||||
00015 <font class="preprocessor">#include "Stk.h"</font>
|
00015 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00016 <font class="preprocessor">#include <iostream.h></font>
|
00016 <span class="preprocessor">#include <iostream></span>
|
||||||
00017
|
00017
|
||||||
00018 <font class="keyword">class </font><a class="code" href="classInstrmnt.html">Instrmnt</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00018"></a><a class="code" href="classInstrmnt.html">00018</a> <span class="keyword">class </span><a class="code" href="classInstrmnt.html">Instrmnt</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00019 {
|
00019 {
|
||||||
00020 <font class="keyword">public</font>:
|
00020 <span class="keyword">public</span>:
|
||||||
00022 <a class="code" href="classInstrmnt.html#a0">Instrmnt</a>();
|
00022 <a class="code" href="classInstrmnt.html#a0">Instrmnt</a>();
|
||||||
00023
|
00023
|
||||||
00025 <font class="keyword">virtual</font> <a class="code" href="classInstrmnt.html#a1">~Instrmnt</a>();
|
00025 <span class="keyword">virtual</span> <a class="code" href="classInstrmnt.html#a1">~Instrmnt</a>();
|
||||||
00026
|
00026
|
||||||
00028 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude) = 0;
|
00028 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude) = 0;
|
||||||
00029
|
00029
|
||||||
00031 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude) = 0;
|
00031 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude) = 0;
|
||||||
00032
|
00032
|
||||||
00034 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00034 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00035
|
00035
|
||||||
00037 MY_FLOAT <a class="code" href="classInstrmnt.html#a5">lastOut</a>() <font class="keyword">const</font>;
|
00037 MY_FLOAT <a class="code" href="classInstrmnt.html#a5">lastOut</a>() <span class="keyword">const</span>;
|
||||||
00038
|
00038
|
||||||
00040 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>() = 0;
|
00040 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">lastOutLeft</a>() <span class="keyword">const</span>;
|
||||||
00041
|
00041
|
||||||
00043 <font class="keyword">virtual</font> MY_FLOAT *<a class="code" href="classInstrmnt.html#a6">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00043 MY_FLOAT <a class="code" href="classInstrmnt.html#a7">lastOutRight</a>() <span class="keyword">const</span>;
|
||||||
00044
|
00044
|
||||||
00046 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00046 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classInstrmnt.html#a8">tick</a>() = 0;
|
||||||
00047
|
00047
|
||||||
00048 <font class="keyword">protected</font>:
|
00049 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classInstrmnt.html#a8">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00049 MY_FLOAT lastOutput;
|
|
||||||
00050
|
00050
|
||||||
00051 };
|
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00052
|
00053
|
||||||
00053 <font class="preprocessor">#endif</font>
|
00054 <span class="keyword">protected</span>:
|
||||||
</font></pre></div><HR>
|
00055 MY_FLOAT lastOutput;
|
||||||
|
00056
|
||||||
|
00057 };
|
||||||
|
00058
|
||||||
|
00059 <span class="preprocessor">#endif</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,33 +5,31 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>JCRev.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>JCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00015 <font class="comment">/***************************************************/</font>
|
00015 <span class="comment">/***************************************************/</span>
|
||||||
00016
|
00016
|
||||||
00017 <font class="preprocessor">#if !defined(__JCREV_H)</font>
|
00017 <span class="preprocessor">#if !defined(__JCREV_H)</span>
|
||||||
00018 <font class="preprocessor"></font><font class="preprocessor">#define __JCREV_H</font>
|
00018 <span class="preprocessor"></span><span class="preprocessor">#define __JCREV_H</span>
|
||||||
00019 <font class="preprocessor"></font>
|
00019 <span class="preprocessor"></span>
|
||||||
00020 <font class="preprocessor">#include "Reverb.h"</font>
|
00020 <span class="preprocessor">#include "Reverb.h"</span>
|
||||||
00021 <font class="preprocessor">#include "Delay.h"</font>
|
00021 <span class="preprocessor">#include "Delay.h"</span>
|
||||||
00022
|
00022
|
||||||
00023 <font class="keyword">class </font><a class="code" href="classJCRev.html">JCRev</a> : <font class="keyword">public</font> <a class="code" href="classReverb.html">Reverb</a>
|
<a name="l00023"></a><a class="code" href="classJCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classJCRev.html">JCRev</a> : <span class="keyword">public</span> <a class="code" href="classReverb.html">Reverb</a>
|
||||||
00024 {
|
00024 {
|
||||||
00025 <font class="keyword">public</font>:
|
00025 <span class="keyword">public</span>:
|
||||||
00026 <font class="comment">// Class constructor taking a T60 decay time argument.</font>
|
00027 <a class="code" href="classJCRev.html#a0">JCRev</a>(MY_FLOAT T60);
|
||||||
00027 JCRev(MY_FLOAT T60);
|
|
||||||
00028
|
00028
|
||||||
00029 <font class="comment">// Class destructor.</font>
|
00030 <a class="code" href="classJCRev.html#a1">~JCRev</a>();
|
||||||
00030 ~JCRev();
|
|
||||||
00031
|
00031
|
||||||
00033 <font class="keywordtype">void</font> <a class="code" href="classReverb.html#a2">clear</a>();
|
00033 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a2">clear</a>();
|
||||||
00034
|
00034
|
||||||
00036 MY_FLOAT <a class="code" href="classReverb.html#a7">tick</a>(MY_FLOAT input);
|
00036 MY_FLOAT <a class="code" href="classJCRev.html#a3">tick</a>(MY_FLOAT input);
|
||||||
00037
|
00037
|
||||||
00038 <font class="keyword">protected</font>:
|
00038 <span class="keyword">protected</span>:
|
||||||
00039 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[3];
|
00039 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[3];
|
||||||
00040 <a class="code" href="classDelay.html">Delay</a> *combDelays[4];
|
00040 <a class="code" href="classDelay.html">Delay</a> *combDelays[4];
|
||||||
00041 <a class="code" href="classDelay.html">Delay</a> *outLeftDelay;
|
00041 <a class="code" href="classDelay.html">Delay</a> *outLeftDelay;
|
||||||
@@ -41,13 +39,13 @@
|
|||||||
00045
|
00045
|
||||||
00046 };
|
00046 };
|
||||||
00047
|
00047
|
||||||
00048 <font class="preprocessor">#endif</font>
|
00048 <span class="preprocessor">#endif</span>
|
||||||
00049 <font class="preprocessor"></font>
|
00049 <span class="preprocessor"></span>
|
||||||
</pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,42 +5,42 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>JetTabl.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>JetTabl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00014 <font class="comment">/***************************************************/</font>
|
00014 <span class="comment">/***************************************************/</span>
|
||||||
00015
|
00015
|
||||||
00016 <font class="preprocessor">#if !defined(__JETTABL_H)</font>
|
00016 <span class="preprocessor">#if !defined(__JETTABL_H)</span>
|
||||||
00017 <font class="preprocessor"></font><font class="preprocessor">#define __JETTABL_H</font>
|
00017 <span class="preprocessor"></span><span class="preprocessor">#define __JETTABL_H</span>
|
||||||
00018 <font class="preprocessor"></font>
|
00018 <span class="preprocessor"></span>
|
||||||
00019 <font class="preprocessor">#include "Stk.h"</font>
|
00019 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00020
|
00020
|
||||||
00021 <font class="keyword">class </font><a class="code" href="classJetTabl.html">JetTabl</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00021"></a><a class="code" href="classJetTabl.html">00021</a> <span class="keyword">class </span><a class="code" href="classJetTabl.html">JetTabl</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00022 {
|
00022 {
|
||||||
00023 <font class="keyword">public</font>:
|
00023 <span class="keyword">public</span>:
|
||||||
00025 <a class="code" href="classJetTabl.html#a0">JetTabl</a>();
|
00025 <a class="code" href="classJetTabl.html#a0">JetTabl</a>();
|
||||||
00026
|
00026
|
||||||
00028 <a class="code" href="classJetTabl.html#a1">~JetTabl</a>();
|
00028 <a class="code" href="classJetTabl.html#a1">~JetTabl</a>();
|
||||||
00029
|
00029
|
||||||
00031 MY_FLOAT <a class="code" href="classJetTabl.html#a2">lastOut</a>() <font class="keyword">const</font>;
|
00031 MY_FLOAT <a class="code" href="classJetTabl.html#a2">lastOut</a>() <span class="keyword">const</span>;
|
||||||
00032
|
00032
|
||||||
00034 MY_FLOAT <a class="code" href="classJetTabl.html#a3">tick</a>(MY_FLOAT input);
|
00034 MY_FLOAT <a class="code" href="classJetTabl.html#a3">tick</a>(MY_FLOAT input);
|
||||||
00035
|
00035
|
||||||
00037 MY_FLOAT *<a class="code" href="classJetTabl.html#a3">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00037 MY_FLOAT *<a class="code" href="classJetTabl.html#a3">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00038
|
00038
|
||||||
00039 <font class="keyword">protected</font>:
|
00039 <span class="keyword">protected</span>:
|
||||||
00040 MY_FLOAT lastOutput;
|
00040 MY_FLOAT lastOutput;
|
||||||
00041
|
00041
|
||||||
00042 };
|
00042 };
|
||||||
00043
|
00043
|
||||||
00044 <font class="preprocessor">#endif</font>
|
00044 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,52 +5,52 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Mandolin.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Mandolin.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00028 <font class="comment">/***************************************************/</font>
|
00028 <span class="comment">/***************************************************/</span>
|
||||||
00029
|
00029
|
||||||
00030 <font class="preprocessor">#if !defined(__MANDOLIN_H)</font>
|
00030 <span class="preprocessor">#if !defined(__MANDOLIN_H)</span>
|
||||||
00031 <font class="preprocessor"></font><font class="preprocessor">#define __MANDOLIN_H</font>
|
00031 <span class="preprocessor"></span><span class="preprocessor">#define __MANDOLIN_H</span>
|
||||||
00032 <font class="preprocessor"></font>
|
00032 <span class="preprocessor"></span>
|
||||||
00033 <font class="preprocessor">#include "PluckTwo.h"</font>
|
00033 <span class="preprocessor">#include "PluckTwo.h"</span>
|
||||||
00034 <font class="preprocessor">#include "WvIn.h"</font>
|
00034 <span class="preprocessor">#include "WvIn.h"</span>
|
||||||
00035
|
00035
|
||||||
00036 <font class="keyword">class </font><a class="code" href="classMandolin.html">Mandolin</a> : <font class="keyword">public</font> <a class="code" href="classPluckTwo.html">PluckTwo</a>
|
<a name="l00036"></a><a class="code" href="classMandolin.html">00036</a> <span class="keyword">class </span><a class="code" href="classMandolin.html">Mandolin</a> : <span class="keyword">public</span> <a class="code" href="classPluckTwo.html">PluckTwo</a>
|
||||||
00037 {
|
00037 {
|
||||||
00038 <font class="keyword">public</font>:
|
00038 <span class="keyword">public</span>:
|
||||||
00040 <a class="code" href="classMandolin.html#a0">Mandolin</a>(MY_FLOAT lowestFrequency);
|
00040 <a class="code" href="classMandolin.html#a0">Mandolin</a>(MY_FLOAT lowestFrequency);
|
||||||
00041
|
00041
|
||||||
00043 <font class="keyword">virtual</font> <a class="code" href="classMandolin.html#a1">~Mandolin</a>();
|
00043 <span class="keyword">virtual</span> <a class="code" href="classMandolin.html#a1">~Mandolin</a>();
|
||||||
00044
|
00044
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classMandolin.html#a2">pluck</a>(MY_FLOAT amplitude);
|
00046 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(MY_FLOAT amplitude);
|
||||||
00047
|
00047
|
||||||
00049 <font class="keywordtype">void</font> <a class="code" href="classMandolin.html#a2">pluck</a>(MY_FLOAT amplitude,MY_FLOAT position);
|
00049 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(MY_FLOAT amplitude,MY_FLOAT position);
|
||||||
00050
|
00050
|
||||||
00052 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a4">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00053
|
00053
|
||||||
00055 <font class="keywordtype">void</font> <a class="code" href="classMandolin.html#a5">setBodySize</a>(MY_FLOAT size);
|
00055 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a5">setBodySize</a>(MY_FLOAT size);
|
||||||
00056
|
00056
|
||||||
00058 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classPluckTwo.html#a9">tick</a>();
|
00058 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classMandolin.html#a6">tick</a>();
|
||||||
00059
|
00059
|
||||||
00061 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00061 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00062
|
00062
|
||||||
00063 <font class="keyword">protected</font>:
|
00063 <span class="keyword">protected</span>:
|
||||||
00064 <a class="code" href="classWvIn.html">WvIn</a> *soundfile[12];
|
00064 <a class="code" href="classWvIn.html">WvIn</a> *soundfile[12];
|
||||||
00065 MY_FLOAT directBody;
|
00065 MY_FLOAT directBody;
|
||||||
00066 <font class="keywordtype">int</font> mic;
|
00066 <span class="keywordtype">int</span> mic;
|
||||||
00067 <font class="keywordtype">long</font> dampTime;
|
00067 <span class="keywordtype">long</span> dampTime;
|
||||||
00068 <font class="keywordtype">bool</font> waveDone;
|
00068 <span class="keywordtype">bool</span> waveDone;
|
||||||
00069 };
|
00069 };
|
||||||
00070
|
00070
|
||||||
00071 <font class="preprocessor">#endif</font>
|
00071 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,84 +5,84 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Mesh2D.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Mesh2D.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00025 <font class="comment">/***************************************************/</font>
|
00025 <span class="comment">/***************************************************/</span>
|
||||||
00026
|
00026
|
||||||
00027 <font class="preprocessor">#if !defined(__MESH2D_H)</font>
|
00027 <span class="preprocessor">#if !defined(__MESH2D_H)</span>
|
||||||
00028 <font class="preprocessor"></font><font class="preprocessor">#define __MESH2D_H</font>
|
00028 <span class="preprocessor"></span><span class="preprocessor">#define __MESH2D_H</span>
|
||||||
00029 <font class="preprocessor"></font>
|
00029 <span class="preprocessor"></span>
|
||||||
00030 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00030 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00031 <font class="preprocessor">#include "OnePole.h"</font>
|
00031 <span class="preprocessor">#include "OnePole.h"</span>
|
||||||
00032
|
00032
|
||||||
00033 <font class="preprocessor">#define NXMAX ((short)(12))</font>
|
00033 <span class="preprocessor">#define NXMAX ((short)(12))</span>
|
||||||
00034 <font class="preprocessor"></font><font class="preprocessor">#define NYMAX ((short)(12))</font>
|
00034 <span class="preprocessor"></span><span class="preprocessor">#define NYMAX ((short)(12))</span>
|
||||||
00035 <font class="preprocessor"></font>
|
00035 <span class="preprocessor"></span>
|
||||||
00036 <font class="keyword">class </font><a class="code" href="classMesh2D.html">Mesh2D</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00036"></a><a class="code" href="classMesh2D.html">00036</a> <span class="keyword">class </span><a class="code" href="classMesh2D.html">Mesh2D</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00037 {
|
00037 {
|
||||||
00038 <font class="keyword">public</font>:
|
00038 <span class="keyword">public</span>:
|
||||||
00040 <a class="code" href="classMesh2D.html#a0">Mesh2D</a>(<font class="keywordtype">short</font> nX, <font class="keywordtype">short</font> nY);
|
00040 <a class="code" href="classMesh2D.html#a0">Mesh2D</a>(<span class="keywordtype">short</span> nX, <span class="keywordtype">short</span> nY);
|
||||||
00041
|
00041
|
||||||
00043 <a class="code" href="classMesh2D.html#a1">~Mesh2D</a>();
|
00043 <a class="code" href="classMesh2D.html#a1">~Mesh2D</a>();
|
||||||
00044
|
00044
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classMesh2D.html#a2">clear</a>();
|
00046 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a2">clear</a>();
|
||||||
00047
|
00047
|
||||||
00049 <font class="keywordtype">void</font> <a class="code" href="classMesh2D.html#a3">setNX</a>(<font class="keywordtype">short</font> lenX);
|
00049 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a3">setNX</a>(<span class="keywordtype">short</span> lenX);
|
||||||
00050
|
00050
|
||||||
00052 <font class="keywordtype">void</font> <a class="code" href="classMesh2D.html#a4">setNY</a>(<font class="keywordtype">short</font> lenY);
|
00052 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a4">setNY</a>(<span class="keywordtype">short</span> lenY);
|
||||||
00053
|
00053
|
||||||
00055 <font class="keywordtype">void</font> <a class="code" href="classMesh2D.html#a5">setInputPosition</a>(MY_FLOAT xFactor, MY_FLOAT yFactor);
|
00055 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a5">setInputPosition</a>(MY_FLOAT xFactor, MY_FLOAT yFactor);
|
||||||
00056
|
00056
|
||||||
00058 <font class="keywordtype">void</font> <a class="code" href="classMesh2D.html#a6">setDecay</a>(MY_FLOAT decayFactor);
|
00058 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a6">setDecay</a>(MY_FLOAT decayFactor);
|
||||||
00059
|
00059
|
||||||
00061 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00061 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00062
|
00062
|
||||||
00064 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00064 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a8">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00065
|
00065
|
||||||
00067 MY_FLOAT <a class="code" href="classMesh2D.html#a9">energy</a>();
|
00067 MY_FLOAT <a class="code" href="classMesh2D.html#a9">energy</a>();
|
||||||
00068
|
00068
|
||||||
00070 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00070 MY_FLOAT <a class="code" href="classMesh2D.html#a10">tick</a>();
|
||||||
00071
|
00071
|
||||||
00073 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>(MY_FLOAT input);
|
00073 MY_FLOAT <a class="code" href="classMesh2D.html#a10">tick</a>(MY_FLOAT input);
|
||||||
00074
|
00074
|
||||||
00076 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00076 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00077
|
00077
|
||||||
00078 <font class="keyword">protected</font>:
|
00078 <span class="keyword">protected</span>:
|
||||||
00079
|
00079
|
||||||
00080 MY_FLOAT tick0();
|
00080 MY_FLOAT tick0();
|
||||||
00081 MY_FLOAT tick1();
|
00081 MY_FLOAT tick1();
|
||||||
00082 <font class="keywordtype">void</font> clearMesh();
|
00082 <span class="keywordtype">void</span> clearMesh();
|
||||||
00083
|
00083
|
||||||
00084 <font class="keywordtype">short</font> NX, NY;
|
00084 <span class="keywordtype">short</span> NX, NY;
|
||||||
00085 <font class="keywordtype">short</font> xInput, yInput;
|
00085 <span class="keywordtype">short</span> xInput, yInput;
|
||||||
00086 <a class="code" href="classOnePole.html">OnePole</a> *filterX[NXMAX];
|
00086 <a class="code" href="classOnePole.html">OnePole</a> *filterX[NXMAX];
|
||||||
00087 <a class="code" href="classOnePole.html">OnePole</a> *filterY[NYMAX];
|
00087 <a class="code" href="classOnePole.html">OnePole</a> *filterY[NYMAX];
|
||||||
00088 MY_FLOAT v[NXMAX-1][NYMAX-1]; <font class="comment">// junction velocities</font>
|
00088 MY_FLOAT v[NXMAX-1][NYMAX-1]; <span class="comment">// junction velocities</span>
|
||||||
00089 MY_FLOAT vxp[NXMAX][NYMAX]; <font class="comment">// positive-x velocity wave</font>
|
00089 MY_FLOAT vxp[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
|
||||||
00090 MY_FLOAT vxm[NXMAX][NYMAX]; <font class="comment">// negative-x velocity wave</font>
|
00090 MY_FLOAT vxm[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
|
||||||
00091 MY_FLOAT vyp[NXMAX][NYMAX]; <font class="comment">// positive-y velocity wave</font>
|
00091 MY_FLOAT vyp[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
|
||||||
00092 MY_FLOAT vym[NXMAX][NYMAX]; <font class="comment">// negative-y velocity wave</font>
|
00092 MY_FLOAT vym[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
|
||||||
00093
|
00093
|
||||||
00094 <font class="comment">// Alternate buffers</font>
|
00094 <span class="comment">// Alternate buffers</span>
|
||||||
00095 MY_FLOAT vxp1[NXMAX][NYMAX]; <font class="comment">// positive-x velocity wave</font>
|
00095 MY_FLOAT vxp1[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
|
||||||
00096 MY_FLOAT vxm1[NXMAX][NYMAX]; <font class="comment">// negative-x velocity wave</font>
|
00096 MY_FLOAT vxm1[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
|
||||||
00097 MY_FLOAT vyp1[NXMAX][NYMAX]; <font class="comment">// positive-y velocity wave</font>
|
00097 MY_FLOAT vyp1[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
|
||||||
00098 MY_FLOAT vym1[NXMAX][NYMAX]; <font class="comment">// negative-y velocity wave</font>
|
00098 MY_FLOAT vym1[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
|
||||||
00099
|
00099
|
||||||
00100 <font class="keywordtype">int</font> counter; <font class="comment">// time in samples</font>
|
00100 <span class="keywordtype">int</span> counter; <span class="comment">// time in samples</span>
|
||||||
00101
|
00101
|
||||||
00102
|
00102
|
||||||
00103 };
|
00103 };
|
||||||
00104
|
00104
|
||||||
00105 <font class="preprocessor">#endif</font>
|
00105 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,110 +5,109 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Messager.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Messager.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00034 <font class="comment">/***************************************************/</font>
|
00034 <span class="comment">/***************************************************/</span>
|
||||||
00035
|
00035
|
||||||
00036 <font class="preprocessor">#if !defined(__MESSAGER_H)</font>
|
00036 <span class="preprocessor">#if !defined(__MESSAGER_H)</span>
|
||||||
00037 <font class="preprocessor"></font><font class="preprocessor">#define __MESSSAGER_H</font>
|
00037 <span class="preprocessor"></span><span class="preprocessor">#define __MESSSAGER_H</span>
|
||||||
00038 <font class="preprocessor"></font>
|
00038 <span class="preprocessor"></span>
|
||||||
00039 <font class="preprocessor">#include "Stk.h"</font>
|
00039 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00040 <font class="preprocessor">#include "SKINI.h"</font>
|
00040 <span class="preprocessor">#include "SKINI.h"</span>
|
||||||
00041
|
00041
|
||||||
00042 <font class="preprocessor">#define MESSAGE_LENGTH 128</font>
|
00042 <span class="preprocessor">#define MESSAGE_LENGTH 128</span>
|
||||||
00043 <font class="preprocessor"></font><font class="preprocessor">#define MAX_MESSAGES 25</font>
|
00043 <span class="preprocessor"></span><span class="preprocessor">#define MAX_MESSAGES 25</span>
|
||||||
00044 <font class="preprocessor"></font>
|
00044 <span class="preprocessor"></span><span class="preprocessor">#define STK_MIDI 0x0001</span>
|
||||||
00045 <font class="preprocessor">#if defined(__STK_REALTIME__)</font>
|
00045 <span class="preprocessor"></span><span class="preprocessor">#define STK_PIPE 0x0002</span>
|
||||||
00046 <font class="preprocessor"></font>
|
00046 <span class="preprocessor"></span><span class="preprocessor">#define STK_SOCKET 0x0004</span>
|
||||||
00047 <font class="preprocessor">#include "Thread.h"</font>
|
00047 <span class="preprocessor"></span>
|
||||||
00048 <font class="preprocessor">#include "Socket.h"</font>
|
00048 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
|
||||||
00049 <font class="preprocessor">#include "RtMidi.h"</font>
|
00049 <span class="preprocessor"></span>
|
||||||
00050
|
00050 <span class="preprocessor">#include "Thread.h"</span>
|
||||||
00051 <font class="preprocessor">#define STK_MIDI 0x0001</font>
|
00051 <span class="preprocessor">#include "Socket.h"</span>
|
||||||
00052 <font class="preprocessor"></font><font class="preprocessor">#define STK_PIPE 0x0002</font>
|
00052 <span class="preprocessor">#include "RtMidi.h"</span>
|
||||||
00053 <font class="preprocessor"></font><font class="preprocessor">#define STK_SOCKET 0x0004</font>
|
00053
|
||||||
00054 <font class="preprocessor"></font>
|
00054 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> THREAD_RETURN THREAD_TYPE stdinHandler(<span class="keywordtype">void</span> * ptr);
|
||||||
00055 <font class="keyword">extern</font> <font class="stringliteral">"C"</font> THREAD_RETURN THREAD_TYPE stdinHandler(<font class="keywordtype">void</font> * ptr);
|
00055
|
||||||
00056
|
00056 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
|
||||||
00057 <font class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__))</font>
|
00057 <span class="preprocessor"></span><span class="preprocessor"> #include <sys/types.h></span>
|
||||||
00058 <font class="preprocessor"></font><font class="preprocessor"> #include <sys/types.h></font>
|
00058 <span class="preprocessor"> #include <sys/time.h></span>
|
||||||
00059 <font class="preprocessor"> #include <sys/time.h></font>
|
00059 <span class="preprocessor">#endif</span>
|
||||||
00060 <font class="preprocessor">#endif</font>
|
00060 <span class="preprocessor"></span>
|
||||||
00061 <font class="preprocessor"></font>
|
00061 <span class="preprocessor">#endif // __STK_REALTIME__</span>
|
||||||
00062 <font class="preprocessor">#endif // __STK_REALTIME__</font>
|
00062 <span class="preprocessor"></span>
|
||||||
00063 <font class="preprocessor"></font>
|
<a name="l00063"></a><a class="code" href="classMessager.html">00063</a> <span class="keyword">class </span><a class="code" href="classMessager.html">Messager</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00064 <font class="keyword">class </font><a class="code" href="classMessager.html">Messager</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
00064 {
|
||||||
00065 {
|
00065 <span class="keyword">public</span>:
|
||||||
00066 <font class="keyword">public</font>:
|
00067
|
||||||
00068
|
00075 <a class="code" href="classMessager.html#a0">Messager</a>(<span class="keywordtype">int</span> inputMask = 0, <span class="keywordtype">int</span> port = 2001);
|
||||||
00075 <a class="code" href="classMessager.html#a0">Messager</a>(<font class="keywordtype">int</font> inputMask = 0);
|
|
||||||
00076
|
00076
|
||||||
00078 <a class="code" href="classMessager.html#a1">~Messager</a>();
|
00078 <a class="code" href="classMessager.html#a1">~Messager</a>();
|
||||||
00079
|
00079
|
||||||
00081
|
00081
|
||||||
00087 <font class="keywordtype">long</font> <a class="code" href="classMessager.html#a2">nextMessage</a>(<font class="keywordtype">void</font>);
|
00087 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a2">nextMessage</a>(<span class="keywordtype">void</span>);
|
||||||
00088
|
00088
|
||||||
00090 <font class="keywordtype">void</font> <a class="code" href="classMessager.html#a3">setRtDelta</a>(<font class="keywordtype">long</font> nSamples);
|
00090 <span class="keywordtype">void</span> <a class="code" href="classMessager.html#a3">setRtDelta</a>(<span class="keywordtype">long</span> nSamples);
|
||||||
00091
|
00091
|
||||||
00093 <font class="keywordtype">long</font> <a class="code" href="classMessager.html#a4">getDelta</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00093 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a4">getDelta</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00094
|
00094
|
||||||
00096 <font class="keywordtype">long</font> <a class="code" href="classMessager.html#a5">getType</a>() <font class="keyword">const</font>;
|
00096 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a5">getType</a>() <span class="keyword">const</span>;
|
||||||
00097
|
00097
|
||||||
00099 MY_FLOAT <a class="code" href="classMessager.html#a6">getByteTwo</a>() <font class="keyword">const</font>;
|
00099 MY_FLOAT <a class="code" href="classMessager.html#a6">getByteTwo</a>() <span class="keyword">const</span>;
|
||||||
00100
|
00100
|
||||||
00102 MY_FLOAT <a class="code" href="classMessager.html#a7">getByteThree</a>() <font class="keyword">const</font>;
|
00102 MY_FLOAT <a class="code" href="classMessager.html#a7">getByteThree</a>() <span class="keyword">const</span>;
|
||||||
00103
|
00103
|
||||||
00105 <font class="keywordtype">long</font> <a class="code" href="classMessager.html#a8">getChannel</a>() <font class="keyword">const</font>;
|
00105 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a8">getChannel</a>() <span class="keyword">const</span>;
|
||||||
00106
|
00106
|
||||||
00107 <font class="keyword">protected</font>:
|
00107 <span class="keyword">protected</span>:
|
||||||
00108
|
00108
|
||||||
00109 <a class="code" href="classSKINI.html">SKINI</a> *skini;
|
00109 <a class="code" href="classSKINI.html">SKINI</a> *skini;
|
||||||
00110 <font class="keywordtype">long</font> type;
|
00110 <span class="keywordtype">long</span> type;
|
||||||
00111 <font class="keywordtype">long</font> channel;
|
00111 <span class="keywordtype">long</span> channel;
|
||||||
00112 MY_FLOAT byte2;
|
00112 MY_FLOAT byte2;
|
||||||
00113 MY_FLOAT byte3;
|
00113 MY_FLOAT byte3;
|
||||||
00114 <font class="keywordtype">int</font> sources;
|
00114 <span class="keywordtype">int</span> sources;
|
||||||
00115 <font class="keywordtype">long</font> delta;
|
00115 <span class="keywordtype">long</span> delta;
|
||||||
00116 <font class="keywordtype">long</font> rtDelta;
|
00116 <span class="keywordtype">long</span> rtDelta;
|
||||||
00117 <font class="keywordtype">char</font> message[MAX_MESSAGES][MESSAGE_LENGTH];
|
00117 <span class="keywordtype">char</span> message[MAX_MESSAGES][MESSAGE_LENGTH];
|
||||||
00118 <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> messageIndex;
|
00118 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> messageIndex;
|
||||||
00119 <font class="keywordtype">int</font> nMessages;
|
00119 <span class="keywordtype">int</span> nMessages;
|
||||||
00120
|
00120
|
||||||
00121 <font class="preprocessor">#if defined(__STK_REALTIME__)</font>
|
00121 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
|
||||||
00122 <font class="preprocessor"></font>
|
00122 <span class="preprocessor"></span>
|
||||||
00123 <font class="comment">// Check MIDI source for new messages.</font>
|
00123 <span class="comment">// Check MIDI source for new messages.</span>
|
||||||
00124 <font class="keywordtype">bool</font> midiMessage(<font class="keywordtype">void</font>);
|
00124 <span class="keywordtype">bool</span> midiMessage(<span class="keywordtype">void</span>);
|
||||||
00125
|
00125
|
||||||
00126 <font class="comment">// Check socket sources for new messages.</font>
|
00126 <span class="comment">// Check socket sources for new messages.</span>
|
||||||
00127 <font class="keywordtype">bool</font> socketMessage(<font class="keywordtype">void</font>);
|
00127 <span class="keywordtype">bool</span> socketMessage(<span class="keywordtype">void</span>);
|
||||||
00128
|
00128
|
||||||
00129 <font class="comment">// Receive and parse socket data.</font>
|
00129 <span class="comment">// Receive and parse socket data.</span>
|
||||||
00130 <font class="keywordtype">bool</font> readSocket(<font class="keywordtype">int</font> fd);
|
00130 <span class="keywordtype">bool</span> readSocket(<span class="keywordtype">int</span> fd);
|
||||||
00131
|
00131
|
||||||
00132 <a class="code" href="classRtMidi.html">RtMidi</a> *midi;
|
00132 <a class="code" href="classRtMidi.html">RtMidi</a> *midi;
|
||||||
00133 <a class="code" href="classThread.html">Thread</a> *thread;
|
00133 <a class="code" href="classThread.html">Thread</a> *thread;
|
||||||
00134 <a class="code" href="classSocket.html">Socket</a> *soket;
|
00134 <a class="code" href="classSocket.html">Socket</a> *soket;
|
||||||
00135
|
00135
|
||||||
00136 <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> nSockets;
|
00136 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nSockets;
|
||||||
00137 fd_set mask;
|
00137 fd_set mask;
|
||||||
00138 <font class="keywordtype">int</font> maxfd;
|
00138 <span class="keywordtype">int</span> maxfd;
|
||||||
00139 <font class="keywordtype">int</font> pipefd;
|
00139 <span class="keywordtype">int</span> pipefd;
|
||||||
00140 <font class="keywordtype">int</font> fd[16];
|
00140 <span class="keywordtype">int</span> fd[16];
|
||||||
00141 <font class="keywordtype">char</font> error[256];
|
00141 <span class="keywordtype">char</span> error[256];
|
||||||
00142
|
00142
|
||||||
00143 <font class="preprocessor">#endif // __STK_REALTIME__</font>
|
00143 <span class="preprocessor">#endif // __STK_REALTIME__</span>
|
||||||
00144 <font class="preprocessor"></font>
|
00144 <span class="preprocessor"></span>
|
||||||
00145 };
|
00145 };
|
||||||
00146
|
00146
|
||||||
00147 <font class="preprocessor">#endif // defined(__MESSAGER_H)</font>
|
00147 <span class="preprocessor">#endif // defined(__MESSAGER_H)</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,42 +5,42 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>ModalBar.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>ModalBar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00028 <font class="comment">/***************************************************/</font>
|
00028 <span class="comment">/***************************************************/</span>
|
||||||
00029
|
00029
|
||||||
00030 <font class="preprocessor">#if !defined(__MODALBAR_H)</font>
|
00030 <span class="preprocessor">#if !defined(__MODALBAR_H)</span>
|
||||||
00031 <font class="preprocessor"></font><font class="preprocessor">#define __MODALBAR_H</font>
|
00031 <span class="preprocessor"></span><span class="preprocessor">#define __MODALBAR_H</span>
|
||||||
00032 <font class="preprocessor"></font>
|
00032 <span class="preprocessor"></span>
|
||||||
00033 <font class="preprocessor">#include "Modal.h"</font>
|
00033 <span class="preprocessor">#include "Modal.h"</span>
|
||||||
00034
|
00034
|
||||||
00035 <font class="keyword">class </font><a class="code" href="classModalBar.html">ModalBar</a> : <font class="keyword">public</font> <a class="code" href="classModal.html">Modal</a>
|
<a name="l00035"></a><a class="code" href="classModalBar.html">00035</a> <span class="keyword">class </span><a class="code" href="classModalBar.html">ModalBar</a> : <span class="keyword">public</span> <a class="code" href="classModal.html">Modal</a>
|
||||||
00036 {
|
00036 {
|
||||||
00037 <font class="keyword">public</font>:
|
00037 <span class="keyword">public</span>:
|
||||||
00039 <a class="code" href="classModalBar.html#a0">ModalBar</a>();
|
00039 <a class="code" href="classModalBar.html#a0">ModalBar</a>();
|
||||||
00040
|
00040
|
||||||
00042 <a class="code" href="classModalBar.html#a1">~ModalBar</a>();
|
00042 <a class="code" href="classModalBar.html#a1">~ModalBar</a>();
|
||||||
00043
|
00043
|
||||||
00045 <font class="keywordtype">void</font> <a class="code" href="classModalBar.html#a2">setStickHardness</a>(MY_FLOAT hardness);
|
00045 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a2">setStickHardness</a>(MY_FLOAT hardness);
|
||||||
00046
|
00046
|
||||||
00048 <font class="keywordtype">void</font> <a class="code" href="classModalBar.html#a3">setStrikePosition</a>(MY_FLOAT position);
|
00048 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a3">setStrikePosition</a>(MY_FLOAT position);
|
||||||
00049
|
00049
|
||||||
00051 <font class="keywordtype">void</font> <a class="code" href="classModalBar.html#a4">setPreset</a>(<font class="keywordtype">int</font> preset);
|
00051 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
|
||||||
00052
|
00052
|
||||||
00054 <font class="keywordtype">void</font> <a class="code" href="classModalBar.html#a5">setModulationDepth</a>(MY_FLOAT mDepth);
|
00054 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a5">setModulationDepth</a>(MY_FLOAT mDepth);
|
||||||
00055
|
00055
|
||||||
00057 <font class="keywordtype">void</font> <a class="code" href="classModal.html#a13">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00057 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00058 };
|
00058 };
|
||||||
00059
|
00059
|
||||||
00060 <font class="preprocessor">#endif</font>
|
00060 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,60 +5,60 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Modal.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Modal.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00012 <font class="comment">/***************************************************/</font>
|
00012 <span class="comment">/***************************************************/</span>
|
||||||
00013
|
00013
|
||||||
00014 <font class="preprocessor">#if !defined(__MODAL_H)</font>
|
00014 <span class="preprocessor">#if !defined(__MODAL_H)</span>
|
||||||
00015 <font class="preprocessor"></font><font class="preprocessor">#define __MODAL_H</font>
|
00015 <span class="preprocessor"></span><span class="preprocessor">#define __MODAL_H</span>
|
||||||
00016 <font class="preprocessor"></font>
|
00016 <span class="preprocessor"></span>
|
||||||
00017 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00017 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00018 <font class="preprocessor">#include "Envelope.h"</font>
|
00018 <span class="preprocessor">#include "Envelope.h"</span>
|
||||||
00019 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00019 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00020 <font class="preprocessor">#include "BiQuad.h"</font>
|
00020 <span class="preprocessor">#include "BiQuad.h"</span>
|
||||||
00021 <font class="preprocessor">#include "OnePole.h"</font>
|
00021 <span class="preprocessor">#include "OnePole.h"</span>
|
||||||
00022
|
00022
|
||||||
00023 <font class="keyword">class </font><a class="code" href="classModal.html">Modal</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00023"></a><a class="code" href="classModal.html">00023</a> <span class="keyword">class </span><a class="code" href="classModal.html">Modal</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00024 {
|
00024 {
|
||||||
00025 <font class="keyword">public</font>:
|
00025 <span class="keyword">public</span>:
|
||||||
00027 <a class="code" href="classModal.html#a0">Modal</a>( <font class="keywordtype">int</font> modes = 4 );
|
00027 <a class="code" href="classModal.html#a0">Modal</a>( <span class="keywordtype">int</span> modes = 4 );
|
||||||
00028
|
00028
|
||||||
00030 <font class="keyword">virtual</font> <a class="code" href="classModal.html#a1">~Modal</a>();
|
00030 <span class="keyword">virtual</span> <a class="code" href="classModal.html#a1">~Modal</a>();
|
||||||
00031
|
00031
|
||||||
00033 <font class="keywordtype">void</font> <a class="code" href="classModal.html#a2">clear</a>();
|
00033 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a2">clear</a>();
|
||||||
00034
|
00034
|
||||||
00036 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00036 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00037
|
00037
|
||||||
00039 <font class="keywordtype">void</font> <a class="code" href="classModal.html#a4">setRatioAndRadius</a>(<font class="keywordtype">int</font> modeIndex, MY_FLOAT ratio, MY_FLOAT radius);
|
00039 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a4">setRatioAndRadius</a>(<span class="keywordtype">int</span> modeIndex, MY_FLOAT ratio, MY_FLOAT radius);
|
||||||
00040
|
00040
|
||||||
00042 <font class="keywordtype">void</font> <a class="code" href="classModal.html#a5">setMasterGain</a>(MY_FLOAT aGain);
|
00042 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a5">setMasterGain</a>(MY_FLOAT aGain);
|
||||||
00043
|
00043
|
||||||
00045 <font class="keywordtype">void</font> <a class="code" href="classModal.html#a6">setDirectGain</a>(MY_FLOAT aGain);
|
00045 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a6">setDirectGain</a>(MY_FLOAT aGain);
|
||||||
00046
|
00046
|
||||||
00048 <font class="keywordtype">void</font> <a class="code" href="classModal.html#a7">setModeGain</a>(<font class="keywordtype">int</font> modeIndex, MY_FLOAT gain);
|
00048 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a7">setModeGain</a>(<span class="keywordtype">int</span> modeIndex, MY_FLOAT gain);
|
||||||
00049
|
00049
|
||||||
00051 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classModal.html#a8">strike</a>(MY_FLOAT amplitude);
|
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a8">strike</a>(MY_FLOAT amplitude);
|
||||||
00052
|
00052
|
||||||
00054 <font class="keywordtype">void</font> <a class="code" href="classModal.html#a9">damp</a>(MY_FLOAT amplitude);
|
00054 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a9">damp</a>(MY_FLOAT amplitude);
|
||||||
00055
|
00055
|
||||||
00057 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00057 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a10">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00058
|
00058
|
||||||
00060 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00060 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a11">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00061
|
00061
|
||||||
00063 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00063 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classModal.html#a12">tick</a>();
|
||||||
00064
|
00064
|
||||||
00066 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value) = 0;
|
00066 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value) = 0;
|
||||||
00067
|
00067
|
||||||
00068 <font class="keyword">protected</font>:
|
00068 <span class="keyword">protected</span>:
|
||||||
00069 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
|
00069 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
|
||||||
00070 <a class="code" href="classWvIn.html">WvIn</a> *wave;
|
00070 <a class="code" href="classWvIn.html">WvIn</a> *wave;
|
||||||
00071 <a class="code" href="classBiQuad.html">BiQuad</a> **filters;
|
00071 <a class="code" href="classBiQuad.html">BiQuad</a> **filters;
|
||||||
00072 <a class="code" href="classOnePole.html">OnePole</a> *onepole;
|
00072 <a class="code" href="classOnePole.html">OnePole</a> *onepole;
|
||||||
00073 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
00073 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
||||||
00074 <font class="keywordtype">int</font> nModes;
|
00074 <span class="keywordtype">int</span> nModes;
|
||||||
00075 MY_FLOAT vibratoGain;
|
00075 MY_FLOAT vibratoGain;
|
||||||
00076 MY_FLOAT masterGain;
|
00076 MY_FLOAT masterGain;
|
||||||
00077 MY_FLOAT directGain;
|
00077 MY_FLOAT directGain;
|
||||||
@@ -70,12 +70,12 @@
|
|||||||
00083
|
00083
|
||||||
00084 };
|
00084 };
|
||||||
00085
|
00085
|
||||||
00086 <font class="preprocessor">#endif</font>
|
00086 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,44 +5,44 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Modulate.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Modulate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00011 <font class="comment">/***************************************************/</font>
|
00011 <span class="comment">/***************************************************/</span>
|
||||||
00012
|
00012
|
||||||
00013 <font class="preprocessor">#if !defined(__MODULATE_H)</font>
|
00013 <span class="preprocessor">#if !defined(__MODULATE_H)</span>
|
||||||
00014 <font class="preprocessor"></font><font class="preprocessor">#define __MODULATE_H</font>
|
00014 <span class="preprocessor"></span><span class="preprocessor">#define __MODULATE_H</span>
|
||||||
00015 <font class="preprocessor"></font>
|
00015 <span class="preprocessor"></span>
|
||||||
00016 <font class="preprocessor">#include "Stk.h"</font>
|
00016 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00017 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00017 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00018 <font class="preprocessor">#include "SubNoise.h"</font>
|
00018 <span class="preprocessor">#include "SubNoise.h"</span>
|
||||||
00019 <font class="preprocessor">#include "OnePole.h"</font>
|
00019 <span class="preprocessor">#include "OnePole.h"</span>
|
||||||
00020
|
00020
|
||||||
00021 <font class="keyword">class </font><a class="code" href="classModulate.html">Modulate</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00021"></a><a class="code" href="classModulate.html">00021</a> <span class="keyword">class </span><a class="code" href="classModulate.html">Modulate</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00022 {
|
00022 {
|
||||||
00023 <font class="keyword">public</font>:
|
00023 <span class="keyword">public</span>:
|
||||||
00025 <a class="code" href="classModulate.html#a0">Modulate</a>();
|
00025 <a class="code" href="classModulate.html#a0">Modulate</a>();
|
||||||
00026
|
00026
|
||||||
00028 <a class="code" href="classModulate.html#a1">~Modulate</a>();
|
00028 <a class="code" href="classModulate.html#a1">~Modulate</a>();
|
||||||
00029
|
00029
|
||||||
00031 <font class="keywordtype">void</font> <a class="code" href="classModulate.html#a2">reset</a>();
|
00031 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a2">reset</a>();
|
||||||
00032
|
00032
|
||||||
00034 <font class="keywordtype">void</font> <a class="code" href="classModulate.html#a3">setVibratoRate</a>(MY_FLOAT aRate);
|
00034 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a3">setVibratoRate</a>(MY_FLOAT aRate);
|
||||||
00035
|
00035
|
||||||
00037 <font class="keywordtype">void</font> <a class="code" href="classModulate.html#a4">setVibratoGain</a>(MY_FLOAT aGain);
|
00037 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a4">setVibratoGain</a>(MY_FLOAT aGain);
|
||||||
00038
|
00038
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classModulate.html#a5">setRandomGain</a>(MY_FLOAT aGain);
|
00040 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a5">setRandomGain</a>(MY_FLOAT aGain);
|
||||||
00041
|
00041
|
||||||
00043 MY_FLOAT <a class="code" href="classModulate.html#a6">tick</a>();
|
00043 MY_FLOAT <a class="code" href="classModulate.html#a6">tick</a>();
|
||||||
00044
|
00044
|
||||||
00046 <font class="keyword">virtual</font> MY_FLOAT *<a class="code" href="classModulate.html#a6">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00046 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classModulate.html#a6">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00047
|
00047
|
||||||
00049 MY_FLOAT <a class="code" href="classModulate.html#a8">lastOut</a>() <font class="keyword">const</font>;
|
00049 MY_FLOAT <a class="code" href="classModulate.html#a8">lastOut</a>() <span class="keyword">const</span>;
|
||||||
00050
|
00050
|
||||||
00051 <font class="keyword">protected</font>:
|
00051 <span class="keyword">protected</span>:
|
||||||
00052 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
00052 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
||||||
00053 <a class="code" href="classSubNoise.html">SubNoise</a> *noise;
|
00053 <a class="code" href="classSubNoise.html">SubNoise</a> *noise;
|
||||||
00054 <a class="code" href="classOnePole.html">OnePole</a> *filter;
|
00054 <a class="code" href="classOnePole.html">OnePole</a> *filter;
|
||||||
00055 MY_FLOAT vibratoGain;
|
00055 MY_FLOAT vibratoGain;
|
||||||
@@ -51,12 +51,12 @@
|
|||||||
00058
|
00058
|
||||||
00059 };
|
00059 };
|
||||||
00060
|
00060
|
||||||
00061 <font class="preprocessor">#endif</font>
|
00061 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,39 +5,39 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Moog.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Moog.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00019 <font class="comment">/***************************************************/</font>
|
00019 <span class="comment">/***************************************************/</span>
|
||||||
00020
|
00020
|
||||||
00021 <font class="preprocessor">#if !defined(__MOOG_H)</font>
|
00021 <span class="preprocessor">#if !defined(__MOOG_H)</span>
|
||||||
00022 <font class="preprocessor"></font><font class="preprocessor">#define __MOOG_H</font>
|
00022 <span class="preprocessor"></span><span class="preprocessor">#define __MOOG_H</span>
|
||||||
00023 <font class="preprocessor"></font>
|
00023 <span class="preprocessor"></span>
|
||||||
00024 <font class="preprocessor">#include "Sampler.h"</font>
|
00024 <span class="preprocessor">#include "Sampler.h"</span>
|
||||||
00025 <font class="preprocessor">#include "FormSwep.h"</font>
|
00025 <span class="preprocessor">#include "FormSwep.h"</span>
|
||||||
00026
|
00026
|
||||||
00027 <font class="keyword">class </font><a class="code" href="classMoog.html">Moog</a> : <font class="keyword">public</font> <a class="code" href="classSampler.html">Sampler</a>
|
<a name="l00027"></a><a class="code" href="classMoog.html">00027</a> <span class="keyword">class </span><a class="code" href="classMoog.html">Moog</a> : <span class="keyword">public</span> <a class="code" href="classSampler.html">Sampler</a>
|
||||||
00028 {
|
00028 {
|
||||||
00029 <font class="keyword">public</font>:
|
00029 <span class="keyword">public</span>:
|
||||||
00031 <a class="code" href="classMoog.html#a0">Moog</a>();
|
00031 <a class="code" href="classMoog.html#a0">Moog</a>();
|
||||||
00032
|
00032
|
||||||
00034 <a class="code" href="classMoog.html#a1">~Moog</a>();
|
00034 <a class="code" href="classMoog.html#a1">~Moog</a>();
|
||||||
00035
|
00035
|
||||||
00037 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classSampler.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
00037 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a2">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00038
|
00038
|
||||||
00040 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00040 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00041
|
00041
|
||||||
00043 <font class="keywordtype">void</font> <a class="code" href="classMoog.html#a4">setModulationSpeed</a>(MY_FLOAT mSpeed);
|
00043 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a4">setModulationSpeed</a>(MY_FLOAT mSpeed);
|
||||||
00044
|
00044
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classMoog.html#a5">setModulationDepth</a>(MY_FLOAT mDepth);
|
00046 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a5">setModulationDepth</a>(MY_FLOAT mDepth);
|
||||||
00047
|
00047
|
||||||
00049 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classSampler.html#a7">tick</a>();
|
00049 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classMoog.html#a6">tick</a>();
|
||||||
00050
|
00050
|
||||||
00052 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classSampler.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00053
|
00053
|
||||||
00054 <font class="keyword">protected</font>:
|
00054 <span class="keyword">protected</span>:
|
||||||
00055 <a class="code" href="classFormSwep.html">FormSwep</a> *filters[2];
|
00055 <a class="code" href="classFormSwep.html">FormSwep</a> *filters[2];
|
||||||
00056 MY_FLOAT modDepth;
|
00056 MY_FLOAT modDepth;
|
||||||
00057 MY_FLOAT filterQ;
|
00057 MY_FLOAT filterQ;
|
||||||
@@ -45,12 +45,12 @@
|
|||||||
00059
|
00059
|
||||||
00060 };
|
00060 };
|
||||||
00061
|
00061
|
||||||
00062 <font class="preprocessor">#endif</font>
|
00062 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,33 +5,31 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>NRev.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>NRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00017 <font class="comment">/***************************************************/</font>
|
00017 <span class="comment">/***************************************************/</span>
|
||||||
00018
|
00018
|
||||||
00019 <font class="preprocessor">#if !defined(__NREV_H)</font>
|
00019 <span class="preprocessor">#if !defined(__NREV_H)</span>
|
||||||
00020 <font class="preprocessor"></font><font class="preprocessor">#define __NREV_H</font>
|
00020 <span class="preprocessor"></span><span class="preprocessor">#define __NREV_H</span>
|
||||||
00021 <font class="preprocessor"></font>
|
00021 <span class="preprocessor"></span>
|
||||||
00022 <font class="preprocessor">#include "Reverb.h"</font>
|
00022 <span class="preprocessor">#include "Reverb.h"</span>
|
||||||
00023 <font class="preprocessor">#include "Delay.h"</font>
|
00023 <span class="preprocessor">#include "Delay.h"</span>
|
||||||
00024
|
00024
|
||||||
00025 <font class="keyword">class </font><a class="code" href="classNRev.html">NRev</a> : <font class="keyword">public</font> <a class="code" href="classReverb.html">Reverb</a>
|
<a name="l00025"></a><a class="code" href="classNRev.html">00025</a> <span class="keyword">class </span><a class="code" href="classNRev.html">NRev</a> : <span class="keyword">public</span> <a class="code" href="classReverb.html">Reverb</a>
|
||||||
00026 {
|
00026 {
|
||||||
00027 <font class="keyword">public</font>:
|
00027 <span class="keyword">public</span>:
|
||||||
00028 <font class="comment">// Class constructor taking a T60 decay time argument.</font>
|
00029 <a class="code" href="classNRev.html#a0">NRev</a>(MY_FLOAT T60);
|
||||||
00029 NRev(MY_FLOAT T60);
|
|
||||||
00030
|
00030
|
||||||
00031 <font class="comment">// Class destructor.</font>
|
00032 <a class="code" href="classNRev.html#a1">~NRev</a>();
|
||||||
00032 ~NRev();
|
|
||||||
00033
|
00033
|
||||||
00035 <font class="keywordtype">void</font> <a class="code" href="classReverb.html#a2">clear</a>();
|
00035 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a2">clear</a>();
|
||||||
00036
|
00036
|
||||||
00038 MY_FLOAT <a class="code" href="classReverb.html#a7">tick</a>(MY_FLOAT input);
|
00038 MY_FLOAT <a class="code" href="classNRev.html#a3">tick</a>(MY_FLOAT input);
|
||||||
00039
|
00039
|
||||||
00040 <font class="keyword">protected</font>:
|
00040 <span class="keyword">protected</span>:
|
||||||
00041 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[8];
|
00041 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[8];
|
||||||
00042 <a class="code" href="classDelay.html">Delay</a> *combDelays[6];
|
00042 <a class="code" href="classDelay.html">Delay</a> *combDelays[6];
|
||||||
00043 MY_FLOAT allpassCoefficient;
|
00043 MY_FLOAT allpassCoefficient;
|
||||||
@@ -40,13 +38,13 @@
|
|||||||
00046
|
00046
|
||||||
00047 };
|
00047 };
|
||||||
00048
|
00048
|
||||||
00049 <font class="preprocessor">#endif</font>
|
00049 <span class="preprocessor">#endif</span>
|
||||||
00050 <font class="preprocessor"></font>
|
00050 <span class="preprocessor"></span>
|
||||||
</pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,44 +5,50 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Noise.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Noise.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00011 <font class="comment">/***************************************************/</font>
|
00011 <span class="comment">/***************************************************/</span>
|
||||||
00012
|
00012
|
||||||
00013 <font class="preprocessor">#if !defined(__NOISE_H)</font>
|
00013 <span class="preprocessor">#if !defined(__NOISE_H)</span>
|
||||||
00014 <font class="preprocessor"></font><font class="preprocessor">#define __NOISE_H</font>
|
00014 <span class="preprocessor"></span><span class="preprocessor">#define __NOISE_H</span>
|
||||||
00015 <font class="preprocessor"></font>
|
00015 <span class="preprocessor"></span>
|
||||||
00016 <font class="preprocessor">#include "Stk.h"</font>
|
00016 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00017
|
00017
|
||||||
00018 <font class="keyword">class </font><a class="code" href="classNoise.html">Noise</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00018"></a><a class="code" href="classNoise.html">00018</a> <span class="keyword">class </span><a class="code" href="classNoise.html">Noise</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00019 {
|
00019 {
|
||||||
00020 <font class="keyword">public</font>:
|
00020 <span class="keyword">public</span>:
|
||||||
00021
|
00021
|
||||||
00023 <a class="code" href="classNoise.html#a0">Noise</a>();
|
00023 <a class="code" href="classNoise.html#a0">Noise</a>();
|
||||||
00024
|
00024
|
||||||
00026 <font class="keyword">virtual</font> <a class="code" href="classNoise.html#a1">~Noise</a>();
|
00026
|
||||||
00027
|
00030 <a class="code" href="classNoise.html#a0">Noise</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed );
|
||||||
00029 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classNoise.html#a2">tick</a>();
|
00031
|
||||||
00030
|
00033 <span class="keyword">virtual</span> <a class="code" href="classNoise.html#a2">~Noise</a>();
|
||||||
00032 <font class="keyword">virtual</font> MY_FLOAT *<a class="code" href="classNoise.html#a2">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00034
|
||||||
00033
|
|
||||||
00035 MY_FLOAT <a class="code" href="classNoise.html#a4">lastOut</a>() <font class="keyword">const</font>;
|
|
||||||
00036
|
00036
|
||||||
00037 <font class="keyword">protected</font>:
|
00040 <span class="keywordtype">void</span> <a class="code" href="classNoise.html#a3">setSeed</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed = 0 );
|
||||||
00038
|
00041
|
||||||
00039 MY_FLOAT lastOutput;
|
00043 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classNoise.html#a4">tick</a>();
|
||||||
00040
|
00044
|
||||||
00041 };
|
00046 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classNoise.html#a4">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00042
|
00047
|
||||||
00043 <font class="preprocessor">#endif</font>
|
00049 MY_FLOAT <a class="code" href="classNoise.html#a6">lastOut</a>() <span class="keyword">const</span>;
|
||||||
</font></pre></div><HR>
|
00050
|
||||||
|
00051 <span class="keyword">protected</span>:
|
||||||
|
00052
|
||||||
|
00053 MY_FLOAT lastOutput;
|
||||||
|
00054
|
||||||
|
00055 };
|
||||||
|
00056
|
||||||
|
00057 <span class="preprocessor">#endif</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,21 +5,21 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>OnePole.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>OnePole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00013 <font class="comment">/***************************************************/</font>
|
00013 <span class="comment">/***************************************************/</span>
|
||||||
00014
|
00014
|
||||||
00015 <font class="preprocessor">#if !defined(__ONEPOLE_H)</font>
|
00015 <span class="preprocessor">#if !defined(__ONEPOLE_H)</span>
|
||||||
00016 <font class="preprocessor"></font><font class="preprocessor">#define __ONEPOLE_H</font>
|
00016 <span class="preprocessor"></span><span class="preprocessor">#define __ONEPOLE_H</span>
|
||||||
00017 <font class="preprocessor"></font>
|
00017 <span class="preprocessor"></span>
|
||||||
00018 <font class="preprocessor">#include "Filter.h"</font>
|
00018 <span class="preprocessor">#include "Filter.h"</span>
|
||||||
00019
|
00019
|
||||||
00020 <font class="keyword">class </font><a class="code" href="classOnePole.html">OnePole</a> : <font class="keyword">protected</font> <a class="code" href="classFilter.html">Filter</a>
|
<a name="l00020"></a><a class="code" href="classOnePole.html">00020</a> <span class="keyword">class </span><a class="code" href="classOnePole.html">OnePole</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
|
||||||
00021 {
|
00021 {
|
||||||
00022 <font class="keyword">public</font>:
|
00022 <span class="keyword">public</span>:
|
||||||
00023
|
00023
|
||||||
00025 <a class="code" href="classOnePole.html#a0">OnePole</a>();
|
00025 <a class="code" href="classOnePole.html#a0">OnePole</a>();
|
||||||
00026
|
00026
|
||||||
@@ -27,33 +27,33 @@
|
|||||||
00029
|
00029
|
||||||
00031 <a class="code" href="classOnePole.html#a2">~OnePole</a>();
|
00031 <a class="code" href="classOnePole.html#a2">~OnePole</a>();
|
||||||
00032
|
00032
|
||||||
00034 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a3">clear</a>(<font class="keywordtype">void</font>);
|
00034 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a3">clear</a>(<span class="keywordtype">void</span>);
|
||||||
00035
|
00035
|
||||||
00037 <font class="keywordtype">void</font> <a class="code" href="classOnePole.html#a4">setB0</a>(MY_FLOAT b0);
|
00037 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a4">setB0</a>(MY_FLOAT b0);
|
||||||
00038
|
00038
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classOnePole.html#a5">setA1</a>(MY_FLOAT a1);
|
00040 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a5">setA1</a>(MY_FLOAT a1);
|
||||||
00041
|
00041
|
||||||
00043
|
00043
|
||||||
00050 <font class="keywordtype">void</font> <a class="code" href="classOnePole.html#a6">setPole</a>(MY_FLOAT thePole);
|
00050 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a6">setPole</a>(MY_FLOAT thePole);
|
||||||
00051
|
00051
|
||||||
00053
|
00053
|
||||||
00057 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a7">setGain</a>(MY_FLOAT theGain);
|
00057 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a7">setGain</a>(MY_FLOAT theGain);
|
||||||
00058
|
00058
|
||||||
00060 MY_FLOAT <a class="code" href="classFilter.html#a8">getGain</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00060 MY_FLOAT <a class="code" href="classOnePole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00061
|
00061
|
||||||
00063 MY_FLOAT <a class="code" href="classFilter.html#a9">lastOut</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00063 MY_FLOAT <a class="code" href="classOnePole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00064
|
00064
|
||||||
00066 MY_FLOAT <a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT sample);
|
00066 MY_FLOAT <a class="code" href="classOnePole.html#a10">tick</a>(MY_FLOAT sample);
|
||||||
00067
|
00067
|
||||||
00069 MY_FLOAT *<a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00069 MY_FLOAT *<a class="code" href="classOnePole.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00070 };
|
00070 };
|
||||||
00071
|
00071
|
||||||
00072 <font class="preprocessor">#endif</font>
|
00072 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,21 +5,21 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>OneZero.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>OneZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00013 <font class="comment">/***************************************************/</font>
|
00013 <span class="comment">/***************************************************/</span>
|
||||||
00014
|
00014
|
||||||
00015 <font class="preprocessor">#if !defined(__ONEZERO_H)</font>
|
00015 <span class="preprocessor">#if !defined(__ONEZERO_H)</span>
|
||||||
00016 <font class="preprocessor"></font><font class="preprocessor">#define __ONEZERO_H</font>
|
00016 <span class="preprocessor"></span><span class="preprocessor">#define __ONEZERO_H</span>
|
||||||
00017 <font class="preprocessor"></font>
|
00017 <span class="preprocessor"></span>
|
||||||
00018 <font class="preprocessor">#include "Filter.h"</font>
|
00018 <span class="preprocessor">#include "Filter.h"</span>
|
||||||
00019
|
00019
|
||||||
00020 <font class="keyword">class </font><a class="code" href="classOneZero.html">OneZero</a> : <font class="keyword">protected</font> <a class="code" href="classFilter.html">Filter</a>
|
<a name="l00020"></a><a class="code" href="classOneZero.html">00020</a> <span class="keyword">class </span><a class="code" href="classOneZero.html">OneZero</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
|
||||||
00021 {
|
00021 {
|
||||||
00022 <font class="keyword">public</font>:
|
00022 <span class="keyword">public</span>:
|
||||||
00023
|
00023
|
||||||
00025 <a class="code" href="classOneZero.html#a0">OneZero</a>();
|
00025 <a class="code" href="classOneZero.html#a0">OneZero</a>();
|
||||||
00026
|
00026
|
||||||
@@ -27,33 +27,33 @@
|
|||||||
00029
|
00029
|
||||||
00031 <a class="code" href="classOneZero.html#a2">~OneZero</a>();
|
00031 <a class="code" href="classOneZero.html#a2">~OneZero</a>();
|
||||||
00032
|
00032
|
||||||
00034 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a3">clear</a>(<font class="keywordtype">void</font>);
|
00034 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a3">clear</a>(<span class="keywordtype">void</span>);
|
||||||
00035
|
00035
|
||||||
00037 <font class="keywordtype">void</font> <a class="code" href="classOneZero.html#a4">setB0</a>(MY_FLOAT b0);
|
00037 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a4">setB0</a>(MY_FLOAT b0);
|
||||||
00038
|
00038
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classOneZero.html#a5">setB1</a>(MY_FLOAT b1);
|
00040 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a5">setB1</a>(MY_FLOAT b1);
|
||||||
00041
|
00041
|
||||||
00043
|
00043
|
||||||
00050 <font class="keywordtype">void</font> <a class="code" href="classOneZero.html#a6">setZero</a>(MY_FLOAT theZero);
|
00050 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a6">setZero</a>(MY_FLOAT theZero);
|
||||||
00051
|
00051
|
||||||
00053
|
00053
|
||||||
00057 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a7">setGain</a>(MY_FLOAT theGain);
|
00057 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a7">setGain</a>(MY_FLOAT theGain);
|
||||||
00058
|
00058
|
||||||
00060 MY_FLOAT <a class="code" href="classFilter.html#a8">getGain</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00060 MY_FLOAT <a class="code" href="classOneZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00061
|
00061
|
||||||
00063 MY_FLOAT <a class="code" href="classFilter.html#a9">lastOut</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00063 MY_FLOAT <a class="code" href="classOneZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00064
|
00064
|
||||||
00066 MY_FLOAT <a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT sample);
|
00066 MY_FLOAT <a class="code" href="classOneZero.html#a10">tick</a>(MY_FLOAT sample);
|
||||||
00067
|
00067
|
||||||
00069 MY_FLOAT *<a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00069 MY_FLOAT *<a class="code" href="classOneZero.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00070 };
|
00070 };
|
||||||
00071
|
00071
|
||||||
00072 <font class="preprocessor">#endif</font>
|
00072 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,47 +5,45 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>PRCRev.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>PRCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00015 <font class="comment">/***************************************************/</font>
|
00015 <span class="comment">/***************************************************/</span>
|
||||||
00016
|
00016
|
||||||
00017 <font class="preprocessor">#if !defined(__PRCREV_H)</font>
|
00017 <span class="preprocessor">#if !defined(__PRCREV_H)</span>
|
||||||
00018 <font class="preprocessor"></font><font class="preprocessor">#define __PRCREV_H</font>
|
00018 <span class="preprocessor"></span><span class="preprocessor">#define __PRCREV_H</span>
|
||||||
00019 <font class="preprocessor"></font>
|
00019 <span class="preprocessor"></span>
|
||||||
00020 <font class="preprocessor">#include "Reverb.h"</font>
|
00020 <span class="preprocessor">#include "Reverb.h"</span>
|
||||||
00021 <font class="preprocessor">#include "Delay.h"</font>
|
00021 <span class="preprocessor">#include "Delay.h"</span>
|
||||||
00022
|
00022
|
||||||
00023 <font class="keyword">class </font><a class="code" href="classPRCRev.html">PRCRev</a> : <font class="keyword">public</font> <a class="code" href="classReverb.html">Reverb</a>
|
<a name="l00023"></a><a class="code" href="classPRCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classPRCRev.html">PRCRev</a> : <span class="keyword">public</span> <a class="code" href="classReverb.html">Reverb</a>
|
||||||
00024 {
|
00024 {
|
||||||
00025 <font class="keyword">public</font>:
|
00025 <span class="keyword">public</span>:
|
||||||
00026 <font class="comment">// Class constructor taking a T60 decay time argument.</font>
|
00027 <a class="code" href="classPRCRev.html#a0">PRCRev</a>(MY_FLOAT T60);
|
||||||
00027 PRCRev(MY_FLOAT T60);
|
|
||||||
00028
|
00028
|
||||||
00029 <font class="comment">// Class destructor.</font>
|
00030 <a class="code" href="classPRCRev.html#a1">~PRCRev</a>();
|
||||||
00030 ~PRCRev();
|
|
||||||
00031
|
00031
|
||||||
00033 <font class="keywordtype">void</font> <a class="code" href="classReverb.html#a2">clear</a>();
|
00033 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a2">clear</a>();
|
||||||
00034
|
00034
|
||||||
00036 MY_FLOAT <a class="code" href="classReverb.html#a7">tick</a>(MY_FLOAT input);
|
00036 MY_FLOAT <a class="code" href="classPRCRev.html#a3">tick</a>(MY_FLOAT input);
|
||||||
00037
|
00037
|
||||||
00038 <font class="keyword">protected</font>:
|
00038 <span class="keyword">protected</span>:
|
||||||
00039 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[2];
|
00039 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[2];
|
||||||
00040 <a class="code" href="classDelay.html">Delay</a> *combDelays[2];
|
00040 <a class="code" href="classDelay.html">Delay</a> *combDelays[2];
|
||||||
00041 MY_FLOAT allpassCoefficient;
|
00041 MY_FLOAT allpassCoefficient;
|
||||||
00042 MY_FLOAT combCoefficient[2];
|
00042 MY_FLOAT combCoefficient[2];
|
||||||
00043
|
00043
|
||||||
00044 };
|
00044 };
|
||||||
00045
|
00045
|
||||||
00046 <font class="preprocessor">#endif</font>
|
00046 <span class="preprocessor">#endif</span>
|
||||||
00047 <font class="preprocessor"></font>
|
00047 <span class="preprocessor"></span>
|
||||||
</pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
BIN
doc/html/Papers/STKsiggraph96.pdf
Normal file
BIN
doc/html/Papers/STKsiggraph96.pdf
Normal file
Binary file not shown.
BIN
doc/html/Papers/stkicmc99.pdf
Normal file
BIN
doc/html/Papers/stkicmc99.pdf
Normal file
Binary file not shown.
@@ -5,38 +5,38 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>PercFlut.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>PercFlut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00027 <font class="comment">/***************************************************/</font>
|
00027 <span class="comment">/***************************************************/</span>
|
||||||
00028
|
00028
|
||||||
00029 <font class="preprocessor">#if !defined(__PERCFLUT_H)</font>
|
00029 <span class="preprocessor">#if !defined(__PERCFLUT_H)</span>
|
||||||
00030 <font class="preprocessor"></font><font class="preprocessor">#define __PERCFLUT_H</font>
|
00030 <span class="preprocessor"></span><span class="preprocessor">#define __PERCFLUT_H</span>
|
||||||
00031 <font class="preprocessor"></font>
|
00031 <span class="preprocessor"></span>
|
||||||
00032 <font class="preprocessor">#include "FM.h"</font>
|
00032 <span class="preprocessor">#include "FM.h"</span>
|
||||||
00033
|
00033
|
||||||
00034 <font class="keyword">class </font><a class="code" href="classPercFlut.html">PercFlut</a> : <font class="keyword">public</font> <a class="code" href="classFM.html">FM</a>
|
<a name="l00034"></a><a class="code" href="classPercFlut.html">00034</a> <span class="keyword">class </span><a class="code" href="classPercFlut.html">PercFlut</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
|
||||||
00035 {
|
00035 {
|
||||||
00036 <font class="keyword">public</font>:
|
00036 <span class="keyword">public</span>:
|
||||||
00038 <a class="code" href="classPercFlut.html#a0">PercFlut</a>();
|
00038 <a class="code" href="classPercFlut.html#a0">PercFlut</a>();
|
||||||
00039
|
00039
|
||||||
00041 <a class="code" href="classPercFlut.html#a1">~PercFlut</a>();
|
00041 <a class="code" href="classPercFlut.html#a1">~PercFlut</a>();
|
||||||
00042
|
00042
|
||||||
00044 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00044 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a2">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00045
|
00045
|
||||||
00047 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00047 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00048
|
00048
|
||||||
00050 MY_FLOAT <a class="code" href="classFM.html#a14">tick</a>();
|
00050 MY_FLOAT <a class="code" href="classPercFlut.html#a4">tick</a>();
|
||||||
00051 };
|
00051 };
|
||||||
00052
|
00052
|
||||||
00053 <font class="preprocessor">#endif</font>
|
00053 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
56
doc/html/Phonemes_8h-source.html
Normal file
56
doc/html/Phonemes_8h-source.html
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
|
||||||
|
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
|
||||||
|
</HEAD>
|
||||||
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
|
<CENTER>
|
||||||
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
|
<HR>
|
||||||
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
|
<h1>Phonemes.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
|
00011 <span class="comment">/***************************************************/</span>
|
||||||
|
00012
|
||||||
|
00013 <span class="preprocessor">#if !defined(__PHONEMES_H)</span>
|
||||||
|
00014 <span class="preprocessor"></span><span class="preprocessor">#define __PHONEMES_H</span>
|
||||||
|
00015 <span class="preprocessor"></span>
|
||||||
|
00016 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
|
00017
|
||||||
|
<a name="l00018"></a><a class="code" href="classPhonemes.html">00018</a> <span class="keyword">class </span><a class="code" href="classPhonemes.html">Phonemes</a>
|
||||||
|
00019 {
|
||||||
|
00020 <span class="keyword">public</span>:
|
||||||
|
00021
|
||||||
|
00022 <a class="code" href="classPhonemes.html">Phonemes</a>(<span class="keywordtype">void</span>);
|
||||||
|
00023 ~<a class="code" href="classPhonemes.html">Phonemes</a>(<span class="keywordtype">void</span>);
|
||||||
|
00024
|
||||||
|
00026 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classPhonemes.html#e0">name</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
|
||||||
|
00027
|
||||||
|
00029 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classPhonemes.html#e1">voiceGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
|
||||||
|
00030
|
||||||
|
00032 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classPhonemes.html#e2">noiseGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
|
||||||
|
00033
|
||||||
|
00035 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classPhonemes.html#e3">formantFrequency</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
|
||||||
|
00036
|
||||||
|
00038 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classPhonemes.html#e4">formantRadius</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
|
||||||
|
00039
|
||||||
|
00041 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classPhonemes.html#e5">formantGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
|
||||||
|
00042
|
||||||
|
00043 <span class="keyword">private</span>:
|
||||||
|
00044
|
||||||
|
00045 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> phonemeNames[][4];
|
||||||
|
00046 <span class="keyword">static</span> <span class="keyword">const</span> MY_FLOAT phonemeGains[][2];
|
||||||
|
00047 <span class="keyword">static</span> <span class="keyword">const</span> MY_FLOAT phonemeParameters[][4][3];
|
||||||
|
00048
|
||||||
|
00049 };
|
||||||
|
00050
|
||||||
|
00051 <span class="preprocessor">#endif</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
@@ -5,40 +5,40 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>PitShift.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>PitShift.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00010 <font class="comment">/***************************************************/</font>
|
00010 <span class="comment">/***************************************************/</span>
|
||||||
00011
|
00011
|
||||||
00012 <font class="preprocessor">#if !defined(__PITSHIFT_H)</font>
|
00012 <span class="preprocessor">#if !defined(__PITSHIFT_H)</span>
|
||||||
00013 <font class="preprocessor"></font><font class="preprocessor">#define __PITSHIFT_H</font>
|
00013 <span class="preprocessor"></span><span class="preprocessor">#define __PITSHIFT_H</span>
|
||||||
00014 <font class="preprocessor"></font>
|
00014 <span class="preprocessor"></span>
|
||||||
00015 <font class="preprocessor">#include "Stk.h"</font>
|
00015 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00016 <font class="preprocessor">#include "DelayL.h"</font>
|
00016 <span class="preprocessor">#include "DelayL.h"</span>
|
||||||
00017
|
00017
|
||||||
00018 <font class="keyword">class </font><a class="code" href="classPitShift.html">PitShift</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00018"></a><a class="code" href="classPitShift.html">00018</a> <span class="keyword">class </span><a class="code" href="classPitShift.html">PitShift</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00019 {
|
00019 {
|
||||||
00020 <font class="keyword">public</font>:
|
00020 <span class="keyword">public</span>:
|
||||||
00022 <a class="code" href="classPitShift.html#a0">PitShift</a>();
|
00022 <a class="code" href="classPitShift.html#a0">PitShift</a>();
|
||||||
00023
|
00023
|
||||||
00025 <a class="code" href="classPitShift.html#a1">~PitShift</a>();
|
00025 <a class="code" href="classPitShift.html#a1">~PitShift</a>();
|
||||||
00026
|
00026
|
||||||
00028 <font class="keywordtype">void</font> <a class="code" href="classPitShift.html#a2">clear</a>();
|
00028 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a2">clear</a>();
|
||||||
00029
|
00029
|
||||||
00031 <font class="keywordtype">void</font> <a class="code" href="classPitShift.html#a3">setShift</a>(MY_FLOAT shift);
|
00031 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a3">setShift</a>(MY_FLOAT shift);
|
||||||
00032
|
00032
|
||||||
00034 <font class="keywordtype">void</font> <a class="code" href="classPitShift.html#a4">setEffectMix</a>(MY_FLOAT mix);
|
00034 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a4">setEffectMix</a>(MY_FLOAT mix);
|
||||||
00035
|
00035
|
||||||
00037 MY_FLOAT <a class="code" href="classPitShift.html#a5">lastOut</a>() <font class="keyword">const</font>;
|
00037 MY_FLOAT <a class="code" href="classPitShift.html#a5">lastOut</a>() <span class="keyword">const</span>;
|
||||||
00038
|
00038
|
||||||
00040 MY_FLOAT <a class="code" href="classPitShift.html#a6">tick</a>(MY_FLOAT input);
|
00040 MY_FLOAT <a class="code" href="classPitShift.html#a6">tick</a>(MY_FLOAT input);
|
||||||
00041
|
00041
|
||||||
00043 MY_FLOAT *<a class="code" href="classPitShift.html#a6">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00043 MY_FLOAT *<a class="code" href="classPitShift.html#a6">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00044
|
00044
|
||||||
00045 <font class="keyword">protected</font>:
|
00045 <span class="keyword">protected</span>:
|
||||||
00046 <a class="code" href="classDelay.html">Delay</a> *delayLine[2];
|
00046 <a class="code" href="classDelayL.html">DelayL</a> *delayLine[2];
|
||||||
00047 MY_FLOAT lastOutput;
|
00047 MY_FLOAT lastOutput;
|
||||||
00048 MY_FLOAT delay[2];
|
00048 MY_FLOAT delay[2];
|
||||||
00049 MY_FLOAT env[2];
|
00049 MY_FLOAT env[2];
|
||||||
@@ -47,13 +47,13 @@
|
|||||||
00052
|
00052
|
||||||
00053 };
|
00053 };
|
||||||
00054
|
00054
|
||||||
00055 <font class="preprocessor">#endif</font>
|
00055 <span class="preprocessor">#endif</span>
|
||||||
00056 <font class="preprocessor"></font>
|
00056 <span class="preprocessor"></span>
|
||||||
</pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,52 +5,52 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>PluckTwo.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>PluckTwo.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00019 <font class="comment">/***************************************************/</font>
|
00019 <span class="comment">/***************************************************/</span>
|
||||||
00020
|
00020
|
||||||
00021 <font class="preprocessor">#if !defined(__PLUCKTWO_H)</font>
|
00021 <span class="preprocessor">#if !defined(__PLUCKTWO_H)</span>
|
||||||
00022 <font class="preprocessor"></font><font class="preprocessor">#define __PLUCKTWO_H</font>
|
00022 <span class="preprocessor"></span><span class="preprocessor">#define __PLUCKTWO_H</span>
|
||||||
00023 <font class="preprocessor"></font>
|
00023 <span class="preprocessor"></span>
|
||||||
00024 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00024 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00025 <font class="preprocessor">#include "DelayL.h"</font>
|
00025 <span class="preprocessor">#include "DelayL.h"</span>
|
||||||
00026 <font class="preprocessor">#include "DelayA.h"</font>
|
00026 <span class="preprocessor">#include "DelayA.h"</span>
|
||||||
00027 <font class="preprocessor">#include "OneZero.h"</font>
|
00027 <span class="preprocessor">#include "OneZero.h"</span>
|
||||||
00028
|
00028
|
||||||
00029 <font class="keyword">class </font><a class="code" href="classPluckTwo.html">PluckTwo</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00029"></a><a class="code" href="classPluckTwo.html">00029</a> <span class="keyword">class </span><a class="code" href="classPluckTwo.html">PluckTwo</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00030 {
|
00030 {
|
||||||
00031 <font class="keyword">public</font>:
|
00031 <span class="keyword">public</span>:
|
||||||
00033 <a class="code" href="classPluckTwo.html#a0">PluckTwo</a>(MY_FLOAT lowestFrequency);
|
00033 <a class="code" href="classPluckTwo.html#a0">PluckTwo</a>(MY_FLOAT lowestFrequency);
|
||||||
00034
|
00034
|
||||||
00036 <font class="keyword">virtual</font> <a class="code" href="classPluckTwo.html#a1">~PluckTwo</a>();
|
00036 <span class="keyword">virtual</span> <a class="code" href="classPluckTwo.html#a1">~PluckTwo</a>();
|
||||||
00037
|
00037
|
||||||
00039 <font class="keywordtype">void</font> <a class="code" href="classPluckTwo.html#a2">clear</a>();
|
00039 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a2">clear</a>();
|
||||||
00040
|
00040
|
||||||
00042 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00043
|
00043
|
||||||
00045 <font class="keywordtype">void</font> <a class="code" href="classPluckTwo.html#a4">setDetune</a>(MY_FLOAT detune);
|
00045 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a4">setDetune</a>(MY_FLOAT detune);
|
||||||
00046
|
00046
|
||||||
00048 <font class="keywordtype">void</font> <a class="code" href="classPluckTwo.html#a5">setFreqAndDetune</a>(MY_FLOAT frequency, MY_FLOAT detune);
|
00048 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a5">setFreqAndDetune</a>(MY_FLOAT frequency, MY_FLOAT detune);
|
||||||
00049
|
00049
|
||||||
00051 <font class="keywordtype">void</font> <a class="code" href="classPluckTwo.html#a6">setPluckPosition</a>(MY_FLOAT position);
|
00051 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a6">setPluckPosition</a>(MY_FLOAT position);
|
||||||
00052
|
00052
|
||||||
00054
|
00054
|
||||||
00059 <font class="keywordtype">void</font> <a class="code" href="classPluckTwo.html#a7">setBaseLoopGain</a>(MY_FLOAT aGain);
|
00059 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a7">setBaseLoopGain</a>(MY_FLOAT aGain);
|
||||||
00060
|
00060
|
||||||
00062 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00062 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a8">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00063
|
00063
|
||||||
00065 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>() = 0;
|
00065 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classPluckTwo.html#a9">tick</a>() = 0;
|
||||||
00066
|
00066
|
||||||
00067 <font class="keyword">protected</font>:
|
00067 <span class="keyword">protected</span>:
|
||||||
00068 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
|
00068 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
|
||||||
00069 <a class="code" href="classDelayA.html">DelayA</a> *delayLine2;
|
00069 <a class="code" href="classDelayA.html">DelayA</a> *delayLine2;
|
||||||
00070 <a class="code" href="classDelayL.html">DelayL</a> *combDelay;
|
00070 <a class="code" href="classDelayL.html">DelayL</a> *combDelay;
|
||||||
00071 <a class="code" href="classOneZero.html">OneZero</a> *filter;
|
00071 <a class="code" href="classOneZero.html">OneZero</a> *filter;
|
||||||
00072 <a class="code" href="classOneZero.html">OneZero</a> *filter2;
|
00072 <a class="code" href="classOneZero.html">OneZero</a> *filter2;
|
||||||
00073 <font class="keywordtype">long</font> length;
|
00073 <span class="keywordtype">long</span> length;
|
||||||
00074 MY_FLOAT loopGain;
|
00074 MY_FLOAT loopGain;
|
||||||
00075 MY_FLOAT baseLoopGain;
|
00075 MY_FLOAT baseLoopGain;
|
||||||
00076 MY_FLOAT lastFrequency;
|
00076 MY_FLOAT lastFrequency;
|
||||||
@@ -61,12 +61,12 @@
|
|||||||
00081
|
00081
|
||||||
00082 };
|
00082 };
|
||||||
00083
|
00083
|
||||||
00084 <font class="preprocessor">#endif</font>
|
00084 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,58 +5,58 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Plucked.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Plucked.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00018 <font class="comment">/***************************************************/</font>
|
00018 <span class="comment">/***************************************************/</span>
|
||||||
00019
|
00019
|
||||||
00020 <font class="preprocessor">#if !defined(__PLUCKED_H)</font>
|
00020 <span class="preprocessor">#if !defined(__PLUCKED_H)</span>
|
||||||
00021 <font class="preprocessor"></font><font class="preprocessor">#define __PLUCKED_H</font>
|
00021 <span class="preprocessor"></span><span class="preprocessor">#define __PLUCKED_H</span>
|
||||||
00022 <font class="preprocessor"></font>
|
00022 <span class="preprocessor"></span>
|
||||||
00023 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00024 <font class="preprocessor">#include "DelayA.h"</font>
|
00024 <span class="preprocessor">#include "DelayA.h"</span>
|
||||||
00025 <font class="preprocessor">#include "OneZero.h"</font>
|
00025 <span class="preprocessor">#include "OneZero.h"</span>
|
||||||
00026 <font class="preprocessor">#include "OnePole.h"</font>
|
00026 <span class="preprocessor">#include "OnePole.h"</span>
|
||||||
00027 <font class="preprocessor">#include "Noise.h"</font>
|
00027 <span class="preprocessor">#include "Noise.h"</span>
|
||||||
00028
|
00028
|
||||||
00029 <font class="keyword">class </font><a class="code" href="classPlucked.html">Plucked</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00029"></a><a class="code" href="classPlucked.html">00029</a> <span class="keyword">class </span><a class="code" href="classPlucked.html">Plucked</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00030 {
|
00030 {
|
||||||
00031 <font class="keyword">public</font>:
|
00031 <span class="keyword">public</span>:
|
||||||
00033 <a class="code" href="classPlucked.html#a0">Plucked</a>(MY_FLOAT lowestFrequency);
|
00033 <a class="code" href="classPlucked.html#a0">Plucked</a>(MY_FLOAT lowestFrequency);
|
||||||
00034
|
00034
|
||||||
00036 <a class="code" href="classPlucked.html#a1">~Plucked</a>();
|
00036 <a class="code" href="classPlucked.html#a1">~Plucked</a>();
|
||||||
00037
|
00037
|
||||||
00039 <font class="keywordtype">void</font> <a class="code" href="classPlucked.html#a2">clear</a>();
|
00039 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a2">clear</a>();
|
||||||
00040
|
00040
|
||||||
00042 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00043
|
00043
|
||||||
00045 <font class="keywordtype">void</font> <a class="code" href="classPlucked.html#a4">pluck</a>(MY_FLOAT amplitude);
|
00045 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a4">pluck</a>(MY_FLOAT amplitude);
|
||||||
00046
|
00046
|
||||||
00048 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a5">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00049
|
00049
|
||||||
00051 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a6">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00052
|
00052
|
||||||
00054 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00054 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classPlucked.html#a7">tick</a>();
|
||||||
00055
|
00055
|
||||||
00056 <font class="keyword">protected</font>:
|
00056 <span class="keyword">protected</span>:
|
||||||
00057 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
|
00057 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
|
||||||
00058 <a class="code" href="classOneZero.html">OneZero</a> *loopFilter;
|
00058 <a class="code" href="classOneZero.html">OneZero</a> *loopFilter;
|
||||||
00059 <a class="code" href="classOnePole.html">OnePole</a> *pickFilter;
|
00059 <a class="code" href="classOnePole.html">OnePole</a> *pickFilter;
|
||||||
00060 <a class="code" href="classNoise.html">Noise</a> *noise;
|
00060 <a class="code" href="classNoise.html">Noise</a> *noise;
|
||||||
00061 <font class="keywordtype">long</font> length;
|
00061 <span class="keywordtype">long</span> length;
|
||||||
00062 MY_FLOAT loopGain;
|
00062 MY_FLOAT loopGain;
|
||||||
00063
|
00063
|
||||||
00064 };
|
00064 };
|
||||||
00065
|
00065
|
||||||
00066 <font class="preprocessor">#endif</font>
|
00066 <span class="preprocessor">#endif</span>
|
||||||
00067 <font class="preprocessor"></font>
|
00067 <span class="preprocessor"></span>
|
||||||
</pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,58 +5,58 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>PoleZero.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>PoleZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00013 <font class="comment">/***************************************************/</font>
|
00013 <span class="comment">/***************************************************/</span>
|
||||||
00014
|
00014
|
||||||
00015 <font class="preprocessor">#if !defined(__POLEZERO_H)</font>
|
00015 <span class="preprocessor">#if !defined(__POLEZERO_H)</span>
|
||||||
00016 <font class="preprocessor"></font><font class="preprocessor">#define __POLEZERO_H</font>
|
00016 <span class="preprocessor"></span><span class="preprocessor">#define __POLEZERO_H</span>
|
||||||
00017 <font class="preprocessor"></font>
|
00017 <span class="preprocessor"></span>
|
||||||
00018 <font class="preprocessor">#include "Filter.h"</font>
|
00018 <span class="preprocessor">#include "Filter.h"</span>
|
||||||
00019
|
00019
|
||||||
00020 <font class="keyword">class </font><a class="code" href="classPoleZero.html">PoleZero</a> : <font class="keyword">protected</font> <a class="code" href="classFilter.html">Filter</a>
|
<a name="l00020"></a><a class="code" href="classPoleZero.html">00020</a> <span class="keyword">class </span><a class="code" href="classPoleZero.html">PoleZero</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
|
||||||
00021 {
|
00021 {
|
||||||
00022 <font class="keyword">public</font>:
|
00022 <span class="keyword">public</span>:
|
||||||
00023
|
00023
|
||||||
00025 <a class="code" href="classPoleZero.html#a0">PoleZero</a>();
|
00025 <a class="code" href="classPoleZero.html#a0">PoleZero</a>();
|
||||||
00026
|
00026
|
||||||
00028 <a class="code" href="classPoleZero.html#a1">~PoleZero</a>();
|
00028 <a class="code" href="classPoleZero.html#a1">~PoleZero</a>();
|
||||||
00029
|
00029
|
||||||
00031 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a3">clear</a>(<font class="keywordtype">void</font>);
|
00031 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a2">clear</a>(<span class="keywordtype">void</span>);
|
||||||
00032
|
00032
|
||||||
00034 <font class="keywordtype">void</font> <a class="code" href="classPoleZero.html#a3">setB0</a>(MY_FLOAT b0);
|
00034 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a3">setB0</a>(MY_FLOAT b0);
|
||||||
00035
|
00035
|
||||||
00037 <font class="keywordtype">void</font> <a class="code" href="classPoleZero.html#a4">setB1</a>(MY_FLOAT b1);
|
00037 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a4">setB1</a>(MY_FLOAT b1);
|
||||||
00038
|
00038
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classPoleZero.html#a5">setA1</a>(MY_FLOAT a1);
|
00040 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a5">setA1</a>(MY_FLOAT a1);
|
||||||
00041
|
00041
|
||||||
00043
|
00043
|
||||||
00048 <font class="keywordtype">void</font> <a class="code" href="classPoleZero.html#a6">setAllpass</a>(MY_FLOAT coefficient);
|
00048 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a6">setAllpass</a>(MY_FLOAT coefficient);
|
||||||
00049
|
00049
|
||||||
00051
|
00051
|
||||||
00057 <font class="keywordtype">void</font> <a class="code" href="classPoleZero.html#a7">setBlockZero</a>(MY_FLOAT thePole = 0.99);
|
00057 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a7">setBlockZero</a>(MY_FLOAT thePole = 0.99);
|
||||||
00058
|
00058
|
||||||
00060
|
00060
|
||||||
00064 <font class="keywordtype">void</font> <a class="code" href="classFilter.html#a7">setGain</a>(MY_FLOAT theGain);
|
00064 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a8">setGain</a>(MY_FLOAT theGain);
|
||||||
00065
|
00065
|
||||||
00067 MY_FLOAT <a class="code" href="classFilter.html#a8">getGain</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00067 MY_FLOAT <a class="code" href="classPoleZero.html#a9">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00068
|
00068
|
||||||
00070 MY_FLOAT <a class="code" href="classFilter.html#a9">lastOut</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00070 MY_FLOAT <a class="code" href="classPoleZero.html#a10">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00071
|
00071
|
||||||
00073 MY_FLOAT <a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT sample);
|
00073 MY_FLOAT <a class="code" href="classPoleZero.html#a11">tick</a>(MY_FLOAT sample);
|
||||||
00074
|
00074
|
||||||
00076 MY_FLOAT *<a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00076 MY_FLOAT *<a class="code" href="classPoleZero.html#a11">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00077 };
|
00077 };
|
||||||
00078
|
00078
|
||||||
00079 <font class="preprocessor">#endif</font>
|
00079 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,51 +5,51 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>ReedTabl.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>ReedTabl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00018 <font class="comment">/***************************************************/</font>
|
00018 <span class="comment">/***************************************************/</span>
|
||||||
00019
|
00019
|
||||||
00020 <font class="preprocessor">#if !defined(__REEDTABL_H)</font>
|
00020 <span class="preprocessor">#if !defined(__REEDTABL_H)</span>
|
||||||
00021 <font class="preprocessor"></font><font class="preprocessor">#define __REEDTABL_H</font>
|
00021 <span class="preprocessor"></span><span class="preprocessor">#define __REEDTABL_H</span>
|
||||||
00022 <font class="preprocessor"></font>
|
00022 <span class="preprocessor"></span>
|
||||||
00023 <font class="preprocessor">#include "Stk.h"</font>
|
00023 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00024
|
00024
|
||||||
00025 <font class="keyword">class </font><a class="code" href="classReedTabl.html">ReedTabl</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00025"></a><a class="code" href="classReedTabl.html">00025</a> <span class="keyword">class </span><a class="code" href="classReedTabl.html">ReedTabl</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00026 {
|
00026 {
|
||||||
00027 <font class="keyword">public</font>:
|
00027 <span class="keyword">public</span>:
|
||||||
00029 <a class="code" href="classReedTabl.html#a0">ReedTabl</a>();
|
00029 <a class="code" href="classReedTabl.html#a0">ReedTabl</a>();
|
||||||
00030
|
00030
|
||||||
00032 <a class="code" href="classReedTabl.html#a1">~ReedTabl</a>();
|
00032 <a class="code" href="classReedTabl.html#a1">~ReedTabl</a>();
|
||||||
00033
|
00033
|
||||||
00035
|
00035
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classReedTabl.html#a2">setOffset</a>(MY_FLOAT aValue);
|
00040 <span class="keywordtype">void</span> <a class="code" href="classReedTabl.html#a2">setOffset</a>(MY_FLOAT aValue);
|
||||||
00041
|
00041
|
||||||
00043
|
00043
|
||||||
00048 <font class="keywordtype">void</font> <a class="code" href="classReedTabl.html#a3">setSlope</a>(MY_FLOAT aValue);
|
00048 <span class="keywordtype">void</span> <a class="code" href="classReedTabl.html#a3">setSlope</a>(MY_FLOAT aValue);
|
||||||
00049
|
00049
|
||||||
00051 MY_FLOAT <a class="code" href="classReedTabl.html#a4">lastOut</a>() <font class="keyword">const</font>;
|
00051 MY_FLOAT <a class="code" href="classReedTabl.html#a4">lastOut</a>() <span class="keyword">const</span>;
|
||||||
00052
|
00052
|
||||||
00054
|
00054
|
||||||
00058 MY_FLOAT <a class="code" href="classReedTabl.html#a5">tick</a>(MY_FLOAT input);
|
00058 MY_FLOAT <a class="code" href="classReedTabl.html#a5">tick</a>(MY_FLOAT input);
|
||||||
00059
|
00059
|
||||||
00061 MY_FLOAT *<a class="code" href="classReedTabl.html#a5">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00061 MY_FLOAT *<a class="code" href="classReedTabl.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00062
|
00062
|
||||||
00063 <font class="keyword">protected</font>:
|
00063 <span class="keyword">protected</span>:
|
||||||
00064 MY_FLOAT offSet;
|
00064 MY_FLOAT offSet;
|
||||||
00065 MY_FLOAT slope;
|
00065 MY_FLOAT slope;
|
||||||
00066 MY_FLOAT lastOutput;
|
00066 MY_FLOAT lastOutput;
|
||||||
00067
|
00067
|
||||||
00068 };
|
00068 };
|
||||||
00069
|
00069
|
||||||
00070 <font class="preprocessor">#endif</font>
|
00070 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,49 +5,49 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Resonate.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Resonate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00018 <font class="comment">/***************************************************/</font>
|
00018 <span class="comment">/***************************************************/</span>
|
||||||
00019
|
00019
|
||||||
00020 <font class="preprocessor">#if !defined(__RESONATE_H)</font>
|
00020 <span class="preprocessor">#if !defined(__RESONATE_H)</span>
|
||||||
00021 <font class="preprocessor"></font><font class="preprocessor">#define __RESONATE_H</font>
|
00021 <span class="preprocessor"></span><span class="preprocessor">#define __RESONATE_H</span>
|
||||||
00022 <font class="preprocessor"></font>
|
00022 <span class="preprocessor"></span>
|
||||||
00023 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00024 <font class="preprocessor">#include "ADSR.h"</font>
|
00024 <span class="preprocessor">#include "ADSR.h"</span>
|
||||||
00025 <font class="preprocessor">#include "BiQuad.h"</font>
|
00025 <span class="preprocessor">#include "BiQuad.h"</span>
|
||||||
00026 <font class="preprocessor">#include "Noise.h"</font>
|
00026 <span class="preprocessor">#include "Noise.h"</span>
|
||||||
00027
|
00027
|
||||||
00028 <font class="keyword">class </font><a class="code" href="classResonate.html">Resonate</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00028"></a><a class="code" href="classResonate.html">00028</a> <span class="keyword">class </span><a class="code" href="classResonate.html">Resonate</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00029 {
|
00029 {
|
||||||
00030 <font class="keyword">public</font>:
|
00030 <span class="keyword">public</span>:
|
||||||
00032 <a class="code" href="classResonate.html#a0">Resonate</a>();
|
00032 <a class="code" href="classResonate.html#a0">Resonate</a>();
|
||||||
00033
|
00033
|
||||||
00035 <a class="code" href="classResonate.html#a1">~Resonate</a>();
|
00035 <a class="code" href="classResonate.html#a1">~Resonate</a>();
|
||||||
00036
|
00036
|
||||||
00038 <font class="keywordtype">void</font> <a class="code" href="classResonate.html#a2">clear</a>();
|
00038 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a2">clear</a>();
|
||||||
00039
|
00039
|
||||||
00041 <font class="keywordtype">void</font> <a class="code" href="classResonate.html#a3">setResonance</a>(MY_FLOAT frequency, MY_FLOAT radius);
|
00041 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a3">setResonance</a>(MY_FLOAT frequency, MY_FLOAT radius);
|
||||||
00042
|
00042
|
||||||
00044 <font class="keywordtype">void</font> <a class="code" href="classResonate.html#a4">setNotch</a>(MY_FLOAT frequency, MY_FLOAT radius);
|
00044 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a4">setNotch</a>(MY_FLOAT frequency, MY_FLOAT radius);
|
||||||
00045
|
00045
|
||||||
00047 <font class="keywordtype">void</font> <a class="code" href="classResonate.html#a5">setEqualGainZeroes</a>();
|
00047 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a5">setEqualGainZeroes</a>();
|
||||||
00048
|
00048
|
||||||
00050 <font class="keywordtype">void</font> <a class="code" href="classResonate.html#a6">keyOn</a>();
|
00050 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a6">keyOn</a>();
|
||||||
00051
|
00051
|
||||||
00053 <font class="keywordtype">void</font> <a class="code" href="classResonate.html#a7">keyOff</a>();
|
00053 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a7">keyOff</a>();
|
||||||
00054
|
00054
|
||||||
00056 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00056 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a8">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00057
|
00057
|
||||||
00059 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00059 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a9">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00060
|
00060
|
||||||
00062 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00062 MY_FLOAT <a class="code" href="classResonate.html#a10">tick</a>();
|
||||||
00063
|
00063
|
||||||
00065 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00065 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00066
|
00066
|
||||||
00067 <font class="keyword">protected</font>:
|
00067 <span class="keyword">protected</span>:
|
||||||
00068 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
00068 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
||||||
00069 <a class="code" href="classBiQuad.html">BiQuad</a> *filter;
|
00069 <a class="code" href="classBiQuad.html">BiQuad</a> *filter;
|
||||||
00070 <a class="code" href="classNoise.html">Noise</a> *noise;
|
00070 <a class="code" href="classNoise.html">Noise</a> *noise;
|
||||||
@@ -58,12 +58,12 @@
|
|||||||
00075
|
00075
|
||||||
00076 };
|
00076 };
|
||||||
00077
|
00077
|
||||||
00078 <font class="preprocessor">#endif</font>
|
00078 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,56 +5,56 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Reverb.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Reverb.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00010 <font class="comment">/***************************************************/</font>
|
00010 <span class="comment">/***************************************************/</span>
|
||||||
00011
|
00011
|
||||||
00012 <font class="preprocessor">#include "Stk.h"</font>
|
00012 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00013
|
00013
|
||||||
00014 <font class="preprocessor">#if !defined(__REVERB_H)</font>
|
00014 <span class="preprocessor">#if !defined(__REVERB_H)</span>
|
||||||
00015 <font class="preprocessor"></font><font class="preprocessor">#define __REVERB_H</font>
|
00015 <span class="preprocessor"></span><span class="preprocessor">#define __REVERB_H</span>
|
||||||
00016 <font class="preprocessor"></font>
|
00016 <span class="preprocessor"></span>
|
||||||
00017 <font class="keyword">class </font><a class="code" href="classReverb.html">Reverb</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00017"></a><a class="code" href="classReverb.html">00017</a> <span class="keyword">class </span><a class="code" href="classReverb.html">Reverb</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00018 {
|
00018 {
|
||||||
00019 <font class="keyword">public</font>:
|
00019 <span class="keyword">public</span>:
|
||||||
00021 <a class="code" href="classReverb.html#a0">Reverb</a>();
|
00021 <a class="code" href="classReverb.html#a0">Reverb</a>();
|
||||||
00022
|
00022
|
||||||
00024 <font class="keyword">virtual</font> <a class="code" href="classReverb.html#a1">~Reverb</a>();
|
00024 <span class="keyword">virtual</span> <a class="code" href="classReverb.html#a1">~Reverb</a>();
|
||||||
00025
|
00025
|
||||||
00027 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classReverb.html#a2">clear</a>() = 0;
|
00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classReverb.html#a2">clear</a>() = 0;
|
||||||
00028
|
00028
|
||||||
00030 <font class="keywordtype">void</font> <a class="code" href="classReverb.html#a3">setEffectMix</a>(MY_FLOAT mix);
|
00030 <span class="keywordtype">void</span> <a class="code" href="classReverb.html#a3">setEffectMix</a>(MY_FLOAT mix);
|
||||||
00031
|
00031
|
||||||
00033 MY_FLOAT <a class="code" href="classReverb.html#a4">lastOut</a>() <font class="keyword">const</font>;
|
00033 MY_FLOAT <a class="code" href="classReverb.html#a4">lastOut</a>() <span class="keyword">const</span>;
|
||||||
00034
|
00034
|
||||||
00036 MY_FLOAT <a class="code" href="classReverb.html#a5">lastOutLeft</a>() <font class="keyword">const</font>;
|
00036 MY_FLOAT <a class="code" href="classReverb.html#a5">lastOutLeft</a>() <span class="keyword">const</span>;
|
||||||
00037
|
00037
|
||||||
00039 MY_FLOAT <a class="code" href="classReverb.html#a6">lastOutRight</a>() <font class="keyword">const</font>;
|
00039 MY_FLOAT <a class="code" href="classReverb.html#a6">lastOutRight</a>() <span class="keyword">const</span>;
|
||||||
00040
|
00040
|
||||||
00042 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classReverb.html#a7">tick</a>(MY_FLOAT input) = 0;
|
00042 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classReverb.html#a7">tick</a>(MY_FLOAT input) = 0;
|
||||||
00043
|
00043
|
||||||
00045 <font class="keyword">virtual</font> MY_FLOAT *<a class="code" href="classReverb.html#a7">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00045 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classReverb.html#a7">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00046
|
00046
|
||||||
00047 <font class="keyword">protected</font>:
|
00047 <span class="keyword">protected</span>:
|
||||||
00048
|
00048
|
||||||
00049 <font class="comment">// Returns true if argument value is prime.</font>
|
00049 <span class="comment">// Returns true if argument value is prime.</span>
|
||||||
00050 <font class="keywordtype">bool</font> isPrime(<font class="keywordtype">int</font> number);
|
00050 <span class="keywordtype">bool</span> isPrime(<span class="keywordtype">int</span> number);
|
||||||
00051
|
00051
|
||||||
00052 MY_FLOAT lastOutput[2];
|
00052 MY_FLOAT lastOutput[2];
|
||||||
00053 MY_FLOAT effectMix;
|
00053 MY_FLOAT effectMix;
|
||||||
00054
|
00054
|
||||||
00055 };
|
00055 };
|
||||||
00056
|
00056
|
||||||
00057 <font class="preprocessor">#endif // defined(__REVERB_H)</font>
|
00057 <span class="preprocessor">#endif // defined(__REVERB_H)</span>
|
||||||
00058 <font class="preprocessor"></font>
|
00058 <span class="preprocessor"></span>
|
||||||
</pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,38 +5,38 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Rhodey.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Rhodey.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00031 <font class="comment">/***************************************************/</font>
|
00031 <span class="comment">/***************************************************/</span>
|
||||||
00032
|
00032
|
||||||
00033 <font class="preprocessor">#if !defined(__RHODEY_H)</font>
|
00033 <span class="preprocessor">#if !defined(__RHODEY_H)</span>
|
||||||
00034 <font class="preprocessor"></font><font class="preprocessor">#define __RHODEY_H</font>
|
00034 <span class="preprocessor"></span><span class="preprocessor">#define __RHODEY_H</span>
|
||||||
00035 <font class="preprocessor"></font>
|
00035 <span class="preprocessor"></span>
|
||||||
00036 <font class="preprocessor">#include "FM.h"</font>
|
00036 <span class="preprocessor">#include "FM.h"</span>
|
||||||
00037
|
00037
|
||||||
00038 <font class="keyword">class </font><a class="code" href="classRhodey.html">Rhodey</a> : <font class="keyword">public</font> <a class="code" href="classFM.html">FM</a>
|
<a name="l00038"></a><a class="code" href="classRhodey.html">00038</a> <span class="keyword">class </span><a class="code" href="classRhodey.html">Rhodey</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
|
||||||
00039 {
|
00039 {
|
||||||
00040 <font class="keyword">public</font>:
|
00040 <span class="keyword">public</span>:
|
||||||
00042 <a class="code" href="classRhodey.html#a0">Rhodey</a>();
|
00042 <a class="code" href="classRhodey.html#a0">Rhodey</a>();
|
||||||
00043
|
00043
|
||||||
00045 <a class="code" href="classRhodey.html#a1">~Rhodey</a>();
|
00045 <a class="code" href="classRhodey.html#a1">~Rhodey</a>();
|
||||||
00046
|
00046
|
||||||
00048 <font class="keywordtype">void</font> <a class="code" href="classFM.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00048 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a2">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00049
|
00049
|
||||||
00051 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00051 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00052
|
00052
|
||||||
00054 MY_FLOAT <a class="code" href="classFM.html#a14">tick</a>();
|
00054 MY_FLOAT <a class="code" href="classRhodey.html#a4">tick</a>();
|
||||||
00055 };
|
00055 };
|
||||||
00056
|
00056
|
||||||
00057 <font class="preprocessor">#endif</font>
|
00057 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,296 +5,536 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>RtAudio.h</h1><div class="fragment"><pre>00001 <font class="comment">/******************************************/</font>
|
<h1>RtAudio.h</h1><div class="fragment"><pre>00001 <span class="comment">/************************************************************************/</span>
|
||||||
00002 <font class="comment">/*</font>
|
00038 <span class="comment">/************************************************************************/</span>
|
||||||
00003 <font class="comment"> RtAudio - realtime sound I/O C++ class</font>
|
00039
|
||||||
00004 <font class="comment"> by Gary P. Scavone, 2001-2002.</font>
|
00040 <span class="comment">// RtAudio: Version 3.0, 1 March 2004</span>
|
||||||
00005 <font class="comment">*/</font>
|
00041
|
||||||
00006 <font class="comment">/******************************************/</font>
|
00042 <span class="preprocessor">#ifndef __RTAUDIO_H</span>
|
||||||
00007
|
00043 <span class="preprocessor"></span><span class="preprocessor">#define __RTAUDIO_H</span>
|
||||||
00008 <font class="preprocessor">#if !defined(__RTAUDIO_H)</font>
|
00044 <span class="preprocessor"></span>
|
||||||
00009 <font class="preprocessor"></font><font class="preprocessor">#define __RTAUDIO_H</font>
|
00045 <span class="preprocessor">#include "RtError.h"</span>
|
||||||
00010 <font class="preprocessor"></font>
|
00046 <span class="preprocessor">#include <string></span>
|
||||||
00011 <font class="preprocessor">#include <map></font>
|
00047 <span class="preprocessor">#include <vector></span>
|
||||||
00012
|
00048
|
||||||
00013 <font class="preprocessor">#if defined(__LINUX_ALSA__)</font>
|
00049 <span class="comment">// Operating system dependent thread functionality.</span>
|
||||||
00014 <font class="preprocessor"></font><font class="preprocessor"> #include <alsa/asoundlib.h></font>
|
00050 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
|
||||||
00015 <font class="preprocessor"> #include <pthread.h></font>
|
00051 <span class="preprocessor"></span><span class="preprocessor"> #include <windows.h></span>
|
||||||
00016 <font class="preprocessor"> #include <unistd.h></font>
|
00052 <span class="preprocessor"> #include <process.h></span>
|
||||||
00017
|
00053
|
||||||
00018 <font class="preprocessor"> #define THREAD_TYPE</font>
|
00054 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ThreadHandle;
|
||||||
00019 <font class="preprocessor"></font> <font class="keyword">typedef</font> snd_pcm_t *AUDIO_HANDLE;
|
00055 <span class="keyword">typedef</span> CRITICAL_SECTION StreamMutex;
|
||||||
00020 <font class="keyword">typedef</font> <font class="keywordtype">int</font> DEVICE_ID;
|
00056
|
||||||
00021 <font class="keyword">typedef</font> pthread_t THREAD_HANDLE;
|
00057 <span class="preprocessor">#else // Various unix flavors with pthread support.</span>
|
||||||
00022 <font class="keyword">typedef</font> pthread_mutex_t MUTEX;
|
00058 <span class="preprocessor"></span><span class="preprocessor"> #include <pthread.h></span>
|
||||||
00023
|
00059
|
||||||
00024 <font class="preprocessor">#elif defined(__LINUX_OSS__)</font>
|
00060 <span class="keyword">typedef</span> pthread_t ThreadHandle;
|
||||||
00025 <font class="preprocessor"></font><font class="preprocessor"> #include <pthread.h></font>
|
00061 <span class="keyword">typedef</span> pthread_mutex_t StreamMutex;
|
||||||
00026 <font class="preprocessor"> #include <unistd.h></font>
|
00062
|
||||||
00027
|
00063 <span class="preprocessor">#endif</span>
|
||||||
00028 <font class="preprocessor"> #define THREAD_TYPE</font>
|
00064 <span class="preprocessor"></span>
|
||||||
00029 <font class="preprocessor"></font> <font class="keyword">typedef</font> <font class="keywordtype">int</font> AUDIO_HANDLE;
|
00065 <span class="comment">// This global structure type is used to pass callback information</span>
|
||||||
00030 <font class="keyword">typedef</font> <font class="keywordtype">int</font> DEVICE_ID;
|
00066 <span class="comment">// between the private RtAudio stream structure and global callback</span>
|
||||||
00031 <font class="keyword">typedef</font> pthread_t THREAD_HANDLE;
|
00067 <span class="comment">// handling functions.</span>
|
||||||
00032 <font class="keyword">typedef</font> pthread_mutex_t MUTEX;
|
00068 <span class="keyword">struct </span>CallbackInfo {
|
||||||
00033
|
00069 <span class="keywordtype">void</span> *object; <span class="comment">// Used as a "this" pointer.</span>
|
||||||
00034 <font class="preprocessor">#elif defined(__WINDOWS_DS__)</font>
|
00070 ThreadHandle thread;
|
||||||
00035 <font class="preprocessor"></font><font class="preprocessor"> #include <windows.h></font>
|
00071 <span class="keywordtype">bool</span> usingCallback;
|
||||||
00036 <font class="preprocessor"> #include <process.h></font>
|
00072 <span class="keywordtype">void</span> *callback;
|
||||||
00037
|
00073 <span class="keywordtype">void</span> *userData;
|
||||||
00038 <font class="comment">// The following struct is used to hold the extra variables</font>
|
00074 <span class="keywordtype">void</span> *apiInfo; <span class="comment">// void pointer for API specific callback information</span>
|
||||||
00039 <font class="comment">// specific to the DirectSound implementation.</font>
|
00075
|
||||||
00040 <font class="keyword">typedef</font> <font class="keyword">struct </font>{
|
00076 <span class="comment">// Default constructor.</span>
|
||||||
00041 <font class="keywordtype">void</font> * object;
|
00077 CallbackInfo()
|
||||||
00042 <font class="keywordtype">void</font> * buffer;
|
00078 :object(0), usingCallback(false), callback(0),
|
||||||
00043 UINT bufferPointer;
|
00079 userData(0), apiInfo(0) {}
|
||||||
00044 } AUDIO_HANDLE;
|
00080 };
|
||||||
00045
|
00081
|
||||||
00046 <font class="preprocessor"> #define THREAD_TYPE __stdcall</font>
|
00082 <span class="comment">// Support for signed integers and floats. Audio data fed to/from</span>
|
||||||
00047 <font class="preprocessor"></font> <font class="keyword">typedef</font> LPGUID DEVICE_ID;
|
00083 <span class="comment">// the tickStream() routine is assumed to ALWAYS be in host</span>
|
||||||
00048 <font class="keyword">typedef</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> THREAD_HANDLE;
|
00084 <span class="comment">// byte order. The internal routines will automatically take care of</span>
|
||||||
00049 <font class="keyword">typedef</font> CRITICAL_SECTION MUTEX;
|
00085 <span class="comment">// any necessary byte-swapping between the host format and the</span>
|
||||||
00050
|
00086 <span class="comment">// soundcard. Thus, endian-ness is not a concern in the following</span>
|
||||||
00051 <font class="preprocessor">#elif defined(__IRIX_AL__)</font>
|
00087 <span class="comment">// format definitions.</span>
|
||||||
00052 <font class="preprocessor"></font><font class="preprocessor"> #include <dmedia/audio.h></font>
|
00088 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> RtAudioFormat;
|
||||||
00053 <font class="preprocessor"> #include <pthread.h></font>
|
00089 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT8 = 0x1;
|
||||||
00054 <font class="preprocessor"> #include <unistd.h></font>
|
00090 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT16 = 0x2;
|
||||||
00055
|
00091 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT24 = 0x4;
|
||||||
00056 <font class="preprocessor"> #define THREAD_TYPE</font>
|
00092 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT32 = 0x8;
|
||||||
00057 <font class="preprocessor"></font> <font class="keyword">typedef</font> ALport AUDIO_HANDLE;
|
00093 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_FLOAT32 = 0x10;
|
||||||
00058 <font class="keyword">typedef</font> <font class="keywordtype">int</font> DEVICE_ID;
|
00094 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_FLOAT64 = 0x20;
|
||||||
00059 <font class="keyword">typedef</font> pthread_t THREAD_HANDLE;
|
00096 <span class="keyword">typedef</span> int (*RtAudioCallback)(<span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> bufferSize, <span class="keywordtype">void</span> *userData);
|
||||||
00060 <font class="keyword">typedef</font> pthread_mutex_t MUTEX;
|
00097
|
||||||
00061
|
<a name="l00099"></a><a class="code" href="structRtAudioDeviceInfo.html">00099</a> <span class="keyword">struct </span><a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> {
|
||||||
00062 <font class="preprocessor">#endif</font>
|
<a name="l00100"></a><a class="code" href="structRtAudioDeviceInfo.html#o0">00100</a> std::string <a class="code" href="structRtAudioDeviceInfo.html#o0">name</a>;
|
||||||
00063 <font class="preprocessor"></font>
|
<a name="l00101"></a><a class="code" href="structRtAudioDeviceInfo.html#o1">00101</a> <span class="keywordtype">bool</span> <a class="code" href="structRtAudioDeviceInfo.html#o1">probed</a>;
|
||||||
00064
|
<a name="l00102"></a><a class="code" href="structRtAudioDeviceInfo.html#o2">00102</a> <span class="keywordtype">int</span> <a class="code" href="structRtAudioDeviceInfo.html#o2">outputChannels</a>;
|
||||||
00065 <font class="comment">// *************************************************** //</font>
|
<a name="l00103"></a><a class="code" href="structRtAudioDeviceInfo.html#o3">00103</a> <span class="keywordtype">int</span> <a class="code" href="structRtAudioDeviceInfo.html#o3">inputChannels</a>;
|
||||||
00066 <font class="comment">//</font>
|
<a name="l00104"></a><a class="code" href="structRtAudioDeviceInfo.html#o4">00104</a> <span class="keywordtype">int</span> <a class="code" href="structRtAudioDeviceInfo.html#o4">duplexChannels</a>;
|
||||||
00067 <font class="comment">// RtError class declaration.</font>
|
<a name="l00105"></a><a class="code" href="structRtAudioDeviceInfo.html#o5">00105</a> <span class="keywordtype">bool</span> <a class="code" href="structRtAudioDeviceInfo.html#o5">isDefault</a>;
|
||||||
00068 <font class="comment">//</font>
|
<a name="l00106"></a><a class="code" href="structRtAudioDeviceInfo.html#o6">00106</a> std::vector<int> <a class="code" href="structRtAudioDeviceInfo.html#o6">sampleRates</a>;
|
||||||
00069 <font class="comment">// *************************************************** //</font>
|
<a name="l00107"></a><a class="code" href="structRtAudioDeviceInfo.html#o7">00107</a> RtAudioFormat <a class="code" href="structRtAudioDeviceInfo.html#o7">nativeFormats</a>;
|
||||||
00070
|
00109 <span class="comment">// Default constructor.</span>
|
||||||
00071 <font class="keyword">class </font>RtError
|
00110 <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a>()
|
||||||
00072 {
|
00111 :<a class="code" href="structRtAudioDeviceInfo.html#o1">probed</a>(false), <a class="code" href="structRtAudioDeviceInfo.html#o2">outputChannels</a>(0), <a class="code" href="structRtAudioDeviceInfo.html#o3">inputChannels</a>(0),
|
||||||
00073 <font class="keyword">public</font>:
|
00112 <a class="code" href="structRtAudioDeviceInfo.html#o4">duplexChannels</a>(0), <a class="code" href="structRtAudioDeviceInfo.html#o5">isDefault</a>(false), <a class="code" href="structRtAudioDeviceInfo.html#o7">nativeFormats</a>(0) {}
|
||||||
00074 <font class="keyword">enum</font> TYPE {
|
00113 };
|
||||||
00075 WARNING,
|
00114
|
||||||
00076 DEBUG_WARNING,
|
00115 <span class="comment">// **************************************************************** //</span>
|
||||||
00077 UNSPECIFIED,
|
00116 <span class="comment">//</span>
|
||||||
00078 NO_DEVICES_FOUND,
|
00117 <span class="comment">// RtApi class declaration.</span>
|
||||||
00079 INVALID_DEVICE,
|
00118 <span class="comment">//</span>
|
||||||
00080 INVALID_STREAM,
|
00119 <span class="comment">// Note that RtApi is an abstract base class and cannot be</span>
|
||||||
00081 MEMORY_ERROR,
|
00120 <span class="comment">// explicitly instantiated. The class RtAudio will create an</span>
|
||||||
00082 INVALID_PARAMETER,
|
00121 <span class="comment">// instance of an RtApi subclass (RtApiOss, RtApiAlsa,</span>
|
||||||
00083 DRIVER_ERROR,
|
00122 <span class="comment">// RtApiJack, RtApiCore, RtApiAl, RtApiDs, or RtApiAsio).</span>
|
||||||
00084 SYSTEM_ERROR,
|
00123 <span class="comment">//</span>
|
||||||
00085 THREAD_ERROR
|
00124 <span class="comment">// **************************************************************** //</span>
|
||||||
00086 };
|
00125
|
||||||
00087
|
00126 <span class="keyword">class </span>RtApi
|
||||||
00088 <font class="keyword">protected</font>:
|
00127 {
|
||||||
00089 <font class="keywordtype">char</font> error_message[256];
|
00128 <span class="keyword">public</span>:
|
||||||
00090 TYPE type;
|
00129
|
||||||
00091
|
00130 RtApi();
|
||||||
00092 <font class="keyword">public</font>:
|
00131 <span class="keyword">virtual</span> ~RtApi();
|
||||||
00094 RtError(<font class="keyword">const</font> <font class="keywordtype">char</font> *p, TYPE tipe = RtError::UNSPECIFIED);
|
00132 <span class="keywordtype">void</span> openStream( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
|
||||||
00095
|
00133 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
|
||||||
00097 <font class="keyword">virtual</font> ~RtError(<font class="keywordtype">void</font>);
|
00134 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
|
||||||
00098
|
00135 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
|
||||||
00100 <font class="keyword">virtual</font> <font class="keywordtype">void</font> printMessage(<font class="keywordtype">void</font>);
|
00136 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ) = 0;
|
||||||
00101
|
00137 <span class="keyword">virtual</span> <span class="keywordtype">void</span> cancelStreamCallback() = 0;
|
||||||
00103 <font class="keyword">virtual</font> <font class="keyword">const</font> TYPE& getType(<font class="keywordtype">void</font>)<font class="keyword"> </font>{ <font class="keywordflow">return</font> type; }
|
00138 <span class="keywordtype">int</span> getDeviceCount(<span class="keywordtype">void</span>);
|
||||||
00104
|
00139 <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> getDeviceInfo( <span class="keywordtype">int</span> device );
|
||||||
00106 <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *getMessage(<font class="keywordtype">void</font>)<font class="keyword"> </font>{ <font class="keywordflow">return</font> error_message; }
|
00140 <span class="keywordtype">char</span> * <span class="keyword">const</span> getStreamBuffer();
|
||||||
00107 };
|
00141 <span class="keyword">virtual</span> <span class="keywordtype">void</span> tickStream() = 0;
|
||||||
00108
|
00142 <span class="keyword">virtual</span> <span class="keywordtype">void</span> closeStream();
|
||||||
00109
|
00143 <span class="keyword">virtual</span> <span class="keywordtype">void</span> startStream() = 0;
|
||||||
00110 <font class="comment">// *************************************************** //</font>
|
00144 <span class="keyword">virtual</span> <span class="keywordtype">void</span> stopStream() = 0;
|
||||||
00111 <font class="comment">//</font>
|
00145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> abortStream() = 0;
|
||||||
00112 <font class="comment">// RtAudio class declaration.</font>
|
00146
|
||||||
00113 <font class="comment">//</font>
|
00147 <span class="keyword">protected</span>:
|
||||||
00114 <font class="comment">// *************************************************** //</font>
|
00148
|
||||||
00115
|
00149 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> MAX_SAMPLE_RATES;
|
||||||
00116 <font class="keyword">class </font>RtAudio
|
00150 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> SAMPLE_RATES[];
|
||||||
00117 {
|
00151
|
||||||
00118 <font class="keyword">public</font>:
|
00152 <span class="keyword">enum</span> { FAILURE, SUCCESS };
|
||||||
00119
|
00153
|
||||||
00120 <font class="comment">// Support for signed integers and floats. Audio data fed to/from</font>
|
00154 <span class="keyword">enum</span> StreamMode {
|
||||||
00121 <font class="comment">// the tickStream() routine is assumed to ALWAYS be in host</font>
|
00155 OUTPUT,
|
||||||
00122 <font class="comment">// byte order. The internal routines will automatically take care of</font>
|
00156 INPUT,
|
||||||
00123 <font class="comment">// any necessary byte-swapping between the host format and the</font>
|
00157 DUPLEX,
|
||||||
00124 <font class="comment">// soundcard. Thus, endian-ness is not a concern in the following</font>
|
00158 UNINITIALIZED = -75
|
||||||
00125 <font class="comment">// format definitions.</font>
|
00159 };
|
||||||
00126 <font class="keyword">typedef</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> RTAUDIO_FORMAT;
|
00160
|
||||||
00127 <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_SINT8;
|
00161 <span class="keyword">enum</span> StreamState {
|
||||||
00128 <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_SINT16;
|
00162 STREAM_STOPPED,
|
||||||
00129 <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_SINT24;
|
00163 STREAM_RUNNING
|
||||||
00130 <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_SINT32;
|
00164 };
|
||||||
00131 <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_FLOAT32;
|
00165
|
||||||
00132 <font class="keyword">static</font> <font class="keyword">const</font> RTAUDIO_FORMAT RTAUDIO_FLOAT64;
|
00166 <span class="comment">// A protected structure for audio streams.</span>
|
||||||
00133
|
00167 <span class="keyword">struct </span>RtApiStream {
|
||||||
00134 <font class="comment">//static const int MAX_SAMPLE_RATES = 14;</font>
|
00168 <span class="keywordtype">int</span> device[2]; <span class="comment">// Playback and record, respectively.</span>
|
||||||
00135 <font class="keyword">enum</font> { MAX_SAMPLE_RATES = 14 };
|
00169 <span class="keywordtype">void</span> *apiHandle; <span class="comment">// void pointer for API specific stream handle information</span>
|
||||||
00136
|
00170 StreamMode mode; <span class="comment">// OUTPUT, INPUT, or DUPLEX.</span>
|
||||||
00137 <font class="keyword">typedef</font> int (*RTAUDIO_CALLBACK)(<font class="keywordtype">char</font> *buffer, <font class="keywordtype">int</font> bufferSize, <font class="keywordtype">void</font> *userData);
|
00171 StreamState state; <span class="comment">// STOPPED or RUNNING</span>
|
||||||
00138
|
00172 <span class="keywordtype">char</span> *userBuffer;
|
||||||
00139 <font class="keyword">typedef</font> <font class="keyword">struct </font>{
|
00173 <span class="keywordtype">char</span> *deviceBuffer;
|
||||||
00140 <font class="keywordtype">char</font> name[128];
|
00174 <span class="keywordtype">bool</span> doConvertBuffer[2]; <span class="comment">// Playback and record, respectively.</span>
|
||||||
00141 DEVICE_ID id[2];
|
00175 <span class="keywordtype">bool</span> deInterleave[2]; <span class="comment">// Playback and record, respectively.</span>
|
||||||
00142 <font class="keywordtype">bool</font> probed;
|
00176 <span class="keywordtype">bool</span> doByteSwap[2]; <span class="comment">// Playback and record, respectively.</span>
|
||||||
00143 <font class="keywordtype">int</font> maxOutputChannels;
|
00177 <span class="keywordtype">int</span> sampleRate;
|
||||||
00144 <font class="keywordtype">int</font> maxInputChannels;
|
00178 <span class="keywordtype">int</span> bufferSize;
|
||||||
00145 <font class="keywordtype">int</font> maxDuplexChannels;
|
00179 <span class="keywordtype">int</span> nBuffers;
|
||||||
00146 <font class="keywordtype">int</font> minOutputChannels;
|
00180 <span class="keywordtype">int</span> nUserChannels[2]; <span class="comment">// Playback and record, respectively.</span>
|
||||||
00147 <font class="keywordtype">int</font> minInputChannels;
|
00181 <span class="keywordtype">int</span> nDeviceChannels[2]; <span class="comment">// Playback and record channels, respectively.</span>
|
||||||
00148 <font class="keywordtype">int</font> minDuplexChannels;
|
00182 RtAudioFormat userFormat;
|
||||||
00149 <font class="keywordtype">bool</font> hasDuplexSupport;
|
00183 RtAudioFormat deviceFormat[2]; <span class="comment">// Playback and record, respectively.</span>
|
||||||
00150 <font class="keywordtype">int</font> nSampleRates;
|
00184 StreamMutex mutex;
|
||||||
00151 <font class="keywordtype">int</font> sampleRates[MAX_SAMPLE_RATES];
|
00185 CallbackInfo callbackInfo;
|
||||||
00152 RTAUDIO_FORMAT nativeFormats;
|
00186
|
||||||
00153 } RTAUDIO_DEVICE;
|
00187 RtApiStream()
|
||||||
00154
|
00188 :apiHandle(0), userBuffer(0), deviceBuffer(0) {}
|
||||||
00156
|
00189 <span class="comment">// :apiHandle(0), mode(UNINITIALIZED), state(STREAM_STOPPED),</span>
|
||||||
00163 RtAudio();
|
00190 <span class="comment">// userBuffer(0), deviceBuffer(0) {}</span>
|
||||||
00164
|
00191 };
|
||||||
00166
|
00192
|
||||||
00177 RtAudio(<font class="keywordtype">int</font> *streamId,
|
00193 <span class="comment">// A protected device structure for audio devices.</span>
|
||||||
00178 <font class="keywordtype">int</font> outputDevice, <font class="keywordtype">int</font> outputChannels,
|
00194 <span class="keyword">struct </span>RtApiDevice {
|
||||||
00179 <font class="keywordtype">int</font> inputDevice, <font class="keywordtype">int</font> inputChannels,
|
00195 std::string name;
|
||||||
00180 RTAUDIO_FORMAT format, <font class="keywordtype">int</font> sampleRate,
|
00196 <span class="keywordtype">bool</span> probed;
|
||||||
00181 <font class="keywordtype">int</font> *bufferSize, <font class="keywordtype">int</font> numberOfBuffers);
|
00197 <span class="keywordtype">void</span> *apiDeviceId; <span class="comment">// void pointer for API specific device information</span>
|
||||||
00182
|
00198 <span class="keywordtype">int</span> maxOutputChannels;
|
||||||
00184
|
00199 <span class="keywordtype">int</span> maxInputChannels;
|
||||||
00188 ~RtAudio();
|
00200 <span class="keywordtype">int</span> maxDuplexChannels;
|
||||||
00189
|
00201 <span class="keywordtype">int</span> minOutputChannels;
|
||||||
00191
|
00202 <span class="keywordtype">int</span> minInputChannels;
|
||||||
00218 <font class="keywordtype">int</font> openStream(<font class="keywordtype">int</font> outputDevice, <font class="keywordtype">int</font> outputChannels,
|
00203 <span class="keywordtype">int</span> minDuplexChannels;
|
||||||
00219 <font class="keywordtype">int</font> inputDevice, <font class="keywordtype">int</font> inputChannels,
|
00204 <span class="keywordtype">bool</span> hasDuplexSupport;
|
||||||
00220 RTAUDIO_FORMAT format, <font class="keywordtype">int</font> sampleRate,
|
00205 <span class="keywordtype">bool</span> isDefault;
|
||||||
00221 <font class="keywordtype">int</font> *bufferSize, <font class="keywordtype">int</font> numberOfBuffers);
|
00206 std::vector<int> sampleRates;
|
||||||
00222
|
00207 RtAudioFormat nativeFormats;
|
||||||
00224
|
00209 <span class="comment">// Default constructor.</span>
|
||||||
00243 <font class="keywordtype">void</font> setStreamCallback(<font class="keywordtype">int</font> streamId, RTAUDIO_CALLBACK callback, <font class="keywordtype">void</font> *userData);
|
00210 RtApiDevice()
|
||||||
00244
|
00211 :probed(false), apiDeviceId(0), maxOutputChannels(0), maxInputChannels(0),
|
||||||
00246
|
00212 maxDuplexChannels(0), minOutputChannels(0), minInputChannels(0),
|
||||||
00253 <font class="keywordtype">void</font> cancelStreamCallback(<font class="keywordtype">int</font> streamId);
|
00213 minDuplexChannels(0), isDefault(false), nativeFormats(0) {}
|
||||||
00254
|
00214 };
|
||||||
00256 <font class="keywordtype">int</font> getDeviceCount(<font class="keywordtype">void</font>);
|
00215
|
||||||
00257
|
00216 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> Int16;
|
||||||
|
00217 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> Int32;
|
||||||
|
00218 <span class="keyword">typedef</span> <span class="keywordtype">float</span> Float32;
|
||||||
|
00219 <span class="keyword">typedef</span> <span class="keywordtype">double</span> Float64;
|
||||||
|
00220
|
||||||
|
00221 <span class="keywordtype">char</span> message_[256];
|
||||||
|
00222 <span class="keywordtype">int</span> nDevices_;
|
||||||
|
00223 std::vector<RtApiDevice> devices_;
|
||||||
|
00224 RtApiStream stream_;
|
||||||
|
00225
|
||||||
|
00230 <span class="keyword">virtual</span> <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>) = 0;
|
||||||
|
00231
|
||||||
|
00240 <span class="keyword">virtual</span> <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
|
||||||
|
00241
|
||||||
|
00250 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
|
||||||
|
00251 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
|
||||||
|
00252 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
|
||||||
|
00253
|
||||||
|
00258 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
|
||||||
00259
|
00259
|
||||||
00269 <font class="keywordtype">void</font> getDeviceInfo(<font class="keywordtype">int</font> device, RTAUDIO_DEVICE *info);
|
00264 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
|
||||||
00270
|
00265
|
||||||
00272
|
00267 <span class="keywordtype">void</span> clearDeviceInfo( RtApiDevice *info );
|
||||||
00277 <font class="keywordtype">char</font> * <font class="keyword">const</font> getStreamBuffer(<font class="keywordtype">int</font> streamId);
|
00268
|
||||||
00278
|
00270 <span class="keywordtype">void</span> clearStreamInfo();
|
||||||
|
00271
|
||||||
|
00273 <span class="keywordtype">void</span> error( RtError::Type type );
|
||||||
|
00274
|
||||||
|
00279 <span class="keywordtype">void</span> verifyStream();
|
||||||
00280
|
00280
|
||||||
00285 <font class="keywordtype">void</font> tickStream(<font class="keywordtype">int</font> streamId);
|
00285 <span class="keywordtype">void</span> convertStreamBuffer( StreamMode mode );
|
||||||
00286
|
00286
|
||||||
00288
|
00288 <span class="keywordtype">void</span> byteSwapBuffer( <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> samples, RtAudioFormat format );
|
||||||
00292 <font class="keywordtype">void</font> closeStream(<font class="keywordtype">int</font> streamId);
|
00289
|
||||||
|
00291 <span class="keywordtype">int</span> formatBytes( RtAudioFormat format );
|
||||||
|
00292 };
|
||||||
00293
|
00293
|
||||||
00295
|
00294
|
||||||
00299 <font class="keywordtype">void</font> startStream(<font class="keywordtype">int</font> streamId);
|
00295 <span class="comment">// **************************************************************** //</span>
|
||||||
00300
|
00296 <span class="comment">//</span>
|
||||||
00302
|
00297 <span class="comment">// RtAudio class declaration.</span>
|
||||||
00306 <font class="keywordtype">void</font> stopStream(<font class="keywordtype">int</font> streamId);
|
00298 <span class="comment">//</span>
|
||||||
|
00299 <span class="comment">// RtAudio is a "controller" used to select an available audio i/o</span>
|
||||||
|
00300 <span class="comment">// interface. It presents a common API for the user to call but all</span>
|
||||||
|
00301 <span class="comment">// functionality is implemented by the class RtAudioApi and its</span>
|
||||||
|
00302 <span class="comment">// subclasses. RtAudio creates an instance of an RtAudioApi subclass</span>
|
||||||
|
00303 <span class="comment">// based on the user's API choice. If no choice is made, RtAudio</span>
|
||||||
|
00304 <span class="comment">// attempts to make a "logical" API selection.</span>
|
||||||
|
00305 <span class="comment">//</span>
|
||||||
|
00306 <span class="comment">// **************************************************************** //</span>
|
||||||
00307
|
00307
|
||||||
00309
|
<a name="l00308"></a><a class="code" href="classRtAudio.html">00308</a> <span class="keyword">class </span><a class="code" href="classRtAudio.html">RtAudio</a>
|
||||||
00313 <font class="keywordtype">void</font> abortStream(<font class="keywordtype">int</font> streamId);
|
00309 {
|
||||||
00314
|
00310 <span class="keyword">public</span>:
|
||||||
00316
|
00311
|
||||||
00321 <font class="keywordtype">int</font> streamWillBlock(<font class="keywordtype">int</font> streamId);
|
<a name="l00313"></a><a class="code" href="classRtAudio.html#w8">00313</a> <span class="keyword">enum</span> <a class="code" href="classRtAudio.html#w8">RtAudioApi</a> {
|
||||||
00322
|
00314 <a class="code" href="classRtAudio.html#w8w0">UNSPECIFIED</a>,
|
||||||
00323 <font class="keyword">protected</font>:
|
00315 <a class="code" href="classRtAudio.html#w8w1">LINUX_ALSA</a>,
|
||||||
00324
|
00316 <a class="code" href="classRtAudio.html#w8w2">LINUX_OSS</a>,
|
||||||
00325 <font class="keyword">private</font>:
|
00317 <a class="code" href="classRtAudio.html#w8w3">LINUX_JACK</a>,
|
||||||
00326
|
00318 <a class="code" href="classRtAudio.html#w8w4">MACOSX_CORE</a>,
|
||||||
00327 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> SAMPLE_RATES[MAX_SAMPLE_RATES];
|
00319 <a class="code" href="classRtAudio.html#w8w5">IRIX_AL</a>,
|
||||||
00328
|
00320 <a class="code" href="classRtAudio.html#w8w6">WINDOWS_ASIO</a>,
|
||||||
00329 <font class="keyword">enum</font> { FAILURE, SUCCESS };
|
00321 <a class="code" href="classRtAudio.html#w8w7">WINDOWS_DS</a>
|
||||||
00330
|
00322 };
|
||||||
00331 <font class="keyword">enum</font> STREAM_MODE {
|
00323
|
||||||
00332 PLAYBACK,
|
00325
|
||||||
00333 RECORD,
|
00335 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( RtAudioApi api=UNSPECIFIED );
|
||||||
00334 DUPLEX,
|
00336
|
||||||
00335 UNINITIALIZED = -75
|
00338
|
||||||
00336 };
|
00349 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
|
||||||
00337
|
00350 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
|
||||||
00338 <font class="keyword">enum</font> STREAM_STATE {
|
00351 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
|
||||||
00339 STREAM_STOPPED,
|
00352 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers, RtAudioApi api=UNSPECIFIED );
|
||||||
00340 STREAM_RUNNING
|
00353
|
||||||
00341 };
|
00355
|
||||||
00342
|
00359 <a class="code" href="classRtAudio.html#a2">~RtAudio</a>();
|
||||||
00343 <font class="keyword">typedef</font> <font class="keyword">struct </font>{
|
00360
|
||||||
00344 <font class="keywordtype">int</font> device[2]; <font class="comment">// Playback and record, respectively.</font>
|
00362
|
||||||
00345 STREAM_MODE mode; <font class="comment">// PLAYBACK, RECORD, or DUPLEX.</font>
|
00388 <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a3">openStream</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
|
||||||
00346 AUDIO_HANDLE handle[2]; <font class="comment">// Playback and record handles, respectively.</font>
|
00389 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
|
||||||
00347 STREAM_STATE state; <font class="comment">// STOPPED or RUNNING</font>
|
00390 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
|
||||||
00348 <font class="keywordtype">char</font> *userBuffer;
|
00391 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
|
||||||
00349 <font class="keywordtype">char</font> *deviceBuffer;
|
00392
|
||||||
00350 <font class="keywordtype">bool</font> doConvertBuffer[2]; <font class="comment">// Playback and record, respectively.</font>
|
00394
|
||||||
00351 <font class="keywordtype">bool</font> deInterleave[2]; <font class="comment">// Playback and record, respectively.</font>
|
<a name="l00413"></a><a class="code" href="classRtAudio.html#a4">00413</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a4">setStreamCallback</a>(RtAudioCallback callback, <span class="keywordtype">void</span> *userData) { rtapi_->setStreamCallback( callback, userData ); };
|
||||||
00352 <font class="keywordtype">bool</font> doByteSwap[2]; <font class="comment">// Playback and record, respectively.</font>
|
00414
|
||||||
00353 <font class="keywordtype">int</font> sampleRate;
|
00416
|
||||||
00354 <font class="keywordtype">int</font> bufferSize;
|
<a name="l00423"></a><a class="code" href="classRtAudio.html#a5">00423</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a5">cancelStreamCallback</a>() { rtapi_->cancelStreamCallback(); };
|
||||||
00355 <font class="keywordtype">int</font> nBuffers;
|
00424
|
||||||
00356 <font class="keywordtype">int</font> nUserChannels[2]; <font class="comment">// Playback and record, respectively.</font>
|
<a name="l00426"></a><a class="code" href="classRtAudio.html#a6">00426</a> <span class="keywordtype">int</span> <a class="code" href="classRtAudio.html#a6">getDeviceCount</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> rtapi_->getDeviceCount(); };
|
||||||
00357 <font class="keywordtype">int</font> nDeviceChannels[2]; <font class="comment">// Playback and record channels, respectively.</font>
|
00427
|
||||||
00358 RTAUDIO_FORMAT userFormat;
|
00429
|
||||||
00359 RTAUDIO_FORMAT deviceFormat[2]; <font class="comment">// Playback and record, respectively.</font>
|
<a name="l00437"></a><a class="code" href="classRtAudio.html#a7">00437</a> <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> <a class="code" href="classRtAudio.html#a7">getDeviceInfo</a>(<span class="keywordtype">int</span> device) { <span class="keywordflow">return</span> rtapi_->getDeviceInfo( device ); };
|
||||||
00360 <font class="keywordtype">bool</font> usingCallback;
|
00438
|
||||||
00361 THREAD_HANDLE thread;
|
00440
|
||||||
00362 MUTEX mutex;
|
<a name="l00445"></a><a class="code" href="classRtAudio.html#a8">00445</a> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classRtAudio.html#a8">getStreamBuffer</a>() { <span class="keywordflow">return</span> rtapi_->getStreamBuffer(); };
|
||||||
00363 RTAUDIO_CALLBACK callback;
|
00446
|
||||||
00364 <font class="keywordtype">void</font> *userData;
|
00448
|
||||||
00365 } RTAUDIO_STREAM;
|
<a name="l00453"></a><a class="code" href="classRtAudio.html#a9">00453</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a9">tickStream</a>() { rtapi_->tickStream(); };
|
||||||
00366
|
00454
|
||||||
00367 <font class="keyword">typedef</font> <font class="keywordtype">signed</font> <font class="keywordtype">short</font> INT16;
|
00456
|
||||||
00368 <font class="keyword">typedef</font> <font class="keywordtype">signed</font> <font class="keywordtype">int</font> INT32;
|
<a name="l00460"></a><a class="code" href="classRtAudio.html#a10">00460</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a10">closeStream</a>() { rtapi_->closeStream(); };
|
||||||
00369 <font class="keyword">typedef</font> <font class="keywordtype">float</font> FLOAT32;
|
00461
|
||||||
00370 <font class="keyword">typedef</font> <font class="keywordtype">double</font> FLOAT64;
|
00463
|
||||||
00371
|
<a name="l00467"></a><a class="code" href="classRtAudio.html#a11">00467</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a11">startStream</a>() { rtapi_->startStream(); };
|
||||||
00372 <font class="keywordtype">char</font> message[256];
|
00468
|
||||||
00373 <font class="keywordtype">int</font> nDevices;
|
00470
|
||||||
00374 RTAUDIO_DEVICE *devices;
|
<a name="l00474"></a><a class="code" href="classRtAudio.html#a12">00474</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a12">stopStream</a>() { rtapi_->stopStream(); };
|
||||||
00375
|
00475
|
||||||
00376 std::map<int, void *> streams;
|
00477
|
||||||
00377
|
<a name="l00481"></a><a class="code" href="classRtAudio.html#a13">00481</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a13">abortStream</a>() { rtapi_->abortStream(); };
|
||||||
00379 <font class="keywordtype">void</font> error(RtError::TYPE type);
|
00482
|
||||||
00380
|
00483
|
||||||
00385 <font class="keywordtype">void</font> initialize(<font class="keywordtype">void</font>);
|
00484 <span class="keyword">protected</span>:
|
||||||
00386
|
00485
|
||||||
00388 <font class="keywordtype">void</font> clearDeviceInfo(RTAUDIO_DEVICE *info);
|
00486 <span class="keywordtype">void</span> initialize( RtAudioApi api );
|
||||||
00389
|
00487
|
||||||
00397 <font class="keywordtype">void</font> probeDeviceInfo(RTAUDIO_DEVICE *info);
|
00488 RtApi *rtapi_;
|
||||||
00398
|
00489 };
|
||||||
00405 <font class="keywordtype">bool</font> probeDeviceOpen(<font class="keywordtype">int</font> device, RTAUDIO_STREAM *stream,
|
00490
|
||||||
00406 STREAM_MODE mode, <font class="keywordtype">int</font> channels,
|
00491
|
||||||
00407 <font class="keywordtype">int</font> sampleRate, RTAUDIO_FORMAT format,
|
00492 <span class="comment">// RtApi Subclass prototypes.</span>
|
||||||
00408 <font class="keywordtype">int</font> *bufferSize, <font class="keywordtype">int</font> numberOfBuffers);
|
00493
|
||||||
00409
|
00494 <span class="preprocessor">#if defined(__LINUX_ALSA__)</span>
|
||||||
00416 <font class="keywordtype">void</font> *verifyStream(<font class="keywordtype">int</font> streamId);
|
00495 <span class="preprocessor"></span>
|
||||||
00417
|
00496 <span class="keyword">class </span>RtApiAlsa: <span class="keyword">public</span> RtApi
|
||||||
00422 <font class="keywordtype">void</font> convertStreamBuffer(RTAUDIO_STREAM *stream, STREAM_MODE mode);
|
00497 {
|
||||||
00423
|
00498 <span class="keyword">public</span>:
|
||||||
00425 <font class="keywordtype">void</font> byteSwapBuffer(<font class="keywordtype">char</font> *buffer, <font class="keywordtype">int</font> samples, RTAUDIO_FORMAT format);
|
00499
|
||||||
00426
|
00500 RtApiAlsa();
|
||||||
00428 <font class="keywordtype">int</font> formatBytes(RTAUDIO_FORMAT format);
|
00501 ~RtApiAlsa();
|
||||||
00429 };
|
00502 <span class="keywordtype">void</span> tickStream();
|
||||||
00430
|
00503 <span class="keywordtype">void</span> closeStream();
|
||||||
00431 <font class="comment">// Uncomment the following definition to have extra information spewed to stderr.</font>
|
00504 <span class="keywordtype">void</span> startStream();
|
||||||
00432 <font class="comment">//#define RTAUDIO_DEBUG</font>
|
00505 <span class="keywordtype">void</span> stopStream();
|
||||||
00433
|
00506 <span class="keywordtype">void</span> abortStream();
|
||||||
00434 <font class="preprocessor">#endif</font>
|
00507 <span class="keywordtype">int</span> streamWillBlock();
|
||||||
</font></pre></div><HR>
|
00508 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
|
||||||
|
00509 <span class="keywordtype">void</span> cancelStreamCallback();
|
||||||
|
00510
|
||||||
|
00511 <span class="keyword">private</span>:
|
||||||
|
00512
|
||||||
|
00513 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
|
||||||
|
00514 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
|
||||||
|
00515 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
|
||||||
|
00516 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
|
||||||
|
00517 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
|
||||||
|
00518 };
|
||||||
|
00519
|
||||||
|
00520 <span class="preprocessor">#endif</span>
|
||||||
|
00521 <span class="preprocessor"></span>
|
||||||
|
00522 <span class="preprocessor">#if defined(__LINUX_JACK__)</span>
|
||||||
|
00523 <span class="preprocessor"></span>
|
||||||
|
00524 <span class="keyword">class </span>RtApiJack: <span class="keyword">public</span> RtApi
|
||||||
|
00525 {
|
||||||
|
00526 <span class="keyword">public</span>:
|
||||||
|
00527
|
||||||
|
00528 RtApiJack();
|
||||||
|
00529 ~RtApiJack();
|
||||||
|
00530 <span class="keywordtype">void</span> tickStream();
|
||||||
|
00531 <span class="keywordtype">void</span> closeStream();
|
||||||
|
00532 <span class="keywordtype">void</span> startStream();
|
||||||
|
00533 <span class="keywordtype">void</span> stopStream();
|
||||||
|
00534 <span class="keywordtype">void</span> abortStream();
|
||||||
|
00535 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
|
||||||
|
00536 <span class="keywordtype">void</span> cancelStreamCallback();
|
||||||
|
00537 <span class="comment">// This function is intended for internal use only. It must be</span>
|
||||||
|
00538 <span class="comment">// public because it is called by the internal callback handler,</span>
|
||||||
|
00539 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
|
||||||
|
00540 <span class="comment">// will most likely produce highly undesireable results!</span>
|
||||||
|
00541 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nframes );
|
||||||
|
00542
|
||||||
|
00543 <span class="keyword">private</span>:
|
||||||
|
00544
|
||||||
|
00545 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
|
||||||
|
00546 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
|
||||||
|
00547 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
|
||||||
|
00548 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
|
||||||
|
00549 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
|
||||||
|
00550 };
|
||||||
|
00551
|
||||||
|
00552 <span class="preprocessor">#endif</span>
|
||||||
|
00553 <span class="preprocessor"></span>
|
||||||
|
00554 <span class="preprocessor">#if defined(__LINUX_OSS__)</span>
|
||||||
|
00555 <span class="preprocessor"></span>
|
||||||
|
00556 <span class="keyword">class </span>RtApiOss: <span class="keyword">public</span> RtApi
|
||||||
|
00557 {
|
||||||
|
00558 <span class="keyword">public</span>:
|
||||||
|
00559
|
||||||
|
00560 RtApiOss();
|
||||||
|
00561 ~RtApiOss();
|
||||||
|
00562 <span class="keywordtype">void</span> tickStream();
|
||||||
|
00563 <span class="keywordtype">void</span> closeStream();
|
||||||
|
00564 <span class="keywordtype">void</span> startStream();
|
||||||
|
00565 <span class="keywordtype">void</span> stopStream();
|
||||||
|
00566 <span class="keywordtype">void</span> abortStream();
|
||||||
|
00567 <span class="keywordtype">int</span> streamWillBlock();
|
||||||
|
00568 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
|
||||||
|
00569 <span class="keywordtype">void</span> cancelStreamCallback();
|
||||||
|
00570
|
||||||
|
00571 <span class="keyword">private</span>:
|
||||||
|
00572
|
||||||
|
00573 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
|
||||||
|
00574 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
|
||||||
|
00575 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
|
||||||
|
00576 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
|
||||||
|
00577 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
|
||||||
|
00578 };
|
||||||
|
00579
|
||||||
|
00580 <span class="preprocessor">#endif</span>
|
||||||
|
00581 <span class="preprocessor"></span>
|
||||||
|
00582 <span class="preprocessor">#if defined(__MACOSX_CORE__)</span>
|
||||||
|
00583 <span class="preprocessor"></span>
|
||||||
|
00584 <span class="preprocessor">#include <CoreAudio/AudioHardware.h></span>
|
||||||
|
00585
|
||||||
|
00586 <span class="keyword">class </span>RtApiCore: <span class="keyword">public</span> RtApi
|
||||||
|
00587 {
|
||||||
|
00588 <span class="keyword">public</span>:
|
||||||
|
00589
|
||||||
|
00590 RtApiCore();
|
||||||
|
00591 ~RtApiCore();
|
||||||
|
00592 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
|
||||||
|
00593 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
|
||||||
|
00594 <span class="keywordtype">void</span> tickStream();
|
||||||
|
00595 <span class="keywordtype">void</span> closeStream();
|
||||||
|
00596 <span class="keywordtype">void</span> startStream();
|
||||||
|
00597 <span class="keywordtype">void</span> stopStream();
|
||||||
|
00598 <span class="keywordtype">void</span> abortStream();
|
||||||
|
00599 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
|
||||||
|
00600 <span class="keywordtype">void</span> cancelStreamCallback();
|
||||||
|
00601
|
||||||
|
00602 <span class="comment">// This function is intended for internal use only. It must be</span>
|
||||||
|
00603 <span class="comment">// public because it is called by the internal callback handler,</span>
|
||||||
|
00604 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
|
||||||
|
00605 <span class="comment">// will most likely produce highly undesireable results!</span>
|
||||||
|
00606 <span class="keywordtype">void</span> callbackEvent( AudioDeviceID deviceId, <span class="keywordtype">void</span> *inData, <span class="keywordtype">void</span> *outData );
|
||||||
|
00607
|
||||||
|
00608 <span class="keyword">private</span>:
|
||||||
|
00609
|
||||||
|
00610 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
|
||||||
|
00611 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
|
||||||
|
00612 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
|
||||||
|
00613 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
|
||||||
|
00614 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
|
||||||
|
00615 };
|
||||||
|
00616
|
||||||
|
00617 <span class="preprocessor">#endif</span>
|
||||||
|
00618 <span class="preprocessor"></span>
|
||||||
|
00619 <span class="preprocessor">#if defined(__WINDOWS_DS__)</span>
|
||||||
|
00620 <span class="preprocessor"></span>
|
||||||
|
00621 <span class="keyword">class </span>RtApiDs: <span class="keyword">public</span> RtApi
|
||||||
|
00622 {
|
||||||
|
00623 <span class="keyword">public</span>:
|
||||||
|
00624
|
||||||
|
00625 RtApiDs();
|
||||||
|
00626 ~RtApiDs();
|
||||||
|
00627 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
|
||||||
|
00628 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
|
||||||
|
00629 <span class="keywordtype">void</span> tickStream();
|
||||||
|
00630 <span class="keywordtype">void</span> closeStream();
|
||||||
|
00631 <span class="keywordtype">void</span> startStream();
|
||||||
|
00632 <span class="keywordtype">void</span> stopStream();
|
||||||
|
00633 <span class="keywordtype">void</span> abortStream();
|
||||||
|
00634 <span class="keywordtype">int</span> streamWillBlock();
|
||||||
|
00635 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
|
||||||
|
00636 <span class="keywordtype">void</span> cancelStreamCallback();
|
||||||
|
00637
|
||||||
|
00638 <span class="keyword">private</span>:
|
||||||
|
00639
|
||||||
|
00640 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
|
||||||
|
00641 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
|
||||||
|
00642 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
|
||||||
|
00643 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
|
||||||
|
00644 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
|
||||||
|
00645 };
|
||||||
|
00646
|
||||||
|
00647 <span class="preprocessor">#endif</span>
|
||||||
|
00648 <span class="preprocessor"></span>
|
||||||
|
00649 <span class="preprocessor">#if defined(__WINDOWS_ASIO__)</span>
|
||||||
|
00650 <span class="preprocessor"></span>
|
||||||
|
00651 <span class="keyword">class </span>RtApiAsio: <span class="keyword">public</span> RtApi
|
||||||
|
00652 {
|
||||||
|
00653 <span class="keyword">public</span>:
|
||||||
|
00654
|
||||||
|
00655 RtApiAsio();
|
||||||
|
00656 ~RtApiAsio();
|
||||||
|
00657 <span class="keywordtype">void</span> tickStream();
|
||||||
|
00658 <span class="keywordtype">void</span> closeStream();
|
||||||
|
00659 <span class="keywordtype">void</span> startStream();
|
||||||
|
00660 <span class="keywordtype">void</span> stopStream();
|
||||||
|
00661 <span class="keywordtype">void</span> abortStream();
|
||||||
|
00662 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
|
||||||
|
00663 <span class="keywordtype">void</span> cancelStreamCallback();
|
||||||
|
00664
|
||||||
|
00665 <span class="comment">// This function is intended for internal use only. It must be</span>
|
||||||
|
00666 <span class="comment">// public because it is called by the internal callback handler,</span>
|
||||||
|
00667 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
|
||||||
|
00668 <span class="comment">// will most likely produce highly undesireable results!</span>
|
||||||
|
00669 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">long</span> bufferIndex );
|
||||||
|
00670
|
||||||
|
00671 <span class="keyword">private</span>:
|
||||||
|
00672
|
||||||
|
00673 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
|
||||||
|
00674 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
|
||||||
|
00675 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
|
||||||
|
00676 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
|
||||||
|
00677 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
|
||||||
|
00678 };
|
||||||
|
00679
|
||||||
|
00680 <span class="preprocessor">#endif</span>
|
||||||
|
00681 <span class="preprocessor"></span>
|
||||||
|
00682 <span class="preprocessor">#if defined(__IRIX_AL__)</span>
|
||||||
|
00683 <span class="preprocessor"></span>
|
||||||
|
00684 <span class="keyword">class </span>RtApiAl: <span class="keyword">public</span> RtApi
|
||||||
|
00685 {
|
||||||
|
00686 <span class="keyword">public</span>:
|
||||||
|
00687
|
||||||
|
00688 RtApiAl();
|
||||||
|
00689 ~RtApiAl();
|
||||||
|
00690 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
|
||||||
|
00691 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
|
||||||
|
00692 <span class="keywordtype">void</span> tickStream();
|
||||||
|
00693 <span class="keywordtype">void</span> closeStream();
|
||||||
|
00694 <span class="keywordtype">void</span> startStream();
|
||||||
|
00695 <span class="keywordtype">void</span> stopStream();
|
||||||
|
00696 <span class="keywordtype">void</span> abortStream();
|
||||||
|
00697 <span class="keywordtype">int</span> streamWillBlock();
|
||||||
|
00698 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
|
||||||
|
00699 <span class="keywordtype">void</span> cancelStreamCallback();
|
||||||
|
00700
|
||||||
|
00701 <span class="keyword">private</span>:
|
||||||
|
00702
|
||||||
|
00703 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
|
||||||
|
00704 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
|
||||||
|
00705 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
|
||||||
|
00706 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
|
||||||
|
00707 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
|
||||||
|
00708 };
|
||||||
|
00709
|
||||||
|
00710 <span class="preprocessor">#endif</span>
|
||||||
|
00711 <span class="preprocessor"></span>
|
||||||
|
00712 <span class="comment">// Define the following flag to have extra information spewed to stderr.</span>
|
||||||
|
00713 <span class="comment">//#define __RTAUDIO_DEBUG__</span>
|
||||||
|
00714
|
||||||
|
00715 <span class="preprocessor">#endif</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,65 +5,64 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>RtDuplex.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>RtDuplex.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00022 <font class="comment">/***************************************************/</font>
|
00022 <span class="comment">/***************************************************/</span>
|
||||||
00023
|
00023
|
||||||
00024 <font class="preprocessor">#if !defined(__RTDUPLEX_H)</font>
|
00024 <span class="preprocessor">#if !defined(__RTDUPLEX_H)</span>
|
||||||
00025 <font class="preprocessor"></font><font class="preprocessor">#define __RTDUPLEX_H</font>
|
00025 <span class="preprocessor"></span><span class="preprocessor">#define __RTDUPLEX_H</span>
|
||||||
00026 <font class="preprocessor"></font>
|
00026 <span class="preprocessor"></span>
|
||||||
00027 <font class="preprocessor">#include "Stk.h"</font>
|
00027 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00028 <font class="preprocessor">#include "RtAudio.h"</font>
|
00028 <span class="preprocessor">#include "RtAudio.h"</span>
|
||||||
00029
|
00029
|
||||||
00030 <font class="keyword">class </font><a class="code" href="classRtDuplex.html">RtDuplex</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00030"></a><a class="code" href="classRtDuplex.html">00030</a> <span class="keyword">class </span><a class="code" href="classRtDuplex.html">RtDuplex</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00031 {
|
00031 {
|
||||||
00032 <font class="keyword">public</font>:
|
00032 <span class="keyword">public</span>:
|
||||||
00034
|
00034
|
||||||
00045 <a class="code" href="classRtDuplex.html#a0">RtDuplex</a>(<font class="keywordtype">int</font> nChannels = 1, MY_FLOAT sampleRate = Stk::sampleRate(), <font class="keywordtype">int</font> device = 0, <font class="keywordtype">int</font> bufferFrames = RT_BUFFER_SIZE, <font class="keywordtype">int</font> nBuffers = 2);
|
00045 <a class="code" href="classRtDuplex.html#a0">RtDuplex</a>(<span class="keywordtype">int</span> nChannels = 1, MY_FLOAT sampleRate = Stk::sampleRate(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2);
|
||||||
00046
|
00046
|
||||||
00048 <a class="code" href="classRtDuplex.html#a1">~RtDuplex</a>();
|
00048 <a class="code" href="classRtDuplex.html#a1">~RtDuplex</a>();
|
||||||
00049
|
00049
|
||||||
00051
|
00051
|
||||||
00054 <font class="keywordtype">void</font> <a class="code" href="classRtDuplex.html#a2">start</a>(<font class="keywordtype">void</font>);
|
00054 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a2">start</a>(<span class="keywordtype">void</span>);
|
||||||
00055
|
00055
|
||||||
00057
|
00057
|
||||||
00060 <font class="keywordtype">void</font> <a class="code" href="classRtDuplex.html#a3">stop</a>(<font class="keywordtype">void</font>);
|
00060 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a3">stop</a>(<span class="keywordtype">void</span>);
|
||||||
00061
|
00061
|
||||||
00063 MY_FLOAT <a class="code" href="classRtDuplex.html#a4">lastOut</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00063 MY_FLOAT <a class="code" href="classRtDuplex.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00064
|
00064
|
||||||
00066
|
00066
|
||||||
00069 MY_FLOAT <a class="code" href="classRtDuplex.html#a5">tick</a>(<font class="keyword">const</font> MY_FLOAT sample);
|
00069 MY_FLOAT <a class="code" href="classRtDuplex.html#a5">tick</a>(<span class="keyword">const</span> MY_FLOAT sample);
|
||||||
00070
|
00070
|
||||||
00072
|
00072
|
||||||
00075 MY_FLOAT *<a class="code" href="classRtDuplex.html#a5">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00075 MY_FLOAT *<a class="code" href="classRtDuplex.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00076
|
00076
|
||||||
00078 <font class="keyword">const</font> MY_FLOAT *<a class="code" href="classRtDuplex.html#a7">lastFrame</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00078 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classRtDuplex.html#a7">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00079
|
00079
|
||||||
00081
|
00081
|
||||||
00084 MY_FLOAT *<a class="code" href="classRtDuplex.html#a8">tickFrame</a>(MY_FLOAT *frameVector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> frames = 1);
|
00084 MY_FLOAT *<a class="code" href="classRtDuplex.html#a8">tickFrame</a>(MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
|
||||||
00085
|
00085
|
||||||
00086 <font class="keyword">protected</font>:
|
00086 <span class="keyword">protected</span>:
|
||||||
00087
|
00087
|
||||||
00088 RtAudio *audio;
|
00088 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
|
||||||
00089 MY_FLOAT *data;
|
00089 MY_FLOAT *data_;
|
||||||
00090 MY_FLOAT *lastOutput;
|
00090 MY_FLOAT *lastOutput_;
|
||||||
00091 <font class="keywordtype">int</font> bufferSize;
|
00091 <span class="keywordtype">int</span> bufferSize_;
|
||||||
00092 <font class="keywordtype">bool</font> stopped;
|
00092 <span class="keywordtype">bool</span> stopped_;
|
||||||
00093 <font class="keywordtype">int</font> stream;
|
00093 <span class="keywordtype">long</span> counter_;
|
||||||
00094 <font class="keywordtype">long</font> counter;
|
00094 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
|
||||||
00095 <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> channels;
|
00095
|
||||||
00096
|
00096 };
|
||||||
00097 };
|
00097
|
||||||
00098
|
00098 <span class="preprocessor">#endif</span>
|
||||||
00099 <font class="preprocessor">#endif</font>
|
</pre></div><HR>
|
||||||
</font></pre></div><HR>
|
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
65
doc/html/RtError_8h-source.html
Normal file
65
doc/html/RtError_8h-source.html
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
|
||||||
|
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
|
||||||
|
</HEAD>
|
||||||
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
|
<CENTER>
|
||||||
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
|
<HR>
|
||||||
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
|
<h1>RtError.h</h1><div class="fragment"><pre>00001 <span class="comment">/************************************************************************/</span>
|
||||||
|
00010 <span class="comment">/************************************************************************/</span>
|
||||||
|
00011
|
||||||
|
00012 <span class="preprocessor">#ifndef RTERROR_H</span>
|
||||||
|
00013 <span class="preprocessor"></span><span class="preprocessor">#define RTERROR_H</span>
|
||||||
|
00014 <span class="preprocessor"></span>
|
||||||
|
00015 <span class="preprocessor">#include <iostream></span>
|
||||||
|
00016 <span class="preprocessor">#include <string></span>
|
||||||
|
00017
|
||||||
|
<a name="l00018"></a><a class="code" href="classRtError.html">00018</a> <span class="keyword">class </span><a class="code" href="classRtError.html">RtError</a>
|
||||||
|
00019 {
|
||||||
|
00020 <span class="keyword">public</span>:
|
||||||
|
<a name="l00022"></a><a class="code" href="classRtError.html#w11">00022</a> <span class="keyword">enum</span> <a class="code" href="classRtError.html#w11">Type</a> {
|
||||||
|
00023 <a class="code" href="classRtError.html#w11w0">WARNING</a>,
|
||||||
|
00024 <a class="code" href="classRtError.html#w11w1">DEBUG_WARNING</a>,
|
||||||
|
00025 UNSPECIFIED,
|
||||||
|
00026 <a class="code" href="classRtError.html#w11w3">NO_DEVICES_FOUND</a>,
|
||||||
|
00027 <a class="code" href="classRtError.html#w11w4">INVALID_DEVICE</a>,
|
||||||
|
00028 <a class="code" href="classRtError.html#w11w5">INVALID_STREAM</a>,
|
||||||
|
00029 <a class="code" href="classRtError.html#w11w6">MEMORY_ERROR</a>,
|
||||||
|
00030 <a class="code" href="classRtError.html#w11w7">INVALID_PARAMETER</a>,
|
||||||
|
00031 <a class="code" href="classRtError.html#w11w8">DRIVER_ERROR</a>,
|
||||||
|
00032 <a class="code" href="classRtError.html#w11w9">SYSTEM_ERROR</a>,
|
||||||
|
00033 <a class="code" href="classRtError.html#w11w10">THREAD_ERROR</a>
|
||||||
|
00034 };
|
||||||
|
00035
|
||||||
|
00036 <span class="keyword">protected</span>:
|
||||||
|
00037 std::string message_;
|
||||||
|
00038 Type type_;
|
||||||
|
00039
|
||||||
|
00040 <span class="keyword">public</span>:
|
||||||
|
<a name="l00042"></a><a class="code" href="classRtError.html#a0">00042</a> <a class="code" href="classRtError.html#a0">RtError</a>(<span class="keyword">const</span> std::string& message, Type type = RtError::UNSPECIFIED) : message_(message), type_(type){}
|
||||||
|
00043
|
||||||
|
<a name="l00045"></a><a class="code" href="classRtError.html#a1">00045</a> <span class="keyword">virtual</span> <a class="code" href="classRtError.html#a1">~RtError</a>(<span class="keywordtype">void</span>) {};
|
||||||
|
00046
|
||||||
|
<a name="l00048"></a><a class="code" href="classRtError.html#a2">00048</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRtError.html#a2">printMessage</a>(<span class="keywordtype">void</span>) { std::cerr << <span class="charliteral">'\n'</span> << message_ << <span class="stringliteral">"\n\n"</span>; }
|
||||||
|
00049
|
||||||
|
<a name="l00051"></a><a class="code" href="classRtError.html#a3">00051</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classRtError.html#w11">Type</a>& <a class="code" href="classRtError.html#a3">getType</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> type_; }
|
||||||
|
00052
|
||||||
|
<a name="l00054"></a><a class="code" href="classRtError.html#a4">00054</a> <span class="keyword">virtual</span> <span class="keyword">const</span> std::string& <a class="code" href="classRtError.html#a4">getMessage</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_; }
|
||||||
|
00055
|
||||||
|
<a name="l00057"></a><a class="code" href="classRtError.html#a5">00057</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classRtError.html#a5">getMessageString</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_.c_str(); }
|
||||||
|
00058 };
|
||||||
|
00059
|
||||||
|
00060 <span class="preprocessor">#endif</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
@@ -5,56 +5,56 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>RtMidi.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>RtMidi.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00030 <font class="comment">/***************************************************/</font>
|
00030 <span class="comment">/***************************************************/</span>
|
||||||
00031
|
00031
|
||||||
00032 <font class="preprocessor">#if !defined(__RTMIDI_H)</font>
|
00032 <span class="preprocessor">#if !defined(__RTMIDI_H)</span>
|
||||||
00033 <font class="preprocessor"></font><font class="preprocessor">#define __RTMIDI_H</font>
|
00033 <span class="preprocessor"></span><span class="preprocessor">#define __RTMIDI_H</span>
|
||||||
00034 <font class="preprocessor"></font>
|
00034 <span class="preprocessor"></span>
|
||||||
00035 <font class="preprocessor">#include "Stk.h"</font>
|
00035 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00036
|
00036
|
||||||
00037 <font class="keyword">class </font><a class="code" href="classRtMidi.html">RtMidi</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00037"></a><a class="code" href="classRtMidi.html">00037</a> <span class="keyword">class </span><a class="code" href="classRtMidi.html">RtMidi</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00038 {
|
00038 {
|
||||||
00039 <font class="keyword">public</font>:
|
00039 <span class="keyword">public</span>:
|
||||||
00041 <a class="code" href="classRtMidi.html#a0">RtMidi</a>(<font class="keywordtype">int</font> device = 0);
|
00041 <a class="code" href="classRtMidi.html#a0">RtMidi</a>(<span class="keywordtype">int</span> device = 0);
|
||||||
00042
|
00042
|
||||||
00044 <a class="code" href="classRtMidi.html#a1">~RtMidi</a>();
|
00044 <a class="code" href="classRtMidi.html#a1">~RtMidi</a>();
|
||||||
00045
|
00045
|
||||||
00047 <font class="keywordtype">void</font> <a class="code" href="classRtMidi.html#a2">printMessage</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00047 <span class="keywordtype">void</span> <a class="code" href="classRtMidi.html#a2">printMessage</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00048
|
00048
|
||||||
00050
|
00050
|
||||||
00053 <font class="keywordtype">int</font> <a class="code" href="classRtMidi.html#a3">nextMessage</a>(<font class="keywordtype">void</font>);
|
00053 <span class="keywordtype">int</span> <a class="code" href="classRtMidi.html#a3">nextMessage</a>(<span class="keywordtype">void</span>);
|
||||||
00054
|
00054
|
||||||
00056 <font class="keywordtype">int</font> <a class="code" href="classRtMidi.html#a4">getType</a>() <font class="keyword">const</font>;
|
00056 <span class="keywordtype">int</span> <a class="code" href="classRtMidi.html#a4">getType</a>() <span class="keyword">const</span>;
|
||||||
00057
|
00057
|
||||||
00059 <font class="keywordtype">int</font> <a class="code" href="classRtMidi.html#a5">getChannel</a>() <font class="keyword">const</font>;
|
00059 <span class="keywordtype">int</span> <a class="code" href="classRtMidi.html#a5">getChannel</a>() <span class="keyword">const</span>;
|
||||||
00060
|
00060
|
||||||
00062 MY_FLOAT <a class="code" href="classRtMidi.html#a6">getByteTwo</a>() <font class="keyword">const</font>;
|
00062 MY_FLOAT <a class="code" href="classRtMidi.html#a6">getByteTwo</a>() <span class="keyword">const</span>;
|
||||||
00063
|
00063
|
||||||
00065 MY_FLOAT <a class="code" href="classRtMidi.html#a7">getByteThree</a>() <font class="keyword">const</font>;
|
00065 MY_FLOAT <a class="code" href="classRtMidi.html#a7">getByteThree</a>() <span class="keyword">const</span>;
|
||||||
00066
|
00066
|
||||||
00068 MY_FLOAT <a class="code" href="classRtMidi.html#a8">getDeltaTime</a>() <font class="keyword">const</font>;
|
00068 MY_FLOAT <a class="code" href="classRtMidi.html#a8">getDeltaTime</a>() <span class="keyword">const</span>;
|
||||||
00069
|
00069
|
||||||
00070 <font class="keyword">protected</font>:
|
00070 <span class="keyword">protected</span>:
|
||||||
00071 <font class="keywordtype">int</font> messageType;
|
00071 <span class="keywordtype">int</span> messageType;
|
||||||
00072 <font class="keywordtype">int</font> channel;
|
00072 <span class="keywordtype">int</span> channel;
|
||||||
00073 <font class="keywordtype">float</font> byteTwo;
|
00073 <span class="keywordtype">float</span> byteTwo;
|
||||||
00074 <font class="keywordtype">float</font> byteThree;
|
00074 <span class="keywordtype">float</span> byteThree;
|
||||||
00075 MY_FLOAT deltaTime;
|
00075 MY_FLOAT deltaTime;
|
||||||
00076 <font class="keywordtype">int</font> readIndex;
|
00076 <span class="keywordtype">int</span> readIndex;
|
||||||
00077
|
00077
|
||||||
00078 };
|
00078 };
|
||||||
00079
|
00079
|
||||||
00080 <font class="preprocessor">#endif</font>
|
00080 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,65 +5,64 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>RtWvIn.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>RtWvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00020 <font class="comment">/***************************************************/</font>
|
00020 <span class="comment">/***************************************************/</span>
|
||||||
00021
|
00021
|
||||||
00022 <font class="preprocessor">#if !defined(__RTWVIN_H)</font>
|
00022 <span class="preprocessor">#if !defined(__RTWVIN_H)</span>
|
||||||
00023 <font class="preprocessor"></font><font class="preprocessor">#define __RTWVIN_H</font>
|
00023 <span class="preprocessor"></span><span class="preprocessor">#define __RTWVIN_H</span>
|
||||||
00024 <font class="preprocessor"></font>
|
00024 <span class="preprocessor"></span>
|
||||||
00025 <font class="preprocessor">#include "Stk.h"</font>
|
00025 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00026 <font class="preprocessor">#include "WvIn.h"</font>
|
00026 <span class="preprocessor">#include "WvIn.h"</span>
|
||||||
00027 <font class="preprocessor">#include "RtAudio.h"</font>
|
00027 <span class="preprocessor">#include "RtAudio.h"</span>
|
||||||
00028
|
00028
|
||||||
00029 <font class="keyword">class </font><a class="code" href="classRtWvIn.html">RtWvIn</a> : <font class="keyword">protected</font> <a class="code" href="classWvIn.html">WvIn</a>
|
<a name="l00029"></a><a class="code" href="classRtWvIn.html">00029</a> <span class="keyword">class </span><a class="code" href="classRtWvIn.html">RtWvIn</a> : <span class="keyword">protected</span> <a class="code" href="classWvIn.html">WvIn</a>
|
||||||
00030 {
|
00030 {
|
||||||
00031 <font class="keyword">public</font>:
|
00031 <span class="keyword">public</span>:
|
||||||
00033
|
00033
|
||||||
00044 <a class="code" href="classRtWvIn.html#a0">RtWvIn</a>(<font class="keywordtype">int</font> nChannels = 1, MY_FLOAT sampleRate = Stk::sampleRate(), <font class="keywordtype">int</font> device = 0, <font class="keywordtype">int</font> bufferFrames = RT_BUFFER_SIZE, <font class="keywordtype">int</font> nBuffers = 2);
|
00044 <a class="code" href="classRtWvIn.html#a0">RtWvIn</a>(<span class="keywordtype">int</span> nChannels = 1, MY_FLOAT sampleRate = Stk::sampleRate(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2);
|
||||||
00045
|
00045
|
||||||
00047 <a class="code" href="classRtWvIn.html#a1">~RtWvIn</a>();
|
00047 <a class="code" href="classRtWvIn.html#a1">~RtWvIn</a>();
|
||||||
00048
|
00048
|
||||||
00050
|
00050
|
||||||
00053 <font class="keywordtype">void</font> <a class="code" href="classRtWvIn.html#a2">start</a>(<font class="keywordtype">void</font>);
|
00053 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a2">start</a>(<span class="keywordtype">void</span>);
|
||||||
00054
|
00054
|
||||||
00056
|
00056
|
||||||
00059 <font class="keywordtype">void</font> <a class="code" href="classRtWvIn.html#a3">stop</a>(<font class="keywordtype">void</font>);
|
00059 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a3">stop</a>(<span class="keywordtype">void</span>);
|
||||||
00060
|
00060
|
||||||
00062 MY_FLOAT <a class="code" href="classWvIn.html#a15">lastOut</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00062 MY_FLOAT <a class="code" href="classRtWvIn.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00063
|
00063
|
||||||
00065
|
00065
|
||||||
00068 MY_FLOAT <a class="code" href="classWvIn.html#a16">tick</a>(<font class="keywordtype">void</font>);
|
00068 MY_FLOAT <a class="code" href="classRtWvIn.html#a5">tick</a>(<span class="keywordtype">void</span>);
|
||||||
00069
|
00069
|
||||||
00071
|
00071
|
||||||
00074 MY_FLOAT *<a class="code" href="classWvIn.html#a16">tick</a>(MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00074 MY_FLOAT *<a class="code" href="classRtWvIn.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00075
|
00075
|
||||||
00077 <font class="keyword">const</font> MY_FLOAT *<a class="code" href="classWvIn.html#a18">lastFrame</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
|
00077 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classRtWvIn.html#a7">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
|
||||||
00078
|
00078
|
||||||
00080
|
00080
|
||||||
00083 <font class="keyword">const</font> MY_FLOAT *<a class="code" href="classWvIn.html#a19">tickFrame</a>(<font class="keywordtype">void</font>);
|
00083 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classRtWvIn.html#a8">tickFrame</a>(<span class="keywordtype">void</span>);
|
||||||
00084
|
00084
|
||||||
00086
|
00086
|
||||||
00089 MY_FLOAT *<a class="code" href="classWvIn.html#a19">tickFrame</a>(MY_FLOAT *frameVector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> frames);
|
00089 MY_FLOAT *<a class="code" href="classRtWvIn.html#a8">tickFrame</a>(MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
|
||||||
00090
|
00090
|
||||||
00091 <font class="keyword">protected</font>:
|
00091 <span class="keyword">protected</span>:
|
||||||
00092
|
00092
|
||||||
00093 RtAudio *audio;
|
00093 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
|
||||||
00094 <font class="keywordtype">bool</font> stopped;
|
00094 <span class="keywordtype">bool</span> stopped_;
|
||||||
00095 <font class="keywordtype">int</font> stream;
|
00095 <span class="keywordtype">long</span> counter_;
|
||||||
00096 <font class="keywordtype">long</font> counter;
|
00096
|
||||||
00097
|
00097 };
|
||||||
00098 };
|
00098
|
||||||
00099
|
00099 <span class="preprocessor">#endif</span>
|
||||||
00100 <font class="preprocessor">#endif</font>
|
</pre></div><HR>
|
||||||
</font></pre></div><HR>
|
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,61 +5,62 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>RtWvOut.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>RtWvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00019 <font class="comment">/***************************************************/</font>
|
00019 <span class="comment">/***************************************************/</span>
|
||||||
00020
|
00020
|
||||||
00021 <font class="preprocessor">#if !defined(__RTWVOUT_H)</font>
|
00021 <span class="preprocessor">#if !defined(__RTWVOUT_H)</span>
|
||||||
00022 <font class="preprocessor"></font><font class="preprocessor">#define __RTWVOUT_H</font>
|
00022 <span class="preprocessor"></span><span class="preprocessor">#define __RTWVOUT_H</span>
|
||||||
00023 <font class="preprocessor"></font>
|
00023 <span class="preprocessor"></span>
|
||||||
00024 <font class="preprocessor">#include "WvOut.h"</font>
|
00024 <span class="preprocessor">#include "WvOut.h"</span>
|
||||||
00025 <font class="preprocessor">#include "RtAudio.h"</font>
|
00025 <span class="preprocessor">#include "RtAudio.h"</span>
|
||||||
00026
|
00026 <span class="preprocessor">#include "Thread.h"</span>
|
||||||
00027 <font class="keyword">class </font><a class="code" href="classRtWvOut.html">RtWvOut</a> : <font class="keyword">protected</font> <a class="code" href="classWvOut.html">WvOut</a>
|
00027
|
||||||
00028 {
|
<a name="l00028"></a><a class="code" href="classRtWvOut.html">00028</a> <span class="keyword">class </span><a class="code" href="classRtWvOut.html">RtWvOut</a> : <span class="keyword">protected</span> <a class="code" href="classWvOut.html">WvOut</a>
|
||||||
00029 <font class="keyword">public</font>:
|
00029 {
|
||||||
|
00030 <span class="keyword">public</span>:
|
||||||
00031
|
00031
|
||||||
00042 <a class="code" href="classRtWvOut.html#a0">RtWvOut</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> nChannels = 1, MY_FLOAT sampleRate = Stk::sampleRate(), <font class="keywordtype">int</font> device = 0, <font class="keywordtype">int</font> bufferFrames = RT_BUFFER_SIZE, <font class="keywordtype">int</font> nBuffers = 4 );
|
00033
|
||||||
00043
|
00044 <a class="code" href="classRtWvOut.html#a0">RtWvOut</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, MY_FLOAT sampleRate = Stk::sampleRate(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 4 );
|
||||||
00045 <a class="code" href="classRtWvOut.html#a1">~RtWvOut</a>();
|
00045
|
||||||
00046
|
00047 <a class="code" href="classRtWvOut.html#a1">~RtWvOut</a>();
|
||||||
00048
|
00048
|
||||||
00051 <font class="keywordtype">void</font> <a class="code" href="classRtWvOut.html#a2">start</a>(<font class="keywordtype">void</font>);
|
00050
|
||||||
00052
|
00053 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a2">start</a>(<span class="keywordtype">void</span>);
|
||||||
00054
|
00054
|
||||||
00057 <font class="keywordtype">void</font> <a class="code" href="classRtWvOut.html#a3">stop</a>(<font class="keywordtype">void</font>);
|
00056
|
||||||
00058
|
00059 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a3">stop</a>(<span class="keywordtype">void</span>);
|
||||||
00060 <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> <a class="code" href="classWvOut.html#a5">getFrames</a>( <font class="keywordtype">void</font> ) <font class="keyword">const</font>;
|
00060
|
||||||
00061
|
00062 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classRtWvOut.html#a4">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
|
||||||
00063 MY_FLOAT <a class="code" href="classWvOut.html#a6">getTime</a>( <font class="keywordtype">void</font> ) <font class="keyword">const</font>;
|
00063
|
||||||
00064
|
00065 MY_FLOAT <a class="code" href="classRtWvOut.html#a5">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
|
||||||
00066
|
00066
|
||||||
00069 <font class="keywordtype">void</font> <a class="code" href="classWvOut.html#a7">tick</a>(<font class="keyword">const</font> MY_FLOAT sample);
|
00068
|
||||||
00070
|
00071 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>(<span class="keyword">const</span> MY_FLOAT sample);
|
||||||
00072
|
00072
|
||||||
00075 <font class="keywordtype">void</font> <a class="code" href="classWvOut.html#a7">tick</a>(<font class="keyword">const</font> MY_FLOAT *vector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> vectorSize);
|
00074
|
||||||
00076
|
00077 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>(<span class="keyword">const</span> MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
|
||||||
00078
|
00078
|
||||||
00081 <font class="keywordtype">void</font> <a class="code" href="classWvOut.html#a9">tickFrame</a>(<font class="keyword">const</font> MY_FLOAT *frameVector, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> frames = 1);
|
00080
|
||||||
00082
|
00083 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a8">tickFrame</a>(<span class="keyword">const</span> MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
|
||||||
00083 <font class="keyword">protected</font>:
|
|
||||||
00084
|
00084
|
||||||
00085 RtAudio *audio;
|
00085 <span class="keyword">protected</span>:
|
||||||
00086 <font class="keywordtype">bool</font> stopped;
|
00086
|
||||||
00087 <font class="keywordtype">int</font> stream;
|
00087 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
|
||||||
00088 <font class="keywordtype">int</font> bufferSize;
|
00088 <span class="keywordtype">bool</span> stopped_;
|
||||||
00089
|
00089 <span class="keywordtype">int</span> bufferSize_;
|
||||||
00090 };
|
00090
|
||||||
00091
|
00091 };
|
||||||
00092 <font class="preprocessor">#endif // defined(__RTWVOUT_H)</font>
|
00092
|
||||||
</font></pre></div><HR>
|
00093 <span class="preprocessor">#endif // defined(__RTWVOUT_H)</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,72 +5,72 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>SKINI.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>SKINI.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00026 <font class="comment">/***************************************************/</font>
|
00026 <span class="comment">/***************************************************/</span>
|
||||||
00027
|
00027
|
||||||
00028 <font class="preprocessor">#if !defined(__SKINI_H)</font>
|
00028 <span class="preprocessor">#if !defined(__SKINI_H)</span>
|
||||||
00029 <font class="preprocessor"></font><font class="preprocessor">#define __SKINI_H</font>
|
00029 <span class="preprocessor"></span><span class="preprocessor">#define __SKINI_H</span>
|
||||||
00030 <font class="preprocessor"></font>
|
00030 <span class="preprocessor"></span>
|
||||||
00031 <font class="preprocessor">#include "Stk.h"</font>
|
00031 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00032 <font class="preprocessor">#include <stdio.h></font>
|
00032 <span class="preprocessor">#include <stdio.h></span>
|
||||||
00033
|
00033
|
||||||
00034 <font class="keyword">class </font><a class="code" href="classSKINI.html">SKINI</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00034"></a><a class="code" href="classSKINI.html">00034</a> <span class="keyword">class </span><a class="code" href="classSKINI.html">SKINI</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00035 {
|
00035 {
|
||||||
00036 <font class="keyword">public</font>:
|
00036 <span class="keyword">public</span>:
|
||||||
00038 <a class="code" href="classSKINI.html#a0">SKINI</a>();
|
00038 <a class="code" href="classSKINI.html#a0">SKINI</a>();
|
||||||
00039
|
00039
|
||||||
00041 <a class="code" href="classSKINI.html#a0">SKINI</a>(<font class="keywordtype">char</font> *fileName);
|
00041 <a class="code" href="classSKINI.html#a0">SKINI</a>(<span class="keywordtype">char</span> *fileName);
|
||||||
00042
|
00042
|
||||||
00044 <a class="code" href="classSKINI.html#a2">~SKINI</a>();
|
00044 <a class="code" href="classSKINI.html#a2">~SKINI</a>();
|
||||||
00045
|
00045
|
||||||
00047
|
00047
|
||||||
00050 <font class="keywordtype">long</font> <a class="code" href="classSKINI.html#a3">parseThis</a>(<font class="keywordtype">char</font>* aString);
|
00050 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a3">parseThis</a>(<span class="keywordtype">char</span>* aString);
|
||||||
00051
|
00051
|
||||||
00053
|
00053
|
||||||
00056 <font class="keywordtype">long</font> <a class="code" href="classSKINI.html#a4">nextMessage</a>();
|
00056 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a4">nextMessage</a>();
|
||||||
00057
|
00057
|
||||||
00059 <font class="keywordtype">long</font> <a class="code" href="classSKINI.html#a5">getType</a>() <font class="keyword">const</font>;
|
00059 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a5">getType</a>() <span class="keyword">const</span>;
|
||||||
00060
|
00060
|
||||||
00062 <font class="keywordtype">long</font> <a class="code" href="classSKINI.html#a6">getChannel</a>() <font class="keyword">const</font>;
|
00062 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a6">getChannel</a>() <span class="keyword">const</span>;
|
||||||
00063
|
00063
|
||||||
00065 MY_FLOAT <a class="code" href="classSKINI.html#a7">getDelta</a>() <font class="keyword">const</font>;
|
00065 MY_FLOAT <a class="code" href="classSKINI.html#a7">getDelta</a>() <span class="keyword">const</span>;
|
||||||
00066
|
00066
|
||||||
00068 MY_FLOAT <a class="code" href="classSKINI.html#a8">getByteTwo</a>() <font class="keyword">const</font>;
|
00068 MY_FLOAT <a class="code" href="classSKINI.html#a8">getByteTwo</a>() <span class="keyword">const</span>;
|
||||||
00069
|
00069
|
||||||
00071 MY_FLOAT <a class="code" href="classSKINI.html#a9">getByteThree</a>() <font class="keyword">const</font>;
|
00071 MY_FLOAT <a class="code" href="classSKINI.html#a9">getByteThree</a>() <span class="keyword">const</span>;
|
||||||
00072
|
00072
|
||||||
00074 <font class="keywordtype">long</font> <a class="code" href="classSKINI.html#a10">getByteTwoInt</a>() <font class="keyword">const</font>;
|
00074 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a10">getByteTwoInt</a>() <span class="keyword">const</span>;
|
||||||
00075
|
00075
|
||||||
00077 <font class="keywordtype">long</font> <a class="code" href="classSKINI.html#a11">getByteThreeInt</a>() <font class="keyword">const</font>;
|
00077 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a11">getByteThreeInt</a>() <span class="keyword">const</span>;
|
||||||
00078
|
00078
|
||||||
00080 <font class="keyword">const</font> <font class="keywordtype">char</font>* <a class="code" href="classSKINI.html#a12">getRemainderString</a>();
|
00080 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a12">getRemainderString</a>();
|
||||||
00081
|
00081
|
||||||
00083 <font class="keyword">const</font> <font class="keywordtype">char</font>* <a class="code" href="classSKINI.html#a13">getMessageTypeString</a>();
|
00083 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a13">getMessageTypeString</a>();
|
||||||
00084
|
00084
|
||||||
00086 <font class="keyword">const</font> <font class="keywordtype">char</font>* <a class="code" href="classSKINI.html#a14">whatsThisType</a>(<font class="keywordtype">long</font> type);
|
00086 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a14">whatsThisType</a>(<span class="keywordtype">long</span> type);
|
||||||
00087
|
00087
|
||||||
00089 <font class="keyword">const</font> <font class="keywordtype">char</font>* <a class="code" href="classSKINI.html#a15">whatsThisController</a>(<font class="keywordtype">long</font> number);
|
00089 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a15">whatsThisController</a>(<span class="keywordtype">long</span> number);
|
||||||
00090
|
00090
|
||||||
00091 <font class="keyword">protected</font>:
|
00091 <span class="keyword">protected</span>:
|
||||||
00092
|
00092
|
||||||
00093 FILE *myFile;
|
00093 FILE *myFile;
|
||||||
00094 <font class="keywordtype">long</font> messageType;
|
00094 <span class="keywordtype">long</span> messageType;
|
||||||
00095 <font class="keywordtype">char</font> msgTypeString[64];
|
00095 <span class="keywordtype">char</span> msgTypeString[64];
|
||||||
00096 <font class="keywordtype">long</font> channel;
|
00096 <span class="keywordtype">long</span> channel;
|
||||||
00097 MY_FLOAT deltaTime;
|
00097 MY_FLOAT deltaTime;
|
||||||
00098 MY_FLOAT byteTwo;
|
00098 MY_FLOAT byteTwo;
|
||||||
00099 MY_FLOAT byteThree;
|
00099 MY_FLOAT byteThree;
|
||||||
00100 <font class="keywordtype">long</font> byteTwoInt;
|
00100 <span class="keywordtype">long</span> byteTwoInt;
|
||||||
00101 <font class="keywordtype">long</font> byteThreeInt;
|
00101 <span class="keywordtype">long</span> byteThreeInt;
|
||||||
00102 <font class="keywordtype">char</font> remainderString[1024];
|
00102 <span class="keywordtype">char</span> remainderString[1024];
|
||||||
00103 <font class="keywordtype">char</font> whatString[1024];
|
00103 <span class="keywordtype">char</span> whatString[1024];
|
||||||
00104 };
|
00104 };
|
||||||
00105
|
00105
|
||||||
00106 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">double</font> Midi2Pitch[129] = {
|
00106 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> Midi2Pitch[129] = {
|
||||||
00107 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25,
|
00107 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25,
|
||||||
00108 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45,
|
00108 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45,
|
||||||
00109 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87,
|
00109 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87,
|
||||||
@@ -89,14 +89,14 @@
|
|||||||
00122 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
|
00122 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
|
||||||
00123 13289.75};
|
00123 13289.75};
|
||||||
00124
|
00124
|
||||||
00125 <font class="preprocessor">#endif</font>
|
00125 <span class="preprocessor">#endif</span>
|
||||||
00126 <font class="preprocessor"></font>
|
00126 <span class="preprocessor"></span>
|
||||||
00127
|
00127
|
||||||
</pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,44 +5,44 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Sampler.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Sampler.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00010 <font class="comment">/***************************************************/</font>
|
00010 <span class="comment">/***************************************************/</span>
|
||||||
00011
|
00011
|
||||||
00012 <font class="preprocessor">#if !defined(__SAMPLER_H)</font>
|
00012 <span class="preprocessor">#if !defined(__SAMPLER_H)</span>
|
||||||
00013 <font class="preprocessor"></font><font class="preprocessor">#define __SAMPLER_H</font>
|
00013 <span class="preprocessor"></span><span class="preprocessor">#define __SAMPLER_H</span>
|
||||||
00014 <font class="preprocessor"></font>
|
00014 <span class="preprocessor"></span>
|
||||||
00015 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00015 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00016 <font class="preprocessor">#include "ADSR.h"</font>
|
00016 <span class="preprocessor">#include "ADSR.h"</span>
|
||||||
00017 <font class="preprocessor">#include "WvIn.h"</font>
|
00017 <span class="preprocessor">#include "WvIn.h"</span>
|
||||||
00018 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00018 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00019 <font class="preprocessor">#include "OnePole.h"</font>
|
00019 <span class="preprocessor">#include "OnePole.h"</span>
|
||||||
00020
|
00020
|
||||||
00021 <font class="keyword">class </font><a class="code" href="classSampler.html">Sampler</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00021"></a><a class="code" href="classSampler.html">00021</a> <span class="keyword">class </span><a class="code" href="classSampler.html">Sampler</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00022 {
|
00022 {
|
||||||
00023 <font class="keyword">public</font>:
|
00023 <span class="keyword">public</span>:
|
||||||
00025 <a class="code" href="classSampler.html#a0">Sampler</a>();
|
00025 <a class="code" href="classSampler.html#a0">Sampler</a>();
|
||||||
00026
|
00026
|
||||||
00028 <font class="keyword">virtual</font> <a class="code" href="classSampler.html#a1">~Sampler</a>();
|
00028 <span class="keyword">virtual</span> <a class="code" href="classSampler.html#a1">~Sampler</a>();
|
||||||
00029
|
00029
|
||||||
00031 <font class="keywordtype">void</font> <a class="code" href="classSampler.html#a2">clear</a>();
|
00031 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a2">clear</a>();
|
||||||
00032
|
00032
|
||||||
00034 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency) = 0;
|
00034 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a3">setFrequency</a>(MY_FLOAT frequency) = 0;
|
||||||
00035
|
00035
|
||||||
00037 <font class="keywordtype">void</font> <a class="code" href="classSampler.html#a4">keyOn</a>();
|
00037 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a4">keyOn</a>();
|
||||||
00038
|
00038
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classSampler.html#a5">keyOff</a>();
|
00040 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a5">keyOff</a>();
|
||||||
00041
|
00041
|
||||||
00043 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00043 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a6">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00044
|
00044
|
||||||
00046 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00046 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classSampler.html#a7">tick</a>();
|
||||||
00047
|
00047
|
||||||
00049 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value) = 0;
|
00049 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a8">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value) = 0;
|
||||||
00050
|
00050
|
||||||
00051 <font class="keyword">protected</font>:
|
00051 <span class="keyword">protected</span>:
|
||||||
00052 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
00052 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
||||||
00053 <a class="code" href="classWvIn.html">WvIn</a> *attacks[5];
|
00053 <a class="code" href="classWvIn.html">WvIn</a> *attacks[5];
|
||||||
00054 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loops[5];
|
00054 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loops[5];
|
||||||
@@ -52,16 +52,16 @@
|
|||||||
00058 MY_FLOAT loopRatios[5];
|
00058 MY_FLOAT loopRatios[5];
|
||||||
00059 MY_FLOAT attackGain;
|
00059 MY_FLOAT attackGain;
|
||||||
00060 MY_FLOAT loopGain;
|
00060 MY_FLOAT loopGain;
|
||||||
00061 <font class="keywordtype">int</font> whichOne;
|
00061 <span class="keywordtype">int</span> whichOne;
|
||||||
00062
|
00062
|
||||||
00063 };
|
00063 };
|
||||||
00064
|
00064
|
||||||
00065 <font class="preprocessor">#endif</font>
|
00065 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,57 +5,57 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Saxofony.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Saxofony.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00036 <font class="comment">/***************************************************/</font>
|
00036 <span class="comment">/***************************************************/</span>
|
||||||
00037
|
00037
|
||||||
00038 <font class="preprocessor">#if !defined(__SAXOFONY_H)</font>
|
00038 <span class="preprocessor">#if !defined(__SAXOFONY_H)</span>
|
||||||
00039 <font class="preprocessor"></font><font class="preprocessor">#define __SAXOFONY_H</font>
|
00039 <span class="preprocessor"></span><span class="preprocessor">#define __SAXOFONY_H</span>
|
||||||
00040 <font class="preprocessor"></font>
|
00040 <span class="preprocessor"></span>
|
||||||
00041 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00041 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00042 <font class="preprocessor">#include "DelayL.h"</font>
|
00042 <span class="preprocessor">#include "DelayL.h"</span>
|
||||||
00043 <font class="preprocessor">#include "ReedTabl.h"</font>
|
00043 <span class="preprocessor">#include "ReedTabl.h"</span>
|
||||||
00044 <font class="preprocessor">#include "OneZero.h"</font>
|
00044 <span class="preprocessor">#include "OneZero.h"</span>
|
||||||
00045 <font class="preprocessor">#include "Envelope.h"</font>
|
00045 <span class="preprocessor">#include "Envelope.h"</span>
|
||||||
00046 <font class="preprocessor">#include "Noise.h"</font>
|
00046 <span class="preprocessor">#include "Noise.h"</span>
|
||||||
00047 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00047 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00048
|
00048
|
||||||
00049 <font class="keyword">class </font><a class="code" href="classSaxofony.html">Saxofony</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00049"></a><a class="code" href="classSaxofony.html">00049</a> <span class="keyword">class </span><a class="code" href="classSaxofony.html">Saxofony</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00050 {
|
00050 {
|
||||||
00051 <font class="keyword">public</font>:
|
00051 <span class="keyword">public</span>:
|
||||||
00053 <a class="code" href="classSaxofony.html#a0">Saxofony</a>(MY_FLOAT lowestFrequency);
|
00053 <a class="code" href="classSaxofony.html#a0">Saxofony</a>(MY_FLOAT lowestFrequency);
|
||||||
00054
|
00054
|
||||||
00056 <a class="code" href="classSaxofony.html#a1">~Saxofony</a>();
|
00056 <a class="code" href="classSaxofony.html#a1">~Saxofony</a>();
|
||||||
00057
|
00057
|
||||||
00059 <font class="keywordtype">void</font> <a class="code" href="classSaxofony.html#a2">clear</a>();
|
00059 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a2">clear</a>();
|
||||||
00060
|
00060
|
||||||
00062 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00062 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00063
|
00063
|
||||||
00065 <font class="keywordtype">void</font> <a class="code" href="classSaxofony.html#a4">setBlowPosition</a>(MY_FLOAT aPosition);
|
00065 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a4">setBlowPosition</a>(MY_FLOAT aPosition);
|
||||||
00066
|
00066
|
||||||
00068 <font class="keywordtype">void</font> <a class="code" href="classSaxofony.html#a5">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
00068 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a5">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
|
||||||
00069
|
00069
|
||||||
00071 <font class="keywordtype">void</font> <a class="code" href="classSaxofony.html#a6">stopBlowing</a>(MY_FLOAT rate);
|
00071 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a6">stopBlowing</a>(MY_FLOAT rate);
|
||||||
00072
|
00072
|
||||||
00074 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00074 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00075
|
00075
|
||||||
00077 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00077 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a8">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00078
|
00078
|
||||||
00080 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00080 MY_FLOAT <a class="code" href="classSaxofony.html#a9">tick</a>();
|
||||||
00081
|
00081
|
||||||
00083 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00083 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00084
|
00084
|
||||||
00085 <font class="keyword">protected</font>:
|
00085 <span class="keyword">protected</span>:
|
||||||
00086 <a class="code" href="classDelayL.html">DelayL</a> *delays[2];
|
00086 <a class="code" href="classDelayL.html">DelayL</a> *delays[2];
|
||||||
00087 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable;
|
00087 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable;
|
||||||
00088 <a class="code" href="classOneZero.html">OneZero</a> *filter;
|
00088 <a class="code" href="classOneZero.html">OneZero</a> *filter;
|
||||||
00089 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
|
00089 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
|
||||||
00090 <a class="code" href="classNoise.html">Noise</a> *noise;
|
00090 <a class="code" href="classNoise.html">Noise</a> *noise;
|
||||||
00091 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
00091 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
|
||||||
00092 <font class="keywordtype">long</font> length;
|
00092 <span class="keywordtype">long</span> length;
|
||||||
00093 MY_FLOAT outputGain;
|
00093 MY_FLOAT outputGain;
|
||||||
00094 MY_FLOAT noiseGain;
|
00094 MY_FLOAT noiseGain;
|
||||||
00095 MY_FLOAT vibratoGain;
|
00095 MY_FLOAT vibratoGain;
|
||||||
@@ -63,12 +63,12 @@
|
|||||||
00097
|
00097
|
||||||
00098 };
|
00098 };
|
||||||
00099
|
00099
|
||||||
00100 <font class="preprocessor">#endif</font>
|
00100 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,50 +5,50 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Shakers.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Shakers.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00053 <font class="comment">/***************************************************/</font>
|
00053 <span class="comment">/***************************************************/</span>
|
||||||
00054
|
00054
|
||||||
00055 <font class="preprocessor">#if !defined(__SHAKERS_H)</font>
|
00055 <span class="preprocessor">#if !defined(__SHAKERS_H)</span>
|
||||||
00056 <font class="preprocessor"></font><font class="preprocessor">#define __SHAKERS_H</font>
|
00056 <span class="preprocessor"></span><span class="preprocessor">#define __SHAKERS_H</span>
|
||||||
00057 <font class="preprocessor"></font>
|
00057 <span class="preprocessor"></span>
|
||||||
00058 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00058 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00059
|
00059
|
||||||
00060 <font class="preprocessor">#define MAX_FREQS 8</font>
|
00060 <span class="preprocessor">#define MAX_FREQS 8</span>
|
||||||
00061 <font class="preprocessor"></font><font class="preprocessor">#define NUM_INSTR 24</font>
|
00061 <span class="preprocessor"></span><span class="preprocessor">#define NUM_INSTR 24</span>
|
||||||
00062 <font class="preprocessor"></font>
|
00062 <span class="preprocessor"></span>
|
||||||
00063 <font class="keyword">class </font><a class="code" href="classShakers.html">Shakers</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00063"></a><a class="code" href="classShakers.html">00063</a> <span class="keyword">class </span><a class="code" href="classShakers.html">Shakers</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00064 {
|
00064 {
|
||||||
00065 <font class="keyword">public</font>:
|
00065 <span class="keyword">public</span>:
|
||||||
00067 <a class="code" href="classShakers.html#a0">Shakers</a>();
|
00067 <a class="code" href="classShakers.html#a0">Shakers</a>();
|
||||||
00068
|
00068
|
||||||
00070 <a class="code" href="classShakers.html#a1">~Shakers</a>();
|
00070 <a class="code" href="classShakers.html#a1">~Shakers</a>();
|
||||||
00071
|
00071
|
||||||
00073
|
00073
|
||||||
00077 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT instrument, MY_FLOAT amplitude);
|
00077 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a2">noteOn</a>(MY_FLOAT instrument, MY_FLOAT amplitude);
|
||||||
00078
|
00078
|
||||||
00080 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00080 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00081
|
00081
|
||||||
00083 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00083 MY_FLOAT <a class="code" href="classShakers.html#a4">tick</a>();
|
||||||
00084
|
00084
|
||||||
00086 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00086 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a5">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00087
|
00087
|
||||||
00088 <font class="keyword">protected</font>:
|
00088 <span class="keyword">protected</span>:
|
||||||
00089
|
00089
|
||||||
00090 <font class="keywordtype">int</font> setupName(<font class="keywordtype">char</font>* instr);
|
00090 <span class="keywordtype">int</span> setupName(<span class="keywordtype">char</span>* instr);
|
||||||
00091 <font class="keywordtype">int</font> setupNum(<font class="keywordtype">int</font> inst);
|
00091 <span class="keywordtype">int</span> setupNum(<span class="keywordtype">int</span> inst);
|
||||||
00092 <font class="keywordtype">int</font> setFreqAndReson(<font class="keywordtype">int</font> which, MY_FLOAT freq, MY_FLOAT reson);
|
00092 <span class="keywordtype">int</span> setFreqAndReson(<span class="keywordtype">int</span> which, MY_FLOAT freq, MY_FLOAT reson);
|
||||||
00093 <font class="keywordtype">void</font> setDecays(MY_FLOAT sndDecay, MY_FLOAT sysDecay);
|
00093 <span class="keywordtype">void</span> setDecays(MY_FLOAT sndDecay, MY_FLOAT sysDecay);
|
||||||
00094 <font class="keywordtype">void</font> setFinalZs(MY_FLOAT z0, MY_FLOAT z1, MY_FLOAT z2);
|
00094 <span class="keywordtype">void</span> setFinalZs(MY_FLOAT z0, MY_FLOAT z1, MY_FLOAT z2);
|
||||||
00095 MY_FLOAT wuter_tick();
|
00095 MY_FLOAT wuter_tick();
|
||||||
00096 MY_FLOAT tbamb_tick();
|
00096 MY_FLOAT tbamb_tick();
|
||||||
00097 MY_FLOAT ratchet_tick();
|
00097 MY_FLOAT ratchet_tick();
|
||||||
00098
|
00098
|
||||||
00099 <font class="keywordtype">int</font> instType;
|
00099 <span class="keywordtype">int</span> instType;
|
||||||
00100 <font class="keywordtype">int</font> ratchetPos, lastRatchetPos;
|
00100 <span class="keywordtype">int</span> ratchetPos, lastRatchetPos;
|
||||||
00101 MY_FLOAT shakeEnergy;
|
00101 MY_FLOAT shakeEnergy;
|
||||||
00102 MY_FLOAT inputs[MAX_FREQS];
|
00102 MY_FLOAT inputs[MAX_FREQS];
|
||||||
00103 MY_FLOAT outputs[MAX_FREQS][2];
|
00103 MY_FLOAT outputs[MAX_FREQS][2];
|
||||||
@@ -56,12 +56,12 @@
|
|||||||
00105 MY_FLOAT sndLevel;
|
00105 MY_FLOAT sndLevel;
|
||||||
00106 MY_FLOAT baseGain;
|
00106 MY_FLOAT baseGain;
|
||||||
00107 MY_FLOAT gains[MAX_FREQS];
|
00107 MY_FLOAT gains[MAX_FREQS];
|
||||||
00108 <font class="keywordtype">int</font> nFreqs;
|
00108 <span class="keywordtype">int</span> nFreqs;
|
||||||
00109 MY_FLOAT t_center_freqs[MAX_FREQS];
|
00109 MY_FLOAT t_center_freqs[MAX_FREQS];
|
||||||
00110 MY_FLOAT center_freqs[MAX_FREQS];
|
00110 MY_FLOAT center_freqs[MAX_FREQS];
|
||||||
00111 MY_FLOAT resons[MAX_FREQS];
|
00111 MY_FLOAT resons[MAX_FREQS];
|
||||||
00112 MY_FLOAT freq_rand[MAX_FREQS];
|
00112 MY_FLOAT freq_rand[MAX_FREQS];
|
||||||
00113 <font class="keywordtype">int</font> freqalloc[MAX_FREQS];
|
00113 <span class="keywordtype">int</span> freqalloc[MAX_FREQS];
|
||||||
00114 MY_FLOAT soundDecay;
|
00114 MY_FLOAT soundDecay;
|
||||||
00115 MY_FLOAT systemDecay;
|
00115 MY_FLOAT systemDecay;
|
||||||
00116 MY_FLOAT nObjects;
|
00116 MY_FLOAT nObjects;
|
||||||
@@ -76,12 +76,12 @@
|
|||||||
00125
|
00125
|
||||||
00126 };
|
00126 };
|
||||||
00127
|
00127
|
||||||
00128 <font class="preprocessor">#endif</font>
|
00128 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,47 +5,47 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Simple.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Simple.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00018 <font class="comment">/***************************************************/</font>
|
00018 <span class="comment">/***************************************************/</span>
|
||||||
00019
|
00019
|
||||||
00020 <font class="preprocessor">#if !defined(__SIMPLE_H)</font>
|
00020 <span class="preprocessor">#if !defined(__SIMPLE_H)</span>
|
||||||
00021 <font class="preprocessor"></font><font class="preprocessor">#define __SIMPLE_H</font>
|
00021 <span class="preprocessor"></span><span class="preprocessor">#define __SIMPLE_H</span>
|
||||||
00022 <font class="preprocessor"></font>
|
00022 <span class="preprocessor"></span>
|
||||||
00023 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00024 <font class="preprocessor">#include "ADSR.h"</font>
|
00024 <span class="preprocessor">#include "ADSR.h"</span>
|
||||||
00025 <font class="preprocessor">#include "WaveLoop.h"</font>
|
00025 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
00026 <font class="preprocessor">#include "OnePole.h"</font>
|
00026 <span class="preprocessor">#include "OnePole.h"</span>
|
||||||
00027 <font class="preprocessor">#include "BiQuad.h"</font>
|
00027 <span class="preprocessor">#include "BiQuad.h"</span>
|
||||||
00028 <font class="preprocessor">#include "Noise.h"</font>
|
00028 <span class="preprocessor">#include "Noise.h"</span>
|
||||||
00029
|
00029
|
||||||
00030 <font class="keyword">class </font><a class="code" href="classSimple.html">Simple</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00030"></a><a class="code" href="classSimple.html">00030</a> <span class="keyword">class </span><a class="code" href="classSimple.html">Simple</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00031 {
|
00031 {
|
||||||
00032 <font class="keyword">public</font>:
|
00032 <span class="keyword">public</span>:
|
||||||
00034 <a class="code" href="classSimple.html#a0">Simple</a>();
|
00034 <a class="code" href="classSimple.html#a0">Simple</a>();
|
||||||
00035
|
00035
|
||||||
00037 <font class="keyword">virtual</font> <a class="code" href="classSimple.html#a1">~Simple</a>();
|
00037 <span class="keyword">virtual</span> <a class="code" href="classSimple.html#a1">~Simple</a>();
|
||||||
00038
|
00038
|
||||||
00040 <font class="keywordtype">void</font> <a class="code" href="classSimple.html#a2">clear</a>();
|
00040 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a2">clear</a>();
|
||||||
00041
|
00041
|
||||||
00043 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00043 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00044
|
00044
|
||||||
00046 <font class="keywordtype">void</font> <a class="code" href="classSimple.html#a4">keyOn</a>();
|
00046 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a4">keyOn</a>();
|
||||||
00047
|
00047
|
||||||
00049 <font class="keywordtype">void</font> <a class="code" href="classSimple.html#a5">keyOff</a>();
|
00049 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a5">keyOff</a>();
|
||||||
00050
|
00050
|
||||||
00052 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00053
|
00053
|
||||||
00055 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00055 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a7">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00056
|
00056
|
||||||
00058 <font class="keyword">virtual</font> MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00058 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classSimple.html#a8">tick</a>();
|
||||||
00059
|
00059
|
||||||
00061 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00061 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00062
|
00062
|
||||||
00063 <font class="keyword">protected</font>:
|
00063 <span class="keyword">protected</span>:
|
||||||
00064 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
00064 <a class="code" href="classADSR.html">ADSR</a> *adsr;
|
||||||
00065 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loop;
|
00065 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loop;
|
||||||
00066 <a class="code" href="classOnePole.html">OnePole</a> *filter;
|
00066 <a class="code" href="classOnePole.html">OnePole</a> *filter;
|
||||||
@@ -56,12 +56,12 @@
|
|||||||
00071
|
00071
|
||||||
00072 };
|
00072 };
|
||||||
00073
|
00073
|
||||||
00074 <font class="preprocessor">#endif</font>
|
00074 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
79
doc/html/SingWave_8h-source.html
Normal file
79
doc/html/SingWave_8h-source.html
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
|
||||||
|
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
|
||||||
|
</HEAD>
|
||||||
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
|
<CENTER>
|
||||||
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
|
<HR>
|
||||||
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
|
<h1>SingWave.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
|
00014 <span class="comment">/***************************************************/</span>
|
||||||
|
00015
|
||||||
|
00016 <span class="preprocessor">#if !defined(__SINGWAVE_H)</span>
|
||||||
|
00017 <span class="preprocessor"></span><span class="preprocessor">#define __SINGWAVE_H</span>
|
||||||
|
00018 <span class="preprocessor"></span>
|
||||||
|
00019 <span class="preprocessor">#include "WaveLoop.h"</span>
|
||||||
|
00020 <span class="preprocessor">#include "Modulate.h"</span>
|
||||||
|
00021 <span class="preprocessor">#include "Envelope.h"</span>
|
||||||
|
00022
|
||||||
|
<a name="l00023"></a><a class="code" href="classSingWave.html">00023</a> <span class="keyword">class </span><a class="code" href="classSingWave.html">SingWave</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
|
00024 {
|
||||||
|
00025 <span class="keyword">public</span>:
|
||||||
|
00027
|
||||||
|
00031 <a class="code" href="classSingWave.html#a0">SingWave</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">bool</span> raw=FALSE);
|
||||||
|
00032
|
||||||
|
00034 <a class="code" href="classSingWave.html#a1">~SingWave</a>();
|
||||||
|
00035
|
||||||
|
00037 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a2">reset</a>();
|
||||||
|
00038
|
||||||
|
00040 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>();
|
||||||
|
00041
|
||||||
|
00043 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>(MY_FLOAT peak);
|
||||||
|
00044
|
||||||
|
00046 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a5">setFrequency</a>(MY_FLOAT frequency);
|
||||||
|
00047
|
||||||
|
00049 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a6">setVibratoRate</a>(MY_FLOAT aRate);
|
||||||
|
00050
|
||||||
|
00052 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a7">setVibratoGain</a>(MY_FLOAT gain);
|
||||||
|
00053
|
||||||
|
00055 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a8">setRandomGain</a>(MY_FLOAT gain);
|
||||||
|
00056
|
||||||
|
00058 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a9">setSweepRate</a>(MY_FLOAT aRate);
|
||||||
|
00059
|
||||||
|
00061 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a10">setGainRate</a>(MY_FLOAT aRate);
|
||||||
|
00062
|
||||||
|
00064 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a11">setGainTarget</a>(MY_FLOAT target);
|
||||||
|
00065
|
||||||
|
00067 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a12">noteOn</a>();
|
||||||
|
00068
|
||||||
|
00070 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a13">noteOff</a>();
|
||||||
|
00071
|
||||||
|
00073 MY_FLOAT <a class="code" href="classSingWave.html#a14">lastOut</a>();
|
||||||
|
00074
|
||||||
|
00076 MY_FLOAT <a class="code" href="classSingWave.html#a15">tick</a>();
|
||||||
|
00077
|
||||||
|
00078 <span class="keyword">protected</span>:
|
||||||
|
00079
|
||||||
|
00080 <a class="code" href="classWaveLoop.html">WaveLoop</a> *wave;
|
||||||
|
00081 <a class="code" href="classModulate.html">Modulate</a> *modulator;
|
||||||
|
00082 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
|
||||||
|
00083 <a class="code" href="classEnvelope.html">Envelope</a> *pitchEnvelope;
|
||||||
|
00084 MY_FLOAT rate;
|
||||||
|
00085 MY_FLOAT sweepRate;
|
||||||
|
00086 MY_FLOAT lastOutput;
|
||||||
|
00087
|
||||||
|
00088 };
|
||||||
|
00089
|
||||||
|
00090 <span class="preprocessor">#endif</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
@@ -5,47 +5,47 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Sitar.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Sitar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00018 <font class="comment">/***************************************************/</font>
|
00018 <span class="comment">/***************************************************/</span>
|
||||||
00019
|
00019
|
||||||
00020 <font class="preprocessor">#if !defined(__SITAR_H)</font>
|
00020 <span class="preprocessor">#if !defined(__SITAR_H)</span>
|
||||||
00021 <font class="preprocessor"></font><font class="preprocessor">#define __SITAR_H</font>
|
00021 <span class="preprocessor"></span><span class="preprocessor">#define __SITAR_H</span>
|
||||||
00022 <font class="preprocessor"></font>
|
00022 <span class="preprocessor"></span>
|
||||||
00023 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00024 <font class="preprocessor">#include "DelayA.h"</font>
|
00024 <span class="preprocessor">#include "DelayA.h"</span>
|
||||||
00025 <font class="preprocessor">#include "OneZero.h"</font>
|
00025 <span class="preprocessor">#include "OneZero.h"</span>
|
||||||
00026 <font class="preprocessor">#include "Noise.h"</font>
|
00026 <span class="preprocessor">#include "Noise.h"</span>
|
||||||
00027 <font class="preprocessor">#include "ADSR.h"</font>
|
00027 <span class="preprocessor">#include "ADSR.h"</span>
|
||||||
00028
|
00028
|
||||||
00029 <font class="keyword">class </font><a class="code" href="classSitar.html">Sitar</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00029"></a><a class="code" href="classSitar.html">00029</a> <span class="keyword">class </span><a class="code" href="classSitar.html">Sitar</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00030 {
|
00030 {
|
||||||
00031 <font class="keyword">public</font>:
|
00031 <span class="keyword">public</span>:
|
||||||
00033 <a class="code" href="classSitar.html#a0">Sitar</a>(MY_FLOAT lowestFrequency);
|
00033 <a class="code" href="classSitar.html#a0">Sitar</a>(MY_FLOAT lowestFrequency);
|
||||||
00034
|
00034
|
||||||
00036 <a class="code" href="classSitar.html#a1">~Sitar</a>();
|
00036 <a class="code" href="classSitar.html#a1">~Sitar</a>();
|
||||||
00037
|
00037
|
||||||
00039 <font class="keywordtype">void</font> <a class="code" href="classSitar.html#a2">clear</a>();
|
00039 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a2">clear</a>();
|
||||||
00040
|
00040
|
||||||
00042 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00042 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00043
|
00043
|
||||||
00045 <font class="keywordtype">void</font> <a class="code" href="classSitar.html#a4">pluck</a>(MY_FLOAT amplitude);
|
00045 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a4">pluck</a>(MY_FLOAT amplitude);
|
||||||
00046
|
00046
|
||||||
00048 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00048 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a5">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00049
|
00049
|
||||||
00051 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00051 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a6">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00052
|
00052
|
||||||
00054 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00054 MY_FLOAT <a class="code" href="classSitar.html#a7">tick</a>();
|
||||||
00055
|
00055
|
||||||
00056 <font class="keyword">protected</font>:
|
00056 <span class="keyword">protected</span>:
|
||||||
00057 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
|
00057 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
|
||||||
00058 <a class="code" href="classOneZero.html">OneZero</a> *loopFilter;
|
00058 <a class="code" href="classOneZero.html">OneZero</a> *loopFilter;
|
||||||
00059 <a class="code" href="classNoise.html">Noise</a> *noise;
|
00059 <a class="code" href="classNoise.html">Noise</a> *noise;
|
||||||
00060 <a class="code" href="classADSR.html">ADSR</a> *envelope;
|
00060 <a class="code" href="classADSR.html">ADSR</a> *envelope;
|
||||||
00061 <font class="keywordtype">long</font> length;
|
00061 <span class="keywordtype">long</span> length;
|
||||||
00062 MY_FLOAT loopGain;
|
00062 MY_FLOAT loopGain;
|
||||||
00063 MY_FLOAT amGain;
|
00063 MY_FLOAT amGain;
|
||||||
00064 MY_FLOAT delay;
|
00064 MY_FLOAT delay;
|
||||||
@@ -53,13 +53,13 @@
|
|||||||
00066
|
00066
|
||||||
00067 };
|
00067 };
|
||||||
00068
|
00068
|
||||||
00069 <font class="preprocessor">#endif</font>
|
00069 <span class="preprocessor">#endif</span>
|
||||||
00070 <font class="preprocessor"></font>
|
00070 <span class="preprocessor"></span>
|
||||||
</pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,70 +5,70 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Socket.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Socket.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00019 <font class="comment">/***************************************************/</font>
|
00019 <span class="comment">/***************************************************/</span>
|
||||||
00020
|
00020
|
||||||
00021 <font class="preprocessor">#if !defined(__SOCKET_H)</font>
|
00021 <span class="preprocessor">#if !defined(__SOCKET_H)</span>
|
||||||
00022 <font class="preprocessor"></font><font class="preprocessor">#define __SOCKET_H</font>
|
00022 <span class="preprocessor"></span><span class="preprocessor">#define __SOCKET_H</span>
|
||||||
00023 <font class="preprocessor"></font>
|
00023 <span class="preprocessor"></span>
|
||||||
00024 <font class="preprocessor">#include "Stk.h"</font>
|
00024 <span class="preprocessor">#include "Stk.h"</span>
|
||||||
00025
|
00025
|
||||||
00026 <font class="keyword">class </font><a class="code" href="classSocket.html">Socket</a> : <font class="keyword">public</font> <a class="code" href="classStk.html">Stk</a>
|
<a name="l00026"></a><a class="code" href="classSocket.html">00026</a> <span class="keyword">class </span><a class="code" href="classSocket.html">Socket</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
|
||||||
00027 {
|
00027 {
|
||||||
00028 <font class="keyword">public</font>:
|
00028 <span class="keyword">public</span>:
|
||||||
00030
|
00030
|
||||||
00033 <a class="code" href="classSocket.html#a0">Socket</a>( <font class="keywordtype">int</font> port = 2006 );
|
00033 <a class="code" href="classSocket.html#a0">Socket</a>( <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a6">port</a> = 2006 );
|
||||||
00034
|
00034
|
||||||
00036
|
00036
|
||||||
00039 <a class="code" href="classSocket.html#a0">Socket</a>( <font class="keywordtype">int</font> port, <font class="keyword">const</font> <font class="keywordtype">char</font> *hostname );
|
00039 <a class="code" href="classSocket.html#a0">Socket</a>( <span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname );
|
||||||
00040
|
00040
|
||||||
00042 <a class="code" href="classSocket.html#a2">~Socket</a>();
|
00042 <a class="code" href="classSocket.html#a2">~Socket</a>();
|
||||||
00043
|
00043
|
||||||
00045
|
00045
|
||||||
00053 <font class="keywordtype">int</font> <a class="code" href="classSocket.html#a3">connect</a>( <font class="keywordtype">int</font> port, <font class="keyword">const</font> <font class="keywordtype">char</font> *hostname = <font class="stringliteral">"localhost"</font> );
|
00053 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">connect</a>( <span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname = <span class="stringliteral">"localhost"</span> );
|
||||||
00054
|
00054
|
||||||
00056 <font class="keywordtype">void</font> <a class="code" href="classSocket.html#a4">close</a>( <font class="keywordtype">void</font> );
|
00056 <span class="keywordtype">void</span> <a class="code" href="classSocket.html#a4">close</a>( <span class="keywordtype">void</span> );
|
||||||
00057
|
00057
|
||||||
00059 <font class="keywordtype">int</font> <a class="code" href="classSocket.html#a5">socket</a>( <font class="keywordtype">void</font> ) <font class="keyword">const</font>;
|
00059 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a5">socket</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
|
||||||
00060
|
00060
|
||||||
00062 <font class="keywordtype">int</font> <a class="code" href="classSocket.html#a6">port</a>( <font class="keywordtype">void</font> ) <font class="keyword">const</font>;
|
00062 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a6">port</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
|
||||||
00063
|
00063
|
||||||
00065
|
00065
|
||||||
00071 <font class="keywordtype">int</font> <a class="code" href="classSocket.html#a7">accept</a>( <font class="keywordtype">void</font> );
|
00071 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a7">accept</a>( <span class="keywordtype">void</span> );
|
||||||
00072
|
00072
|
||||||
00074 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classSocket.html#d0">setBlocking</a>( <font class="keywordtype">int</font> socket, <font class="keywordtype">bool</font> enable );
|
00074 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSocket.html#e0">setBlocking</a>( <span class="keywordtype">int</span> socket, <span class="keywordtype">bool</span> enable );
|
||||||
00075
|
00075
|
||||||
00077 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classSocket.html#a4">close</a>( <font class="keywordtype">int</font> socket );
|
00077 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSocket.html#a4">close</a>( <span class="keywordtype">int</span> socket );
|
||||||
00078
|
00078
|
||||||
00080 <font class="keyword">static</font> <font class="keywordtype">bool</font> <a class="code" href="classSocket.html#d2">isValid</a>( <font class="keywordtype">int</font> socket );
|
00080 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSocket.html#e2">isValid</a>( <span class="keywordtype">int</span> socket );
|
||||||
00081
|
00081
|
||||||
00083 <font class="keywordtype">int</font> <a class="code" href="classSocket.html#a8">writeBuffer</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> *buffer, <font class="keywordtype">long</font> bufferSize, <font class="keywordtype">int</font> flags = 0);
|
00083 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a8">writeBuffer</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
|
||||||
00084
|
00084
|
||||||
00086 <font class="keyword">static</font> <font class="keywordtype">int</font> <a class="code" href="classSocket.html#a8">writeBuffer</a>(<font class="keywordtype">int</font> socket, <font class="keyword">const</font> <font class="keywordtype">void</font> *buffer, <font class="keywordtype">long</font> bufferSize, <font class="keywordtype">int</font> flags );
|
00086 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a8">writeBuffer</a>(<span class="keywordtype">int</span> socket, <span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags );
|
||||||
00087
|
00087
|
||||||
00089 <font class="keywordtype">int</font> <a class="code" href="classSocket.html#a9">readBuffer</a>(<font class="keywordtype">void</font> *buffer, <font class="keywordtype">long</font> bufferSize, <font class="keywordtype">int</font> flags = 0);
|
00089 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a9">readBuffer</a>(<span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
|
||||||
00090
|
00090
|
||||||
00092 <font class="keyword">static</font> <font class="keywordtype">int</font> <a class="code" href="classSocket.html#a9">readBuffer</a>(<font class="keywordtype">int</font> socket, <font class="keywordtype">void</font> *buffer, <font class="keywordtype">long</font> bufferSize, <font class="keywordtype">int</font> flags );
|
00092 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a9">readBuffer</a>(<span class="keywordtype">int</span> socket, <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags );
|
||||||
00093
|
00093
|
||||||
00094 <font class="keyword">protected</font>:
|
00094 <span class="keyword">protected</span>:
|
||||||
00095
|
00095
|
||||||
00096 <font class="keywordtype">char</font> msg[256];
|
00096 <span class="keywordtype">char</span> msg[256];
|
||||||
00097 <font class="keywordtype">int</font> soket;
|
00097 <span class="keywordtype">int</span> soket;
|
||||||
00098 <font class="keywordtype">int</font> poort;
|
00098 <span class="keywordtype">int</span> poort;
|
||||||
00099 <font class="keywordtype">bool</font> server;
|
00099 <span class="keywordtype">bool</span> server;
|
||||||
00100
|
00100
|
||||||
00101 };
|
00101 };
|
||||||
00102
|
00102
|
||||||
00103 <font class="preprocessor">#endif // defined(__SOCKET_H)</font>
|
00103 <span class="preprocessor">#endif // defined(__SOCKET_H)</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
68
doc/html/Sphere_8h-source.html
Normal file
68
doc/html/Sphere_8h-source.html
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
|
||||||
|
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
|
||||||
|
</HEAD>
|
||||||
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
|
<CENTER>
|
||||||
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
|
<HR>
|
||||||
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
|
<h1>Sphere.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
|
00010 <span class="comment">/***************************************************/</span>
|
||||||
|
00011
|
||||||
|
00012 <span class="preprocessor">#if !defined(__SPHERE_H)</span>
|
||||||
|
00013 <span class="preprocessor"></span><span class="preprocessor">#define __SPHERE_H</span>
|
||||||
|
00014 <span class="preprocessor"></span>
|
||||||
|
00015 <span class="preprocessor">#include "Vector3D.h"</span>
|
||||||
|
00016
|
||||||
|
<a name="l00017"></a><a class="code" href="classSphere.html">00017</a> <span class="keyword">class </span><a class="code" href="classSphere.html">Sphere</a>
|
||||||
|
00018 {
|
||||||
|
00019 <span class="keyword">public</span>:
|
||||||
|
00021 <a class="code" href="classSphere.html#a0">Sphere</a>(<span class="keywordtype">double</span> initRadius);
|
||||||
|
00022
|
||||||
|
00024 <a class="code" href="classSphere.html#a1">~Sphere</a>();
|
||||||
|
00025
|
||||||
|
00027 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a2">setPosition</a>(<span class="keywordtype">double</span> anX, <span class="keywordtype">double</span> aY, <span class="keywordtype">double</span> aZ);
|
||||||
|
00028
|
||||||
|
00030 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a3">setVelocity</a>(<span class="keywordtype">double</span> anX, <span class="keywordtype">double</span> aY, <span class="keywordtype">double</span> aZ);
|
||||||
|
00031
|
||||||
|
00033 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a4">setRadius</a>(<span class="keywordtype">double</span> aRadius);
|
||||||
|
00034
|
||||||
|
00036 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a5">setMass</a>(<span class="keywordtype">double</span> aMass);
|
||||||
|
00037
|
||||||
|
00039 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a6">getPosition</a>();
|
||||||
|
00040
|
||||||
|
00042 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a7">getRelativePosition</a>(<a class="code" href="classVector3D.html">Vector3D</a> *aPosition);
|
||||||
|
00043
|
||||||
|
00045 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a8">getVelocity</a>(<a class="code" href="classVector3D.html">Vector3D</a>* aVelocity);
|
||||||
|
00046
|
||||||
|
00048 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a9">isInside</a>(<a class="code" href="classVector3D.html">Vector3D</a> *aPosition);
|
||||||
|
00049
|
||||||
|
00051 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a10">getRadius</a>();
|
||||||
|
00052
|
||||||
|
00054 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a11">getMass</a>();
|
||||||
|
00055
|
||||||
|
00057 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a12">addVelocity</a>(<span class="keywordtype">double</span> anX, <span class="keywordtype">double</span> aY, <span class="keywordtype">double</span> aZ);
|
||||||
|
00058
|
||||||
|
00060 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a13">tick</a>(<span class="keywordtype">double</span> timeIncrement);
|
||||||
|
00061
|
||||||
|
00062 <span class="keyword">private</span>:
|
||||||
|
00063 <a class="code" href="classVector3D.html">Vector3D</a> *myPosition;
|
||||||
|
00064 <a class="code" href="classVector3D.html">Vector3D</a> *myVelocity;
|
||||||
|
00065 <a class="code" href="classVector3D.html">Vector3D</a> workingVector;
|
||||||
|
00066 <span class="keywordtype">double</span> myRadius;
|
||||||
|
00067 <span class="keywordtype">double</span> myMass;
|
||||||
|
00068 };
|
||||||
|
00069
|
||||||
|
00070 <span class="preprocessor">#endif</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
@@ -5,58 +5,58 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>StifKarp.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>StifKarp.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00022 <font class="comment">/***************************************************/</font>
|
00022 <span class="comment">/***************************************************/</span>
|
||||||
00023
|
00023
|
||||||
00024 <font class="preprocessor">#if !defined(__StifKarp_h)</font>
|
00024 <span class="preprocessor">#if !defined(__StifKarp_h)</span>
|
||||||
00025 <font class="preprocessor"></font><font class="preprocessor">#define __StifKarp_h</font>
|
00025 <span class="preprocessor"></span><span class="preprocessor">#define __StifKarp_h</span>
|
||||||
00026 <font class="preprocessor"></font>
|
00026 <span class="preprocessor"></span>
|
||||||
00027 <font class="preprocessor">#include "Instrmnt.h"</font>
|
00027 <span class="preprocessor">#include "Instrmnt.h"</span>
|
||||||
00028 <font class="preprocessor">#include "DelayL.h"</font>
|
00028 <span class="preprocessor">#include "DelayL.h"</span>
|
||||||
00029 <font class="preprocessor">#include "DelayA.h"</font>
|
00029 <span class="preprocessor">#include "DelayA.h"</span>
|
||||||
00030 <font class="preprocessor">#include "OneZero.h"</font>
|
00030 <span class="preprocessor">#include "OneZero.h"</span>
|
||||||
00031 <font class="preprocessor">#include "Noise.h"</font>
|
00031 <span class="preprocessor">#include "Noise.h"</span>
|
||||||
00032 <font class="preprocessor">#include "BiQuad.h"</font>
|
00032 <span class="preprocessor">#include "BiQuad.h"</span>
|
||||||
00033
|
00033
|
||||||
00034 <font class="keyword">class </font><a class="code" href="classStifKarp.html">StifKarp</a> : <font class="keyword">public</font> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
<a name="l00034"></a><a class="code" href="classStifKarp.html">00034</a> <span class="keyword">class </span><a class="code" href="classStifKarp.html">StifKarp</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
|
||||||
00035 {
|
00035 {
|
||||||
00036 <font class="keyword">public</font>:
|
00036 <span class="keyword">public</span>:
|
||||||
00038 <a class="code" href="classStifKarp.html#a0">StifKarp</a>(MY_FLOAT lowestFrequency);
|
00038 <a class="code" href="classStifKarp.html#a0">StifKarp</a>(MY_FLOAT lowestFrequency);
|
||||||
00039
|
00039
|
||||||
00041 <a class="code" href="classStifKarp.html#a1">~StifKarp</a>();
|
00041 <a class="code" href="classStifKarp.html#a1">~StifKarp</a>();
|
||||||
00042
|
00042
|
||||||
00044 <font class="keywordtype">void</font> <a class="code" href="classStifKarp.html#a2">clear</a>();
|
00044 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a2">clear</a>();
|
||||||
00045
|
00045
|
||||||
00047 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
|
00047 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a3">setFrequency</a>(MY_FLOAT frequency);
|
||||||
00048
|
00048
|
||||||
00050 <font class="keywordtype">void</font> <a class="code" href="classStifKarp.html#a4">setStretch</a>(MY_FLOAT stretch);
|
00050 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a4">setStretch</a>(MY_FLOAT stretch);
|
||||||
00051
|
00051
|
||||||
00053 <font class="keywordtype">void</font> <a class="code" href="classStifKarp.html#a5">setPickupPosition</a>(MY_FLOAT position);
|
00053 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a5">setPickupPosition</a>(MY_FLOAT position);
|
||||||
00054
|
00054
|
||||||
00056
|
00056
|
||||||
00061 <font class="keywordtype">void</font> <a class="code" href="classStifKarp.html#a6">setBaseLoopGain</a>(MY_FLOAT aGain);
|
00061 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a6">setBaseLoopGain</a>(MY_FLOAT aGain);
|
||||||
00062
|
00062
|
||||||
00064 <font class="keywordtype">void</font> <a class="code" href="classStifKarp.html#a7">pluck</a>(MY_FLOAT amplitude);
|
00064 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a7">pluck</a>(MY_FLOAT amplitude);
|
||||||
00065
|
00065
|
||||||
00067 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
00067 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a8">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
|
||||||
00068
|
00068
|
||||||
00070 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude);
|
00070 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a9">noteOff</a>(MY_FLOAT amplitude);
|
||||||
00071
|
00071
|
||||||
00073 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">tick</a>();
|
00073 MY_FLOAT <a class="code" href="classStifKarp.html#a10">tick</a>();
|
||||||
00074
|
00074
|
||||||
00076 <font class="keywordtype">void</font> <a class="code" href="classInstrmnt.html#a8">controlChange</a>(<font class="keywordtype">int</font> number, MY_FLOAT value);
|
00076 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
|
||||||
00077
|
00077
|
||||||
00078 <font class="keyword">protected</font>:
|
00078 <span class="keyword">protected</span>:
|
||||||
00079 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
|
00079 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
|
||||||
00080 <a class="code" href="classDelayL.html">DelayL</a> *combDelay;
|
00080 <a class="code" href="classDelayL.html">DelayL</a> *combDelay;
|
||||||
00081 <a class="code" href="classOneZero.html">OneZero</a> *filter;
|
00081 <a class="code" href="classOneZero.html">OneZero</a> *filter;
|
||||||
00082 <a class="code" href="classNoise.html">Noise</a> *noise;
|
00082 <a class="code" href="classNoise.html">Noise</a> *noise;
|
||||||
00083 <a class="code" href="classBiQuad.html">BiQuad</a> *biQuad[4];
|
00083 <a class="code" href="classBiQuad.html">BiQuad</a> *biQuad[4];
|
||||||
00084 <font class="keywordtype">long</font> length;
|
00084 <span class="keywordtype">long</span> length;
|
||||||
00085 MY_FLOAT loopGain;
|
00085 MY_FLOAT loopGain;
|
||||||
00086 MY_FLOAT baseLoopGain;
|
00086 MY_FLOAT baseLoopGain;
|
||||||
00087 MY_FLOAT lastFrequency;
|
00087 MY_FLOAT lastFrequency;
|
||||||
@@ -67,12 +67,12 @@
|
|||||||
00092
|
00092
|
||||||
00093 };
|
00093 };
|
||||||
00094
|
00094
|
||||||
00095 <font class="preprocessor">#endif</font>
|
00095 <span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
@@ -5,146 +5,171 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
<BODY BGCOLOR="#FFFFFF">
|
||||||
<CENTER>
|
<CENTER>
|
||||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||||
<HR>
|
<HR>
|
||||||
<!-- Generated by Doxygen 1.2.8.1 -->
|
<!-- Generated by Doxygen 1.3.6 -->
|
||||||
<h1>Stk.h</h1><div class="fragment"><pre>00001 <font class="comment">/***************************************************/</font>
|
<h1>Stk.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
|
||||||
00013 <font class="comment">/***************************************************/</font>
|
00013 <span class="comment">/***************************************************/</span>
|
||||||
00014
|
00014
|
||||||
00015 <font class="preprocessor">#if !defined(__STK_H)</font>
|
00015 <span class="preprocessor">#if !defined(__STK_H)</span>
|
||||||
00016 <font class="preprocessor"></font><font class="preprocessor">#define __STK_H</font>
|
00016 <span class="preprocessor"></span><span class="preprocessor">#define __STK_H</span>
|
||||||
00017 <font class="preprocessor"></font>
|
00017 <span class="preprocessor"></span>
|
||||||
00018 <font class="comment">// Most data in STK is passed and calculated with the following</font>
|
00018 <span class="preprocessor">#include <string></span>
|
||||||
00019 <font class="comment">// user-definable floating-point type. You can change this to "float"</font>
|
00019
|
||||||
00020 <font class="comment">// if you prefer or perhaps a "long double" in the future.</font>
|
00020 <span class="comment">// Most data in STK is passed and calculated with the</span>
|
||||||
00021 <font class="keyword">typedef</font> <font class="keywordtype">double</font> MY_FLOAT;
|
00021 <span class="comment">// following user-definable floating-point type. You</span>
|
||||||
00022
|
00022 <span class="comment">// can change this to "float" if you prefer or perhaps</span>
|
||||||
00024
|
00023 <span class="comment">// a "long double" in the future.</span>
|
||||||
<a name="l00029"></a><a class="code" href="classStkError.html">00029</a> <font class="keyword">class </font><a class="code" href="classStkError.html">StkError</a>
|
00024 <span class="keyword">typedef</span> <span class="keywordtype">double</span> MY_FLOAT;
|
||||||
00030 {
|
00025
|
||||||
00031 <font class="keyword">public</font>:
|
00026 <span class="comment">// The "MY_FLOAT" type will be deprecated in STK</span>
|
||||||
00032 <font class="keyword">enum</font> TYPE {
|
00027 <span class="comment">// versions higher than 4.1.2 and replaced with the variable</span>
|
||||||
00033 WARNING,
|
00028 <span class="comment">// "StkFloat".</span>
|
||||||
00034 DEBUG_WARNING,
|
00029 <span class="comment">//typedef double StkFloat;</span>
|
||||||
00035 FUNCTION_ARGUMENT,
|
00030 <span class="comment">//#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
|
||||||
00036 FILE_NOT_FOUND,
|
00031 <span class="comment">// #pragma deprecated(MY_FLOAT)</span>
|
||||||
00037 FILE_UNKNOWN_FORMAT,
|
00032 <span class="comment">//#else</span>
|
||||||
00038 FILE_ERROR,
|
00033 <span class="comment">// typedef StkFloat MY_FLOAT __attribute__ ((deprecated));</span>
|
||||||
00039 PROCESS_THREAD,
|
00034 <span class="comment">//#endif</span>
|
||||||
00040 PROCESS_SOCKET,
|
00035
|
||||||
00041 PROCESS_SOCKET_IPADDR,
|
00037
|
||||||
00042 AUDIO_SYSTEM,
|
<a name="l00042"></a><a class="code" href="classStkError.html">00042</a> <span class="keyword">class </span><a class="code" href="classStkError.html">StkError</a>
|
||||||
00043 MIDI_SYSTEM,
|
00043 {
|
||||||
00044 UNSPECIFIED
|
00044 <span class="keyword">public</span>:
|
||||||
00045 };
|
00045 <span class="keyword">enum</span> TYPE {
|
||||||
00046
|
00046 WARNING,
|
||||||
00047 <font class="keyword">protected</font>:
|
00047 DEBUG_WARNING,
|
||||||
00048 <font class="keywordtype">char</font> message[256];
|
00048 FUNCTION_ARGUMENT,
|
||||||
00049 TYPE type;
|
00049 FILE_NOT_FOUND,
|
||||||
00050
|
00050 FILE_UNKNOWN_FORMAT,
|
||||||
00051 <font class="keyword">public</font>:
|
00051 FILE_ERROR,
|
||||||
00053 <a class="code" href="classStkError.html#a0">StkError</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> *p, TYPE tipe = StkError::UNSPECIFIED);
|
00052 PROCESS_THREAD,
|
||||||
00054
|
00053 PROCESS_SOCKET,
|
||||||
00056 <font class="keyword">virtual</font> <a class="code" href="classStkError.html#a1">~StkError</a>(<font class="keywordtype">void</font>);
|
00054 PROCESS_SOCKET_IPADDR,
|
||||||
00057
|
00055 AUDIO_SYSTEM,
|
||||||
00059 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classStkError.html#a2">printMessage</a>(<font class="keywordtype">void</font>);
|
00056 MIDI_SYSTEM,
|
||||||
00060
|
00057 UNSPECIFIED
|
||||||
<a name="l00062"></a><a class="code" href="classStkError.html#a3">00062</a> <font class="keyword">virtual</font> <font class="keyword">const</font> TYPE& <a class="code" href="classStkError.html#a3">getType</a>(<font class="keywordtype">void</font>)<font class="keyword"> </font>{ <font class="keywordflow">return</font> type; }
|
00058 };
|
||||||
|
00059
|
||||||
|
00060 <span class="keyword">protected</span>:
|
||||||
|
00061 <span class="keywordtype">char</span> message[256];
|
||||||
|
00062 TYPE type;
|
||||||
00063
|
00063
|
||||||
<a name="l00065"></a><a class="code" href="classStkError.html#a4">00065</a> <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="classStkError.html#a4">getMessage</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> message; }
|
00064 <span class="keyword">public</span>:
|
||||||
00066 };
|
00066 <a class="code" href="classStkError.html#a0">StkError</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *p, TYPE tipe = StkError::UNSPECIFIED);
|
||||||
00067
|
00067
|
||||||
00068
|
00069 <span class="keyword">virtual</span> <a class="code" href="classStkError.html#a1">~StkError</a>(<span class="keywordtype">void</span>);
|
||||||
00069 <font class="keyword">class </font><a class="code" href="classStk.html">Stk</a>
|
00070
|
||||||
00070 {
|
00072 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classStkError.html#a2">printMessage</a>(<span class="keywordtype">void</span>);
|
||||||
00071 <font class="keyword">public</font>:
|
00073
|
||||||
00072
|
<a name="l00075"></a><a class="code" href="classStkError.html#a3">00075</a> <span class="keyword">virtual</span> <span class="keyword">const</span> TYPE& <a class="code" href="classStkError.html#a3">getType</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> type; }
|
||||||
00073 <font class="keyword">typedef</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> STK_FORMAT;
|
00076
|
||||||
<a name="l00074"></a><a class="code" href="classStk.html#p0">00074</a> <font class="keyword">static</font> <font class="keyword">const</font> STK_FORMAT STK_SINT8;
|
<a name="l00078"></a><a class="code" href="classStkError.html#a4">00078</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classStkError.html#a4">getMessage</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> message; }
|
||||||
<a name="l00075"></a><a class="code" href="classStk.html#p1">00075</a> <font class="keyword">static</font> <font class="keyword">const</font> STK_FORMAT STK_SINT16;
|
00079 };
|
||||||
<a name="l00076"></a><a class="code" href="classStk.html#p2">00076</a> <font class="keyword">static</font> <font class="keyword">const</font> STK_FORMAT STK_SINT32;
|
00080
|
||||||
<a name="l00077"></a><a class="code" href="classStk.html#p3">00077</a> <font class="keyword">static</font> <font class="keyword">const</font> STK_FORMAT STK_FLOAT32;
|
00081
|
||||||
<a name="l00078"></a><a class="code" href="classStk.html#p4">00078</a> <font class="keyword">static</font> <font class="keyword">const</font> STK_FORMAT STK_FLOAT64;
|
<a name="l00082"></a><a class="code" href="classStk.html">00082</a> <span class="keyword">class </span><a class="code" href="classStk.html">Stk</a>
|
||||||
00079
|
00083 {
|
||||||
00081 <font class="keyword">static</font> MY_FLOAT <a class="code" href="classStk.html#d0">sampleRate</a>(<font class="keywordtype">void</font>);
|
00084 <span class="keyword">public</span>:
|
||||||
00082
|
00085
|
||||||
00084
|
00086 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> STK_FORMAT;
|
||||||
00092 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classStk.html#d1">setSampleRate</a>(MY_FLOAT newRate);
|
<a name="l00087"></a><a class="code" href="classStk.html#s0">00087</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s0">STK_SINT8</a>;
|
||||||
|
<a name="l00088"></a><a class="code" href="classStk.html#s1">00088</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s1">STK_SINT16</a>;
|
||||||
|
<a name="l00089"></a><a class="code" href="classStk.html#s2">00089</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s2">STK_SINT32</a>;
|
||||||
|
<a name="l00090"></a><a class="code" href="classStk.html#s3">00090</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s3">MY_FLOAT32</a>;
|
||||||
|
<a name="l00091"></a><a class="code" href="classStk.html#s4">00091</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s4">MY_FLOAT64</a>;
|
||||||
00093
|
00093
|
||||||
00095 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classStk.html#d2">swap16</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">char</font> *ptr);
|
00094 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classStk.html#e0">sampleRate</a>(<span class="keywordtype">void</span>);
|
||||||
00096
|
00095
|
||||||
00098 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classStk.html#d3">swap32</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">char</font> *ptr);
|
00097
|
||||||
00099
|
00105 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e1">setSampleRate</a>(MY_FLOAT newRate);
|
||||||
00101 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classStk.html#d4">swap64</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">char</font> *ptr);
|
00106
|
||||||
00102
|
00108 <span class="keyword">static</span> std::string <a class="code" href="classStk.html#e2">rawwavePath</a>(<span class="keywordtype">void</span>);
|
||||||
00104 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classStk.html#d5">sleep</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> milliseconds);
|
00109
|
||||||
00105
|
00111 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e3">setRawwavePath</a>(std::string newPath);
|
||||||
00106 <font class="keyword">private</font>:
|
00112
|
||||||
00107 <font class="keyword">static</font> MY_FLOAT srate;
|
00114 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e4">swap16</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
|
||||||
00108
|
00115
|
||||||
00109 <font class="keyword">protected</font>:
|
00117 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e5">swap32</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
|
||||||
00110
|
00118
|
||||||
00112 <a class="code" href="classStk.html#b0">Stk</a>(<font class="keywordtype">void</font>);
|
00120 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e6">swap64</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
|
||||||
00113
|
|
||||||
00115 <font class="keyword">virtual</font> <a class="code" href="classStk.html#b1">~Stk</a>(<font class="keywordtype">void</font>);
|
|
||||||
00116
|
|
||||||
00118 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classStk.html#e0">handleError</a>( <font class="keyword">const</font> <font class="keywordtype">char</font> *message, StkError::TYPE type );
|
|
||||||
00119
|
|
||||||
00120 };
|
|
||||||
00121
|
00121
|
||||||
00122 <font class="comment">// Here are a few other useful typedefs.</font>
|
00123 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e7">sleep</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> milliseconds);
|
||||||
00123 <font class="keyword">typedef</font> <font class="keywordtype">signed</font> <font class="keywordtype">short</font> SINT16;
|
00124
|
||||||
00124 <font class="keyword">typedef</font> <font class="keywordtype">signed</font> <font class="keywordtype">int</font> SINT32;
|
00125 <span class="keyword">private</span>:
|
||||||
00125 <font class="keyword">typedef</font> <font class="keywordtype">float</font> FLOAT32;
|
00126 <span class="keyword">static</span> MY_FLOAT srate;
|
||||||
00126 <font class="keyword">typedef</font> <font class="keywordtype">double</font> FLOAT64;
|
00127 <span class="keyword">static</span> std::string rawwavepath;
|
||||||
00127
|
00128
|
||||||
00128 <font class="comment">// Boolean values</font>
|
00129 <span class="keyword">protected</span>:
|
||||||
00129 <font class="preprocessor">#define FALSE 0</font>
|
00130
|
||||||
00130 <font class="preprocessor"></font><font class="preprocessor">#define TRUE 1</font>
|
00132 <a class="code" href="classStk.html#b0">Stk</a>(<span class="keywordtype">void</span>);
|
||||||
00131 <font class="preprocessor"></font>
|
00133
|
||||||
00132 <font class="comment">// The default sampling rate.</font>
|
00135 <span class="keyword">virtual</span> <a class="code" href="classStk.html#b1">~Stk</a>(<span class="keywordtype">void</span>);
|
||||||
00133 <font class="preprocessor">#define SRATE (MY_FLOAT) 22050.0</font>
|
00136
|
||||||
00134 <font class="preprocessor"></font>
|
00138 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#f0">handleError</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *message, StkError::TYPE type );
|
||||||
00135 <font class="comment">// Real-time audio input and output buffer size. If clicks are</font>
|
00139
|
||||||
00136 <font class="comment">// occuring in the input and/or output sound stream, a larger buffer</font>
|
00140 };
|
||||||
00137 <font class="comment">// size may help. Larger buffer sizes, however, produce more latency.</font>
|
00141
|
||||||
00138
|
00142 <span class="comment">// Here are a few other useful typedefs.</span>
|
||||||
00139 <font class="preprocessor">#define RT_BUFFER_SIZE 512</font>
|
00143 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> SINT16;
|
||||||
00140 <font class="preprocessor"></font>
|
00144 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> SINT32;
|
||||||
00141 <font class="comment">// The RAWWAVE_PATH definition is concatenated to the beginning of all</font>
|
00145 <span class="keyword">typedef</span> <span class="keywordtype">float</span> FLOAT32;
|
||||||
00142 <font class="comment">// references to rawwave files in the various STK core classes</font>
|
00146 <span class="keyword">typedef</span> <span class="keywordtype">double</span> FLOAT64;
|
||||||
00143 <font class="comment">// (ex. Clarinet.cpp). If you wish to move the rawwaves directory to</font>
|
00147
|
||||||
00144 <font class="comment">// a different location in your file system, you will need to set this</font>
|
00148 <span class="comment">// Boolean values</span>
|
||||||
00145 <font class="comment">// path definition appropriately. The current definition is a</font>
|
00149 <span class="preprocessor">#define FALSE 0</span>
|
||||||
00146 <font class="comment">// relative reference that will work "out of the box" for the STK</font>
|
00150 <span class="preprocessor"></span><span class="preprocessor">#define TRUE 1</span>
|
||||||
00147 <font class="comment">// distribution.</font>
|
00151 <span class="preprocessor"></span>
|
||||||
00148 <font class="preprocessor">#define RAWWAVE_PATH "../../"</font>
|
00152 <span class="comment">// The default sampling rate.</span>
|
||||||
00149 <font class="preprocessor"></font>
|
00153 <span class="preprocessor">#define SRATE (MY_FLOAT) 44100.0</span>
|
||||||
00150 <font class="preprocessor">#define PI (MY_FLOAT) 3.14159265359</font>
|
00154 <span class="preprocessor"></span>
|
||||||
00151 <font class="preprocessor"></font><font class="preprocessor">#define TWO_PI (MY_FLOAT) (MY_FLOAT) (2 * PI)</font>
|
00155 <span class="comment">// The default real-time audio input and output buffer size. If</span>
|
||||||
00152 <font class="preprocessor"></font>
|
00156 <span class="comment">// clicks are occuring in the input and/or output sound stream, a</span>
|
||||||
00153 <font class="preprocessor">#define ONE_OVER_128 (MY_FLOAT) 0.0078125</font>
|
00157 <span class="comment">// larger buffer size may help. Larger buffer sizes, however, produce</span>
|
||||||
00154 <font class="preprocessor"></font>
|
00158 <span class="comment">// more latency.</span>
|
||||||
00155 <font class="preprocessor">#if defined(__WINDOWS_DS__)</font>
|
00159 <span class="preprocessor">#define RT_BUFFER_SIZE 512</span>
|
||||||
00156 <font class="preprocessor"></font><font class="preprocessor"> #define __OS_WINDOWS__</font>
|
00160 <span class="preprocessor"></span>
|
||||||
00157 <font class="preprocessor"></font><font class="preprocessor"> #define __STK_REALTIME__</font>
|
00161 <span class="comment">// The default rawwave path value is set with the preprocessor</span>
|
||||||
00158 <font class="preprocessor"></font><font class="preprocessor">#elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__)</font>
|
00162 <span class="comment">// definition RAWWAVE_PATH. This can be specified as an argument to</span>
|
||||||
00159 <font class="preprocessor"></font><font class="preprocessor"> #define __OS_LINUX__</font>
|
00163 <span class="comment">// the configure script, in an integrated development environment, or</span>
|
||||||
00160 <font class="preprocessor"></font><font class="preprocessor"> #define __STK_REALTIME__</font>
|
00164 <span class="comment">// below. The global STK rawwave path variable can be dynamically set</span>
|
||||||
00161 <font class="preprocessor"></font><font class="preprocessor">#elif defined(__IRIX_AL__)</font>
|
00165 <span class="comment">// with the Stk::setRawwavePath() function. This value is</span>
|
||||||
00162 <font class="preprocessor"></font><font class="preprocessor"> #define __OS_IRIX__</font>
|
00166 <span class="comment">// concatenated to the beginning of all references to rawwave files in</span>
|
||||||
00163 <font class="preprocessor"></font><font class="preprocessor"> #define __STK_REALTIME__</font>
|
00167 <span class="comment">// the various STK core classes (ex. Clarinet.cpp). If you wish to</span>
|
||||||
00164 <font class="preprocessor"></font><font class="preprocessor">#endif</font>
|
00168 <span class="comment">// move the rawwaves directory to a different location in your file</span>
|
||||||
00165 <font class="preprocessor"></font>
|
00169 <span class="comment">// system, you will need to set this path definition appropriately.</span>
|
||||||
00166 <font class="comment">//#define _STK_DEBUG_</font>
|
00170 <span class="preprocessor">#if !defined(RAWWAVE_PATH)</span>
|
||||||
00167
|
00171 <span class="preprocessor"></span><span class="preprocessor"> #define RAWWAVE_PATH "../../rawwaves/"</span>
|
||||||
00168 <font class="preprocessor">#endif</font>
|
00172 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
|
||||||
</font></pre></div><HR>
|
00173 <span class="preprocessor"></span>
|
||||||
|
00174 <span class="preprocessor">#define PI (MY_FLOAT) 3.14159265359</span>
|
||||||
|
00175 <span class="preprocessor"></span><span class="preprocessor">#define TWO_PI (MY_FLOAT) (MY_FLOAT) (2 * PI)</span>
|
||||||
|
00176 <span class="preprocessor"></span>
|
||||||
|
00177 <span class="preprocessor">#define ONE_OVER_128 (MY_FLOAT) 0.0078125</span>
|
||||||
|
00178 <span class="preprocessor"></span>
|
||||||
|
00179 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
|
||||||
|
00180 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_WINDOWS__</span>
|
||||||
|
00181 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
|
||||||
|
00182 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__) || defined(__LINUX_JACK__)</span>
|
||||||
|
00183 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_LINUX__</span>
|
||||||
|
00184 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
|
||||||
|
00185 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__IRIX_AL__)</span>
|
||||||
|
00186 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_IRIX__</span>
|
||||||
|
00187 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
|
||||||
|
00188 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__MACOSX_CORE__)</span>
|
||||||
|
00189 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_MACOSX__</span>
|
||||||
|
00190 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
|
||||||
|
00191 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
|
||||||
|
00192 <span class="preprocessor"></span>
|
||||||
|
00193 <span class="comment">//#define _STK_DEBUG_</span>
|
||||||
|
00194
|
||||||
|
00195 <span class="preprocessor">#endif</span>
|
||||||
|
</pre></div><HR>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||||
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</BODY>
|
</BODY>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user