From de344668dd0c19495aefe8490e4fce9e84ac0531 Mon Sep 17 00:00:00 2001 From: Gary Scavone Date: Sun, 29 Sep 2013 23:39:37 +0200 Subject: [PATCH] Release 4.2.0 tarball --- configure | 337 ++----- doc/html/ADSR_8h-source.html | 49 +- doc/html/Asymp_8h-source.html | 62 ++ doc/html/BandedWG_8h-source.html | 89 +- doc/html/BeeThree_8h-source.html | 28 +- doc/html/BiQuad_8h-source.html | 39 +- doc/html/BlowBotl_8h-source.html | 64 +- doc/html/BlowHole_8h-source.html | 82 +- doc/html/BowTabl_8h-source.html | 56 -- doc/html/BowTable_8h-source.html | 56 ++ doc/html/Bowed_8h-source.html | 63 +- doc/html/Brass_8h-source.html | 64 +- doc/html/Chorus_8h-source.html | 52 +- doc/html/Clarinet_8h-source.html | 64 +- doc/html/DelayA_8h-source.html | 59 +- doc/html/DelayL_8h-source.html | 51 +- doc/html/Delay_8h-source.html | 74 +- doc/html/Drummer_8h-source.html | 55 +- doc/html/Echo_8h-source.html | 48 +- ...b_8h-source.html => Effect_8h-source.html} | 53 +- doc/html/Envelope_8h-source.html | 43 +- doc/html/FMVoices_8h-source.html | 40 +- doc/html/FM_8h-source.html | 84 +- doc/html/Filter_8h-source.html | 95 +- doc/html/Flute_8h-source.html | 86 +- doc/html/FormSwep_8h-source.html | 61 +- doc/html/Function_8h-source.html | 52 ++ doc/html/Generator_8h-source.html | 52 ++ doc/html/HevyMetl_8h-source.html | 28 +- doc/html/Instrmnt_8h-source.html | 72 +- doc/html/JCRev_8h-source.html | 43 +- doc/html/JetTabl_8h-source.html | 47 - doc/html/JetTable_8h-source.html | 47 + doc/html/Mandolin_8h-source.html | 44 +- doc/html/Mesh2D_8h-source.html | 85 +- doc/html/Messager_8h-source.html | 175 ++-- doc/html/MidiFileIn_8h-source.html | 92 ++ doc/html/ModalBar_8h-source.html | 54 +- doc/html/Modal_8h-source.html | 81 +- doc/html/Modulate_8h-source.html | 53 +- doc/html/Moog_8h-source.html | 48 +- doc/html/Mutex_8h-source.html | 68 ++ doc/html/NRev_8h-source.html | 43 +- doc/html/Noise_8h-source.html | 29 +- doc/html/OnePole_8h-source.html | 34 +- doc/html/OneZero_8h-source.html | 34 +- doc/html/PRCRev_8h-source.html | 37 +- doc/html/PercFlut_8h-source.html | 30 +- doc/html/Phonemes_8h-source.html | 29 +- doc/html/PitShift_8h-source.html | 47 +- doc/html/PluckTwo_8h-source.html | 64 +- doc/html/Plucked_8h-source.html | 47 +- doc/html/PoleZero_8h-source.html | 36 +- doc/html/ReedTabl_8h-source.html | 56 -- doc/html/ReedTable_8h-source.html | 56 ++ doc/html/Resonate_8h-source.html | 45 +- doc/html/Rhodey_8h-source.html | 30 +- doc/html/RtAudio_8h-source.html | 864 +++++++++--------- doc/html/RtDuplex_8h-source.html | 98 +- doc/html/RtError_8h-source.html | 4 +- doc/html/RtMidi_8h-source.html | 186 +++- doc/html/RtWvIn_8h-source.html | 87 +- doc/html/RtWvOut_8h-source.html | 90 +- doc/html/SKINI_8h-source.html | 103 --- doc/html/SKINI_8msg-source.html | 147 +++ doc/html/Sampler_8h-source.html | 46 +- doc/html/Saxofony_8h-source.html | 68 +- doc/html/Shakers_8h-source.html | 104 ++- doc/html/Simple_8h-source.html | 58 +- doc/html/SingWave_8h-source.html | 56 +- doc/html/Sitar_8h-source.html | 53 +- doc/html/Skini_8h-source.html | 93 ++ doc/html/Socket_8h-source.html | 23 +- doc/html/Sphere_8h-source.html | 91 +- doc/html/StifKarp_8h-source.html | 68 +- doc/html/Stk_8h-source.html | 343 ++++--- doc/html/SubNoise_8h-source.html | 27 +- doc/html/Table_8h-source.html | 53 +- doc/html/TcpWvIn_8h-source.html | 131 +-- doc/html/TcpWvOut_8h-source.html | 45 +- doc/html/Thread_8h-source.html | 109 +-- doc/html/TubeBell_8h-source.html | 28 +- doc/html/TwoPole_8h-source.html | 33 +- doc/html/TwoZero_8h-source.html | 33 +- doc/html/Vector3D_8h-source.html | 49 +- doc/html/VoicForm_8h-source.html | 66 +- doc/html/Voicer_8h-source.html | 92 +- doc/html/WaveLoop_8h-source.html | 71 +- doc/html/Whistle_8h-source.html | 80 +- doc/html/Wurley_8h-source.html | 30 +- doc/html/WvIn_8h-source.html | 208 ++--- doc/html/WvOut_8h-source.html | 190 ++-- doc/html/annotated.html | 29 +- doc/html/classADSR-members.html | 52 +- doc/html/classADSR.html | 102 ++- doc/html/classADSR.png | Bin 366 -> 472 bytes doc/html/classAsymp-members.html | 58 ++ doc/html/classAsymp.html | 157 ++++ doc/html/classAsymp.png | Bin 0 -> 481 bytes doc/html/classBandedWG-members.html | 40 +- doc/html/classBandedWG.html | 103 ++- doc/html/classBeeThree-members.html | 46 +- doc/html/classBeeThree.html | 133 ++- doc/html/classBiQuad-members.html | 50 +- doc/html/classBiQuad.html | 112 ++- doc/html/classBlowBotl-members.html | 36 +- doc/html/classBlowBotl.html | 131 ++- doc/html/classBlowHole-members.html | 42 +- doc/html/classBlowHole.html | 140 ++- doc/html/classBowTabl.html | 163 ---- doc/html/classBowTabl.png | Bin 298 -> 0 bytes doc/html/classBowTable-members.html | 50 + doc/html/classBowTable.html | 204 +++++ doc/html/classBowTable.png | Bin 0 -> 394 bytes doc/html/classBowed-members.html | 40 +- doc/html/classBowed.html | 101 +- doc/html/classBrass-members.html | 40 +- doc/html/classBrass.html | 136 ++- doc/html/classChorus-members.html | 44 +- doc/html/classChorus.html | 135 ++- doc/html/classChorus.png | Bin 282 -> 345 bytes doc/html/classClarinet-members.html | 38 +- doc/html/classClarinet.html | 134 ++- doc/html/classDelay-members.html | 51 +- doc/html/classDelay.html | 212 ++++- doc/html/classDelayA-members.html | 56 +- doc/html/classDelayA.html | 142 ++- doc/html/classDelayL-members.html | 54 +- doc/html/classDelayL.html | 140 ++- doc/html/classDrummer-members.html | 32 +- doc/html/classDrummer.html | 120 ++- doc/html/classEcho-members.html | 41 +- doc/html/classEcho.html | 135 ++- doc/html/classEcho.png | Bin 263 -> 324 bytes doc/html/classEffect-members.html | 50 + doc/html/classEffect.html | 129 +++ doc/html/classEffect.png | Bin 0 -> 902 bytes doc/html/classEnvelope-members.html | 36 +- doc/html/classEnvelope.html | 93 +- doc/html/classEnvelope.png | Bin 387 -> 658 bytes doc/html/classFM-members.html | 46 +- doc/html/classFM.html | 142 ++- doc/html/classFMVoices-members.html | 46 +- doc/html/classFMVoices.html | 149 ++- doc/html/classFilter-members.html | 36 +- doc/html/classFilter.html | 178 ++-- doc/html/classFlute-members.html | 44 +- doc/html/classFlute.html | 140 ++- doc/html/classFormSwep-members.html | 60 +- doc/html/classFormSwep.html | 102 ++- ...embers.html => classFunction-members.html} | 36 +- doc/html/classFunction.html | 111 +++ doc/html/classFunction.png | Bin 0 -> 786 bytes ...mbers.html => classGenerator-members.html} | 38 +- doc/html/classGenerator.html | 114 +++ doc/html/classGenerator.png | Bin 0 -> 1318 bytes doc/html/classHevyMetl-members.html | 46 +- doc/html/classHevyMetl.html | 133 ++- doc/html/classInstrmnt-members.html | 32 +- doc/html/classInstrmnt.html | 89 +- doc/html/classJCRev-members.html | 41 +- doc/html/classJCRev.html | 89 +- doc/html/classJCRev.png | Bin 349 -> 335 bytes doc/html/classJetTabl.html | 65 -- doc/html/classJetTabl.png | Bin 287 -> 0 bytes doc/html/classJetTable-members.html | 48 + doc/html/classJetTable.html | 105 +++ doc/html/classJetTable.png | Bin 0 -> 370 bytes doc/html/classMandolin-members.html | 52 +- doc/html/classMandolin.html | 135 ++- doc/html/classMesh2D-members.html | 38 +- doc/html/classMesh2D.html | 99 +- doc/html/classMessager-members.html | 33 +- doc/html/classMessager.html | 151 ++- doc/html/classMidiFileIn-members.html | 49 + doc/html/classMidiFileIn.html | 276 ++++++ doc/html/classMidiFileIn.png | Bin 0 -> 307 bytes doc/html/classModal-members.html | 46 +- doc/html/classModal.html | 134 ++- doc/html/classModalBar-members.html | 52 +- doc/html/classModalBar.html | 45 +- doc/html/classModulate-members.html | 36 +- doc/html/classModulate.html | 122 ++- doc/html/classModulate.png | Bin 302 -> 400 bytes doc/html/classMoog-members.html | 36 +- doc/html/classMoog.html | 165 +++- ...l-members.html => classMutex-members.html} | 36 +- doc/html/classMutex.html | 126 +++ doc/html/classMutex.png | Bin 0 -> 274 bytes doc/html/classNRev-members.html | 41 +- doc/html/classNRev.html | 89 +- doc/html/classNRev.png | Bin 348 -> 330 bytes doc/html/classNoise-members.html | 28 +- doc/html/classNoise.html | 87 +- doc/html/classNoise.png | Bin 392 -> 491 bytes doc/html/classOnePole-members.html | 44 +- doc/html/classOnePole.html | 96 +- doc/html/classOneZero-members.html | 44 +- doc/html/classOneZero.html | 96 +- doc/html/classPRCRev-members.html | 41 +- doc/html/classPRCRev.html | 87 +- doc/html/classPRCRev.png | Bin 362 -> 354 bytes doc/html/classPercFlut-members.html | 46 +- doc/html/classPercFlut.html | 141 ++- doc/html/classPhonemes-members.html | 21 +- doc/html/classPhonemes.html | 40 +- doc/html/classPhonemes.png | Bin 0 -> 295 bytes doc/html/classPitShift-members.html | 38 +- doc/html/classPitShift.html | 90 +- doc/html/classPitShift.png | Bin 284 -> 345 bytes doc/html/classPluckTwo-members.html | 42 +- doc/html/classPluckTwo.html | 100 +- doc/html/classPlucked-members.html | 36 +- doc/html/classPlucked.html | 87 +- doc/html/classPoleZero-members.html | 46 +- doc/html/classPoleZero.html | 100 +- doc/html/classReedTabl.html | 164 ---- doc/html/classReedTabl.png | Bin 304 -> 0 bytes doc/html/classReedTable-members.html | 50 + doc/html/classReedTable.html | 205 +++++ doc/html/classReedTable.png | Bin 0 -> 397 bytes doc/html/classResonate-members.html | 36 +- doc/html/classResonate.html | 93 +- doc/html/classReverb.html | 83 -- doc/html/classReverb.png | Bin 591 -> 0 bytes doc/html/classRhodey-members.html | 46 +- doc/html/classRhodey.html | 141 ++- doc/html/classRtAudio-members.html | 28 +- doc/html/classRtAudio.html | 342 +++++-- doc/html/classRtDuplex-members.html | 33 +- doc/html/classRtDuplex.html | 143 ++- doc/html/classRtError-members.html | 2 +- doc/html/classRtError.html | 40 +- doc/html/classRtMidi-members.html | 27 +- doc/html/classRtMidi.html | 104 +-- doc/html/classRtMidi.png | Bin 284 -> 412 bytes doc/html/classRtMidiIn-members.html | 34 + doc/html/classRtMidiIn.html | 389 ++++++++ doc/html/classRtMidiIn.png | Bin 0 -> 300 bytes doc/html/classRtMidiOut-members.html | 29 + doc/html/classRtMidiOut.html | 225 +++++ doc/html/classRtMidiOut.png | Bin 0 -> 317 bytes doc/html/classRtWvIn-members.html | 43 +- doc/html/classRtWvIn.html | 152 ++- doc/html/classRtWvOut-members.html | 37 +- doc/html/classRtWvOut.html | 138 ++- doc/html/classSKINI-members.html | 53 -- doc/html/classSKINI.html | 172 ---- doc/html/classSKINI.png | Bin 275 -> 0 bytes doc/html/classSampler-members.html | 34 +- doc/html/classSampler.html | 85 +- doc/html/classSaxofony-members.html | 40 +- doc/html/classSaxofony.html | 136 ++- doc/html/classShakers-members.html | 32 +- doc/html/classShakers.html | 104 ++- doc/html/classSimple-members.html | 34 +- doc/html/classSimple.html | 129 ++- doc/html/classSingWave-members.html | 47 +- doc/html/classSingWave.html | 110 ++- doc/html/classSingWave.png | Bin 321 -> 421 bytes doc/html/classSitar-members.html | 36 +- doc/html/classSitar.html | 87 +- ...l-members.html => classSkini-members.html} | 35 +- doc/html/classSkini.html | 174 ++++ doc/html/classSkini.png | Bin 0 -> 272 bytes doc/html/classSocket-members.html | 23 +- doc/html/classSocket.html | 35 +- doc/html/classSphere-members.html | 41 +- doc/html/classSphere.html | 54 +- doc/html/classSphere.png | Bin 0 -> 298 bytes doc/html/classStifKarp-members.html | 42 +- doc/html/classStifKarp.html | 108 ++- doc/html/classStk-members.html | 21 +- doc/html/classStk.html | 164 ++-- doc/html/classStk.png | Bin 2362 -> 1935 bytes doc/html/classStkError-members.html | 11 +- doc/html/classStkError.html | 39 +- doc/html/classStkFrames-members.html | 31 + doc/html/classStkFrames.html | 193 ++++ doc/html/classSubNoise-members.html | 28 +- doc/html/classSubNoise.html | 80 +- doc/html/classSubNoise.png | Bin 376 -> 480 bytes doc/html/classTable-members.html | 32 +- doc/html/classTable.html | 138 ++- doc/html/classTable.png | Bin 274 -> 346 bytes doc/html/classTcpWvIn-members.html | 43 +- doc/html/classTcpWvIn.html | 140 ++- doc/html/classTcpWvOut-members.html | 39 +- doc/html/classTcpWvOut.html | 144 ++- doc/html/classThread-members.html | 26 +- doc/html/classThread.html | 125 ++- doc/html/classTubeBell-members.html | 46 +- doc/html/classTubeBell.html | 133 ++- doc/html/classTwoPole-members.html | 44 +- doc/html/classTwoPole.html | 100 +- doc/html/classTwoZero-members.html | 44 +- doc/html/classTwoZero.html | 98 +- doc/html/classVector3D-members.html | 31 +- doc/html/classVector3D.html | 48 +- doc/html/classVector3D.png | Bin 0 -> 302 bytes doc/html/classVoicForm-members.html | 40 +- doc/html/classVoicForm.html | 139 ++- doc/html/classVoicer-members.html | 50 +- doc/html/classVoicer.html | 126 ++- doc/html/classWaveLoop-members.html | 47 +- doc/html/classWaveLoop.html | 134 ++- doc/html/classWhistle-members.html | 36 +- doc/html/classWhistle.html | 131 ++- doc/html/classWurley-members.html | 46 +- doc/html/classWurley.html | 141 ++- doc/html/classWvIn-members.html | 41 +- doc/html/classWvIn.html | 185 ++-- doc/html/classWvOut-members.html | 35 +- doc/html/classWvOut.html | 168 +++- doc/html/classes.html | 2 +- doc/html/compile.html | 28 +- doc/html/controlin.html | 231 +++-- doc/html/crealtime.html | 109 +++ doc/html/download.html | 68 +- doc/html/files.html | 18 +- doc/html/filtering.html | 89 ++ doc/html/functions.html | 301 +++--- doc/html/functions_enum.html | 4 +- doc/html/functions_eval.html | 4 +- doc/html/functions_func.html | 279 +++--- doc/html/functions_type.html | 26 + doc/html/functions_vars.html | 33 +- doc/html/fundamentals.html | 61 ++ doc/html/hello.html | 25 +- doc/html/hierarchy.html | 67 +- doc/html/index.html | 10 +- doc/html/information.html | 49 +- doc/html/instruments.html | 115 ++- doc/html/links.html | 19 +- doc/html/maillist.html | 2 +- doc/html/multichannel.html | 12 +- doc/html/pages.html | 10 +- doc/html/polyvoices.html | 223 +++-- doc/html/realtime.html | 36 +- doc/html/skini.html | 137 ++- doc/html/structRtAudioDeviceInfo-members.html | 2 +- doc/html/structRtAudioDeviceInfo.html | 19 +- doc/html/structSkini_1_1Message-members.html | 27 + doc/html/structSkini_1_1Message.html | 190 ++++ doc/html/system.html | 16 +- doc/html/tutorial.html | 10 +- doc/html/usage.html | 69 +- 347 files changed, 16972 insertions(+), 8538 deletions(-) create mode 100644 doc/html/Asymp_8h-source.html delete mode 100644 doc/html/BowTabl_8h-source.html create mode 100644 doc/html/BowTable_8h-source.html rename doc/html/{Reverb_8h-source.html => Effect_8h-source.html} (50%) create mode 100644 doc/html/Function_8h-source.html create mode 100644 doc/html/Generator_8h-source.html delete mode 100644 doc/html/JetTabl_8h-source.html create mode 100644 doc/html/JetTable_8h-source.html create mode 100644 doc/html/MidiFileIn_8h-source.html create mode 100644 doc/html/Mutex_8h-source.html delete mode 100644 doc/html/ReedTabl_8h-source.html create mode 100644 doc/html/ReedTable_8h-source.html delete mode 100644 doc/html/SKINI_8h-source.html create mode 100644 doc/html/SKINI_8msg-source.html create mode 100644 doc/html/Skini_8h-source.html create mode 100644 doc/html/classAsymp-members.html create mode 100644 doc/html/classAsymp.html create mode 100644 doc/html/classAsymp.png delete mode 100644 doc/html/classBowTabl.html delete mode 100644 doc/html/classBowTabl.png create mode 100644 doc/html/classBowTable-members.html create mode 100644 doc/html/classBowTable.html create mode 100644 doc/html/classBowTable.png create mode 100644 doc/html/classEffect-members.html create mode 100644 doc/html/classEffect.html create mode 100644 doc/html/classEffect.png rename doc/html/{classReedTabl-members.html => classFunction-members.html} (53%) create mode 100644 doc/html/classFunction.html create mode 100644 doc/html/classFunction.png rename doc/html/{classReverb-members.html => classGenerator-members.html} (52%) create mode 100644 doc/html/classGenerator.html create mode 100644 doc/html/classGenerator.png delete mode 100644 doc/html/classJetTabl.html delete mode 100644 doc/html/classJetTabl.png create mode 100644 doc/html/classJetTable-members.html create mode 100644 doc/html/classJetTable.html create mode 100644 doc/html/classJetTable.png create mode 100644 doc/html/classMidiFileIn-members.html create mode 100644 doc/html/classMidiFileIn.html create mode 100644 doc/html/classMidiFileIn.png rename doc/html/{classBowTabl-members.html => classMutex-members.html} (56%) create mode 100644 doc/html/classMutex.html create mode 100644 doc/html/classMutex.png create mode 100644 doc/html/classPhonemes.png delete mode 100644 doc/html/classReedTabl.html delete mode 100644 doc/html/classReedTabl.png create mode 100644 doc/html/classReedTable-members.html create mode 100644 doc/html/classReedTable.html create mode 100644 doc/html/classReedTable.png delete mode 100644 doc/html/classReverb.html delete mode 100644 doc/html/classReverb.png create mode 100644 doc/html/classRtMidiIn-members.html create mode 100644 doc/html/classRtMidiIn.html create mode 100644 doc/html/classRtMidiIn.png create mode 100644 doc/html/classRtMidiOut-members.html create mode 100644 doc/html/classRtMidiOut.html create mode 100644 doc/html/classRtMidiOut.png delete mode 100644 doc/html/classSKINI-members.html delete mode 100644 doc/html/classSKINI.html delete mode 100644 doc/html/classSKINI.png rename doc/html/{classJetTabl-members.html => classSkini-members.html} (52%) create mode 100644 doc/html/classSkini.html create mode 100644 doc/html/classSkini.png create mode 100644 doc/html/classSphere.png create mode 100644 doc/html/classStkFrames-members.html create mode 100644 doc/html/classStkFrames.html create mode 100644 doc/html/classVector3D.png create mode 100644 doc/html/crealtime.html create mode 100644 doc/html/filtering.html create mode 100644 doc/html/functions_type.html create mode 100644 doc/html/fundamentals.html create mode 100644 doc/html/structSkini_1_1Message-members.html create mode 100644 doc/html/structSkini_1_1Message.html diff --git a/configure b/configure index 2e94371..575cedb 100755 --- a/configure +++ b/configure @@ -1,8 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.57 for STK 4.1.2. +# Generated by GNU Autoconf 2.57 for STK 4.2.0. # -# Report bugs to . +# Report bugs to . # # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. @@ -268,9 +268,9 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='STK' PACKAGE_TARNAME='stk' -PACKAGE_VERSION='4.1.2' -PACKAGE_STRING='STK 4.1.2' -PACKAGE_BUGREPORT='gary@ccrma.stanford.edu' +PACKAGE_VERSION='4.2.0' +PACKAGE_STRING='STK 4.2.0' +PACKAGE_BUGREPORT='gary@music.mcgill.ca' ac_unique_file="src/Stk.cpp" # Factoring default headers for most tests. @@ -310,7 +310,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPP EGREP byte_order rawwaves include realtime sound_api debug cflags object_path warn build build_cpu build_vendor build_os host host_cpu host_vendor host_os audio_apis midiator frameworks LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX CPP EGREP byte_order rawwaves include realtime sound_api debug cflags object_path warn build build_cpu build_vendor build_os host host_cpu host_vendor host_os audio_apis frameworks LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -787,7 +787,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures STK 4.1.2 to adapt to many kinds of systems. +\`configure' configures STK 4.2.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -848,7 +848,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of STK 4.1.2:";; + short | recursive ) echo "Configuration of STK 4.2.0:";; esac cat <<\_ACEOF @@ -857,7 +857,6 @@ Optional Features: --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-realtime = only compile generic non-realtime classes --enable-debug = enable various debug output - --enable-midiator = enable native MS-124W MIDI support (linux only) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -880,7 +879,7 @@ Some influential environment variables: Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. -Report bugs to . +Report bugs to . _ACEOF fi @@ -943,7 +942,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -STK configure 4.1.2 +STK configure 4.2.0 generated by GNU Autoconf 2.57 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 @@ -958,7 +957,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by STK $as_me 4.1.2, which was +It was created by STK $as_me 4.2.0, which was generated by GNU Autoconf 2.57. Invocation command line was $ $0 $@ @@ -4129,14 +4128,14 @@ echo $ECHO_N "checking whether to compile debug version... $ECHO_C" >&6 # Check whether --enable-debug or --disable-debug was given. if test "${enable_debug+set}" = set; then enableval="$enable_debug" - debug=-D_STK_DEBUG_ - cflags=-g + debug="-D_STK_DEBUG_ -D__RTAUDIO_DEBUG__" + cflags="-g -O2" object_path=Debug echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else debug= - cflags=-O2 + cflags=-O3 object_path=Release echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 @@ -4144,7 +4143,7 @@ fi; # Check compiler and use -Wall if gnu. if test $GXX = "yes" ; then - warn="-Wall -g" + warn="-Wall -g -Woverloaded-virtual -D__GXX__" fi @@ -4236,6 +4235,77 @@ echo $ECHO_N "checking for audio API... $ECHO_C" >&6 sound_api=_NO_API_ + # Look for ALSA library because we need it for RtMidi + +echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5 +echo $ECHO_N "checking for snd_pcm_open in -lasound... $ECHO_C" >&6 +if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lasound $LIBS" +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char snd_pcm_open (); +int +main () +{ +snd_pcm_open (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_asound_snd_pcm_open=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_asound_snd_pcm_open=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_asound_snd_pcm_open" >&5 +echo "${ECHO_T}$ac_cv_lib_asound_snd_pcm_open" >&6 +if test $ac_cv_lib_asound_snd_pcm_open = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBASOUND 1 +_ACEOF + + LIBS="-lasound $LIBS" + +else + { { echo "$as_me:$LINENO: error: STK in Linux requires the ALSA asound library for RtMidi!" >&5 +echo "$as_me: error: STK in Linux requires the ALSA asound library for RtMidi!" >&2;} + { (exit 1); exit 1; }; } +fi + + audio_apis="-D__LINUX_ALSASEQ__" + # Look for Jack flag # Check whether --with-jack or --without-jack was given. @@ -4315,76 +4385,8 @@ echo "$as_me: error: JACK support requires the jack library!" >&2;} { (exit 1); exit 1; }; } fi - -echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5 -echo $ECHO_N "checking for snd_pcm_open in -lasound... $ECHO_C" >&6 -if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lasound $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char snd_pcm_open (); -int -main () -{ -snd_pcm_open (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_asound_snd_pcm_open=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_asound_snd_pcm_open=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_asound_snd_pcm_open" >&5 -echo "${ECHO_T}$ac_cv_lib_asound_snd_pcm_open" >&6 -if test $ac_cv_lib_asound_snd_pcm_open = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBASOUND 1 -_ACEOF - - LIBS="-lasound $LIBS" - -else - { { echo "$as_me:$LINENO: error: ALSA support requires the asound library!" >&5 -echo "$as_me: error: ALSA support requires the asound library!" >&2;} - { (exit 1); exit 1; }; } -fi - LIBS="`pkg-config --cflags --libs jack` $TEMP_LIBS -lasound" - audio_apis="-D__LINUX_JACK__" + audio_apis="-D__LINUX_JACK__ $audio_apis" fi # Look for Alsa flag @@ -4397,74 +4399,6 @@ if test "${with_alsa+set}" = set; then echo "${ECHO_T}using ALSA" >&6 fi; if test $sound_api = -D__LINUX_ALSA__; then - -echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5 -echo $ECHO_N "checking for snd_pcm_open in -lasound... $ECHO_C" >&6 -if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lasound $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char snd_pcm_open (); -int -main () -{ -snd_pcm_open (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_asound_snd_pcm_open=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_asound_snd_pcm_open=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_asound_snd_pcm_open" >&5 -echo "${ECHO_T}$ac_cv_lib_asound_snd_pcm_open" >&6 -if test $ac_cv_lib_asound_snd_pcm_open = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBASOUND 1 -_ACEOF - - LIBS="-lasound $LIBS" - -else - { { echo "$as_me:$LINENO: error: ALSA support requires the asound library!" >&5 -echo "$as_me: error: ALSA support requires the asound library!" >&2;} - { (exit 1); exit 1; }; } -fi - audio_apis="-D__LINUX_ALSA__ $audio_apis" fi @@ -4481,29 +4415,16 @@ fi; audio_apis="-D__LINUX_OSS__ $audio_apis" fi - # If no audio api flags specified, use OSS + # If no audio api flags specified, use ALSA if test $sound_api = _NO_API_; then - sound_api=-D__LINUX_OSS__ - - echo "$as_me:$LINENO: result: using OSS" >&5 -echo "${ECHO_T}using OSS" >&6 - audio_apis=-D__LINUX_OSS__ - + echo "$as_me:$LINENO: result: using ALSA" >&5 +echo "${ECHO_T}using ALSA" >&6 + audio_apis="-D__LINUX_ALSA__ $audio_apis" fi - - # Check whether --enable-midiator or --disable-midiator was given. -if test "${enable_midiator+set}" = set; then - enableval="$enable_midiator" - midiator=-D__MIDIATOR__ - -else - midiator= - -fi; ;; *-sgi*) - audio_apis="-D__IRIX_AL__ -LANG:std -w" + audio_apis="-D__IRIX_AL__ -D__IRIX_MD__ -LANG:std -w" echo "$as_me:$LINENO: result: using IRIX AL" >&5 echo "${ECHO_T}using IRIX AL" >&6 @@ -4798,75 +4719,6 @@ done frameworks="-framework CoreAudio -framework CoreMIDI -framework CoreFoundation" - # Explicitly link with c++ library. - -echo "$as_me:$LINENO: checking for printf in -lstdc++" >&5 -echo $ECHO_N "checking for printf in -lstdc++... $ECHO_C" >&6 -if test "${ac_cv_lib_stdcpp_printf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lstdc++ $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char printf (); -int -main () -{ -printf (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_stdcpp_printf=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_stdcpp_printf=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_stdcpp_printf" >&5 -echo "${ECHO_T}$ac_cv_lib_stdcpp_printf" >&6 -if test $ac_cv_lib_stdcpp_printf = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBSTDC__ 1 -_ACEOF - - LIBS="-lstdc++ $LIBS" - -else - { { echo "$as_me:$LINENO: error: Stk requires the C++ library!" >&5 -echo "$as_me: error: Stk requires the C++ library!" >&2;} - { (exit 1); exit 1; }; } -fi - ;; *) @@ -5407,7 +5259,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by STK $as_me 4.1.2, which was +This file was extended by STK $as_me 4.2.0, which was generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5462,7 +5314,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -STK config.status 4.1.2 +STK config.status 4.2.0 configured by $0, generated by GNU Autoconf 2.57, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" @@ -5683,7 +5535,6 @@ s,@host_cpu@,$host_cpu,;t t s,@host_vendor@,$host_vendor,;t t s,@host_os@,$host_os,;t t s,@audio_apis@,$audio_apis,;t t -s,@midiator@,$midiator,;t t s,@frameworks@,$frameworks,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t diff --git a/doc/html/ADSR_8h-source.html b/doc/html/ADSR_8h-source.html index 0d50074..7b62705 100644 --- a/doc/html/ADSR_8h-source.html +++ b/doc/html/ADSR_8h-source.html @@ -12,8 +12,8 @@

ADSR.h

00001 /***************************************************/
 00016 /***************************************************/
 00017 
-00018 #if !defined(__ADSR_H)
-00019 #define __ADSR_H
+00018 #ifndef STK_ADSR_H
+00019 #define STK_ADSR_H
 00020 
 00021 #include "Envelope.h"
 00022 
@@ -31,44 +31,47 @@
 00038 
 00040   void keyOff(void);
 00041 
-00043   void setAttackRate(MY_FLOAT aRate);
+00043   void setAttackRate(StkFloat rate);
 00044 
-00046   void setDecayRate(MY_FLOAT aRate);
+00046   void setDecayRate(StkFloat rate);
 00047 
-00049   void setSustainLevel(MY_FLOAT aLevel);
+00049   void setSustainLevel(StkFloat level);
 00050 
-00052   void setReleaseRate(MY_FLOAT aRate);
+00052   void setReleaseRate(StkFloat rate);
 00053 
-00055   void setAttackTime(MY_FLOAT aTime);
+00055   void setAttackTime(StkFloat time);
 00056 
-00058   void setDecayTime(MY_FLOAT aTime);
+00058   void setDecayTime(StkFloat time);
 00059 
-00061   void setReleaseTime(MY_FLOAT aTime);
+00061   void setReleaseTime(StkFloat time);
 00062 
-00064   void setAllTimes(MY_FLOAT aTime, MY_FLOAT dTime, MY_FLOAT sLevel, MY_FLOAT rTime);
+00064   void setAllTimes(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime);
 00065 
-00067   void setTarget(MY_FLOAT aTarget);
+00067   void setTarget(StkFloat target);
 00068 
 00070   int getState(void) const;
 00071 
-00073   void setValue(MY_FLOAT aValue);
+00073   void setValue(StkFloat value);
 00074 
-00076   MY_FLOAT tick(void);
+00076   StkFloat tick(void);
 00077 
-00079   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
+00079   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
 00080 
-00081  protected:  
-00082   MY_FLOAT attackRate;
-00083   MY_FLOAT decayRate;
-00084   MY_FLOAT sustainLevel;
-00085   MY_FLOAT releaseRate;
-00086 };
-00087 
-00088 #endif
+00082 
+00088   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00089 
+00090  protected:  
+00091   StkFloat attackRate_;
+00092   StkFloat decayRate_;
+00093   StkFloat sustainLevel_;
+00094   StkFloat releaseRate_;
+00095 };
+00096 
+00097 #endif
 

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

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

Asymp.h

00001 /***************************************************/
+00024 /***************************************************/
+00025 
+00026 #ifndef STK_ASYMP_H
+00027 #define STK_ASYMP_H
+00028 
+00029 #include "Envelope.h"
+00030 
+00031 const StkFloat TARGET_THRESHOLD = 0.000001;
+00032 
+00033 class Asymp : public Envelope
+00034 {
+00035  public:
+00036 
+00038   Asymp(void);
+00039 
+00041   ~Asymp(void);
+00042 
+00044   void keyOn(void);
+00045 
+00047   void keyOff(void);
+00048 
+00050 
+00056   void setTau(StkFloat tau);
+00057 
+00059   void setTime(StkFloat time);
+00060 
+00062   void setTarget(StkFloat target);
+00063 
+00065   StkFloat tick(void);
+00066 
+00068   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
+00069 
+00071 
+00077   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00078 
+00079  protected:
+00080   StkFloat factor_;
+00081   StkFloat constant_;
+00082 };
+00083 
+00084 #endif
+

+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/BandedWG_8h-source.html b/doc/html/BandedWG_8h-source.html index 5044153..10d4a52 100644 --- a/doc/html/BandedWG_8h-source.html +++ b/doc/html/BandedWG_8h-source.html @@ -12,14 +12,14 @@

BandedWG.h

00001 /***************************************************/
 00030 /***************************************************/
 00031 
-00032 #if !defined(__BANDEDWG_H)
-00033 #define __BANDEDWG_H
+00032 #ifndef STK_BANDEDWG_H
+00033 #define STK_BANDEDWG_H
 00034 
-00035 #define MAX_BANDED_MODES 20
-00036 
+00035 const int MAX_BANDED_MODES = 20;
+00036 
 00037 #include "Instrmnt.h"
 00038 #include "DelayL.h"
-00039 #include "BowTabl.h"
+00039 #include "BowTable.h"
 00040 #include "ADSR.h"
 00041 #include "BiQuad.h"
 00042 
@@ -32,58 +32,63 @@
 00051 
 00053   void clear();
 00054 
-00056   void setStrikePosition(MY_FLOAT position);
+00056   void setStrikePosition(StkFloat position);
 00057 
 00059   void setPreset(int preset);
 00060 
-00062   void setFrequency(MY_FLOAT frequency);
+00062   void setFrequency(StkFloat frequency);
 00063 
-00065   void startBowing(MY_FLOAT amplitude, MY_FLOAT rate);
+00065   void startBowing(StkFloat amplitude, StkFloat rate);
 00066 
-00068   void stopBowing(MY_FLOAT rate);
+00068   void stopBowing(StkFloat rate);
 00069 
-00071   void pluck(MY_FLOAT amp);
+00071   void pluck(StkFloat amp);
 00072 
-00074   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00074   void noteOn(StkFloat frequency, StkFloat amplitude);
 00075 
-00077   void noteOff(MY_FLOAT amplitude);
+00077   void noteOff(StkFloat amplitude);
 00078 
-00080   MY_FLOAT tick();
+00080   StkFloat tick();
 00081 
-00083   void controlChange(int number, MY_FLOAT value);
+00083   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
 00084 
-00085  protected:
 00086 
-00087   bool doPluck;
-00088   bool trackVelocity;
-00089   int nModes;
-00090   int presetModes;
-00091   BowTabl *bowTabl;
-00092   ADSR *adsr;
-00093   BiQuad *bandpass;
-00094   DelayL *delay;
-00095   MY_FLOAT maxVelocity;
-00096   MY_FLOAT modes[MAX_BANDED_MODES];
-00097   MY_FLOAT freakency;
-00098   MY_FLOAT baseGain;
-00099   MY_FLOAT gains[MAX_BANDED_MODES];
-00100   MY_FLOAT basegains[MAX_BANDED_MODES];
-00101   MY_FLOAT excitation[MAX_BANDED_MODES];
-00102   MY_FLOAT integrationConstant;
-00103   MY_FLOAT velocityInput;
-00104   MY_FLOAT bowVelocity;
-00105   MY_FLOAT bowTarget;
-00106   MY_FLOAT bowPosition;
-00107   MY_FLOAT strikeAmp;
-00108   int strikePosition;
-00109 
-00110 };
-00111 
-00112 #endif
+00092   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00093 
+00095   void controlChange(int number, StkFloat value);
+00096 
+00097  protected:
+00098 
+00099   bool doPluck_;
+00100   bool trackVelocity_;
+00101   int nModes_;
+00102   int presetModes_;
+00103   BowTable bowTable_;
+00104   ADSR     adsr_;
+00105   BiQuad   bandpass_[MAX_BANDED_MODES];
+00106   DelayL   delay_[MAX_BANDED_MODES];
+00107   StkFloat maxVelocity_;
+00108   StkFloat modes_[MAX_BANDED_MODES];
+00109   StkFloat frequency_;
+00110   StkFloat baseGain_;
+00111   StkFloat gains_[MAX_BANDED_MODES];
+00112   StkFloat basegains_[MAX_BANDED_MODES];
+00113   StkFloat excitation_[MAX_BANDED_MODES];
+00114   StkFloat integrationConstant_;
+00115   StkFloat velocityInput_;
+00116   StkFloat bowVelocity_;
+00117   StkFloat bowTarget_;
+00118   StkFloat bowPosition_;
+00119   StkFloat strikeAmp_;
+00120   int strikePosition_;
+00121 
+00122 };
+00123 
+00124 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BeeThree_8h-source.html b/doc/html/BeeThree_8h-source.html index 923e031..e07ad24 100644 --- a/doc/html/BeeThree_8h-source.html +++ b/doc/html/BeeThree_8h-source.html @@ -12,28 +12,34 @@

BeeThree.h

00001 /***************************************************/
 00033 /***************************************************/
 00034 
-00035 #if !defined(__BEETHREE_H)
-00036 #define __BEETHREE_H
+00035 #ifndef STK_BEETHREE_H
+00036 #define STK_BEETHREE_H
 00037 
 00038 #include "FM.h"
 00039 
 00040 class BeeThree : public FM
 00041 {
 00042  public:
-00044   BeeThree();
-00045 
-00047   ~BeeThree();
+00044 
+00047   BeeThree();
 00048 
-00050   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00050   ~BeeThree();
 00051 
-00053   MY_FLOAT tick();
-00054 };
-00055 
-00056 #endif
+00053   void noteOn(StkFloat frequency, StkFloat amplitude);
+00054 
+00056   StkFloat tick();
+00057 
+00059   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00060 
+00062 
+00068   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00069 };
+00070 
+00071 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BiQuad_8h-source.html b/doc/html/BiQuad_8h-source.html index 9126bc8..aacb892 100644 --- a/doc/html/BiQuad_8h-source.html +++ b/doc/html/BiQuad_8h-source.html @@ -12,8 +12,8 @@

BiQuad.h

00001 /***************************************************/
 00013 /***************************************************/
 00014 
-00015 #if !defined(__BIQUAD_H)
-00016 #define __BIQUAD_H
+00015 #ifndef STK_BIQUAD_H
+00016 #define STK_BIQUAD_H
 00017 
 00018 #include "Filter.h"
 00019 
@@ -27,42 +27,45 @@
 00029 
 00031   void clear(void);
 00032 
-00034   void setB0(MY_FLOAT b0);
+00034   void setB0(StkFloat b0);
 00035 
-00037   void setB1(MY_FLOAT b1);
+00037   void setB1(StkFloat b1);
 00038 
-00040   void setB2(MY_FLOAT b2);
+00040   void setB2(StkFloat b2);
 00041 
-00043   void setA1(MY_FLOAT a1);
+00043   void setA1(StkFloat a1);
 00044 
-00046   void setA2(MY_FLOAT a2);
+00046   void setA2(StkFloat a2);
 00047 
 00049 
-00060   void setResonance(MY_FLOAT frequency, MY_FLOAT radius, bool normalize = FALSE);
+00060   void setResonance(StkFloat frequency, StkFloat radius, bool normalize = false);
 00061 
 00063 
-00069   void setNotch(MY_FLOAT frequency, MY_FLOAT radius);
+00069   void setNotch(StkFloat frequency, StkFloat radius);
 00070 
 00072 
 00078   void setEqualGainZeroes();
 00079 
 00081 
-00085   void setGain(MY_FLOAT theGain);
+00085   void setGain(StkFloat gain);
 00086 
-00088   MY_FLOAT getGain(void) const;
+00088   StkFloat getGain(void) const;
 00089 
-00091   MY_FLOAT lastOut(void) const;
+00091   StkFloat lastOut(void) const;
 00092 
-00094   MY_FLOAT tick(MY_FLOAT sample);
+00094   virtual StkFloat tick(StkFloat sample);
 00095 
-00097   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00098 };
-00099 
-00100 #endif
+00097   virtual StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00098 
+00100 
+00106   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00107 };
+00108 
+00109 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BlowBotl_8h-source.html b/doc/html/BlowBotl_8h-source.html index 8022968..81e252e 100644 --- a/doc/html/BlowBotl_8h-source.html +++ b/doc/html/BlowBotl_8h-source.html @@ -12,11 +12,11 @@

BlowBotl.h

00001 /***************************************************/
 00017 /***************************************************/
 00018 
-00019 #if !defined(__BOTTLE_H)
-00020 #define __BOTTLE_H
+00019 #ifndef STK_BLOWBOTL_H
+00020 #define STK_BLOWBOTL_H
 00021 
 00022 #include "Instrmnt.h"
-00023 #include "JetTabl.h"
+00023 #include "JetTable.h"
 00024 #include "BiQuad.h"
 00025 #include "PoleZero.h"
 00026 #include "Noise.h"
@@ -26,45 +26,51 @@
 00030 class BlowBotl : public Instrmnt
 00031 {
 00032  public:
-00034   BlowBotl();
-00035 
-00037   ~BlowBotl();
+00034 
+00037   BlowBotl();
 00038 
-00040   void clear();
+00040   ~BlowBotl();
 00041 
-00043   void setFrequency(MY_FLOAT frequency);
+00043   void clear();
 00044 
-00046   void startBlowing(MY_FLOAT amplitude, MY_FLOAT rate);
+00046   void setFrequency(StkFloat frequency);
 00047 
-00049   void stopBlowing(MY_FLOAT rate);
+00049   void startBlowing(StkFloat amplitude, StkFloat rate);
 00050 
-00052   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00052   void stopBlowing(StkFloat rate);
 00053 
-00055   void noteOff(MY_FLOAT amplitude);
+00055   void noteOn(StkFloat frequency, StkFloat amplitude);
 00056 
-00058   MY_FLOAT tick();
+00058   void noteOff(StkFloat amplitude);
 00059 
-00061   void controlChange(int number, MY_FLOAT value);
+00061   StkFloat tick();
 00062 
-00063  protected:  
-00064   JetTabl *jetTable;
-00065   BiQuad *resonator;
-00066   PoleZero *dcBlock;
-00067   Noise *noise;
-00068   ADSR *adsr;
-00069   WaveLoop *vibrato;
-00070   MY_FLOAT maxPressure;
-00071   MY_FLOAT noiseGain;
-00072   MY_FLOAT vibratoGain;
-00073   MY_FLOAT outputGain;
+00064   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00065 
+00067 
+00073   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
 00074 
-00075 };
-00076 
-00077 #endif
+00076   void controlChange(int number, StkFloat value);
+00077 
+00078  protected:  
+00079   JetTable jetTable_;
+00080   BiQuad resonator_;
+00081   PoleZero dcBlock_;
+00082   Noise noise_;
+00083   ADSR adsr_;
+00084   WaveLoop *vibrato_;
+00085   StkFloat maxPressure_;
+00086   StkFloat noiseGain_;
+00087   StkFloat vibratoGain_;
+00088   StkFloat outputGain_;
+00089 
+00090 };
+00091 
+00092 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BlowHole_8h-source.html b/doc/html/BlowHole_8h-source.html index 9533657..2cf469a 100644 --- a/doc/html/BlowHole_8h-source.html +++ b/doc/html/BlowHole_8h-source.html @@ -12,12 +12,12 @@

BlowHole.h

00001 /***************************************************/
 00034 /***************************************************/
 00035 
-00036 #if !defined(__BLOWHOLE_H)
-00037 #define __BLOWHOLE_H
+00036 #ifndef STK_BLOWHOLE_H
+00037 #define STK_BLOWHOLE_H
 00038 
 00039 #include "Instrmnt.h"
 00040 #include "DelayL.h"
-00041 #include "ReedTabl.h"
+00041 #include "ReedTable.h"
 00042 #include "OneZero.h"
 00043 #include "PoleZero.h"
 00044 #include "Envelope.h"
@@ -27,56 +27,60 @@
 00048 class BlowHole : public Instrmnt
 00049 {
 00050  public:
-00052   BlowHole(MY_FLOAT lowestFrequency);
-00053 
-00055   ~BlowHole();
+00052 
+00055   BlowHole(StkFloat lowestFrequency);
 00056 
-00058   void clear();
+00058   ~BlowHole();
 00059 
-00061   void setFrequency(MY_FLOAT frequency);
+00061   void clear();
 00062 
-00064   void setTonehole(MY_FLOAT newValue);
+00064   void setFrequency(StkFloat frequency);
 00065 
-00067   void setVent(MY_FLOAT newValue);
+00067   void setTonehole(StkFloat newValue);
 00068 
-00070   void startBlowing(MY_FLOAT amplitude, MY_FLOAT rate);
+00070   void setVent(StkFloat newValue);
 00071 
-00073   void stopBlowing(MY_FLOAT rate);
+00073   void startBlowing(StkFloat amplitude, StkFloat rate);
 00074 
-00076   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00076   void stopBlowing(StkFloat rate);
 00077 
-00079   void noteOff(MY_FLOAT amplitude);
+00079   void noteOn(StkFloat frequency, StkFloat amplitude);
 00080 
-00082   MY_FLOAT tick();
+00082   void noteOff(StkFloat amplitude);
 00083 
-00085   void controlChange(int number, MY_FLOAT value);
+00085   StkFloat tick();
 00086 
-00087  protected:  
-00088   DelayL *delays[3];
-00089   ReedTabl *reedTable;
-00090   OneZero *filter;
-00091   PoleZero *tonehole;
-00092   PoleZero *vent;
-00093   Envelope *envelope;
-00094   Noise *noise;
-00095   WaveLoop *vibrato;
-00096   long length;
-00097   MY_FLOAT scatter;
-00098   MY_FLOAT th_coeff;
-00099   MY_FLOAT r_th;
-00100   MY_FLOAT rh_coeff;
-00101   MY_FLOAT rh_gain;
-00102   MY_FLOAT outputGain;
-00103   MY_FLOAT noiseGain;
-00104   MY_FLOAT vibratoGain;
-00105 
-00106 };
-00107 
-00108 #endif
+00088   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00089 
+00091 
+00097   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00098 
+00100   void controlChange(int number, StkFloat value);
+00101 
+00102  protected:  
+00103   DelayL    delays_[3];
+00104   ReedTable reedTable_;
+00105   OneZero   filter_;
+00106   PoleZero  tonehole_;
+00107   PoleZero  vent_;
+00108   Envelope  envelope_;
+00109   Noise     noise_;
+00110   WaveLoop *vibrato_;
+00111   unsigned long length_;
+00112   StkFloat scatter_;
+00113   StkFloat thCoeff_;
+00114   StkFloat rhGain_;
+00115   StkFloat outputGain_;
+00116   StkFloat noiseGain_;
+00117   StkFloat vibratoGain_;
+00118 
+00119 };
+00120 
+00121 #endif
 

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

-Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

-
- -

BowTabl.h

00001 /***************************************************/
-00010 /***************************************************/
-00011 
-00012 #if !defined(__BOWTABL_H)
-00013 #define __BOWTABL_H
-00014 
-00015 #include "Stk.h"
-00016 
-00017 class BowTabl : public Stk
-00018 {
-00019 public:
-00021   BowTabl();
-00022 
-00024   ~BowTabl();
-00025 
-00027 
-00033   void setOffset(MY_FLOAT aValue);
-00034 
-00036 
-00040   void setSlope(MY_FLOAT aValue);
-00041 
-00043   MY_FLOAT lastOut(void) const;
-00044 
-00046 
-00050   MY_FLOAT tick(const MY_FLOAT input);
-00051 
-00053   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00054 
-00055 protected:  
-00056   MY_FLOAT offSet;
-00057   MY_FLOAT slope;
-00058   MY_FLOAT lastOutput;
-00059 
-00060 };
-00061 
-00062 #endif
-

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

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

BowTable.h

00001 /***************************************************/
+00010 /***************************************************/
+00011 
+00012 #ifndef STK_BOWTABL_H
+00013 #define STK_BOWTABL_H
+00014 
+00015 #include "Function.h"
+00016 
+00017 class BowTable : public Function
+00018 {
+00019 public:
+00021   BowTable();
+00022 
+00024   ~BowTable();
+00025 
+00027 
+00033   void setOffset(StkFloat offset);
+00034 
+00036 
+00040   void setSlope(StkFloat slope);
+00041 
+00043 
+00047   StkFloat tick( StkFloat input);
+00048 
+00050   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
+00051 
+00053 
+00059   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00060 
+00061 protected:  
+00062   StkFloat offset_;
+00063   StkFloat slope_;
+00064 
+00065 };
+00066 
+00067 #endif
+

+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/Bowed_8h-source.html b/doc/html/Bowed_8h-source.html index 84af0cd..49d46d4 100644 --- a/doc/html/Bowed_8h-source.html +++ b/doc/html/Bowed_8h-source.html @@ -12,12 +12,12 @@

Bowed.h

00001 /***************************************************/
 00022 /***************************************************/
 00023 
-00024 #if !defined(__BOWED_H)
-00025 #define __BOWED_H
+00024 #ifndef STK_BOWED_H
+00025 #define STK_BOWED_H
 00026 
 00027 #include "Instrmnt.h"
 00028 #include "DelayL.h"
-00029 #include "BowTabl.h"
+00029 #include "BowTable.h"
 00030 #include "OnePole.h"
 00031 #include "BiQuad.h"
 00032 #include "WaveLoop.h"
@@ -26,48 +26,53 @@
 00035 class Bowed : public Instrmnt
 00036 {
 00037  public:
-00039   Bowed(MY_FLOAT lowestFrequency);
+00039   Bowed(StkFloat lowestFrequency);
 00040 
 00042   ~Bowed();
 00043 
 00045   void clear();
 00046 
-00048   void setFrequency(MY_FLOAT frequency);
+00048   void setFrequency(StkFloat frequency);
 00049 
-00051   void setVibrato(MY_FLOAT gain);
+00051   void setVibrato(StkFloat gain);
 00052 
-00054   void startBowing(MY_FLOAT amplitude, MY_FLOAT rate);
+00054   void startBowing(StkFloat amplitude, StkFloat rate);
 00055 
-00057   void stopBowing(MY_FLOAT rate);
+00057   void stopBowing(StkFloat rate);
 00058 
-00060   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00060   void noteOn(StkFloat frequency, StkFloat amplitude);
 00061 
-00063   void noteOff(MY_FLOAT amplitude);
+00063   void noteOff(StkFloat amplitude);
 00064 
-00066   MY_FLOAT tick();
+00066   StkFloat tick();
 00067 
-00069   void controlChange(int number, MY_FLOAT value);
+00069   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
 00070 
-00071  protected:  
-00072   DelayL *neckDelay;
-00073   DelayL *bridgeDelay;
-00074   BowTabl *bowTable;
-00075   OnePole *stringFilter;
-00076   BiQuad *bodyFilter;
-00077   WaveLoop *vibrato;
-00078   ADSR *adsr;
-00079   MY_FLOAT maxVelocity;
-00080   MY_FLOAT baseDelay;
-00081   MY_FLOAT vibratoGain;
-00082   MY_FLOAT betaRatio;
-00083 
-00084 };
-00085 
-00086 #endif
+00072 
+00078   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00079 
+00081   void controlChange(int number, StkFloat value);
+00082 
+00083  protected:  
+00084   DelayL   neckDelay_;
+00085   DelayL   bridgeDelay_;
+00086   BowTable bowTable_;
+00087   OnePole  stringFilter_;
+00088   BiQuad   bodyFilter_;
+00089   WaveLoop *vibrato_;
+00090   ADSR     adsr_;
+00091   StkFloat maxVelocity_;
+00092   StkFloat baseDelay_;
+00093   StkFloat vibratoGain_;
+00094   StkFloat betaRatio_;
+00095 
+00096 };
+00097 
+00098 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Brass_8h-source.html b/doc/html/Brass_8h-source.html index ba2083d..6e00338 100644 --- a/doc/html/Brass_8h-source.html +++ b/doc/html/Brass_8h-source.html @@ -12,8 +12,8 @@

Brass.h

00001 /***************************************************/
 00021 /***************************************************/
 00022 
-00023 #if !defined(__BRASS_H)
-00024 #define __BRASS_H
+00023 #ifndef STK_BRASS_H
+00024 #define STK_BRASS_H
 00025 
 00026 #include "Instrmnt.h"
 00027 #include "DelayA.h"
@@ -25,47 +25,53 @@
 00033 class Brass: public Instrmnt
 00034 {
 00035  public:
-00037   Brass(MY_FLOAT lowestFrequency);
-00038 
-00040   ~Brass();
+00037 
+00040   Brass(StkFloat lowestFrequency);
 00041 
-00043   void clear();
+00043   ~Brass();
 00044 
-00046   void setFrequency(MY_FLOAT frequency);
+00046   void clear();
 00047 
-00049   void setLip(MY_FLOAT frequency);
+00049   void setFrequency(StkFloat frequency);
 00050 
-00052   void startBlowing(MY_FLOAT amplitude,MY_FLOAT rate);
+00052   void setLip(StkFloat frequency);
 00053 
-00055   void stopBlowing(MY_FLOAT rate);
+00055   void startBlowing(StkFloat amplitude, StkFloat rate);
 00056 
-00058   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00058   void stopBlowing(StkFloat rate);
 00059 
-00061   void noteOff(MY_FLOAT amplitude);
+00061   void noteOn(StkFloat frequency, StkFloat amplitude);
 00062 
-00064   MY_FLOAT tick();
+00064   void noteOff(StkFloat amplitude);
 00065 
-00067   void controlChange(int number, MY_FLOAT value);
+00067   StkFloat tick();
 00068 
-00069  protected:  
-00070   DelayA *delayLine;
-00071   BiQuad *lipFilter;
-00072   PoleZero *dcBlock;
-00073   ADSR *adsr;
-00074   WaveLoop *vibrato;
-00075   long length;
-00076   MY_FLOAT lipTarget;
-00077   MY_FLOAT slideTarget;
-00078   MY_FLOAT vibratoGain;
-00079   MY_FLOAT maxPressure;
+00070   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00071 
+00073 
+00079   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
 00080 
-00081 };
-00082 
-00083 #endif
+00082   void controlChange(int number, StkFloat value);
+00083 
+00084  protected:  
+00085   DelayA   delayLine_;
+00086   BiQuad   lipFilter_;
+00087   PoleZero dcBlock_;
+00088   ADSR     adsr_;
+00089   WaveLoop *vibrato_;
+00090   unsigned long length_;
+00091   StkFloat lipTarget_;
+00092   StkFloat slideTarget_;
+00093   StkFloat vibratoGain_;
+00094   StkFloat maxPressure_;
+00095 
+00096 };
+00097 
+00098 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Chorus_8h-source.html b/doc/html/Chorus_8h-source.html index d2b4852..917c9b0 100644 --- a/doc/html/Chorus_8h-source.html +++ b/doc/html/Chorus_8h-source.html @@ -12,54 +12,48 @@

Chorus.h

00001 /***************************************************/
 00009 /***************************************************/
 00010 
-00011 #if !defined(__CHORUS_H)
-00012 #define __CHORUS_H
+00011 #ifndef STK_CHORUS_H
+00012 #define STK_CHORUS_H
 00013 
-00014 #include "Stk.h" 
+00014 #include "Effect.h" 
 00015 #include "DelayL.h" 
 00016 #include "WaveLoop.h" 
 00017 
-00018 class Chorus : public Stk
+00018 class Chorus : public Effect
 00019 {
 00020  public:
-00022   Chorus(MY_FLOAT baseDelay);
-00023 
-00025   ~Chorus();
+00022 
+00025   Chorus( StkFloat baseDelay = 6000 );
 00026 
-00028   void clear();
+00028   ~Chorus();
 00029 
-00031   void setModDepth(MY_FLOAT depth);
+00031   void clear();
 00032 
-00034   void setModFrequency(MY_FLOAT frequency);
+00034   void setModDepth(StkFloat depth);
 00035 
-00037   void setEffectMix(MY_FLOAT mix);
+00037   void setModFrequency(StkFloat frequency);
 00038 
-00040   MY_FLOAT lastOut() const;
+00040   StkFloat tick(StkFloat input);
 00041 
-00043   MY_FLOAT lastOutLeft() const;
+00043   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
 00044 
-00046   MY_FLOAT lastOutRight() const;
-00047 
-00049   MY_FLOAT tick(MY_FLOAT input);
-00050 
-00052   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
+00046 
+00052   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
 00053 
 00054  protected:  
-00055   DelayL *delayLine[2];
-00056   WaveLoop *mods[2];
-00057   MY_FLOAT baseLength;
-00058   MY_FLOAT modDepth;
-00059   MY_FLOAT lastOutput[2];
-00060   MY_FLOAT effectMix;
+00055   DelayL delayLine_[2];
+00056   WaveLoop *mods_[2];
+00057   StkFloat baseLength_;
+00058   StkFloat modDepth_;
+00059 
+00060 };
 00061 
-00062 };
-00063 
-00064 #endif
-00065 
+00062 #endif
+00063 
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Clarinet_8h-source.html b/doc/html/Clarinet_8h-source.html index f0b4f07..eef8792 100644 --- a/doc/html/Clarinet_8h-source.html +++ b/doc/html/Clarinet_8h-source.html @@ -12,12 +12,12 @@

Clarinet.h

00001 /***************************************************/
 00023 /***************************************************/
 00024 
-00025 #if !defined(__CLARINET_H)
-00026 #define __CLARINET_H
+00025 #ifndef STK_CLARINET_H
+00026 #define STK_CLARINET_H
 00027 
 00028 #include "Instrmnt.h"
 00029 #include "DelayL.h"
-00030 #include "ReedTabl.h"
+00030 #include "ReedTable.h"
 00031 #include "OneZero.h"
 00032 #include "Envelope.h"
 00033 #include "Noise.h"
@@ -26,45 +26,51 @@
 00036 class Clarinet : public Instrmnt
 00037 {
 00038  public:
-00040   Clarinet(MY_FLOAT lowestFrequency);
-00041 
-00043   ~Clarinet();
+00040 
+00043   Clarinet(StkFloat lowestFrequency);
 00044 
-00046   void clear();
+00046   ~Clarinet();
 00047 
-00049   void setFrequency(MY_FLOAT frequency);
+00049   void clear();
 00050 
-00052   void startBlowing(MY_FLOAT amplitude, MY_FLOAT rate);
+00052   void setFrequency(StkFloat frequency);
 00053 
-00055   void stopBlowing(MY_FLOAT rate);
+00055   void startBlowing(StkFloat amplitude, StkFloat rate);
 00056 
-00058   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00058   void stopBlowing(StkFloat rate);
 00059 
-00061   void noteOff(MY_FLOAT amplitude);
+00061   void noteOn(StkFloat frequency, StkFloat amplitude);
 00062 
-00064   MY_FLOAT tick();
+00064   void noteOff(StkFloat amplitude);
 00065 
-00067   void controlChange(int number, MY_FLOAT value);
+00067   StkFloat tick();
 00068 
-00069  protected:
-00070   DelayL *delayLine;
-00071   ReedTabl *reedTable;
-00072   OneZero *filter;
-00073   Envelope *envelope;
-00074   Noise *noise;
-00075   WaveLoop *vibrato;
-00076   long length;
-00077   MY_FLOAT outputGain;
-00078   MY_FLOAT noiseGain;
-00079   MY_FLOAT vibratoGain;
+00070   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00071 
+00073 
+00079   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
 00080 
-00081 };
-00082 
-00083 #endif
+00082   void controlChange(int number, StkFloat value);
+00083 
+00084  protected:
+00085   DelayL delayLine_;
+00086   ReedTable reedTable_;
+00087   OneZero filter_;
+00088   Envelope envelope_;
+00089   Noise noise_;
+00090   WaveLoop *vibrato_;
+00091   long length_;
+00092   StkFloat outputGain_;
+00093   StkFloat noiseGain_;
+00094   StkFloat vibratoGain_;
+00095 
+00096 };
+00097 
+00098 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/DelayA_8h-source.html b/doc/html/DelayA_8h-source.html index 449a5d6..cd55e81 100644 --- a/doc/html/DelayA_8h-source.html +++ b/doc/html/DelayA_8h-source.html @@ -12,8 +12,8 @@

DelayA.h

00001 /***************************************************/
 00023 /***************************************************/
 00024 
-00025 #if !defined(__DelayA_h)
-00026 #define __DelayA_h
+00025 #ifndef STK_DELAYA_H
+00026 #define STK_DELAYA_H
 00027 
 00028 #include "Delay.h"
 00029 
@@ -23,36 +23,41 @@
 00033 
 00035   DelayA();
 00036 
-00038   
-00039   DelayA(MY_FLOAT theDelay, long maxDelay);
-00040 
-00042   ~DelayA();
-00043 
-00045   void clear();
-00046 
-00048 
-00051   void setDelay(MY_FLOAT theDelay);
+00038 
+00043   DelayA(StkFloat delay, unsigned long maxDelay);
+00044 
+00046   ~DelayA();
+00047 
+00049   void clear();
+00050 
 00052 
-00054   MY_FLOAT getDelay(void);
-00055 
-00057 
-00060   MY_FLOAT nextOut(void);
+00055   void setDelay(StkFloat delay);
+00056 
+00058   StkFloat getDelay(void);
+00059 
 00061 
-00063   MY_FLOAT tick(MY_FLOAT sample);
-00064 
-00065 protected:  
-00066   MY_FLOAT alpha;
-00067   MY_FLOAT coeff;
-00068   MY_FLOAT apInput;
-00069   MY_FLOAT nextOutput;
-00070   bool doNextOut;
-00071 };
-00072 
-00073 #endif
+00064   StkFloat nextOut(void);
+00065 
+00067   StkFloat tick(StkFloat sample);
+00068 
+00070   virtual StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00071 
+00073 
+00079   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00080 
+00081 protected:  
+00082   StkFloat alpha_;
+00083   StkFloat coeff_;
+00084   StkFloat apInput_;
+00085   StkFloat nextOutput_;
+00086   bool doNextOut_;
+00087 };
+00088 
+00089 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/DelayL_8h-source.html b/doc/html/DelayL_8h-source.html index 16bab81..842e542 100644 --- a/doc/html/DelayL_8h-source.html +++ b/doc/html/DelayL_8h-source.html @@ -12,8 +12,8 @@

DelayL.h

00001 /***************************************************/
 00023 /***************************************************/
 00024 
-00025 #if !defined(__DELAYL_H)
-00026 #define __DELAYL_H
+00025 #ifndef STK_DELAYL_H
+00026 #define STK_DELAYL_H
 00027 
 00028 #include "Delay.h"
 00029 
@@ -23,33 +23,38 @@
 00033 
 00035   DelayL();
 00036 
-00038   
-00039   DelayL(MY_FLOAT theDelay, long maxDelay);
-00040 
-00042   ~DelayL();
-00043 
-00045 
-00048   void setDelay(MY_FLOAT theDelay);
+00038 
+00043   DelayL(StkFloat delay, unsigned long maxDelay);
+00044 
+00046   ~DelayL();
+00047 
 00049 
-00051   MY_FLOAT getDelay(void) const;
-00052 
-00054 
-00057   MY_FLOAT nextOut(void);
+00052   void setDelay(StkFloat delay);
+00053 
+00055   StkFloat getDelay(void) const;
+00056 
 00058 
-00060   MY_FLOAT tick(MY_FLOAT sample);
-00061 
-00062  protected:  
-00063   MY_FLOAT alpha;
-00064   MY_FLOAT omAlpha;
-00065   MY_FLOAT nextOutput;
-00066   bool doNextOut;
-00067 };
+00061   StkFloat nextOut(void);
+00062 
+00064   StkFloat tick(StkFloat sample);
+00065 
+00067   virtual StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
 00068 
-00069 #endif
+00070 
+00076   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00077 
+00078  protected:  
+00079   StkFloat alpha_;
+00080   StkFloat omAlpha_;
+00081   StkFloat nextOutput_;
+00082   bool doNextOut_;
+00083 };
+00084 
+00085 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Delay_8h-source.html b/doc/html/Delay_8h-source.html index 8ca1a9a..9b53f8a 100644 --- a/doc/html/Delay_8h-source.html +++ b/doc/html/Delay_8h-source.html @@ -12,8 +12,8 @@

Delay.h

00001 /***************************************************/
 00019 /***************************************************/
 00020 
-00021 #if !defined(__DELAY_H)
-00022 #define __DELAY_H
+00021 #ifndef STK_DELAY_H
+00022 #define STK_DELAY_H
 00023 
 00024 #include "Filter.h"
 00025 
@@ -23,44 +23,50 @@
 00029 
 00031   Delay();
 00032 
-00034   Delay(long theDelay, long maxDelay);
-00035 
-00037   virtual ~Delay();
-00038 
-00040   void clear();
-00041 
+00034 
+00039   Delay(unsigned long delay, unsigned long maxDelay);
+00040 
+00042   virtual ~Delay();
 00043 
-00046   void setDelay(long theDelay);
-00047 
-00049   long getDelay(void) const;
-00050 
-00052   MY_FLOAT energy(void) const;
-00053 
-00055 
-00060   MY_FLOAT contentsAt(unsigned long tapDelay) const;
-00061 
-00063   MY_FLOAT lastOut(void) const;
-00064 
-00066 
-00069   virtual MY_FLOAT nextOut(void) const;
+00045   void clear();
+00046 
+00048 
+00055   void setMaximumDelay(unsigned long delay);
+00056 
+00058 
+00061   void setDelay(unsigned long delay);
+00062 
+00064   unsigned long getDelay(void) const;
+00065 
+00067   StkFloat energy(void) const;
+00068 
 00070 
-00072   virtual MY_FLOAT tick(MY_FLOAT sample);
-00073 
-00075   virtual MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
+00075   StkFloat contentsAt(unsigned long tapDelay);
 00076 
-00077 protected:
-00078   long inPoint;
-00079   long outPoint;
-00080   long length;
-00081   MY_FLOAT delay;
-00082 };
-00083 
-00084 #endif
-00085 
+00078   StkFloat lastOut(void) const;
+00079 
+00081 
+00084   virtual StkFloat nextOut(void);
+00085 
+00087   virtual StkFloat tick(StkFloat sample);
+00088 
+00090   virtual StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00091 
+00093 
+00099   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00100 
+00101 protected:
+00102   unsigned long inPoint_;
+00103   unsigned long outPoint_;
+00104   StkFloat delay_;
+00105 };
+00106 
+00107 #endif
+00108 
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Drummer_8h-source.html b/doc/html/Drummer_8h-source.html index 272b30e..cb407c5 100644 --- a/doc/html/Drummer_8h-source.html +++ b/doc/html/Drummer_8h-source.html @@ -12,43 +12,48 @@

Drummer.h

00001 /***************************************************/
 00016 /***************************************************/
 00017 
-00018 #if !defined(__DRUMMER_H)
-00019 #define __DRUMMER_H
+00018 #ifndef STK_DRUMMER_H
+00019 #define STK_DRUMMER_H
 00020 
 00021 #include "Instrmnt.h"
 00022 #include "WvIn.h"
 00023 #include "OnePole.h"
 00024 
-00025 #define DRUM_NUMWAVES 11
-00026 #define DRUM_POLYPHONY 4
-00027 
+00025 const int DRUM_NUMWAVES = 11;
+00026 const int DRUM_POLYPHONY = 4;
+00027 
 00028 class Drummer : public Instrmnt
 00029 {
 00030  public:
-00032   Drummer();
-00033 
-00035   ~Drummer();
+00032 
+00035   Drummer();
 00036 
-00038 
-00043   void noteOn(MY_FLOAT instrument, MY_FLOAT amplitude);
-00044 
-00046   void noteOff(MY_FLOAT amplitude);
-00047 
-00049   MY_FLOAT tick();
-00050 
-00051  protected:  
-00052   WvIn    *waves[DRUM_POLYPHONY];
-00053   OnePole *filters[DRUM_POLYPHONY];
-00054   int      sounding[DRUM_POLYPHONY];
-00055   int      nSounding;
-00056 
-00057 };
-00058 
-00059 #endif
+00038   ~Drummer();
+00039 
+00041 
+00047   void noteOn(StkFloat instrument, StkFloat amplitude);
+00048 
+00050   void noteOff(StkFloat amplitude);
+00051 
+00053   StkFloat tick();
+00054 
+00056   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00057 
+00059 
+00065   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00066 
+00067  protected:  
+00068   WvIn    *waves_[DRUM_POLYPHONY];
+00069   OnePole *filters_[DRUM_POLYPHONY];
+00070   int      sounding_[DRUM_POLYPHONY];
+00071   int      nSounding_;
+00072 };
+00073 
+00074 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Echo_8h-source.html b/doc/html/Echo_8h-source.html index 325718e..8dc8e7d 100644 --- a/doc/html/Echo_8h-source.html +++ b/doc/html/Echo_8h-source.html @@ -12,45 +12,45 @@

Echo.h

00001 /***************************************************/
 00009 /***************************************************/
 00010 
-00011 #if !defined(__ECHO_H)
-00012 #define __ECHO_H
+00011 #ifndef STK_ECHO_H
+00012 #define STK_ECHO_H
 00013 
-00014 #include "Stk.h" 
+00014 #include "Effect.h" 
 00015 #include "Delay.h" 
 00016 
-00017 class Echo : public Stk
+00017 class Echo : public Effect
 00018 {
 00019  public:
-00021   Echo(MY_FLOAT longestDelay);
-00022 
-00024   ~Echo();
+00021 
+00024   Echo( unsigned long maximumDelay = (unsigned long) Stk::sampleRate() );
 00025 
-00027   void clear();
+00027   ~Echo();
 00028 
-00030   void setDelay(MY_FLOAT delay);
+00030   void clear();
 00031 
-00033   void setEffectMix(MY_FLOAT mix);
+00033   void setMaximumDelay( unsigned long delay );
 00034 
-00036   MY_FLOAT lastOut() const;
+00036   void setDelay( unsigned long delay );
 00037 
-00039   MY_FLOAT tick(MY_FLOAT input);
+00039   StkFloat tick(StkFloat input);
 00040 
-00042   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
+00042   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
 00043 
-00044  protected:  
-00045   Delay *delayLine;
-00046   long length;
-00047   MY_FLOAT lastOutput;
-00048   MY_FLOAT effectMix;
-00049 
-00050 };
-00051 
-00052 #endif
-00053 
+00045 
+00051   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00052 
+00053  protected:  
+00054   Delay delayLine_;
+00055   unsigned long length_;
+00056 
+00057 };
+00058 
+00059 #endif
+00060 
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Reverb_8h-source.html b/doc/html/Effect_8h-source.html similarity index 50% rename from doc/html/Reverb_8h-source.html rename to doc/html/Effect_8h-source.html index 976420e..ae50928 100644 --- a/doc/html/Reverb_8h-source.html +++ b/doc/html/Effect_8h-source.html @@ -9,51 +9,54 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
-

Reverb.h

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

Effect.h

00001 /***************************************************/
 00010 /***************************************************/
 00011 
 00012 #include "Stk.h"
 00013 
-00014 #if !defined(__REVERB_H)
-00015 #define __REVERB_H
+00014 #ifndef STK_EFFECT_H
+00015 #define STK_EFFECT_H
 00016 
-00017 class Reverb : public Stk
+00017 class Effect : public Stk
 00018 {
 00019  public:
-00021   Reverb();
+00021   Effect();
 00022 
-00024   virtual ~Reverb();
+00024   virtual ~Effect();
 00025 
-00027   virtual void clear() = 0;
+00027   virtual void clear() = 0;
 00028 
-00030   void setEffectMix(MY_FLOAT mix);
+00030   void setEffectMix(StkFloat mix);
 00031 
-00033   MY_FLOAT lastOut() const;
+00033   StkFloat lastOut() const;
 00034 
-00036   MY_FLOAT lastOutLeft() const;
+00036   StkFloat lastOutLeft() const;
 00037 
-00039   MY_FLOAT lastOutRight() const;
+00039   StkFloat lastOutRight() const;
 00040 
-00042   virtual MY_FLOAT tick(MY_FLOAT input) = 0;
+00042   virtual StkFloat tick( StkFloat input ) = 0;
 00043 
-00045   virtual MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
+00045   virtual StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
 00046 
-00047  protected:
 00048 
-00049   // Returns true if argument value is prime.
-00050   bool isPrime(int number);
-00051 
-00052   MY_FLOAT lastOutput[2];
-00053   MY_FLOAT effectMix;
-00054 
-00055 };
-00056 
-00057 #endif // defined(__REVERB_H)
-00058 
+00054   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00055 
+00056  protected:
+00057 
+00058   // Returns true if argument value is prime.
+00059   bool isPrime( int number );
+00060 
+00061   StkFloat lastOutput_[2];
+00062   StkFloat effectMix_;
+00063 
+00064 };
+00065 
+00066 #endif
+00067 
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Envelope_8h-source.html b/doc/html/Envelope_8h-source.html index 9a57c89..d229c61 100644 --- a/doc/html/Envelope_8h-source.html +++ b/doc/html/Envelope_8h-source.html @@ -12,12 +12,12 @@

Envelope.h

00001 /***************************************************/
 00014 /***************************************************/
 00015 
-00016 #if !defined(__ENVELOPE_H)
-00017 #define __ENVELOPE_H
+00016 #ifndef STK_ENVELOPE_H
+00017 #define STK_ENVELOPE_H
 00018 
-00019 #include "Stk.h"
+00019 #include "Generator.h"
 00020 
-00021 class Envelope : public Stk
+00021 class Envelope : public Generator
 00022 {
 00023  public:
 00024 
@@ -29,34 +29,35 @@
 00033 
 00035   virtual void keyOff(void);
 00036 
-00038   void setRate(MY_FLOAT aRate);
+00038   void setRate(StkFloat rate);
 00039 
-00041   void setTime(MY_FLOAT aTime);
+00041   void setTime(StkFloat time);
 00042 
-00044   virtual void setTarget(MY_FLOAT aTarget);
+00044   virtual void setTarget(StkFloat target);
 00045 
-00047   virtual void setValue(MY_FLOAT aValue);
+00047   virtual void setValue(StkFloat value);
 00048 
 00050   virtual int getState(void) const;
 00051 
-00053   virtual MY_FLOAT tick(void);
+00053   virtual StkFloat tick(void);
 00054 
-00056   virtual MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
+00056   virtual StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
 00057 
-00059   MY_FLOAT lastOut(void) const;
-00060 
-00061  protected:
-00062   MY_FLOAT value;
-00063   MY_FLOAT target;
-00064   MY_FLOAT rate;
-00065   int state;
-00066 };
-00067 
-00068 #endif
+00059 
+00065   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00066 
+00067  protected:
+00068   StkFloat value_;
+00069   StkFloat target_;
+00070   StkFloat rate_;
+00071   int state_;
+00072 };
+00073 
+00074 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FMVoices_8h-source.html b/doc/html/FMVoices_8h-source.html index 878a5d4..06a7d5c 100644 --- a/doc/html/FMVoices_8h-source.html +++ b/doc/html/FMVoices_8h-source.html @@ -12,37 +12,43 @@

FMVoices.h

00001 /***************************************************/
 00031 /***************************************************/
 00032 
-00033 #if !defined(__FMVOICES_H)
-00034 #define __FMVOICES_H
+00033 #ifndef STK_FMVOICES_H
+00034 #define STK_FMVOICES_H
 00035 
 00036 #include "FM.h"
 00037 
 00038 class FMVoices : public FM
 00039 {
 00040  public:
-00042   FMVoices();
-00043 
-00045   ~FMVoices();
+00042 
+00045   FMVoices();
 00046 
-00048   virtual void setFrequency(MY_FLOAT frequency);
+00048   ~FMVoices();
 00049 
-00051   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00051   virtual void setFrequency(StkFloat frequency);
 00052 
-00054   MY_FLOAT tick();
+00054   void noteOn(StkFloat frequency, StkFloat amplitude);
 00055 
-00057   virtual void controlChange(int number, MY_FLOAT value);
+00057   StkFloat tick();
 00058 
-00059  protected:
-00060   int currentVowel;
-00061   MY_FLOAT tilt[3];
-00062   MY_FLOAT mods[3];
-00063 };
-00064 
-00065 #endif
+00060   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00061 
+00063 
+00069   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00070 
+00072   virtual void controlChange(int number, StkFloat value);
+00073 
+00074  protected:
+00075   int currentVowel_;
+00076   StkFloat tilt_[3];
+00077   StkFloat mods_[3];
+00078 };
+00079 
+00080 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FM_8h-source.html b/doc/html/FM_8h-source.html index 8ebd7f6..e44d8cc 100644 --- a/doc/html/FM_8h-source.html +++ b/doc/html/FM_8h-source.html @@ -12,8 +12,8 @@

FM.h

00001 /***************************************************/
 00024 /***************************************************/
 00025 
-00026 #if !defined(__FM_H)
-00027 #define __FM_H
+00026 #ifndef STK_FM_H
+00027 #define STK_FM_H
 00028 
 00029 #include "Instrmnt.h"
 00030 #include "ADSR.h"
@@ -23,61 +23,67 @@
 00034 class FM : public Instrmnt
 00035 {
 00036  public:
-00038   FM( int operators = 4 );
-00039 
-00041   virtual ~FM();
+00038 
+00041   FM( unsigned int operators = 4 );
 00042 
-00044   void clear();
+00044   virtual ~FM();
 00045 
-00047   void loadWaves(const char **filenames);
+00047   void clear();
 00048 
-00050   virtual void setFrequency(MY_FLOAT frequency);
+00050   void loadWaves(const char **filenames);
 00051 
-00053   void setRatio(int waveIndex, MY_FLOAT ratio);
+00053   virtual void setFrequency(StkFloat frequency);
 00054 
-00056   void setGain(int waveIndex, MY_FLOAT gain);
+00056   void setRatio(unsigned int waveIndex, StkFloat ratio);
 00057 
-00059   void setModulationSpeed(MY_FLOAT mSpeed);
+00059   void setGain(unsigned int waveIndex, StkFloat gain);
 00060 
-00062   void setModulationDepth(MY_FLOAT mDepth);
+00062   void setModulationSpeed(StkFloat mSpeed);
 00063 
-00065   void setControl1(MY_FLOAT cVal);
+00065   void setModulationDepth(StkFloat mDepth);
 00066 
-00068   void setControl2(MY_FLOAT cVal);
+00068   void setControl1(StkFloat cVal);
 00069 
-00071   void keyOn();
+00071   void setControl2(StkFloat cVal);
 00072 
-00074   void keyOff();
+00074   void keyOn();
 00075 
-00077   void noteOff(MY_FLOAT amplitude);
+00077   void keyOff();
 00078 
-00080   virtual MY_FLOAT tick() = 0;
+00080   void noteOff(StkFloat amplitude);
 00081 
-00083   virtual void controlChange(int number, MY_FLOAT value);
+00083   virtual StkFloat tick() = 0;
 00084 
-00085  protected:  
-00086   ADSR     **adsr; 
-00087   WaveLoop **waves;
-00088   WaveLoop *vibrato;
-00089   TwoZero  *twozero;
-00090   int nOperators;
-00091   MY_FLOAT baseFrequency;
-00092   MY_FLOAT *ratios;
-00093   MY_FLOAT *gains;
-00094   MY_FLOAT modDepth;
-00095   MY_FLOAT control1;
-00096   MY_FLOAT control2;
-00097   MY_FLOAT __FM_gains[100];
-00098   MY_FLOAT __FM_susLevels[16];
-00099   MY_FLOAT __FM_attTimes[32];
-00100 
-00101 };
-00102 
-00103 #endif
+00086   virtual StkFloat *tick(StkFloat *vector, unsigned int vectorSize) = 0;
+00087 
+00089 
+00095   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 ) = 0;
+00096 
+00098   virtual void controlChange(int number, StkFloat value);
+00099 
+00100  protected:  
+00101   std::vector<ADSR *> adsr_; 
+00102   std::vector<WaveLoop *> waves_;
+00103   WaveLoop *vibrato_;
+00104   TwoZero  twozero_;
+00105   unsigned int nOperators_;
+00106   StkFloat baseFrequency_;
+00107   std::vector<StkFloat> ratios_;
+00108   std::vector<StkFloat> gains_;
+00109   StkFloat modDepth_;
+00110   StkFloat control1_;
+00111   StkFloat control2_;
+00112   StkFloat fmGains_[100];
+00113   StkFloat fmSusLevels_[16];
+00114   StkFloat fmAttTimes_[32];
+00115 
+00116 };
+00117 
+00118 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Filter_8h-source.html b/doc/html/Filter_8h-source.html index 5327235..c76a422 100644 --- a/doc/html/Filter_8h-source.html +++ b/doc/html/Filter_8h-source.html @@ -12,59 +12,62 @@

Filter.h

00001 /***************************************************/
 00028 /***************************************************/
 00029 
-00030 #if !defined(__FILTER_H)
-00031 #define __FILTER_H
+00030 #ifndef STK_FILTER_H
+00031 #define STK_FILTER_H
 00032 
 00033 #include "Stk.h"
-00034 
-00035 class Filter : public Stk
-00036 {
-00037 public:
-00039   Filter(void);
-00040 
+00034 #include <vector>
+00035 #include <valarray>
+00036 
+00037 class Filter : public Stk
+00038 {
+00039 public:
+00041   Filter(void);
 00042 
-00046   Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients);
-00047 
-00049   virtual ~Filter(void);
-00050 
-00052   void clear(void);
-00053 
+00044 
+00048   Filter( std::vector<StkFloat> &bCoefficients, std::vector<StkFloat> &aCoefficients );
+00049 
+00051   virtual ~Filter(void);
+00052 
+00054   void clear(void);
 00055 
-00060   void setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients);
-00061 
-00063 
-00069   void setNumerator(int nb, MY_FLOAT *bCoefficients);
-00070 
-00072 
-00080   void setDenominator(int na, MY_FLOAT *aCoefficients);
-00081 
-00083 
-00087   virtual void setGain(MY_FLOAT theGain);
-00088 
-00090   virtual MY_FLOAT getGain(void) const;
-00091 
-00093   virtual MY_FLOAT lastOut(void) const;
-00094 
-00096   virtual MY_FLOAT tick(MY_FLOAT sample);
-00097 
-00099   virtual MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00100 
-00101 protected:
-00102   MY_FLOAT gain;
-00103   int     nB;
-00104   int     nA;
-00105   MY_FLOAT *b;
-00106   MY_FLOAT *a;
-00107   MY_FLOAT *outputs;
-00108   MY_FLOAT *inputs;
-00109 
-00110 };
-00111 
-00112 #endif
+00057 
+00063   void setCoefficients( std::vector<StkFloat> &bCoefficients, std::vector<StkFloat> &aCoefficients );
+00064 
+00066 
+00073   void setNumerator( std::vector<StkFloat> &bCoefficients );
+00074 
+00076 
+00084   void setDenominator( std::vector<StkFloat> &aCoefficients );
+00085 
+00087 
+00091   virtual void setGain(StkFloat gain);
+00092 
+00094   virtual StkFloat getGain(void) const;
+00095 
+00097   virtual StkFloat lastOut(void) const;
+00098 
+00100   virtual StkFloat tick(StkFloat sample);
+00101 
+00103   virtual StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00104 
+00106 
+00112   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00113 
+00114 protected:
+00115   StkFloat gain_;
+00116   std::vector<StkFloat> b_;
+00117   std::vector<StkFloat> a_;
+00118   std::vector<StkFloat> outputs_;
+00119   std::vector<StkFloat> inputs_;
+00120 
+00121 };
+00122 
+00123 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Flute_8h-source.html b/doc/html/Flute_8h-source.html index dcc8fbf..9332c64 100644 --- a/doc/html/Flute_8h-source.html +++ b/doc/html/Flute_8h-source.html @@ -12,11 +12,11 @@

Flute.h

00001 /***************************************************/
 00023 /***************************************************/
 00024 
-00025 #if !defined(__FLUTE_H)
-00026 #define __FLUTE_H
+00025 #ifndef STK_FLUTE_H
+00026 #define STK_FLUTE_H
 00027 
 00028 #include "Instrmnt.h"
-00029 #include "JetTabl.h"
+00029 #include "JetTable.h"
 00030 #include "DelayL.h"
 00031 #include "OnePole.h"
 00032 #include "PoleZero.h"
@@ -27,58 +27,64 @@
 00037 class Flute : public Instrmnt
 00038 {
 00039  public:
-00041   Flute(MY_FLOAT lowestFrequency);
-00042 
-00044   ~Flute();
+00041 
+00044   Flute(StkFloat lowestFrequency);
 00045 
-00047   void clear();
+00047   ~Flute();
 00048 
-00050   void setFrequency(MY_FLOAT frequency);
+00050   void clear();
 00051 
-00053   void setJetReflection(MY_FLOAT coefficient);
+00053   void setFrequency(StkFloat frequency);
 00054 
-00056   void setEndReflection(MY_FLOAT coefficient);
+00056   void setJetReflection(StkFloat coefficient);
 00057 
-00059   void setJetDelay(MY_FLOAT aRatio);
+00059   void setEndReflection(StkFloat coefficient);
 00060 
-00062   void startBlowing(MY_FLOAT amplitude, MY_FLOAT rate);
+00062   void setJetDelay(StkFloat aRatio);
 00063 
-00065   void stopBlowing(MY_FLOAT rate);
+00065   void startBlowing(StkFloat amplitude, StkFloat rate);
 00066 
-00068   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00068   void stopBlowing(StkFloat rate);
 00069 
-00071   void noteOff(MY_FLOAT amplitude);
+00071   void noteOn(StkFloat frequency, StkFloat amplitude);
 00072 
-00074   MY_FLOAT tick();
+00074   void noteOff(StkFloat amplitude);
 00075 
-00077   void controlChange(int number, MY_FLOAT value);
+00077   StkFloat tick();
 00078 
-00079  protected:  
-00080   DelayL *jetDelay;
-00081   DelayL *boreDelay;
-00082   JetTabl *jetTable;
-00083   OnePole *filter;
-00084   PoleZero *dcBlock;
-00085   Noise *noise;
-00086   ADSR *adsr;
-00087   WaveLoop *vibrato;
-00088   long length;
-00089   MY_FLOAT lastFrequency;
-00090   MY_FLOAT maxPressure;
-00091   MY_FLOAT jetReflection;
-00092   MY_FLOAT endReflection;
-00093   MY_FLOAT noiseGain;
-00094   MY_FLOAT vibratoGain;
-00095   MY_FLOAT outputGain;
-00096   MY_FLOAT jetRatio;
-00097 
-00098 };
-00099 
-00100 #endif
+00080   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00081 
+00083 
+00089   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00090 
+00092   void controlChange(int number, StkFloat value);
+00093 
+00094  protected:  
+00095   DelayL   jetDelay_;
+00096   DelayL   boreDelay_;
+00097   JetTable jetTable_;
+00098   OnePole  filter_;
+00099   PoleZero dcBlock_;
+00100   Noise    noise_;
+00101   ADSR     adsr_;
+00102   WaveLoop *vibrato_;
+00103   unsigned long length_;
+00104   StkFloat lastFrequency_;
+00105   StkFloat maxPressure_;
+00106   StkFloat jetReflection_;
+00107   StkFloat endReflection_;
+00108   StkFloat noiseGain_;
+00109   StkFloat vibratoGain_;
+00110   StkFloat outputGain_;
+00111   StkFloat jetRatio_;
+00112 
+00113 };
+00114 
+00115 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FormSwep_8h-source.html b/doc/html/FormSwep_8h-source.html index 04ca32c..d7cbb85 100644 --- a/doc/html/FormSwep_8h-source.html +++ b/doc/html/FormSwep_8h-source.html @@ -12,8 +12,8 @@

FormSwep.h

00001 /***************************************************/
 00013 /***************************************************/
 00014 
-00015 #if !defined(__FORMSWEP_H)
-00016 #define __FORMSWEP_H
+00015 #ifndef STK_FORMSWEP_H
+00016 #define STK_FORMSWEP_H
 00017 
 00018 #include "BiQuad.h"
 00019 
@@ -26,45 +26,48 @@
 00028   ~FormSwep();
 00029 
 00031 
-00042   void setResonance(MY_FLOAT aFrequency, MY_FLOAT aRadius);
+00042   void setResonance(StkFloat frequency, StkFloat radius);
 00043 
-00045   void setStates(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain = 1.0);
+00045   void setStates(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
 00046 
-00048   void setTargets(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain = 1.0);
+00048   void setTargets(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
 00049 
 00051 
-00059   void setSweepRate(MY_FLOAT aRate);    
+00059   void setSweepRate(StkFloat rate);    
 00060 
 00062 
-00067   void setSweepTime(MY_FLOAT aTime);    
+00067   void setSweepTime(StkFloat time);    
 00068 
-00070   MY_FLOAT tick(MY_FLOAT sample);
+00070   StkFloat tick(StkFloat sample);
 00071 
-00073   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
+00073   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
 00074 
-00075  protected:  
-00076   bool dirty;
-00077   MY_FLOAT frequency;
-00078   MY_FLOAT radius;
-00079   MY_FLOAT startFrequency;
-00080   MY_FLOAT startRadius;
-00081   MY_FLOAT startGain;
-00082   MY_FLOAT targetFrequency;
-00083   MY_FLOAT targetRadius;
-00084   MY_FLOAT targetGain;
-00085   MY_FLOAT deltaFrequency;
-00086   MY_FLOAT deltaRadius;
-00087   MY_FLOAT deltaGain;
-00088   MY_FLOAT sweepState;
-00089   MY_FLOAT sweepRate;
-00090 
-00091 };
-00092 
-00093 #endif
+00076 
+00082   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00083 
+00084  protected:  
+00085   bool dirty_;
+00086   StkFloat frequency_;
+00087   StkFloat radius_;
+00088   StkFloat startFrequency_;
+00089   StkFloat startRadius_;
+00090   StkFloat startGain_;
+00091   StkFloat targetFrequency_;
+00092   StkFloat targetRadius_;
+00093   StkFloat targetGain_;
+00094   StkFloat deltaFrequency_;
+00095   StkFloat deltaRadius_;
+00096   StkFloat deltaGain_;
+00097   StkFloat sweepState_;
+00098   StkFloat sweepRate_;
+00099 
+00100 };
+00101 
+00102 #endif
 

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

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

Function.h

00001 /***************************************************/
+00011 /***************************************************/
+00012 
+00013 #include "Stk.h"
+00014 
+00015 #ifndef STK_FUNCTION_H
+00016 #define STK_FUNCTION_H
+00017 
+00018 class Function : public Stk
+00019 {
+00020  public:
+00022   Function();
+00023 
+00025   virtual ~Function();
+00026 
+00028   virtual StkFloat lastOut() const { return lastOutput_; };
+00029 
+00031   virtual StkFloat tick( StkFloat input ) = 0;
+00032 
+00034   virtual StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
+00035 
+00037 
+00043   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00044 
+00045  protected:
+00046 
+00047   StkFloat lastOutput_;
+00048 
+00049 };
+00050 
+00051 #endif
+00052 
+

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

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

Generator.h

00001 /***************************************************/
+00010 /***************************************************/
+00011 
+00012 #ifndef STK_GENERATOR_H
+00013 #define STK_GENERATOR_H
+00014 
+00015 #include "Stk.h"
+00016 
+00017 class Generator : public Stk
+00018 {
+00019  public:
+00021   Generator();
+00022 
+00024   virtual ~Generator();
+00025 
+00027   virtual StkFloat lastOut() const { return lastOutput_; };
+00028 
+00030   virtual StkFloat tick( void ) = 0;
+00031 
+00033   virtual StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
+00034 
+00036 
+00042   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00043 
+00044  protected:
+00045 
+00046   StkFloat lastOutput_;
+00047 
+00048 };
+00049 
+00050 #endif
+00051 
+

+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/HevyMetl_8h-source.html b/doc/html/HevyMetl_8h-source.html index 28e6cf0..8654b6a 100644 --- a/doc/html/HevyMetl_8h-source.html +++ b/doc/html/HevyMetl_8h-source.html @@ -12,28 +12,34 @@

HevyMetl.h

00001 /***************************************************/
 00029 /***************************************************/
 00030 
-00031 #if !defined(__HEVYMETL_H)
-00032 #define __HEVYMETL_H
+00031 #ifndef STK_HEVYMETL_H
+00032 #define STK_HEVYMETL_H
 00033 
 00034 #include "FM.h"
 00035 
 00036 class HevyMetl : public FM
 00037 {
 00038  public:
-00040   HevyMetl();
-00041 
-00043   ~HevyMetl();
+00040 
+00043   HevyMetl();
 00044 
-00046   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00046   ~HevyMetl();
 00047 
-00049   MY_FLOAT tick();
-00050 };
-00051 
-00052 #endif
+00049   void noteOn(StkFloat frequency, StkFloat amplitude);
+00050 
+00052   StkFloat tick();
+00053 
+00055   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00056 
+00058 
+00064   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00065 };
+00066 
+00067 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Instrmnt_8h-source.html b/doc/html/Instrmnt_8h-source.html index f9a86ec..61a294c 100644 --- a/doc/html/Instrmnt_8h-source.html +++ b/doc/html/Instrmnt_8h-source.html @@ -12,47 +12,49 @@

Instrmnt.h

00001 /***************************************************/
 00010 /***************************************************/
 00011 
-00012 #if !defined(__INSTRMNT_H)
-00013 #define __INSTRMNT_H
+00012 #ifndef STK_INSTRMNT_H
+00013 #define STK_INSTRMNT_H
 00014 
 00015 #include "Stk.h"
-00016 #include <iostream>
-00017 
-00018 class Instrmnt : public Stk
-00019 {
-00020  public:
-00022   Instrmnt();
-00023 
-00025   virtual ~Instrmnt();
-00026 
-00028   virtual void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude) = 0;
-00029 
-00031   virtual void noteOff(MY_FLOAT amplitude) = 0;
-00032 
-00034   virtual void setFrequency(MY_FLOAT frequency);
-00035 
-00037   MY_FLOAT lastOut() const;
-00038 
-00040   MY_FLOAT lastOutLeft() const;
-00041 
-00043   MY_FLOAT lastOutRight() const;
-00044 
-00046   virtual MY_FLOAT tick() = 0;
-00047 
-00049   virtual MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00050   
-00052   virtual void controlChange(int number, MY_FLOAT value);
-00053 
-00054   protected:
-00055     MY_FLOAT lastOutput;
-00056 
-00057 };
+00016 
+00017 class Instrmnt : public Stk
+00018 {
+00019  public:
+00021   Instrmnt();
+00022 
+00024   virtual ~Instrmnt();
+00025 
+00027   virtual void noteOn(StkFloat frequency, StkFloat amplitude) = 0;
+00028 
+00030   virtual void noteOff(StkFloat amplitude) = 0;
+00031 
+00033   virtual void setFrequency(StkFloat frequency);
+00034 
+00036   StkFloat lastOut() const;
+00037 
+00039   StkFloat lastOutLeft() const;
+00040 
+00042   StkFloat lastOutRight() const;
+00043 
+00045   virtual StkFloat tick() = 0;
+00046 
+00048   virtual StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00049 
+00051 
+00057   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
 00058 
-00059 #endif
+00060   virtual void controlChange(int number, StkFloat value);
+00061 
+00062   protected:
+00063     StkFloat lastOutput_;
+00064 
+00065 };
+00066 
+00067 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/JCRev_8h-source.html b/doc/html/JCRev_8h-source.html index 7fb1af3..ccdc281 100644 --- a/doc/html/JCRev_8h-source.html +++ b/doc/html/JCRev_8h-source.html @@ -12,39 +12,46 @@

JCRev.h

00001 /***************************************************/
 00015 /***************************************************/
 00016 
-00017 #if !defined(__JCREV_H)
-00018 #define __JCREV_H
+00017 #ifndef STK_JCREV_H
+00018 #define STK_JCREV_H
 00019 
-00020 #include "Reverb.h"
+00020 #include "Effect.h"
 00021 #include "Delay.h" 
 00022 
-00023 class JCRev : public Reverb
+00023 class JCRev : public Effect
 00024 {
 00025  public:
-00027   JCRev(MY_FLOAT T60);
+00027   JCRev( StkFloat T60 = 1.0 );
 00028 
 00030   ~JCRev();
 00031 
 00033   void clear();
 00034 
-00036   MY_FLOAT tick(MY_FLOAT input);
+00036   void setT60( StkFloat T60 );
 00037 
-00038  protected:
-00039   Delay *allpassDelays[3];
-00040   Delay *combDelays[4];
-00041   Delay *outLeftDelay;
-00042   Delay *outRightDelay;
-00043   MY_FLOAT allpassCoefficient;
-00044   MY_FLOAT combCoefficient[4];
+00039   StkFloat tick(StkFloat input);
+00040 
+00042   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
+00043 
 00045 
-00046 };
-00047 
-00048 #endif
-00049 
+00051   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00052 
+00053  protected:
+00054   Delay allpassDelays_[3];
+00055   Delay combDelays_[4];
+00056   Delay outLeftDelay_;
+00057   Delay outRightDelay_;
+00058   StkFloat allpassCoefficient_;
+00059   StkFloat combCoefficient_[4];
+00060 
+00061 };
+00062 
+00063 #endif
+00064 
 

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

-Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

-
- -

JetTabl.h

00001 /***************************************************/
-00014 /***************************************************/
-00015 
-00016 #if !defined(__JETTABL_H)
-00017 #define __JETTABL_H
-00018 
-00019 #include "Stk.h"
-00020 
-00021 class JetTabl : public Stk
-00022 {
-00023 public:
-00025   JetTabl();
-00026 
-00028   ~JetTabl();
-00029 
-00031   MY_FLOAT lastOut() const;
-00032 
-00034   MY_FLOAT tick(MY_FLOAT input);
-00035 
-00037   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00038 
-00039 protected:  
-00040   MY_FLOAT lastOutput;
-00041 
-00042 };
-00043 
-00044 #endif
-

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

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

JetTable.h

00001 /***************************************************/
+00014 /***************************************************/
+00015 
+00016 #ifndef STK_JETTABL_H
+00017 #define STK_JETTABL_H
+00018 
+00019 #include "Function.h"
+00020 
+00021 class JetTable : public Function
+00022 {
+00023 public:
+00025   JetTable();
+00026 
+00028   ~JetTable();
+00029 
+00031   StkFloat tick(StkFloat input);
+00032 
+00034   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
+00035 
+00037 
+00043   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00044 
+00045 protected:  
+00046 
+00047 };
+00048 
+00049 #endif
+

+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/Mandolin_8h-source.html b/doc/html/Mandolin_8h-source.html index e931879..c00f610 100644 --- a/doc/html/Mandolin_8h-source.html +++ b/doc/html/Mandolin_8h-source.html @@ -12,8 +12,8 @@

Mandolin.h

00001 /***************************************************/
 00028 /***************************************************/
 00029 
-00030 #if !defined(__MANDOLIN_H)
-00031 #define __MANDOLIN_H
+00030 #ifndef STK_MANDOLIN_H
+00031 #define STK_MANDOLIN_H
 00032 
 00033 #include "PluckTwo.h"
 00034 #include "WvIn.h"
@@ -21,35 +21,39 @@
 00036 class Mandolin : public PluckTwo
 00037 {
 00038  public:
-00040   Mandolin(MY_FLOAT lowestFrequency);
+00040   Mandolin(StkFloat lowestFrequency);
 00041 
-00043   virtual ~Mandolin();
+00043   ~Mandolin();
 00044 
-00046   void pluck(MY_FLOAT amplitude);
+00046   void pluck(StkFloat amplitude);
 00047 
-00049   void pluck(MY_FLOAT amplitude,MY_FLOAT position);
+00049   void pluck(StkFloat amplitude,StkFloat position);
 00050 
-00052   virtual void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00052   void noteOn(StkFloat frequency, StkFloat amplitude);
 00053 
-00055   void setBodySize(MY_FLOAT size);
+00055   void setBodySize(StkFloat size);
 00056 
-00058   virtual MY_FLOAT tick();
+00058   StkFloat tick();
 00059 
-00061   virtual void controlChange(int number, MY_FLOAT value);
+00061   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
 00062 
-00063   protected:  
-00064     WvIn *soundfile[12];
-00065     MY_FLOAT directBody;
-00066     int mic;
-00067     long dampTime;
-00068     bool waveDone;
-00069 };
-00070 
-00071 #endif
+00064 
+00070   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00071 
+00073   void controlChange(int number, StkFloat value);
+00074 
+00075   protected:  
+00076     WvIn *soundfile_[12];
+00077     int mic_;
+00078     long dampTime_;
+00079     bool waveDone_;
+00080 };
+00081 
+00082 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Mesh2D_8h-source.html b/doc/html/Mesh2D_8h-source.html index 895c3ee..13d7407 100644 --- a/doc/html/Mesh2D_8h-source.html +++ b/doc/html/Mesh2D_8h-source.html @@ -12,15 +12,15 @@

Mesh2D.h

00001 /***************************************************/
 00025 /***************************************************/
 00026 
-00027 #if !defined(__MESH2D_H)
-00028 #define __MESH2D_H
+00027 #ifndef STK_MESH2D_H
+00028 #define STK_MESH2D_H
 00029 
 00030 #include "Instrmnt.h"
 00031 #include "OnePole.h"
 00032 
-00033 #define NXMAX ((short)(12))
-00034 #define NYMAX ((short)(12))
-00035 
+00033 const short NXMAX = 12;
+00034 const short NYMAX = 12;
+00035 
 00036 class Mesh2D : public Instrmnt
 00037 {
 00038  public:
@@ -34,54 +34,57 @@
 00050 
 00052   void setNY(short lenY);
 00053 
-00055   void setInputPosition(MY_FLOAT xFactor, MY_FLOAT yFactor);
+00055   void setInputPosition(StkFloat xFactor, StkFloat yFactor);
 00056 
-00058   void setDecay(MY_FLOAT decayFactor);
+00058   void setDecay(StkFloat decayFactor);
 00059 
-00061   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00061   void noteOn(StkFloat frequency, StkFloat amplitude);
 00062 
-00064   void noteOff(MY_FLOAT amplitude);
+00064   void noteOff(StkFloat amplitude);
 00065 
-00067   MY_FLOAT energy();
+00067   StkFloat energy();
 00068 
-00070   MY_FLOAT tick();
+00070   StkFloat tick();
 00071 
-00073   MY_FLOAT tick(MY_FLOAT input);
+00073   StkFloat tick(StkFloat input);
 00074 
-00076   void controlChange(int number, MY_FLOAT value);
+00076   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
 00077 
-00078  protected:
 00079 
-00080   MY_FLOAT tick0();
-00081   MY_FLOAT tick1();
-00082   void clearMesh();
-00083 
-00084   short NX, NY;
-00085   short xInput, yInput;
-00086   OnePole *filterX[NXMAX];
-00087   OnePole *filterY[NYMAX];
-00088   MY_FLOAT v[NXMAX-1][NYMAX-1]; // junction velocities
-00089   MY_FLOAT vxp[NXMAX][NYMAX]; // positive-x velocity wave
-00090   MY_FLOAT vxm[NXMAX][NYMAX]; // negative-x velocity wave
-00091   MY_FLOAT vyp[NXMAX][NYMAX]; // positive-y velocity wave
-00092   MY_FLOAT vym[NXMAX][NYMAX]; // negative-y velocity wave
-00093 
-00094   // Alternate buffers
-00095   MY_FLOAT vxp1[NXMAX][NYMAX]; // positive-x velocity wave
-00096   MY_FLOAT vxm1[NXMAX][NYMAX]; // negative-x velocity wave
-00097   MY_FLOAT vyp1[NXMAX][NYMAX]; // positive-y velocity wave
-00098   MY_FLOAT vym1[NXMAX][NYMAX]; // negative-y velocity wave
-00099 
-00100   int counter; // time in samples
-00101 
-00102 
-00103 };
-00104 
-00105 #endif
+00085   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00086 
+00088   void controlChange(int number, StkFloat value);
+00089 
+00090  protected:
+00091 
+00092   StkFloat tick0();
+00093   StkFloat tick1();
+00094   void clearMesh();
+00095 
+00096   short NX_, NY_;
+00097   short xInput_, yInput_;
+00098   OnePole  filterX_[NXMAX];
+00099   OnePole  filterY_[NYMAX];
+00100   StkFloat v_[NXMAX-1][NYMAX-1]; // junction velocities
+00101   StkFloat vxp_[NXMAX][NYMAX];   // positive-x velocity wave
+00102   StkFloat vxm_[NXMAX][NYMAX];   // negative-x velocity wave
+00103   StkFloat vyp_[NXMAX][NYMAX];   // positive-y velocity wave
+00104   StkFloat vym_[NXMAX][NYMAX];   // negative-y velocity wave
+00105 
+00106   // Alternate buffers
+00107   StkFloat vxp1_[NXMAX][NYMAX];  // positive-x velocity wave
+00108   StkFloat vxm1_[NXMAX][NYMAX];  // negative-x velocity wave
+00109   StkFloat vyp1_[NXMAX][NYMAX];  // positive-y velocity wave
+00110   StkFloat vym1_[NXMAX][NYMAX];  // negative-y velocity wave
+00111 
+00112   int counter_; // time in samples
+00113 };
+00114 
+00115 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Messager_8h-source.html b/doc/html/Messager_8h-source.html index 50c262c..0aae454 100644 --- a/doc/html/Messager_8h-source.html +++ b/doc/html/Messager_8h-source.html @@ -10,103 +10,96 @@

Messager.h

00001 /***************************************************/
-00034 /***************************************************/
-00035 
-00036 #if !defined(__MESSAGER_H)
-00037 #define __MESSSAGER_H
-00038 
-00039 #include "Stk.h"
-00040 #include "SKINI.h"
+00033 /***************************************************/
+00034 
+00035 #ifndef STK_MESSAGER_H
+00036 #define STK_MESSAGER_H
+00037 
+00038 #include "Stk.h"
+00039 #include "Skini.h"
+00040 #include <queue>
 00041 
-00042 #define MESSAGE_LENGTH  128
-00043 #define MAX_MESSAGES 25
-00044 #define STK_MIDI        0x0001
-00045 #define STK_PIPE        0x0002
-00046 #define STK_SOCKET      0x0004
-00047 
-00048 #if defined(__STK_REALTIME__)
-00049 
-00050 #include "Thread.h"
-00051 #include "Socket.h"
-00052 #include "RtMidi.h"
-00053 
-00054 extern "C" THREAD_RETURN THREAD_TYPE stdinHandler(void * ptr);
-00055 
-00056 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
-00057   #include <sys/types.h>
-00058   #include <sys/time.h>
-00059 #endif
-00060 
-00061 #endif // __STK_REALTIME__
-00062 
-00063 class Messager : public Stk
-00064 {
-00065  public:
-00067 
-00075   Messager(int inputMask = 0, int port = 2001);
-00076 
-00078   ~Messager();
-00079 
+00042 const int DEFAULT_QUEUE_LIMIT = 200;
+00043 
+00044 #if defined(__STK_REALTIME__)
+00045 
+00046 #include "Mutex.h"
+00047 #include "Thread.h"
+00048 #include "Socket.h"
+00049 #include "RtMidi.h"
+00050 
+00051 extern "C" THREAD_RETURN THREAD_TYPE stdinHandler(void * ptr);
+00052 
+00053 extern "C" THREAD_RETURN THREAD_TYPE socketHandler(void * ptr);
+00054 
+00055 #endif // __STK_REALTIME__
+00056 
+00057 class Messager : public Stk
+00058 {
+00059  public:
+00060 
+00061   // This structure is used to share data among the various realtime
+00062   // messager threads.  It must be public.
+00063   struct MessagerData {
+00064     Skini skini;
+00065     std::queue<Skini::Message> queue;
+00066     unsigned int queueLimit;
+00067     int sources;
+00068 
+00069 #if defined(__STK_REALTIME__)
+00070     Mutex mutex;
+00071     RtMidiIn *midi;
+00072     Socket *socket;
+00073     std::vector<int> fd;
+00074     fd_set mask;
+00075 #endif
+00076 
+00077     // Default constructor.
+00078     MessagerData()
+00079       :queueLimit(0), sources(0) {}
+00080   };
 00081 
-00087   long nextMessage(void);
-00088 
-00090   void setRtDelta(long nSamples);
-00091 
-00093   long getDelta(void) const;
-00094 
-00096   long getType() const;
-00097 
-00099   MY_FLOAT getByteTwo() const;
-00100 
-00102   MY_FLOAT getByteThree() const;
-00103 
-00105   long getChannel() const;
-00106 
-00107  protected:
-00108 
-00109   SKINI *skini;
-00110   long type;
-00111   long channel;
-00112   MY_FLOAT byte2;
-00113   MY_FLOAT byte3;
-00114   int sources;
-00115   long delta;
-00116   long rtDelta;
-00117   char message[MAX_MESSAGES][MESSAGE_LENGTH];
-00118   unsigned int messageIndex;
-00119   int nMessages;
-00120 
-00121 #if defined(__STK_REALTIME__)
-00122 
-00123   // Check MIDI source for new messages.
-00124   bool midiMessage(void);
+00083   Messager();
+00084 
+00086   ~Messager();
+00087 
+00089 
+00095   void popMessage( Skini::Message& message );
+00096 
+00098   void pushMessage( Skini::Message& message );
+00099 
+00101 
+00109   bool setScoreFile( const char* filename );
+00110 
+00111 #if defined(__STK_REALTIME__)
+00112 
+00113 
+00122   bool startStdInput();
+00123 
 00125 
-00126   // Check socket sources for new messages.
-00127   bool socketMessage(void);
-00128 
-00129   // Receive and parse socket data.
-00130   bool readSocket(int fd);
-00131 
-00132   RtMidi *midi;
-00133   Thread *thread;
-00134   Socket *soket;
-00135 
-00136   unsigned int nSockets;  
-00137   fd_set mask;
-00138   int maxfd;
-00139   int pipefd;
-00140   int fd[16];
-00141   char error[256];
-00142 
-00143 #endif // __STK_REALTIME__
-00144 
-00145 };
-00146 
-00147 #endif // defined(__MESSAGER_H)
+00136   bool startSocketInput( int port=2001 );
+00137 
+00139 
+00151   bool startMidiInput( int port=0 );
+00152 
+00153 #endif
+00154 
+00155  protected:
+00156 
+00157   MessagerData data_;
+00158 
+00159 #if defined(__STK_REALTIME__)
+00160   Thread stdinThread_;
+00161   Thread socketThread_;
+00162 #endif
+00163 
+00164 };
+00165 
+00166 #endif
 

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

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

MidiFileIn.h

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

+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/ModalBar_8h-source.html b/doc/html/ModalBar_8h-source.html index 1f879bf..a445e61 100644 --- a/doc/html/ModalBar_8h-source.html +++ b/doc/html/ModalBar_8h-source.html @@ -10,36 +10,36 @@

ModalBar.h

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

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Modal_8h-source.html b/doc/html/Modal_8h-source.html index 204e3d4..1cb15bc 100644 --- a/doc/html/Modal_8h-source.html +++ b/doc/html/Modal_8h-source.html @@ -12,8 +12,8 @@

Modal.h

00001 /***************************************************/
 00012 /***************************************************/
 00013 
-00014 #if !defined(__MODAL_H)
-00015 #define __MODAL_H
+00014 #ifndef STK_MODAL_H
+00015 #define STK_MODAL_H
 00016 
 00017 #include "Instrmnt.h"
 00018 #include "Envelope.h"
@@ -24,57 +24,64 @@
 00023 class Modal : public Instrmnt
 00024 {
 00025 public:
-00027   Modal( int modes = 4 );
-00028 
-00030   virtual ~Modal();
+00027 
+00030   Modal( unsigned int modes = 4 );
 00031 
-00033   void clear();
+00033   virtual ~Modal();
 00034 
-00036   virtual void setFrequency(MY_FLOAT frequency);
+00036   void clear();
 00037 
-00039   void setRatioAndRadius(int modeIndex, MY_FLOAT ratio, MY_FLOAT radius);
+00039   virtual void setFrequency(StkFloat frequency);
 00040 
-00042   void setMasterGain(MY_FLOAT aGain);
+00042   void setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius);
 00043 
-00045   void setDirectGain(MY_FLOAT aGain);
+00045   void setMasterGain(StkFloat aGain);
 00046 
-00048   void setModeGain(int modeIndex, MY_FLOAT gain);
+00048   void setDirectGain(StkFloat aGain);
 00049 
-00051   virtual void strike(MY_FLOAT amplitude);
+00051   void setModeGain(unsigned int modeIndex, StkFloat gain);
 00052 
-00054   void damp(MY_FLOAT amplitude);
+00054   virtual void strike(StkFloat amplitude);
 00055 
-00057   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00057   void damp(StkFloat amplitude);
 00058 
-00060   void noteOff(MY_FLOAT amplitude);
+00060   void noteOn(StkFloat frequency, StkFloat amplitude);
 00061 
-00063   virtual MY_FLOAT tick();
+00063   void noteOff(StkFloat amplitude);
 00064 
-00066   virtual void controlChange(int number, MY_FLOAT value) = 0;
+00066   virtual StkFloat tick();
 00067 
-00068 protected:  
-00069   Envelope *envelope; 
-00070   WvIn     *wave;
-00071   BiQuad   **filters;
-00072   OnePole  *onepole;
-00073   WaveLoop *vibrato;
-00074   int nModes;
-00075   MY_FLOAT vibratoGain;
-00076   MY_FLOAT masterGain;
-00077   MY_FLOAT directGain;
-00078   MY_FLOAT stickHardness;
-00079   MY_FLOAT strikePosition;
-00080   MY_FLOAT baseFrequency;
-00081   MY_FLOAT *ratios;
-00082   MY_FLOAT *radii;
-00083 
-00084 };
-00085 
-00086 #endif
+00069   virtual StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00070 
+00072 
+00078   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00079 
+00081   virtual void controlChange(int number, StkFloat value) = 0;
+00082 
+00083 protected:  
+00084   Envelope envelope_; 
+00085   WvIn    *wave_;
+00086   BiQuad **filters_;
+00087   OnePole  onepole_;
+00088   WaveLoop *vibrato_;
+00089 
+00090   unsigned int nModes_;
+00091   std::vector<StkFloat> ratios_;
+00092   std::vector<StkFloat> radii_;
+00093 
+00094   StkFloat vibratoGain_;
+00095   StkFloat masterGain_;
+00096   StkFloat directGain_;
+00097   StkFloat stickHardness_;
+00098   StkFloat strikePosition_;
+00099   StkFloat baseFrequency_;
+00100 };
+00101 
+00102 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Modulate_8h-source.html b/doc/html/Modulate_8h-source.html index 5a7d099..a270b0c 100644 --- a/doc/html/Modulate_8h-source.html +++ b/doc/html/Modulate_8h-source.html @@ -12,50 +12,51 @@

Modulate.h

00001 /***************************************************/
 00011 /***************************************************/
 00012 
-00013 #if !defined(__MODULATE_H)
-00014 #define __MODULATE_H
+00013 #ifndef STK_MODULATE_H
+00014 #define STK_MODULATE_H
 00015 
-00016 #include "Stk.h"
+00016 #include "Generator.h"
 00017 #include "WaveLoop.h"
 00018 #include "SubNoise.h"
 00019 #include "OnePole.h"
 00020 
-00021 class Modulate : public Stk
+00021 class Modulate : public Generator
 00022 {
 00023  public:
-00025   Modulate();
-00026 
-00028   ~Modulate();
+00025 
+00028   Modulate();
 00029 
-00031   void reset();
+00031   ~Modulate();
 00032 
-00034   void setVibratoRate(MY_FLOAT aRate);
+00034   void reset();
 00035 
-00037   void setVibratoGain(MY_FLOAT aGain);
+00037   void setVibratoRate(StkFloat rate);
 00038 
-00040   void setRandomGain(MY_FLOAT aGain);
+00040   void setVibratoGain(StkFloat gain);
 00041 
-00043   MY_FLOAT tick();
+00043   void setRandomGain(StkFloat gain);
 00044 
-00046   virtual MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
+00046   StkFloat tick();
 00047 
-00049   MY_FLOAT lastOut() const;
+00049   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
 00050 
-00051  protected:
-00052   WaveLoop *vibrato;
-00053   SubNoise *noise;
-00054   OnePole  *filter;
-00055   MY_FLOAT vibratoGain;
-00056   MY_FLOAT randomGain;
-00057   MY_FLOAT lastOutput;
-00058 
-00059 };
-00060 
-00061 #endif
+00052 
+00058   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00059 
+00060  protected:
+00061   WaveLoop *vibrato_;
+00062   SubNoise noise_;
+00063   OnePole  filter_;
+00064   StkFloat vibratoGain_;
+00065   StkFloat randomGain_;
+00066 
+00067 };
+00068 
+00069 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Moog_8h-source.html b/doc/html/Moog_8h-source.html index 3931d29..693d8af 100644 --- a/doc/html/Moog_8h-source.html +++ b/doc/html/Moog_8h-source.html @@ -12,8 +12,8 @@

Moog.h

00001 /***************************************************/
 00019 /***************************************************/
 00020 
-00021 #if !defined(__MOOG_H)
-00022 #define __MOOG_H
+00021 #ifndef STK_MOOG_H
+00022 #define STK_MOOG_H
 00023 
 00024 #include "Sampler.h"
 00025 #include "FormSwep.h"
@@ -21,35 +21,41 @@
 00027 class Moog : public Sampler
 00028 {
 00029  public:
-00031   Moog();
-00032 
-00034   ~Moog();
+00031 
+00034   Moog();
 00035 
-00037   virtual void setFrequency(MY_FLOAT frequency);
+00037   ~Moog();
 00038 
-00040   virtual void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00040   void setFrequency(StkFloat frequency);
 00041 
-00043   void setModulationSpeed(MY_FLOAT mSpeed);
+00043   void noteOn(StkFloat frequency, StkFloat amplitude);
 00044 
-00046   void setModulationDepth(MY_FLOAT mDepth);
+00046   void setModulationSpeed(StkFloat mSpeed);
 00047 
-00049   virtual MY_FLOAT tick();
+00049   void setModulationDepth(StkFloat mDepth);
 00050 
-00052   virtual void controlChange(int number, MY_FLOAT value);
+00052   StkFloat tick();
 00053 
-00054  protected:
-00055   FormSwep *filters[2];
-00056   MY_FLOAT modDepth;
-00057   MY_FLOAT filterQ;
-00058   MY_FLOAT filterRate;
-00059 
-00060 };
-00061 
-00062 #endif
+00055   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00056 
+00058 
+00064   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00065 
+00067   void controlChange(int number, StkFloat value);
+00068 
+00069  protected:
+00070   FormSwep filters_[2];
+00071   StkFloat modDepth_;
+00072   StkFloat filterQ_;
+00073   StkFloat filterRate_;
+00074 
+00075 };
+00076 
+00077 #endif
 

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

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

Mutex.h

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

+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/NRev_8h-source.html b/doc/html/NRev_8h-source.html index c282dce..0264ddf 100644 --- a/doc/html/NRev_8h-source.html +++ b/doc/html/NRev_8h-source.html @@ -12,38 +12,45 @@

NRev.h

00001 /***************************************************/
 00017 /***************************************************/
 00018 
-00019 #if !defined(__NREV_H)
-00020 #define __NREV_H
+00019 #ifndef STK_NREV_H
+00020 #define STK_NREV_H
 00021 
-00022 #include "Reverb.h" 
+00022 #include "Effect.h" 
 00023 #include "Delay.h" 
 00024 
-00025 class NRev : public Reverb
+00025 class NRev : public Effect
 00026 {
 00027  public:
-00029   NRev(MY_FLOAT T60);
+00029   NRev( StkFloat T60 = 1.0 );
 00030 
 00032   ~NRev();
 00033 
 00035   void clear();
 00036 
-00038   MY_FLOAT tick(MY_FLOAT input);
+00038   void setT60( StkFloat T60 );
 00039 
-00040  protected:  
-00041   Delay *allpassDelays[8];
-00042   Delay *combDelays[6];
-00043   MY_FLOAT allpassCoefficient;
-00044   MY_FLOAT combCoefficient[6];
-00045         MY_FLOAT lowpassState;
-00046 
-00047 };
-00048 
-00049 #endif
-00050 
+00041   StkFloat tick(StkFloat input);
+00042 
+00044   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
+00045 
+00047 
+00053   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00054 
+00055  protected:  
+00056   Delay allpassDelays_[8];
+00057   Delay combDelays_[6];
+00058   StkFloat allpassCoefficient_;
+00059   StkFloat combCoefficient_[6];
+00060          StkFloat lowpassState_;
+00061 
+00062 };
+00063 
+00064 #endif
+00065 
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Noise_8h-source.html b/doc/html/Noise_8h-source.html index 4d918c0..457dcbc 100644 --- a/doc/html/Noise_8h-source.html +++ b/doc/html/Noise_8h-source.html @@ -12,12 +12,12 @@

Noise.h

00001 /***************************************************/
 00011 /***************************************************/
 00012 
-00013 #if !defined(__NOISE_H)
-00014 #define __NOISE_H
+00013 #ifndef STK_NOISE_H
+00014 #define STK_NOISE_H
 00015 
-00016 #include "Stk.h"
+00016 #include "Generator.h"
 00017 
-00018 class Noise : public Stk
+00018 class Noise : public Generator
 00019 {
 00020 public:
 00021 
@@ -31,23 +31,22 @@
 00036 
 00040   void setSeed( unsigned int seed = 0 );
 00041 
-00043   virtual MY_FLOAT tick();
+00043   virtual StkFloat tick();
 00044 
-00046   virtual MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
+00046   virtual StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
 00047 
-00049   MY_FLOAT lastOut() const;
-00050 
-00051 protected:  
-00052 
-00053   MY_FLOAT lastOutput;
-00054 
-00055 };
+00049 
+00055   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
 00056 
-00057 #endif
+00057 protected:
+00058 
+00059 };
+00060 
+00061 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/OnePole_8h-source.html b/doc/html/OnePole_8h-source.html index b089aa5..6022ceb 100644 --- a/doc/html/OnePole_8h-source.html +++ b/doc/html/OnePole_8h-source.html @@ -12,8 +12,8 @@

OnePole.h

00001 /***************************************************/
 00013 /***************************************************/
 00014 
-00015 #if !defined(__ONEPOLE_H)
-00016 #define __ONEPOLE_H
+00015 #ifndef STK_ONEPOLE_H
+00016 #define STK_ONEPOLE_H
 00017 
 00018 #include "Filter.h"
 00019 
@@ -23,36 +23,40 @@
 00023 
 00025   OnePole();
 00026 
-00028   OnePole(MY_FLOAT thePole);
+00028   OnePole(StkFloat thePole);
 00029 
 00031   ~OnePole();
 00032 
 00034   void clear(void);
 00035 
-00037   void setB0(MY_FLOAT b0);
+00037   void setB0(StkFloat b0);
 00038 
-00040   void setA1(MY_FLOAT a1);
+00040   void setA1(StkFloat a1);
 00041 
 00043 
-00050   void setPole(MY_FLOAT thePole);
+00050   void setPole(StkFloat thePole);
 00051 
 00053 
-00057   void setGain(MY_FLOAT theGain);
+00057   void setGain(StkFloat gain);
 00058 
-00060   MY_FLOAT getGain(void) const;
+00060   StkFloat getGain(void) const;
 00061 
-00063   MY_FLOAT lastOut(void) const;
+00063   StkFloat lastOut(void) const;
 00064 
-00066   MY_FLOAT tick(MY_FLOAT sample);
+00066   StkFloat tick(StkFloat sample);
 00067 
-00069   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00070 };
-00071 
-00072 #endif
+00069   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00070 
+00072 
+00078   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00079 
+00080 };
+00081 
+00082 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/OneZero_8h-source.html b/doc/html/OneZero_8h-source.html index afae63b..e7da91c 100644 --- a/doc/html/OneZero_8h-source.html +++ b/doc/html/OneZero_8h-source.html @@ -12,8 +12,8 @@

OneZero.h

00001 /***************************************************/
 00013 /***************************************************/
 00014 
-00015 #if !defined(__ONEZERO_H)
-00016 #define __ONEZERO_H
+00015 #ifndef STK_ONEZERO_H
+00016 #define STK_ONEZERO_H
 00017 
 00018 #include "Filter.h"
 00019 
@@ -23,36 +23,40 @@
 00023 
 00025   OneZero();
 00026 
-00028   OneZero(MY_FLOAT theZero);
+00028   OneZero(StkFloat theZero);
 00029 
 00031   ~OneZero();
 00032 
 00034   void clear(void);
 00035 
-00037   void setB0(MY_FLOAT b0);
+00037   void setB0(StkFloat b0);
 00038 
-00040   void setB1(MY_FLOAT b1);
+00040   void setB1(StkFloat b1);
 00041 
 00043 
-00050   void setZero(MY_FLOAT theZero);
+00050   void setZero(StkFloat theZero);
 00051 
 00053 
-00057   void setGain(MY_FLOAT theGain);
+00057   void setGain(StkFloat gain);
 00058 
-00060   MY_FLOAT getGain(void) const;
+00060   StkFloat getGain(void) const;
 00061 
-00063   MY_FLOAT lastOut(void) const;
+00063   StkFloat lastOut(void) const;
 00064 
-00066   MY_FLOAT tick(MY_FLOAT sample);
+00066   StkFloat tick(StkFloat sample);
 00067 
-00069   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00070 };
-00071 
-00072 #endif
+00069   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00070 
+00072 
+00078   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00079 
+00080 };
+00081 
+00082 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/PRCRev_8h-source.html b/doc/html/PRCRev_8h-source.html index dc2d0ec..a76faeb 100644 --- a/doc/html/PRCRev_8h-source.html +++ b/doc/html/PRCRev_8h-source.html @@ -12,37 +12,44 @@

PRCRev.h

00001 /***************************************************/
 00015 /***************************************************/
 00016 
-00017 #if !defined(__PRCREV_H)
-00018 #define __PRCREV_H
+00017 #ifndef STK_PRCREV_H
+00018 #define STK_PRCREV_H
 00019 
-00020 #include "Reverb.h" 
+00020 #include "Effect.h" 
 00021 #include "Delay.h" 
 00022 
-00023 class PRCRev : public Reverb
+00023 class PRCRev : public Effect
 00024 {
 00025 public:
-00027   PRCRev(MY_FLOAT T60);
+00027   PRCRev( StkFloat T60 = 1.0 );
 00028 
 00030   ~PRCRev();
 00031 
 00033   void clear();
 00034 
-00036   MY_FLOAT tick(MY_FLOAT input);
+00036   void setT60( StkFloat T60 );
 00037 
-00038 protected:  
-00039   Delay *allpassDelays[2];
-00040   Delay *combDelays[2];
-00041   MY_FLOAT allpassCoefficient;
-00042   MY_FLOAT combCoefficient[2];
+00039   StkFloat tick(StkFloat input);
+00040 
+00042   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
 00043 
-00044 };
 00045 
-00046 #endif
-00047 
+00051   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00052 
+00053 protected:  
+00054   Delay allpassDelays_[2];
+00055   Delay combDelays_[2];
+00056   StkFloat allpassCoefficient_;
+00057   StkFloat combCoefficient_[2];
+00058 
+00059 };
+00060 
+00061 #endif
+00062 
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/PercFlut_8h-source.html b/doc/html/PercFlut_8h-source.html index bcd090c..bcd6402 100644 --- a/doc/html/PercFlut_8h-source.html +++ b/doc/html/PercFlut_8h-source.html @@ -12,30 +12,36 @@

PercFlut.h

00001 /***************************************************/
 00027 /***************************************************/
 00028 
-00029 #if !defined(__PERCFLUT_H)
-00030 #define __PERCFLUT_H
+00029 #ifndef STK_PERCFLUT_H
+00030 #define STK_PERCFLUT_H
 00031 
 00032 #include "FM.h"
 00033 
 00034 class PercFlut : public FM
 00035 {
 00036  public:
-00038   PercFlut();
-00039 
-00041   ~PercFlut();
+00038 
+00041   PercFlut();
 00042 
-00044   void setFrequency(MY_FLOAT frequency);
+00044   ~PercFlut();
 00045 
-00047   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00047   void setFrequency(StkFloat frequency);
 00048 
-00050   MY_FLOAT tick();
-00051 };
-00052 
-00053 #endif
+00050   void noteOn(StkFloat frequency, StkFloat amplitude);
+00051 
+00053   StkFloat tick();
+00054 
+00056   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00057 
+00059 
+00065   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00066 };
+00067 
+00068 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Phonemes_8h-source.html b/doc/html/Phonemes_8h-source.html index a5fc300..af5f142 100644 --- a/doc/html/Phonemes_8h-source.html +++ b/doc/html/Phonemes_8h-source.html @@ -12,12 +12,12 @@

Phonemes.h

00001 /***************************************************/
 00011 /***************************************************/
 00012 
-00013 #if !defined(__PHONEMES_H)
-00014 #define __PHONEMES_H
+00013 #ifndef STK_PHONEMES_H
+00014 #define STK_PHONEMES_H
 00015 
 00016 #include "Stk.h"
 00017 
-00018 class Phonemes
+00018 class Phonemes : public Stk
 00019 {
 00020 public:
 00021 
@@ -26,29 +26,28 @@
 00024 
 00026   static const char *name( unsigned int index );
 00027 
-00029   static MY_FLOAT voiceGain( unsigned int index );
+00029   static StkFloat voiceGain( unsigned int index );
 00030 
-00032   static MY_FLOAT noiseGain( unsigned int index );
+00032   static StkFloat noiseGain( unsigned int index );
 00033 
-00035   static MY_FLOAT formantFrequency( unsigned int index, unsigned int partial );
+00035   static StkFloat formantFrequency( unsigned int index, unsigned int partial );
 00036 
-00038   static MY_FLOAT formantRadius( unsigned int index, unsigned int partial );
+00038   static StkFloat formantRadius( unsigned int index, unsigned int partial );
 00039 
-00041   static MY_FLOAT formantGain( unsigned int index, unsigned int partial );
+00041   static StkFloat formantGain( unsigned int index, unsigned int partial );
 00042 
 00043 private:
 00044 
 00045   static const char phonemeNames[][4];
-00046   static const MY_FLOAT phonemeGains[][2];
-00047   static const MY_FLOAT phonemeParameters[][4][3];
-00048 
-00049 };
-00050 
-00051 #endif
+00046   static const StkFloat phonemeGains[][2];
+00047   static const StkFloat phonemeParameters[][4][3];
+00048 };
+00049 
+00050 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/PitShift_8h-source.html b/doc/html/PitShift_8h-source.html index 8499054..7fbdd0e 100644 --- a/doc/html/PitShift_8h-source.html +++ b/doc/html/PitShift_8h-source.html @@ -12,13 +12,13 @@

PitShift.h

00001 /***************************************************/
 00010 /***************************************************/
 00011 
-00012 #if !defined(__PITSHIFT_H)
-00013 #define __PITSHIFT_H
+00012 #ifndef STK_PITSHIFT_H
+00013 #define STK_PITSHIFT_H
 00014 
-00015 #include "Stk.h" 
+00015 #include "Effect.h" 
 00016 #include "DelayL.h" 
 00017 
-00018 class PitShift : public Stk
+00018 class PitShift : public Effect
 00019 {
 00020  public:
 00022   PitShift();
@@ -27,32 +27,31 @@
 00026 
 00028   void clear();
 00029 
-00031   void setShift(MY_FLOAT shift);
+00031   void setShift(StkFloat shift);
 00032 
-00034   void setEffectMix(MY_FLOAT mix);
+00034   StkFloat tick(StkFloat input);
 00035 
-00037   MY_FLOAT lastOut() const;
+00037   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
 00038 
-00040   MY_FLOAT tick(MY_FLOAT input);
-00041 
-00043   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00044 
-00045  protected:  
-00046   DelayL *delayLine[2];
-00047   MY_FLOAT lastOutput;
-00048   MY_FLOAT delay[2];
-00049   MY_FLOAT env[2];
-00050   MY_FLOAT effectMix;
-00051   MY_FLOAT rate;
-00052 
-00053 };
-00054 
-00055 #endif
-00056 
+00040 
+00046   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00047 
+00048  protected:  
+00049   DelayL delayLine_[2];
+00050   StkFloat delay_[2];
+00051   StkFloat env_[2];
+00052   StkFloat rate_;
+00053   unsigned long delayLength;
+00054   unsigned long halfLength;
+00055 
+00056 };
+00057 
+00058 #endif
+00059 
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/PluckTwo_8h-source.html b/doc/html/PluckTwo_8h-source.html index cba23d3..7a4a88c 100644 --- a/doc/html/PluckTwo_8h-source.html +++ b/doc/html/PluckTwo_8h-source.html @@ -12,8 +12,8 @@

PluckTwo.h

00001 /***************************************************/
 00019 /***************************************************/
 00020 
-00021 #if !defined(__PLUCKTWO_H)
-00022 #define __PLUCKTWO_H
+00021 #ifndef STK_PLUCKTWO_H
+00022 #define STK_PLUCKTWO_H
 00023 
 00024 #include "Instrmnt.h"
 00025 #include "DelayL.h"
@@ -23,49 +23,55 @@
 00029 class PluckTwo : public Instrmnt
 00030 {
 00031  public:
-00033   PluckTwo(MY_FLOAT lowestFrequency);
+00033   PluckTwo(StkFloat lowestFrequency);
 00034 
 00036   virtual ~PluckTwo();
 00037 
 00039   void clear();
 00040 
-00042   virtual void setFrequency(MY_FLOAT frequency);
+00042   virtual void setFrequency(StkFloat frequency);
 00043 
-00045   void setDetune(MY_FLOAT detune);
+00045   void setDetune(StkFloat detune);
 00046 
-00048   void setFreqAndDetune(MY_FLOAT frequency, MY_FLOAT detune);
+00048   void setFreqAndDetune(StkFloat frequency, StkFloat detune);
 00049 
-00051   void setPluckPosition(MY_FLOAT position);
+00051   void setPluckPosition(StkFloat position);
 00052 
 00054 
-00059   void setBaseLoopGain(MY_FLOAT aGain);
+00059   void setBaseLoopGain(StkFloat aGain);
 00060 
-00062   virtual void noteOff(MY_FLOAT amplitude);
+00062   virtual void noteOff(StkFloat amplitude);
 00063 
-00065   virtual MY_FLOAT tick() = 0;
+00065   virtual StkFloat tick() = 0;
 00066 
-00067   protected:  
-00068     DelayA *delayLine;
-00069     DelayA *delayLine2;
-00070     DelayL *combDelay;
-00071     OneZero *filter;
-00072     OneZero *filter2;
-00073     long length;
-00074     MY_FLOAT loopGain;
-00075     MY_FLOAT baseLoopGain;
-00076     MY_FLOAT lastFrequency;
-00077     MY_FLOAT lastLength;
-00078     MY_FLOAT detuning;
-00079     MY_FLOAT pluckAmplitude;
-00080     MY_FLOAT pluckPosition;
-00081 
-00082 };
-00083 
-00084 #endif
+00068   virtual StkFloat *tick(StkFloat *vector, unsigned int vectorSize) = 0;
+00069 
+00071 
+00077   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 ) = 0;
+00078 
+00079  protected:  
+00080     DelayA  delayLine_;
+00081     DelayA  delayLine2_;
+00082     DelayL  combDelay_;
+00083     OneZero filter_;
+00084     OneZero filter2_;
+00085 
+00086     unsigned long length_;
+00087     StkFloat loopGain_;
+00088     StkFloat baseLoopGain_;
+00089     StkFloat lastFrequency_;
+00090     StkFloat lastLength_;
+00091     StkFloat detuning_;
+00092     StkFloat pluckAmplitude_;
+00093     StkFloat pluckPosition_;
+00094 
+00095 };
+00096 
+00097 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Plucked_8h-source.html b/doc/html/Plucked_8h-source.html index f2410b6..932c542 100644 --- a/doc/html/Plucked_8h-source.html +++ b/doc/html/Plucked_8h-source.html @@ -12,8 +12,8 @@

Plucked.h

00001 /***************************************************/
 00018 /***************************************************/
 00019 
-00020 #if !defined(__PLUCKED_H)
-00021 #define __PLUCKED_H
+00020 #ifndef STK_PLUCKED_H
+00021 #define STK_PLUCKED_H
 00022 
 00023 #include "Instrmnt.h"
 00024 #include "DelayA.h"
@@ -24,38 +24,43 @@
 00029 class Plucked : public Instrmnt
 00030 {
 00031  public:
-00033   Plucked(MY_FLOAT lowestFrequency);
+00033   Plucked(StkFloat lowestFrequency);
 00034 
 00036   ~Plucked();
 00037 
 00039   void clear();
 00040 
-00042   virtual void setFrequency(MY_FLOAT frequency);
+00042   virtual void setFrequency(StkFloat frequency);
 00043 
-00045   void pluck(MY_FLOAT amplitude);
+00045   void pluck(StkFloat amplitude);
 00046 
-00048   virtual void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00048   virtual void noteOn(StkFloat frequency, StkFloat amplitude);
 00049 
-00051   virtual void noteOff(MY_FLOAT amplitude);
+00051   virtual void noteOff(StkFloat amplitude);
 00052 
-00054   virtual MY_FLOAT tick();
+00054   virtual StkFloat tick();
 00055 
-00056  protected:  
-00057   DelayA *delayLine;
-00058   OneZero *loopFilter;
-00059   OnePole *pickFilter;
-00060   Noise *noise;
-00061   long length;
-00062   MY_FLOAT loopGain;
-00063 
-00064 };
-00065 
-00066 #endif
-00067 
+00057   virtual StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00058 
+00060 
+00066   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00067 
+00068  protected:  
+00069   DelayA   delayLine_;
+00070   OneZero  loopFilter_;
+00071   OnePole  pickFilter_;
+00072   Noise    noise_;
+00073   StkFloat loopGain_;
+00074   unsigned long length_;
+00075 
+00076 };
+00077 
+00078 #endif
+00079 
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/PoleZero_8h-source.html b/doc/html/PoleZero_8h-source.html index e8f25d0..a98aa80 100644 --- a/doc/html/PoleZero_8h-source.html +++ b/doc/html/PoleZero_8h-source.html @@ -12,8 +12,8 @@

PoleZero.h

00001 /***************************************************/
 00013 /***************************************************/
 00014 
-00015 #if !defined(__POLEZERO_H)
-00016 #define __POLEZERO_H
+00015 #ifndef STK_POLEZERO_H
+00016 #define STK_POLEZERO_H
 00017 
 00018 #include "Filter.h"
 00019 
@@ -27,35 +27,39 @@
 00029 
 00031   void clear(void);
 00032 
-00034   void setB0(MY_FLOAT b0);
+00034   void setB0(StkFloat b0);
 00035 
-00037   void setB1(MY_FLOAT b1);
+00037   void setB1(StkFloat b1);
 00038 
-00040   void setA1(MY_FLOAT a1);
+00040   void setA1(StkFloat a1);
 00041 
 00043 
-00048   void setAllpass(MY_FLOAT coefficient);
+00048   void setAllpass(StkFloat coefficient);
 00049 
 00051 
-00057   void setBlockZero(MY_FLOAT thePole = 0.99);
+00057   void setBlockZero(StkFloat thePole = 0.99);
 00058 
 00060 
-00064   void setGain(MY_FLOAT theGain);
+00064   void setGain(StkFloat gain);
 00065 
-00067   MY_FLOAT getGain(void) const;
+00067   StkFloat getGain(void) const;
 00068 
-00070   MY_FLOAT lastOut(void) const;
+00070   StkFloat lastOut(void) const;
 00071 
-00073   MY_FLOAT tick(MY_FLOAT sample);
+00073   StkFloat tick(StkFloat sample);
 00074 
-00076   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00077 };
-00078 
-00079 #endif
+00076   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00077 
+00079 
+00085   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00086 
+00087 };
+00088 
+00089 #endif
 

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

-Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

-
- -

ReedTabl.h

00001 /***************************************************/
-00018 /***************************************************/
-00019 
-00020 #if !defined(__REEDTABL_H)
-00021 #define __REEDTABL_H
-00022 
-00023 #include "Stk.h"
-00024 
-00025 class ReedTabl : public Stk
-00026 {
-00027 public:
-00029   ReedTabl();
-00030 
-00032   ~ReedTabl();
-00033 
-00035 
-00040   void setOffset(MY_FLOAT aValue);
-00041 
-00043 
-00048   void setSlope(MY_FLOAT aValue);
-00049 
-00051   MY_FLOAT lastOut() const;
-00052 
-00054 
-00058   MY_FLOAT tick(MY_FLOAT input);
-00059 
-00061   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00062 
-00063 protected:  
-00064   MY_FLOAT offSet;
-00065   MY_FLOAT slope;
-00066   MY_FLOAT lastOutput;
-00067 
-00068 };
-00069 
-00070 #endif
-

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

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

ReedTable.h

00001 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 #ifndef STK_REEDTABLE_H
+00021 #define STK_REEDTABLE_H
+00022 
+00023 #include "Function.h"
+00024 
+00025 class ReedTable : public Function
+00026 {
+00027 public:
+00029   ReedTable();
+00030 
+00032   ~ReedTable();
+00033 
+00035 
+00040   void setOffset(StkFloat offset);
+00041 
+00043 
+00048   void setSlope(StkFloat slope);
+00049 
+00051 
+00055   StkFloat tick(StkFloat input);
+00056 
+00058   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
+00059 
+00061 
+00067   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00068 
+00069 protected:  
+00070   StkFloat offset_;
+00071   StkFloat slope_;
+00072 
+00073 };
+00074 
+00075 #endif
+

+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/Resonate_8h-source.html b/doc/html/Resonate_8h-source.html index a0ed83b..ccffecd 100644 --- a/doc/html/Resonate_8h-source.html +++ b/doc/html/Resonate_8h-source.html @@ -12,8 +12,8 @@

Resonate.h

00001 /***************************************************/
 00018 /***************************************************/
 00019 
-00020 #if !defined(__RESONATE_H)
-00021 #define __RESONATE_H
+00020 #ifndef STK_RESONATE_H
+00021 #define STK_RESONATE_H
 00022 
 00023 #include "Instrmnt.h"
 00024 #include "ADSR.h"
@@ -29,9 +29,9 @@
 00036 
 00038   void clear();
 00039 
-00041   void setResonance(MY_FLOAT frequency, MY_FLOAT radius);
+00041   void setResonance(StkFloat frequency, StkFloat radius);
 00042 
-00044   void setNotch(MY_FLOAT frequency, MY_FLOAT radius);
+00044   void setNotch(StkFloat frequency, StkFloat radius);
 00045 
 00047   void setEqualGainZeroes();
 00048 
@@ -39,30 +39,35 @@
 00051 
 00053   void keyOff();
 00054 
-00056   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00056   void noteOn(StkFloat frequency, StkFloat amplitude);
 00057 
-00059   void noteOff(MY_FLOAT amplitude);
+00059   void noteOff(StkFloat amplitude);
 00060 
-00062   MY_FLOAT tick();
+00062   StkFloat tick();
 00063 
-00065   virtual void controlChange(int number, MY_FLOAT value);
+00065   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
 00066 
-00067  protected:  
-00068   ADSR     *adsr;
-00069   BiQuad   *filter;
-00070   Noise    *noise;
-00071   MY_FLOAT poleFrequency;
-00072   MY_FLOAT poleRadius;
-00073   MY_FLOAT zeroFrequency;
-00074   MY_FLOAT zeroRadius;
+00068 
+00074   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
 00075 
-00076 };
-00077 
-00078 #endif
+00077   void controlChange(int number, StkFloat value);
+00078 
+00079  protected:  
+00080   ADSR     adsr_;
+00081   BiQuad   filter_;
+00082   Noise    noise_;
+00083   StkFloat poleFrequency_;
+00084   StkFloat poleRadius_;
+00085   StkFloat zeroFrequency_;
+00086   StkFloat zeroRadius_;
+00087 
+00088 };
+00089 
+00090 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Rhodey_8h-source.html b/doc/html/Rhodey_8h-source.html index d723d7e..3591e4d 100644 --- a/doc/html/Rhodey_8h-source.html +++ b/doc/html/Rhodey_8h-source.html @@ -12,30 +12,36 @@

Rhodey.h

00001 /***************************************************/
 00031 /***************************************************/
 00032 
-00033 #if !defined(__RHODEY_H)
-00034 #define __RHODEY_H
+00033 #ifndef STK_RHODEY_H
+00034 #define STK_RHODEY_H
 00035 
 00036 #include "FM.h"
 00037 
 00038 class Rhodey : public FM
 00039 {
 00040  public:
-00042   Rhodey();
-00043 
-00045   ~Rhodey();
+00042 
+00045   Rhodey();
 00046 
-00048   void setFrequency(MY_FLOAT frequency);
+00048   ~Rhodey();
 00049 
-00051   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00051   void setFrequency(StkFloat frequency);
 00052 
-00054   MY_FLOAT tick();
-00055 };
-00056 
-00057 #endif
+00054   void noteOn(StkFloat frequency, StkFloat amplitude);
+00055 
+00057   StkFloat tick();
+00058 
+00060   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00061 
+00063 
+00069   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00070 };
+00071 
+00072 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/RtAudio_8h-source.html b/doc/html/RtAudio_8h-source.html index ac6806f..656e93c 100644 --- a/doc/html/RtAudio_8h-source.html +++ b/doc/html/RtAudio_8h-source.html @@ -12,7 +12,7 @@

RtAudio.h

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

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/RtDuplex_8h-source.html b/doc/html/RtDuplex_8h-source.html index 8d6c46c..cc3b2de 100644 --- a/doc/html/RtDuplex_8h-source.html +++ b/doc/html/RtDuplex_8h-source.html @@ -10,58 +10,64 @@

RtDuplex.h

00001 /***************************************************/
-00022 /***************************************************/
-00023 
-00024 #if !defined(__RTDUPLEX_H)
-00025 #define __RTDUPLEX_H
-00026 
-00027 #include "Stk.h"
-00028 #include "RtAudio.h"
-00029 
-00030 class RtDuplex : public Stk
-00031 {
-00032 public:
-00034 
-00045   RtDuplex(int nChannels = 1, MY_FLOAT sampleRate = Stk::sampleRate(), int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 2);
-00046 
-00048   ~RtDuplex();
-00049 
-00051 
-00054   void start(void);
-00055 
-00057 
-00060   void stop(void);
-00061 
-00063   MY_FLOAT lastOut(void) const;
+00029 /***************************************************/
+00030 
+00031 #ifndef STK_RTDUPLEX_H
+00032 #define STK_RTDUPLEX_H
+00033 
+00034 #include "Stk.h"
+00035 #include "RtAudio.h"
+00036 
+00037 class RtDuplex : public Stk
+00038 {
+00039 public:
+00041 
+00052   RtDuplex(int nChannels = 1, StkFloat sampleRate = Stk::sampleRate(), int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 2);
+00053 
+00055   ~RtDuplex();
+00056 
+00058 
+00061   void start(void);
+00062 
 00064 
-00066 
-00069   MY_FLOAT tick(const MY_FLOAT sample);
-00070 
-00072 
-00075   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00076 
-00078   const MY_FLOAT *lastFrame(void) const;
+00067   void stop(void);
+00068 
+00070   StkFloat lastOut(void) const;
+00071 
+00073 
+00076   StkFloat tick(const StkFloat sample);
+00077 
 00079 
-00081 
-00084   MY_FLOAT *tickFrame(MY_FLOAT *frameVector, unsigned int frames = 1);
+00082   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00083 
 00085 
-00086 protected:
-00087 
-00088         RtAudio *audio_;
-00089   MY_FLOAT *data_;
-00090   MY_FLOAT *lastOutput_;
-00091   int bufferSize_;
-00092   bool stopped_;
-00093   long counter_;
-00094   unsigned int channels_;
-00095 
-00096 };
-00097 
-00098 #endif
+00092   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00093 
+00095   const StkFloat *lastFrame(void) const;
+00096 
+00098 
+00101   StkFloat *tickFrame(StkFloat *frameVector, unsigned int frames = 1);
+00102 
+00104 
+00110   StkFrames& tickFrame( StkFrames& frames );
+00111 
+00112 protected:
+00113 
+00114          RtAudio *audio_;
+00115   StkFloat *data_;
+00116   StkFloat *lastOutput_;
+00117   int bufferSize_;
+00118   bool stopped_;
+00119   long counter_;
+00120   unsigned int channels_;
+00121 
+00122 };
+00123 
+00124 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/RtError_8h-source.html b/doc/html/RtError_8h-source.html index 523e75d..a341baf 100644 --- a/doc/html/RtError_8h-source.html +++ b/doc/html/RtError_8h-source.html @@ -40,7 +40,7 @@ 00038 Type type_; 00039 00040 public: -00042 RtError(const std::string& message, Type type = RtError::UNSPECIFIED) : message_(message), type_(type){} +00042 RtError(const std::string& message, Type type = RtError::UNSPECIFIED) : message_(message), type_(type) {} 00043 00045 virtual ~RtError(void) {}; 00046 @@ -57,7 +57,7 @@

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/RtMidi_8h-source.html b/doc/html/RtMidi_8h-source.html index 8c9ad1d..24761a5 100644 --- a/doc/html/RtMidi_8h-source.html +++ b/doc/html/RtMidi_8h-source.html @@ -9,51 +9,157 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
-

RtMidi.h

00001 /***************************************************/
-00030 /***************************************************/
-00031 
-00032 #if !defined(__RTMIDI_H)
-00033 #define __RTMIDI_H
-00034 
-00035 #include "Stk.h"
-00036 
-00037 class RtMidi : public Stk
-00038 {
-00039  public:
-00041   RtMidi(int device = 0);
-00042 
-00044   ~RtMidi();
+

RtMidi.h

00001 /**********************************************************************/
+00036 /**********************************************************************/
+00037 
+00038 // RtMidi: Version 1.0.2, 21 September 2004
+00039 
+00040 #ifndef RTMIDI_H
+00041 #define RTMIDI_H
+00042 
+00043 #include "RtError.h"
+00044 #include <string>
 00045 
-00047   void printMessage(void) const;
-00048 
-00050 
-00053   int nextMessage(void);
-00054 
-00056   int getType() const;
-00057 
-00059   int getChannel() const;
+00046 class RtMidi
+00047 {
+00048  protected:
+00049 
+00050   RtMidi();
+00051 
+00052   virtual ~RtMidi() {};
+00053 
+00054   // A basic error reporting function for internal use in the RtMidi
+00055   // subclasses.  The behavior of this function can be modified to
+00056   // suit specific needs.
+00057   void error( RtError::Type type );
+00058 
+00059   virtual void openPort( unsigned int portNumber = 0 ) = 0;
 00060 
-00062   MY_FLOAT getByteTwo() const;
-00063 
-00065   MY_FLOAT getByteThree() const;
-00066 
-00068         MY_FLOAT getDeltaTime() const;
-00069 
-00070  protected:
-00071   int messageType;
-00072   int channel;
-00073   float byteTwo;
-00074   float byteThree;
-00075         MY_FLOAT deltaTime;
-00076   int readIndex;
-00077 
-00078 };
-00079 
-00080 #endif
+00061   void *apiData_;
+00062   bool connected_;
+00063   std::string errorString_;
+00064 };
+00065 
+00066 /**********************************************************************/
+00082 /**********************************************************************/
+00083 
+00084 #include <vector>
+00085 #include <queue>
+00086 
+00087 class RtMidiIn : public RtMidi
+00088 {
+00089  public:
+00090 
+00092   typedef void (*RtMidiCallback)( double timeStamp, std::vector<unsigned char> *message, void *userData);
+00093 
+00095 
+00098   RtMidiIn();
+00099 
+00101   ~RtMidiIn();
+00102 
+00104 
+00108   void openPort( unsigned int portNumber = 0 );
+00109 
+00111 
+00117   void openVirtualPort();
+00118 
+00120 
+00126   void setCallback( RtMidiCallback callback, void *userData = 0 );
+00127 
+00129 
+00133   void cancelCallback();
+00134 
+00136   void closePort( void );
+00137 
+00139   unsigned int getPortCount();
+00140 
+00142 
+00145   std::string getPortName( unsigned int portNumber = 0 );
+00146 
+00148 
+00152   void setQueueSizeLimit( unsigned int queueSize );
+00153 
+00155 
+00162   void ignoreTypes( bool midiSysex = true, bool midiTime = true, bool midiSense = true );
+00163 
+00165 
+00172   double getMessage( std::vector<unsigned char> *message );
+00173 
+00174   // A MIDI structure used internally by the class to store incoming
+00175   // messages.  Each message represents one and only one MIDI message.
+00176   struct MidiMessage { 
+00177     std::vector<unsigned char> bytes; 
+00178     double timeStamp;
+00179 
+00180     // Default constructor.
+00181     MidiMessage()
+00182       :bytes(3), timeStamp(0.0) {}
+00183   };
+00184 
+00185   // The RtMidiInData structure is used to pass private class data to
+00186   // the MIDI input handling function or thread.
+00187   struct RtMidiInData {
+00188     std::queue<MidiMessage> queue;
+00189     unsigned int queueLimit;
+00190     unsigned char ignoreFlags;
+00191     bool doInput;
+00192     bool firstMessage;
+00193     void *apiData;
+00194     bool usingCallback;
+00195     void *userCallback;
+00196     void *userData;
+00197 
+00198     // Default constructor.
+00199     RtMidiInData()
+00200       : queueLimit(1024), ignoreFlags(7), doInput(false), firstMessage(true),
+00201         apiData(0), usingCallback(false), userCallback(0), userData(0) {}
+00202   };
+00203 
+00204  private:
+00205 
+00206   void initialize( void );
+00207   RtMidiInData inputData_;
+00208 
+00209 };
+00210 
+00211 /**********************************************************************/
+00223 /**********************************************************************/
+00224 
+00225 class RtMidiOut : public RtMidi
+00226 {
+00227  public:
+00228 
+00230 
+00233   RtMidiOut();
+00234 
+00236   ~RtMidiOut();
+00237 
+00239 
+00245   void openPort( unsigned int portNumber = 0 );
+00246 
+00248   void closePort();
+00249 
+00251 
+00259   void openVirtualPort();
+00260 
+00262   unsigned int getPortCount();
+00263 
+00265 
+00268   std::string getPortName( unsigned int portNumber );
+00269 
+00271 
+00275   void sendMessage( std::vector<unsigned char> *message );
+00276 
+00277  private:
+00278 
+00279   void initialize( void );
+00280 };
+00281 
+00282 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/RtWvIn_8h-source.html b/doc/html/RtWvIn_8h-source.html index 06ab8cb..e00b687 100644 --- a/doc/html/RtWvIn_8h-source.html +++ b/doc/html/RtWvIn_8h-source.html @@ -10,58 +10,63 @@

RtWvIn.h

00001 /***************************************************/
-00020 /***************************************************/
-00021 
-00022 #if !defined(__RTWVIN_H)
-00023 #define __RTWVIN_H
-00024 
-00025 #include "Stk.h"
-00026 #include "WvIn.h"
-00027 #include "RtAudio.h"
-00028 
-00029 class RtWvIn : protected WvIn
-00030 {
-00031 public:
-00033 
-00044   RtWvIn(int nChannels = 1, MY_FLOAT sampleRate = Stk::sampleRate(), int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 2);
-00045 
-00047   ~RtWvIn();
+00024 /***************************************************/
+00025 
+00026 #ifndef STK_RTWVIN_H
+00027 #define STK_RTWVIN_H
+00028 
+00029 #include "WvIn.h"
+00030 #include "RtAudio.h"
+00031 
+00032 class RtWvIn : protected WvIn
+00033 {
+00034 public:
+00036 
+00047   RtWvIn(int nChannels = 1, StkFloat sampleRate = Stk::sampleRate(), int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 2);
 00048 
-00050 
-00053   void start(void);
-00054 
-00056 
-00059   void stop(void);
-00060 
-00062   MY_FLOAT lastOut(void) const;
+00050   ~RtWvIn();
+00051 
+00053 
+00056   void start(void);
+00057 
+00059 
+00062   void stop(void);
 00063 
-00065 
-00068   MY_FLOAT tick(void);
-00069 
-00071 
-00074   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00075 
-00077   const MY_FLOAT *lastFrame(void) const;
+00065   StkFloat lastOut(void) const;
+00066 
+00068 
+00071   StkFloat tick(void);
+00072 
+00074 
+00077   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
 00078 
 00080 
-00083   const MY_FLOAT *tickFrame(void);
-00084 
-00086 
-00089   MY_FLOAT *tickFrame(MY_FLOAT *frameVector, unsigned int frames);
+00086   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00087 
+00089   const StkFloat *lastFrame(void) const;
 00090 
-00091 protected:
 00092 
-00093         RtAudio *audio_;
-00094   bool stopped_;
-00095   long counter_;
+00095   const StkFloat *tickFrame(void);
 00096 
-00097 };
 00098 
-00099 #endif
+00101   StkFloat *tickFrame(StkFloat *frameVector, unsigned int frames);
+00102 
+00104 
+00109   StkFrames& tickFrame( StkFrames& frames );
+00110 
+00111 protected:
+00112 
+00113          RtAudio *audio_;
+00114   bool stopped_;
+00115   long counter_;
+00116 
+00117 };
+00118 
+00119 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/RtWvOut_8h-source.html b/doc/html/RtWvOut_8h-source.html index f51d045..dc7f153 100644 --- a/doc/html/RtWvOut_8h-source.html +++ b/doc/html/RtWvOut_8h-source.html @@ -10,56 +10,62 @@

RtWvOut.h

00001 /***************************************************/
-00019 /***************************************************/
-00020 
-00021 #if !defined(__RTWVOUT_H)
-00022 #define __RTWVOUT_H
-00023 
-00024 #include "WvOut.h"
-00025 #include "RtAudio.h"
-00026 #include "Thread.h"
-00027 
-00028 class RtWvOut : protected WvOut
-00029 {
-00030  public:
-00031 
-00033 
-00044   RtWvOut(unsigned int nChannels = 1, MY_FLOAT sampleRate = Stk::sampleRate(), int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 4 );
-00045 
-00047   ~RtWvOut();
+00023 /***************************************************/
+00024 
+00025 #ifndef STK_RTWVOUT_H
+00026 #define STK_RTWVOUT_H
+00027 
+00028 #include "WvOut.h"
+00029 #include "RtAudio.h"
+00030 
+00031 class RtWvOut : protected WvOut
+00032 {
+00033  public:
+00034 
+00036 
+00047   RtWvOut(unsigned int nChannels = 1, StkFloat sampleRate = Stk::sampleRate(), int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 4 );
 00048 
-00050 
-00053   void start(void);
-00054 
-00056 
-00059   void stop(void);
-00060 
-00062   unsigned long getFrames( void ) const;
+00050   ~RtWvOut();
+00051 
+00053 
+00056   void start(void);
+00057 
+00059 
+00062   void stop(void);
 00063 
-00065   MY_FLOAT getTime( void ) const;
+00065   unsigned long getFrames( void ) const;
 00066 
-00068 
-00071   void tick(const MY_FLOAT sample);
-00072 
-00074 
-00077   void tick(const MY_FLOAT *vector, unsigned int vectorSize);
-00078 
-00080 
-00083   void tickFrame(const MY_FLOAT *frameVector, unsigned int frames = 1);
-00084 
-00085  protected:
-00086 
-00087         RtAudio *audio_;
-00088   bool stopped_;
-00089   int bufferSize_;
+00068   StkFloat getTime( void ) const;
+00069 
+00071 
+00074   void tick( const StkFloat sample );
+00075 
+00077 
+00080   void tick( const StkFloat *vector, unsigned int vectorSize );
+00081 
+00083 
+00089   void tick( const StkFrames& frames, unsigned int channel = 1 );
 00090 
-00091 };
 00092 
-00093 #endif // defined(__RTWVOUT_H)
+00095   void tickFrame( const StkFloat *frameVector, unsigned int frames = 1 );
+00096 
+00098 
+00103   void tickFrame( const StkFrames& frames );
+00104 
+00105  protected:
+00106 
+00107   RtAudio *audio_;
+00108   StkFloat *dataPtr_;
+00109   bool stopped_;
+00110   int bufferSize_;
+00111 
+00112 };
+00113 
+00114 #endif
 

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

-Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

-
- -

SKINI.h

00001 /***************************************************/
-00026 /***************************************************/
-00027 
-00028 #if !defined(__SKINI_H)
-00029 #define __SKINI_H
-00030 
-00031 #include "Stk.h"
-00032 #include <stdio.h>
-00033 
-00034 class SKINI : public Stk
-00035 {
-00036  public:
-00038   SKINI();
-00039 
-00041   SKINI(char *fileName);
-00042 
-00044   ~SKINI();
-00045 
-00047 
-00050   long parseThis(char* aString);
-00051 
-00053 
-00056   long nextMessage();
-00057 
-00059   long getType() const;
-00060 
-00062   long getChannel() const;
-00063 
-00065   MY_FLOAT getDelta() const;
-00066 
-00068   MY_FLOAT getByteTwo() const;
-00069 
-00071   MY_FLOAT getByteThree() const;
-00072 
-00074   long getByteTwoInt() const;
-00075 
-00077   long getByteThreeInt() const;
-00078 
-00080   const char* getRemainderString();
-00081 
-00083   const char* getMessageTypeString();
-00084 
-00086   const char* whatsThisType(long type);
-00087 
-00089   const char* whatsThisController(long number);
-00090 
-00091  protected:
-00092 
-00093   FILE *myFile;
-00094   long messageType;
-00095   char msgTypeString[64];
-00096   long channel;
-00097   MY_FLOAT deltaTime;
-00098   MY_FLOAT byteTwo;
-00099   MY_FLOAT byteThree;
-00100   long byteTwoInt;
-00101   long byteThreeInt;
-00102   char remainderString[1024];
-00103   char whatString[1024];
-00104 };
-00105 
-00106 static const double Midi2Pitch[129] = {
-00107 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25,
-00108 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45,
-00109 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87,
-00110 32.70,34.65,36.71,38.89,41.20,43.65,46.25,49.00,
-00111 51.91,55.00,58.27,61.74,65.41,69.30,73.42,77.78,
-00112 82.41,87.31,92.50,98.00,103.83,110.00,116.54,123.47,
-00113 130.81,138.59,146.83,155.56,164.81,174.61,185.00,196.00,
-00114 207.65,220.00,233.08,246.94,261.63,277.18,293.66,311.13,
-00115 329.63,349.23,369.99,392.00,415.30,440.00,466.16,493.88,
-00116 523.25,554.37,587.33,622.25,659.26,698.46,739.99,783.99,
-00117 830.61,880.00,932.33,987.77,1046.50,1108.73,1174.66,1244.51,
-00118 1318.51,1396.91,1479.98,1567.98,1661.22,1760.00,1864.66,1975.53,
-00119 2093.00,2217.46,2349.32,2489.02,2637.02,2793.83,2959.96,3135.96,
-00120 3322.44,3520.00,3729.31,3951.07,4186.01,4434.92,4698.64,4978.03,
-00121 5274.04,5587.65,5919.91,6271.93,6644.88,7040.00,7458.62,7902.13,
-00122 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
-00123 13289.75};
-00124 
-00125 #endif
-00126 
-00127 
-

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

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

SKINI.msg

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

+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/Sampler_8h-source.html b/doc/html/Sampler_8h-source.html index 0f17403..51aa49d 100644 --- a/doc/html/Sampler_8h-source.html +++ b/doc/html/Sampler_8h-source.html @@ -12,8 +12,8 @@

Sampler.h

00001 /***************************************************/
 00010 /***************************************************/
 00011 
-00012 #if !defined(__SAMPLER_H)
-00013 #define __SAMPLER_H
+00012 #ifndef STK_SAMPLER_H
+00013 #define STK_SAMPLER_H
 00014 
 00015 #include "Instrmnt.h"
 00016 #include "ADSR.h"
@@ -30,37 +30,41 @@
 00029 
 00031   void clear();
 00032 
-00034   virtual void setFrequency(MY_FLOAT frequency) = 0;
+00034   virtual void setFrequency(StkFloat frequency) = 0;
 00035 
 00037   void keyOn();
 00038 
 00040   void keyOff();
 00041 
-00043   virtual void noteOff(MY_FLOAT amplitude);
+00043   virtual void noteOff(StkFloat amplitude);
 00044 
-00046   virtual MY_FLOAT tick();
+00046   virtual StkFloat tick() = 0;
 00047 
-00049   virtual void controlChange(int number, MY_FLOAT value) = 0;
+00049   virtual StkFloat *tick(StkFloat *vector, unsigned int vectorSize) = 0;
 00050 
-00051  protected:  
-00052   ADSR     *adsr; 
-00053   WvIn     *attacks[5];
-00054   WaveLoop *loops[5];
-00055   OnePole  *filter;
-00056   MY_FLOAT baseFrequency;
-00057   MY_FLOAT attackRatios[5];
-00058   MY_FLOAT loopRatios[5];
-00059   MY_FLOAT attackGain;
-00060   MY_FLOAT loopGain;
-00061   int whichOne;
+00052 
+00058   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 ) = 0;
+00059 
+00061   virtual void controlChange(int number, StkFloat value) = 0;
 00062 
-00063 };
-00064 
-00065 #endif
+00063  protected:  
+00064   ADSR adsr_;
+00065   std::vector<WvIn *> attacks_;
+00066   std::vector<WaveLoop *> loops_;
+00067   OnePole filter_;
+00068   StkFloat baseFrequency_;
+00069   std::vector<StkFloat> attackRatios_;
+00070   std::vector<StkFloat> loopRatios_;
+00071   StkFloat attackGain_;
+00072   StkFloat loopGain_;
+00073 
+00074 };
+00075 
+00076 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Saxofony_8h-source.html b/doc/html/Saxofony_8h-source.html index 6fdea2a..46a703f 100644 --- a/doc/html/Saxofony_8h-source.html +++ b/doc/html/Saxofony_8h-source.html @@ -12,12 +12,12 @@

Saxofony.h

00001 /***************************************************/
 00036 /***************************************************/
 00037 
-00038 #if !defined(__SAXOFONY_H)
-00039 #define __SAXOFONY_H
+00038 #ifndef STK_SAXOFONY_H
+00039 #define STK_SAXOFONY_H
 00040 
 00041 #include "Instrmnt.h"
 00042 #include "DelayL.h"
-00043 #include "ReedTabl.h"
+00043 #include "ReedTable.h"
 00044 #include "OneZero.h"
 00045 #include "Envelope.h"
 00046 #include "Noise.h"
@@ -26,48 +26,54 @@
 00049 class Saxofony : public Instrmnt
 00050 {
 00051  public:
-00053   Saxofony(MY_FLOAT lowestFrequency);
-00054 
-00056   ~Saxofony();
+00053 
+00056   Saxofony(StkFloat lowestFrequency);
 00057 
-00059   void clear();
+00059   ~Saxofony();
 00060 
-00062   void setFrequency(MY_FLOAT frequency);
+00062   void clear();
 00063 
-00065   void setBlowPosition(MY_FLOAT aPosition);
+00065   void setFrequency(StkFloat frequency);
 00066 
-00068   void startBlowing(MY_FLOAT amplitude, MY_FLOAT rate);
+00068   void setBlowPosition(StkFloat aPosition);
 00069 
-00071   void stopBlowing(MY_FLOAT rate);
+00071   void startBlowing(StkFloat amplitude, StkFloat rate);
 00072 
-00074   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00074   void stopBlowing(StkFloat rate);
 00075 
-00077   void noteOff(MY_FLOAT amplitude);
+00077   void noteOn(StkFloat frequency, StkFloat amplitude);
 00078 
-00080   MY_FLOAT tick();
+00080   void noteOff(StkFloat amplitude);
 00081 
-00083   void controlChange(int number, MY_FLOAT value);
+00083   StkFloat tick();
 00084 
-00085  protected:
-00086   DelayL *delays[2];
-00087   ReedTabl *reedTable;
-00088   OneZero *filter;
-00089   Envelope *envelope;
-00090   Noise *noise;
-00091   WaveLoop *vibrato;
-00092   long length;
-00093   MY_FLOAT outputGain;
-00094   MY_FLOAT noiseGain;
-00095   MY_FLOAT vibratoGain;
-00096   MY_FLOAT position;
-00097 
-00098 };
+00086   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00087 
+00089 
+00095   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00096 
+00098   void controlChange(int number, StkFloat value);
 00099 
-00100 #endif
+00100  protected:
+00101   DelayL    delays_[2];
+00102   ReedTable reedTable_;
+00103   OneZero   filter_;
+00104   Envelope  envelope_;
+00105   Noise     noise_;
+00106   WaveLoop *vibrato_;
+00107   unsigned long length_;
+00108   StkFloat outputGain_;
+00109   StkFloat noiseGain_;
+00110   StkFloat vibratoGain_;
+00111   StkFloat position_;
+00112 
+00113 };
+00114 
+00115 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Shakers_8h-source.html b/doc/html/Shakers_8h-source.html index f7bdbb8..35e95da 100644 --- a/doc/html/Shakers_8h-source.html +++ b/doc/html/Shakers_8h-source.html @@ -12,14 +12,14 @@

Shakers.h

00001 /***************************************************/
 00053 /***************************************************/
 00054 
-00055 #if !defined(__SHAKERS_H)
-00056 #define __SHAKERS_H
+00055 #ifndef STK_SHAKERS_H
+00056 #define STK_SHAKERS_H
 00057 
 00058 #include "Instrmnt.h"
 00059 
-00060 #define MAX_FREQS 8
-00061 #define NUM_INSTR 24
-00062 
+00060 const int MAX_FREQS = 8;
+00061 const int NUM_INSTR = 24;
+00062 
 00063 class Shakers : public Instrmnt
 00064 {
 00065  public:
@@ -28,59 +28,63 @@
 00070   ~Shakers();
 00071 
 00073 
-00077   virtual void noteOn(MY_FLOAT instrument, MY_FLOAT amplitude);
+00077   void noteOn(StkFloat instrument, StkFloat amplitude);
 00078 
-00080   virtual void noteOff(MY_FLOAT amplitude);
+00080   void noteOff(StkFloat amplitude);
 00081 
-00083   MY_FLOAT tick();
+00083   StkFloat tick();
 00084 
-00086   virtual void controlChange(int number, MY_FLOAT value);
+00086   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
 00087 
-00088  protected:
 00089 
-00090   int setupName(char* instr);
-00091   int setupNum(int inst);
-00092   int setFreqAndReson(int which, MY_FLOAT freq, MY_FLOAT reson);
-00093   void setDecays(MY_FLOAT sndDecay, MY_FLOAT sysDecay);
-00094   void setFinalZs(MY_FLOAT z0, MY_FLOAT z1, MY_FLOAT z2);
-00095   MY_FLOAT wuter_tick();
-00096   MY_FLOAT tbamb_tick();
-00097   MY_FLOAT ratchet_tick();
-00098 
-00099   int instType;
-00100   int ratchetPos, lastRatchetPos;
-00101   MY_FLOAT shakeEnergy;
-00102   MY_FLOAT inputs[MAX_FREQS];
-00103   MY_FLOAT outputs[MAX_FREQS][2];
-00104   MY_FLOAT coeffs[MAX_FREQS][2];
-00105   MY_FLOAT sndLevel;
-00106   MY_FLOAT baseGain;
-00107   MY_FLOAT gains[MAX_FREQS];
-00108   int nFreqs;
-00109   MY_FLOAT t_center_freqs[MAX_FREQS];
-00110   MY_FLOAT center_freqs[MAX_FREQS];
-00111   MY_FLOAT resons[MAX_FREQS];
-00112   MY_FLOAT freq_rand[MAX_FREQS];
-00113   int freqalloc[MAX_FREQS];
-00114   MY_FLOAT soundDecay;
-00115   MY_FLOAT systemDecay;
-00116   MY_FLOAT nObjects;
-00117   MY_FLOAT collLikely;
-00118   MY_FLOAT totalEnergy;
-00119   MY_FLOAT ratchet,ratchetDelta;
-00120   MY_FLOAT finalZ[3];
-00121   MY_FLOAT finalZCoeffs[3];
-00122   MY_FLOAT defObjs[NUM_INSTR];
-00123   MY_FLOAT defDecays[NUM_INSTR];
-00124   MY_FLOAT decayScale[NUM_INSTR];
-00125 
-00126 };
-00127 
-00128 #endif
+00095   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00096 
+00098   void controlChange(int number, StkFloat value);
+00099 
+00100  protected:
+00101 
+00102   int setupName(char* instr);
+00103   int setupNum(int inst);
+00104   int setFreqAndReson(int which, StkFloat freq, StkFloat reson);
+00105   void setDecays(StkFloat sndDecay, StkFloat sysDecay);
+00106   void setFinalZs(StkFloat z0, StkFloat z1, StkFloat z2);
+00107   StkFloat wuter_tick();
+00108   StkFloat tbamb_tick();
+00109   StkFloat ratchet_tick();
+00110 
+00111   int instType_;
+00112   int ratchetPos_, lastRatchetPos_;
+00113   StkFloat shakeEnergy_;
+00114   StkFloat inputs_[MAX_FREQS];
+00115   StkFloat outputs_[MAX_FREQS][2];
+00116   StkFloat coeffs_[MAX_FREQS][2];
+00117   StkFloat sndLevel_;
+00118   StkFloat baseGain_;
+00119   StkFloat gains_[MAX_FREQS];
+00120   int nFreqs_;
+00121   StkFloat t_center_freqs_[MAX_FREQS];
+00122   StkFloat center_freqs_[MAX_FREQS];
+00123   StkFloat resons_[MAX_FREQS];
+00124   StkFloat freq_rand_[MAX_FREQS];
+00125   int freqalloc_[MAX_FREQS];
+00126   StkFloat soundDecay_;
+00127   StkFloat systemDecay_;
+00128   StkFloat nObjects_;
+00129   StkFloat totalEnergy_;
+00130   StkFloat ratchet_, ratchetDelta_;
+00131   StkFloat finalZ_[3];
+00132   StkFloat finalZCoeffs_[3];
+00133   StkFloat defObjs_[NUM_INSTR];
+00134   StkFloat defDecays_[NUM_INSTR];
+00135   StkFloat decayScale_[NUM_INSTR];
+00136 
+00137 };
+00138 
+00139 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Simple_8h-source.html b/doc/html/Simple_8h-source.html index 6a9e2c5..b9e754e 100644 --- a/doc/html/Simple_8h-source.html +++ b/doc/html/Simple_8h-source.html @@ -12,8 +12,8 @@

Simple.h

00001 /***************************************************/
 00018 /***************************************************/
 00019 
-00020 #if !defined(__SIMPLE_H)
-00021 #define __SIMPLE_H
+00020 #ifndef STK_SIMPLE_H
+00021 #define STK_SIMPLE_H
 00022 
 00023 #include "Instrmnt.h"
 00024 #include "ADSR.h"
@@ -25,42 +25,48 @@
 00030 class Simple : public Instrmnt
 00031 {
 00032  public:
-00034   Simple();
-00035 
-00037   virtual ~Simple();
+00034 
+00037   Simple();
 00038 
-00040   void clear();
+00040   ~Simple();
 00041 
-00043   virtual void setFrequency(MY_FLOAT frequency);
+00043   void clear();
 00044 
-00046   void keyOn();
+00046   void setFrequency(StkFloat frequency);
 00047 
-00049   void keyOff();
+00049   void keyOn();
 00050 
-00052   virtual void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00052   void keyOff();
 00053 
-00055   virtual void noteOff(MY_FLOAT amplitude);
+00055   void noteOn(StkFloat frequency, StkFloat amplitude);
 00056 
-00058   virtual MY_FLOAT tick();
+00058   void noteOff(StkFloat amplitude);
 00059 
-00061   virtual void controlChange(int number, MY_FLOAT value);
+00061   StkFloat tick();
 00062 
-00063  protected:  
-00064   ADSR     *adsr; 
-00065   WaveLoop  *loop;
-00066   OnePole  *filter;
-00067   BiQuad   *biquad;
-00068   Noise    *noise;
-00069   MY_FLOAT baseFrequency;
-00070   MY_FLOAT loopGain;
-00071 
-00072 };
-00073 
-00074 #endif
+00064   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00065 
+00067 
+00073   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00074 
+00076   void controlChange(int number, StkFloat value);
+00077 
+00078  protected:  
+00079   ADSR      adsr_; 
+00080   WaveLoop *loop_;
+00081   OnePole   filter_;
+00082   BiQuad    biquad_;
+00083   Noise     noise_;
+00084   StkFloat  baseFrequency_;
+00085   StkFloat  loopGain_;
+00086 
+00087 };
+00088 
+00089 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/SingWave_8h-source.html b/doc/html/SingWave_8h-source.html index b06f831..b849914 100644 --- a/doc/html/SingWave_8h-source.html +++ b/doc/html/SingWave_8h-source.html @@ -12,18 +12,18 @@

SingWave.h

00001 /***************************************************/
 00014 /***************************************************/
 00015 
-00016 #if !defined(__SINGWAVE_H)
-00017 #define __SINGWAVE_H
+00016 #ifndef STK_SINGWAVE_H
+00017 #define STK_SINGWAVE_H
 00018 
 00019 #include "WaveLoop.h"
 00020 #include "Modulate.h"
 00021 #include "Envelope.h"
 00022 
-00023 class SingWave : public Stk
+00023 class SingWave : public Generator
 00024 {
 00025  public:
 00027 
-00031   SingWave(const char *fileName, bool raw=FALSE);
+00031   SingWave( std::string fileName, bool raw=false);
 00032 
 00034   ~SingWave();
 00035 
@@ -31,47 +31,49 @@
 00038 
 00040   void normalize();
 00041 
-00043   void normalize(MY_FLOAT peak);
+00043   void normalize(StkFloat peak);
 00044 
-00046   void setFrequency(MY_FLOAT frequency);
+00046   void setFrequency(StkFloat frequency);
 00047 
-00049   void setVibratoRate(MY_FLOAT aRate);
+00049   void setVibratoRate(StkFloat rate);
 00050 
-00052   void setVibratoGain(MY_FLOAT gain);
+00052   void setVibratoGain(StkFloat gain);
 00053 
-00055   void setRandomGain(MY_FLOAT gain);
+00055   void setRandomGain(StkFloat gain);
 00056 
-00058   void setSweepRate(MY_FLOAT aRate);
+00058   void setSweepRate(StkFloat rate);
 00059 
-00061   void setGainRate(MY_FLOAT aRate);    
+00061   void setGainRate(StkFloat rate);    
 00062 
-00064   void setGainTarget(MY_FLOAT target);
+00064   void setGainTarget(StkFloat target);
 00065 
 00067   void noteOn();
 00068 
 00070   void noteOff();
 00071 
-00073   MY_FLOAT lastOut();
+00073   StkFloat tick();
 00074 
-00076   MY_FLOAT tick();
+00076   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
 00077 
-00078  protected:
 00079 
-00080   WaveLoop *wave;
-00081   Modulate *modulator;
-00082   Envelope *envelope;
-00083   Envelope *pitchEnvelope;
-00084   MY_FLOAT rate;
-00085   MY_FLOAT sweepRate;
-00086   MY_FLOAT lastOutput;
-00087 
-00088 };
-00089 
-00090 #endif
+00085   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00086 
+00087  protected:
+00088 
+00089   WaveLoop *wave_;
+00090   Modulate *modulator_;
+00091   Envelope envelope_;
+00092   Envelope pitchEnvelope_;
+00093   StkFloat rate_;
+00094   StkFloat sweepRate_;
+00095 
+00096 };
+00097 
+00098 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Sitar_8h-source.html b/doc/html/Sitar_8h-source.html index e917a00..97931cc 100644 --- a/doc/html/Sitar_8h-source.html +++ b/doc/html/Sitar_8h-source.html @@ -12,8 +12,8 @@

Sitar.h

00001 /***************************************************/
 00018 /***************************************************/
 00019 
-00020 #if !defined(__SITAR_H)
-00021 #define __SITAR_H
+00020 #ifndef STK_SITAR_H
+00021 #define STK_SITAR_H
 00022 
 00023 #include "Instrmnt.h"
 00024 #include "DelayA.h"
@@ -24,41 +24,46 @@
 00029 class Sitar : public Instrmnt
 00030 {
 00031  public:
-00033   Sitar(MY_FLOAT lowestFrequency);
+00033   Sitar( StkFloat lowestFrequency = 20 );
 00034 
 00036   ~Sitar();
 00037 
 00039   void clear();
 00040 
-00042   void setFrequency(MY_FLOAT frequency);
+00042   void setFrequency(StkFloat frequency);
 00043 
-00045   void pluck(MY_FLOAT amplitude);
+00045   void pluck(StkFloat amplitude);
 00046 
-00048   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00048   void noteOn(StkFloat frequency, StkFloat amplitude);
 00049 
-00051   void noteOff(MY_FLOAT amplitude);
+00051   void noteOff(StkFloat amplitude);
 00052 
-00054   MY_FLOAT tick();
+00054   StkFloat tick();
 00055 
-00056  protected:  
-00057   DelayA *delayLine;
-00058   OneZero *loopFilter;
-00059   Noise *noise;
-00060   ADSR *envelope;
-00061   long length;
-00062   MY_FLOAT loopGain;
-00063   MY_FLOAT amGain;
-00064   MY_FLOAT delay;
-00065   MY_FLOAT targetDelay;
-00066 
-00067 };
-00068 
-00069 #endif
-00070 
+00057   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00058 
+00060 
+00066   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00067 
+00068  protected:  
+00069   DelayA  delayLine_;
+00070   OneZero loopFilter_;
+00071   Noise   noise_;
+00072   ADSR    envelope_;
+00073 
+00074   StkFloat loopGain_;
+00075   StkFloat amGain_;
+00076   StkFloat delay_;
+00077   StkFloat targetDelay_;
+00078 
+00079 };
+00080 
+00081 #endif
+00082 
 

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

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

Skini.h

00001 /***************************************************/
+00026 /***************************************************/
+00027 
+00028 #ifndef STK_SKINI_H
+00029 #define STK_SKINI_H
+00030 
+00031 #include "Stk.h"
+00032 #include <vector>
+00033 #include <string>
+00034 #include <fstream>
+00035 
+00036 class Skini : public Stk
+00037 {
+00038  public:
+00039 
+00041   struct Message { 
+00042     long type;                         
+00043     long channel;                      
+00044     StkFloat time;                     
+00045     std::vector<StkFloat> floatValues; 
+00046     std::vector<long> intValues;       
+00047     std::string remainder;             
+00049     // Default constructor.
+00050     Message()
+00051       :type(0), channel(0), time(0.0), floatValues(2), intValues(2) {}
+00052   };
+00053 
+00055   Skini();
+00056 
+00058   ~Skini();
+00059 
+00061 
+00065   bool setFile( std::string fileName );
+00066 
+00068 
+00074   long nextMessage( Skini::Message& message );
+00075 
+00077 
+00081   long parseString( std::string& line, Skini::Message& message );
+00082 
+00084   static std::string whatsThisType(long type);
+00085 
+00087   static std::string whatsThisController(long number);
+00088 
+00089  protected:
+00090 
+00091   void tokenize( const std::string& str, std::vector<std::string>& tokens, const std::string& delimiters );
+00092 
+00093   std::ifstream file_;
+00094 };
+00095 
+00096 static const double Midi2Pitch[129] = {
+00097 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25,
+00098 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45,
+00099 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87,
+00100 32.70,34.65,36.71,38.89,41.20,43.65,46.25,49.00,
+00101 51.91,55.00,58.27,61.74,65.41,69.30,73.42,77.78,
+00102 82.41,87.31,92.50,98.00,103.83,110.00,116.54,123.47,
+00103 130.81,138.59,146.83,155.56,164.81,174.61,185.00,196.00,
+00104 207.65,220.00,233.08,246.94,261.63,277.18,293.66,311.13,
+00105 329.63,349.23,369.99,392.00,415.30,440.00,466.16,493.88,
+00106 523.25,554.37,587.33,622.25,659.26,698.46,739.99,783.99,
+00107 830.61,880.00,932.33,987.77,1046.50,1108.73,1174.66,1244.51,
+00108 1318.51,1396.91,1479.98,1567.98,1661.22,1760.00,1864.66,1975.53,
+00109 2093.00,2217.46,2349.32,2489.02,2637.02,2793.83,2959.96,3135.96,
+00110 3322.44,3520.00,3729.31,3951.07,4186.01,4434.92,4698.64,4978.03,
+00111 5274.04,5587.65,5919.91,6271.93,6644.88,7040.00,7458.62,7902.13,
+00112 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
+00113 13289.75};
+00114 
+00115 #endif
+00116 
+00117 
+

+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/Socket_8h-source.html b/doc/html/Socket_8h-source.html index 1d0dbb6..3406e01 100644 --- a/doc/html/Socket_8h-source.html +++ b/doc/html/Socket_8h-source.html @@ -12,8 +12,8 @@

Socket.h

00001 /***************************************************/
 00019 /***************************************************/
 00020 
-00021 #if !defined(__SOCKET_H)
-00022 #define __SOCKET_H
+00021 #ifndef STK_SOCKET_H
+00022 #define STK_SOCKET_H
 00023 
 00024 #include "Stk.h"
 00025 
@@ -33,7 +33,7 @@
 00054 
 00056   void close( void );
 00057 
-00059   int socket( void ) const;
+00059   int id( void ) const;
 00060 
 00062   int port( void ) const;
 00063 
@@ -56,18 +56,17 @@
 00093 
 00094  protected:
 00095 
-00096   char msg[256];
-00097   int soket;
-00098   int poort;
-00099   bool server;
-00100 
-00101 };
-00102 
-00103 #endif // defined(__SOCKET_H)
+00096   int soket_;
+00097   int port_;
+00098   bool server_;
+00099 
+00100 };
+00101 
+00102 #endif // defined(STK_SOCKET_H)
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Sphere_8h-source.html b/doc/html/Sphere_8h-source.html index 86289c2..00780dd 100644 --- a/doc/html/Sphere_8h-source.html +++ b/doc/html/Sphere_8h-source.html @@ -12,55 +12,56 @@

Sphere.h

00001 /***************************************************/
 00010 /***************************************************/
 00011 
-00012 #if !defined(__SPHERE_H)
-00013 #define __SPHERE_H
+00012 #ifndef STK_SPHERE_H
+00013 #define STK_SPHERE_H
 00014 
-00015 #include "Vector3D.h"
-00016 
-00017 class Sphere
-00018 {
-00019 public:
-00021   Sphere(double initRadius);
-00022 
-00024   ~Sphere();
-00025 
-00027   void setPosition(double anX, double aY, double aZ);
-00028 
-00030   void setVelocity(double anX, double aY, double aZ);
-00031 
-00033   void setRadius(double aRadius);
-00034 
-00036   void setMass(double aMass);
-00037 
-00039   Vector3D* getPosition();
-00040 
-00042   Vector3D* getRelativePosition(Vector3D *aPosition);
-00043 
-00045   double getVelocity(Vector3D* aVelocity);
-00046 
-00048   double isInside(Vector3D *aPosition);
-00049 
-00051   double getRadius();
-00052 
-00054   double getMass();
-00055 
-00057   void addVelocity(double anX, double aY, double aZ);
-00058 
-00060   void tick(double timeIncrement);
-00061    
-00062 private:
-00063   Vector3D *myPosition;
-00064   Vector3D *myVelocity;
-00065   Vector3D workingVector;
-00066   double myRadius;
-00067   double myMass;
-00068 };
-00069 
-00070 #endif
+00015 #include "Stk.h"
+00016 #include "Vector3D.h"
+00017 
+00018 class Sphere : public Stk
+00019 {
+00020 public:
+00022   Sphere(StkFloat radius = 1.0 );
+00023 
+00025   ~Sphere();
+00026 
+00028   void setPosition(StkFloat x, StkFloat y, StkFloat z);
+00029 
+00031   void setVelocity(StkFloat x, StkFloat y, StkFloat z);
+00032 
+00034   void setRadius(StkFloat radius);
+00035 
+00037   void setMass(StkFloat mass);
+00038 
+00040   Vector3D* getPosition();
+00041 
+00043   Vector3D* getRelativePosition(Vector3D *position);
+00044 
+00046   StkFloat getVelocity(Vector3D* velocity);
+00047 
+00049   StkFloat isInside(Vector3D *position);
+00050 
+00052   StkFloat getRadius();
+00053 
+00055   StkFloat getMass();
+00056 
+00058   void addVelocity(StkFloat x, StkFloat y, StkFloat z);
+00059 
+00061   void tick(StkFloat timeIncrement);
+00062    
+00063 private:
+00064   Vector3D position_;
+00065   Vector3D velocity_;
+00066   Vector3D workingVector_;
+00067   StkFloat radius_;
+00068   StkFloat mass_;
+00069 };
+00070 
+00071 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/StifKarp_8h-source.html b/doc/html/StifKarp_8h-source.html index 50a8441..69c70c2 100644 --- a/doc/html/StifKarp_8h-source.html +++ b/doc/html/StifKarp_8h-source.html @@ -12,8 +12,8 @@

StifKarp.h

00001 /***************************************************/
 00022 /***************************************************/
 00023 
-00024 #if !defined(__StifKarp_h)
-00025 #define __StifKarp_h
+00024 #ifndef STK_STIFKARP_H
+00025 #define STK_STIFKARP_H
 00026 
 00027 #include "Instrmnt.h"
 00028 #include "DelayL.h"
@@ -25,53 +25,59 @@
 00034 class StifKarp : public Instrmnt
 00035 {
 00036  public:
-00038   StifKarp(MY_FLOAT lowestFrequency);
+00038   StifKarp(StkFloat lowestFrequency);
 00039 
 00041   ~StifKarp();
 00042 
 00044   void clear();
 00045 
-00047   void setFrequency(MY_FLOAT frequency);
+00047   void setFrequency(StkFloat frequency);
 00048 
-00050   void setStretch(MY_FLOAT stretch);
+00050   void setStretch(StkFloat stretch);
 00051 
-00053   void setPickupPosition(MY_FLOAT position);
+00053   void setPickupPosition(StkFloat position);
 00054 
 00056 
-00061   void setBaseLoopGain(MY_FLOAT aGain);
+00061   void setBaseLoopGain(StkFloat aGain);
 00062 
-00064   void pluck(MY_FLOAT amplitude);
+00064   void pluck(StkFloat amplitude);
 00065 
-00067   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00067   void noteOn(StkFloat frequency, StkFloat amplitude);
 00068 
-00070   void noteOff(MY_FLOAT amplitude);
+00070   void noteOff(StkFloat amplitude);
 00071 
-00073   MY_FLOAT tick();
+00073   StkFloat tick();
 00074 
-00076   void controlChange(int number, MY_FLOAT value);
+00076   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
 00077 
-00078  protected:  
-00079     DelayA *delayLine;
-00080     DelayL *combDelay;
-00081     OneZero *filter;
-00082     Noise *noise;
-00083     BiQuad *biQuad[4];
-00084     long length;
-00085     MY_FLOAT loopGain;
-00086     MY_FLOAT baseLoopGain;
-00087     MY_FLOAT lastFrequency;
-00088     MY_FLOAT lastLength;
-00089     MY_FLOAT stretching;
-00090     MY_FLOAT pluckAmplitude;
-00091     MY_FLOAT pickupPosition;
-00092 
-00093 };
-00094 
-00095 #endif
+00079 
+00085   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00086 
+00088   void controlChange(int number, StkFloat value);
+00089 
+00090  protected:  
+00091     DelayA  delayLine_;
+00092     DelayL  combDelay_;
+00093     OneZero filter_;
+00094     Noise   noise_;
+00095     BiQuad  biquad_[4];
+00096 
+00097     unsigned long length_;
+00098     StkFloat loopGain_;
+00099     StkFloat baseLoopGain_;
+00100     StkFloat lastFrequency_;
+00101     StkFloat lastLength_;
+00102     StkFloat stretching_;
+00103     StkFloat pluckAmplitude_;
+00104     StkFloat pickupPosition_;
+00105 
+00106 };
+00107 
+00108 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Stk_8h-source.html b/doc/html/Stk_8h-source.html index 2c05986..3a4db6f 100644 --- a/doc/html/Stk_8h-source.html +++ b/doc/html/Stk_8h-source.html @@ -12,163 +12,214 @@

Stk.h

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

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/SubNoise_8h-source.html b/doc/html/SubNoise_8h-source.html index 43dc03e..39dec01 100644 --- a/doc/html/SubNoise_8h-source.html +++ b/doc/html/SubNoise_8h-source.html @@ -12,8 +12,8 @@

SubNoise.h

00001 /***************************************************/
 00011 /***************************************************/
 00012 
-00013 #if !defined(__SUBNOISE_H)
-00014 #define __SUBNOISE_H
+00013 #ifndef STK_SUBNOISE_H
+00014 #define STK_SUBNOISE_H
 00015 
 00016 #include "Noise.h"
 00017 
@@ -29,19 +29,24 @@
 00030 
 00032   void setRate(int subRate);
 00033 
-00035   MY_FLOAT tick();
+00035   StkFloat tick();
 00036 
-00037  protected:  
-00038   int counter;
-00039   int rate;
-00040 
-00041 };
-00042 
-00043 #endif
+00038   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
+00039 
+00041 
+00047   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00048 
+00049  protected:  
+00050   int counter_;
+00051   int rate_;
+00052 
+00053 };
+00054 
+00055 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Table_8h-source.html b/doc/html/Table_8h-source.html index 2f44b27..46ff5cf 100644 --- a/doc/html/Table_8h-source.html +++ b/doc/html/Table_8h-source.html @@ -12,39 +12,40 @@

Table.h

00001 /***************************************************/
 00015 /***************************************************/
 00016 
-00017 #if !defined(__TABLE_H)
-00018 #define __TABLE_H
+00017 #ifndef STK_TABLE_H
+00018 #define STK_TABLE_H
 00019 
-00020 #include "Stk.h"
+00020 #include "Function.h"
 00021 
-00022 class Table : public Stk
+00022 class Table : public Function
 00023 {
 00024 public:
-00026   Table(char *fileName);
-00027 
-00029   ~Table();
-00030 
-00032   long getLength() const;
-00033 
-00035   MY_FLOAT lastOut() const;
-00036 
-00038 
-00042   MY_FLOAT tick(MY_FLOAT index);
-00043 
-00045   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00046 
-00047 protected:  
-00048   long length;
-00049   MY_FLOAT *data;
-00050   MY_FLOAT lastOutput;
-00051 
-00052 };
-00053 
-00054 #endif // defined(__TABLE_H)
+00026 
+00030   Table( std::string fileName );
+00031 
+00033   ~Table();
+00034 
+00036   long getLength() const;
+00037 
+00039 
+00043   StkFloat tick(StkFloat index);
+00044 
+00046   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
+00047 
+00049 
+00055   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00056 
+00057 protected:  
+00058   long length_;
+00059   std::valarray<StkFloat> data_;
+00060 
+00061 };
+00062 
+00063 #endif // defined(__TABLE_H)
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/TcpWvIn_8h-source.html b/doc/html/TcpWvIn_8h-source.html index 75dd205..878d9c4 100644 --- a/doc/html/TcpWvIn_8h-source.html +++ b/doc/html/TcpWvIn_8h-source.html @@ -12,78 +12,85 @@

TcpWvIn.h

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

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/TcpWvOut_8h-source.html b/doc/html/TcpWvOut_8h-source.html index 78db51d..ce080ca 100644 --- a/doc/html/TcpWvOut_8h-source.html +++ b/doc/html/TcpWvOut_8h-source.html @@ -12,8 +12,8 @@

TcpWvOut.h

00001 /***************************************************/
 00026 /***************************************************/
 00027 
-00028 #if !defined(__TCPWVOUT_H)
-00029 #define __TCPWVOUT_H
+00028 #ifndef STK_TCPWVOUT_H
+00029 #define STK_TCPWVOUT_H
 00030 
 00031 #include "WvOut.h"
 00032 #include "Socket.h"
@@ -24,44 +24,49 @@
 00038   TcpWvOut();
 00039 
 00041 
-00044   TcpWvOut(int port, const char *hostname = "localhost", unsigned int nChannels = 1, Stk::STK_FORMAT format = STK_SINT16);
+00044   TcpWvOut(int port, const char *hostname = "localhost", unsigned int nChannels = 1, Stk::StkFormat format = STK_SINT16);
 00045 
 00047   ~TcpWvOut();
 00048 
 00050 
-00053   void connect(int port, const char *hostname = "localhost", unsigned int nChannels = 1, Stk::STK_FORMAT format = STK_SINT16);
+00053   void connect(int port, const char *hostname = "localhost", unsigned int nChannels = 1, Stk::StkFormat format = STK_SINT16);
 00054 
 00056   void disconnect(void);
 00057 
 00059   unsigned long getFrames( void ) const;
 00060 
-00062   MY_FLOAT getTime( void ) const;
+00062   StkFloat getTime( void ) const;
 00063 
 00065 
-00068   void tick(MY_FLOAT sample);
+00068   void tick( const StkFloat sample );
 00069 
 00071 
-00074   void tick(const MY_FLOAT *vector, unsigned int vectorSize);
+00074   void tick( const StkFloat *vector, unsigned int vectorSize );
 00075 
 00077 
-00080   void tickFrame(const MY_FLOAT *frameVector, unsigned int frames = 1);
-00081 
-00082  protected:
-00083 
-00084   // Write a buffer of length \e frames via the socket connection.
-00085   void writeData( unsigned long frames );
+00083   void tick( const StkFrames& frames, unsigned int channel = 1 );
+00084 
 00086 
-00087   char msg[256];
-00088   char *buffer;
-00089   Socket *soket;
-00090   int dataSize;
-00091 };
+00089   void tickFrame( const StkFloat *frameVector, unsigned int frames = 1 );
+00090 
 00092 
-00093 #endif // defined(__TCPWVOUT_H)
+00097   virtual void tickFrame( const StkFrames& frames );
+00098 
+00099  protected:
+00100 
+00101   // Write a buffer of length \e frames via the socket connection.
+00102   void writeData( unsigned long frames );
+00103 
+00104   char *buffer_;
+00105   Socket *soket_;
+00106   int dataSize_;
+00107 };
+00108 
+00109 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Thread_8h-source.html b/doc/html/Thread_8h-source.html index 91a9375..6f791ab 100644 --- a/doc/html/Thread_8h-source.html +++ b/doc/html/Thread_8h-source.html @@ -10,77 +10,62 @@

Thread.h

00001 /***************************************************/
-00012 /***************************************************/
-00013 
-00014 #if !defined(__THREAD_H)
-00015 #define __THREAD_H
-00016 
-00017 #include "Stk.h"
-00018 
-00019 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
-00020 
-00021   #include <pthread.h>
-00022   #define THREAD_TYPE
-00023   typedef pthread_t THREAD_HANDLE;
-00024   typedef void * THREAD_RETURN;
-00025   typedef void * (*THREAD_FUNCTION)(void *);
-00026   typedef pthread_mutex_t MUTEX;
+00021 /***************************************************/
+00022 
+00023 #ifndef STK_THREAD_H
+00024 #define STK_THREAD_H
+00025 
+00026 #include "Stk.h"
 00027 
-00028 #elif defined(__OS_WINDOWS__)
+00028 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
 00029 
-00030   #include <windows.h>
-00031   #include <process.h>
-00032   #define THREAD_TYPE __stdcall
-00033   typedef unsigned long THREAD_HANDLE;
-00034   typedef unsigned THREAD_RETURN;
-00035   typedef unsigned (__stdcall *THREAD_FUNCTION)(void *);
-00036   typedef CRITICAL_SECTION MUTEX;
-00037 
-00038 #endif
-00039 
-00040 class Thread : public Stk
-00041 {
-00042  public:
-00044   Thread();
-00045 
-00047   ~Thread();
-00048 
-00050 
-00054   bool start( THREAD_FUNCTION routine, void * ptr = NULL );
+00030   #include <pthread.h>
+00031   #define THREAD_TYPE
+00032   typedef pthread_t THREAD_HANDLE;
+00033   typedef void * THREAD_RETURN;
+00034   typedef void * (*THREAD_FUNCTION)(void *);
+00035 
+00036 #elif defined(__OS_WINDOWS__)
+00037 
+00038   #include <windows.h>
+00039   #include <process.h>
+00040   #define THREAD_TYPE __stdcall
+00041   typedef unsigned long THREAD_HANDLE;
+00042   typedef unsigned THREAD_RETURN;
+00043   typedef unsigned (__stdcall *THREAD_FUNCTION)(void *);
+00044 
+00045 #endif
+00046 
+00047 class Thread : public Stk
+00048 {
+00049  public:
+00051   Thread();
+00052 
+00054   ~Thread();
 00055 
 00057 
-00063   bool wait( long milliseconds = -1 );
-00064 
-00066   static void test(void);
-00067 
-00068  protected:
-00069 
-00070   THREAD_HANDLE thread;
-00071 
-00072 };
+00062   bool start( THREAD_FUNCTION routine, void * ptr = NULL );
+00063 
+00065 
+00072   bool cancel(void);
 00073 
-00074 class Mutex : public Stk
-00075 {
-00076  public:
-00078   Mutex();
+00075 
+00078   bool wait(void);
 00079 
-00081   ~Mutex();
-00082 
-00084   void lock(void);
-00085 
-00087   void unlock(void);
-00088 
-00089  protected:
-00090 
-00091   MUTEX mutex;
-00092 
-00093 };
-00094 
-00095 #endif // defined(__THREAD_H)
+00081 
+00086   void testCancel(void);
+00087 
+00088  protected:
+00089 
+00090   THREAD_HANDLE thread_;
+00091 
+00092 };
+00093 
+00094 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/TubeBell_8h-source.html b/doc/html/TubeBell_8h-source.html index 8fed009..81491ee 100644 --- a/doc/html/TubeBell_8h-source.html +++ b/doc/html/TubeBell_8h-source.html @@ -12,28 +12,34 @@

TubeBell.h

00001 /***************************************************/
 00031 /***************************************************/
 00032 
-00033 #if !defined(__TUBEBELL_H)
-00034 #define __TUBEBELL_H
+00033 #ifndef STK_TUBEBELL_H
+00034 #define STK_TUBEBELL_H
 00035 
 00036 #include "FM.h"
 00037 
 00038 class TubeBell : public FM
 00039 {
 00040  public:
-00042   TubeBell();
-00043 
-00045   ~TubeBell();
+00042 
+00045   TubeBell();
 00046 
-00048   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00048   ~TubeBell();
 00049 
-00051   MY_FLOAT tick();
-00052 };
-00053 
-00054 #endif
+00051   void noteOn(StkFloat frequency, StkFloat amplitude);
+00052 
+00054   StkFloat tick();
+00055 
+00057   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00058 
+00060 
+00066   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00067 };
+00068 
+00069 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/TwoPole_8h-source.html b/doc/html/TwoPole_8h-source.html index a69b366..422e0a5 100644 --- a/doc/html/TwoPole_8h-source.html +++ b/doc/html/TwoPole_8h-source.html @@ -12,8 +12,8 @@

TwoPole.h

00001 /***************************************************/
 00013 /***************************************************/
 00014 
-00015 #if !defined(__TWOPOLE_H)
-00016 #define __TWOPOLE_H
+00015 #ifndef STK_TWOPOLE_H
+00016 #define STK_TWOPOLE_H
 00017 
 00018 #include "Filter.h"
 00019 
@@ -27,32 +27,35 @@
 00029 
 00031   void clear(void);
 00032 
-00034   void setB0(MY_FLOAT b0);
+00034   void setB0(StkFloat b0);
 00035 
-00037   void setA1(MY_FLOAT a1);
+00037   void setA1(StkFloat a1);
 00038 
-00040   void setA2(MY_FLOAT a2);
+00040   void setA2(StkFloat a2);
 00041 
 00043 
-00056   void setResonance(MY_FLOAT frequency, MY_FLOAT radius, bool normalize = FALSE);
+00056   void setResonance(StkFloat frequency, StkFloat radius, bool normalize = false);
 00057 
 00059 
-00063   void setGain(MY_FLOAT theGain);
+00063   void setGain(StkFloat gain);
 00064 
-00066   MY_FLOAT getGain(void) const;
+00066   StkFloat getGain(void) const;
 00067 
-00069   MY_FLOAT lastOut(void) const;
+00069   StkFloat lastOut(void) const;
 00070 
-00072   MY_FLOAT tick(MY_FLOAT sample);
+00072   StkFloat tick(StkFloat sample);
 00073 
-00075   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00076 };
-00077 
-00078 #endif
+00075   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00076 
+00078 
+00084   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00085 };
+00086 
+00087 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/TwoZero_8h-source.html b/doc/html/TwoZero_8h-source.html index 1c02310..d262ea8 100644 --- a/doc/html/TwoZero_8h-source.html +++ b/doc/html/TwoZero_8h-source.html @@ -12,8 +12,8 @@

TwoZero.h

00001 /***************************************************/
 00013 /***************************************************/
 00014 
-00015 #if !defined(__TWOZERO_H)
-00016 #define __TWOZERO_H
+00015 #ifndef STK_TWOZERO_H
+00016 #define STK_TWOZERO_H
 00017 
 00018 #include "Filter.h"
 00019 
@@ -26,32 +26,35 @@
 00028 
 00030   void clear(void);
 00031 
-00033   void setB0(MY_FLOAT b0);
+00033   void setB0(StkFloat b0);
 00034 
-00036   void setB1(MY_FLOAT b1);
+00036   void setB1(StkFloat b1);
 00037 
-00039   void setB2(MY_FLOAT b2);
+00039   void setB2(StkFloat b2);
 00040 
 00042 
-00052   void setNotch(MY_FLOAT frequency, MY_FLOAT radius);
+00052   void setNotch(StkFloat frequency, StkFloat radius);
 00053 
 00055 
-00059   void setGain(MY_FLOAT theGain);
+00059   void setGain(StkFloat gain);
 00060 
-00062   MY_FLOAT getGain(void) const;
+00062   StkFloat getGain(void) const;
 00063 
-00065   MY_FLOAT lastOut(void) const;
+00065   StkFloat lastOut(void) const;
 00066 
-00068   MY_FLOAT tick(MY_FLOAT sample);
+00068   StkFloat tick(StkFloat sample);
 00069 
-00071   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
-00072 };
-00073 
-00074 #endif
+00071   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00072 
+00074 
+00080   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00081 };
+00082 
+00083 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Vector3D_8h-source.html b/doc/html/Vector3D_8h-source.html index 0b81064..534729e 100644 --- a/doc/html/Vector3D_8h-source.html +++ b/doc/html/Vector3D_8h-source.html @@ -12,43 +12,46 @@

Vector3D.h

00001 /***************************************************/
 00009 /***************************************************/
 00010 
-00011 #if !defined(__VECTOR3D_H)
-00012 #define __VECTOR3D_H
+00011 #ifndef STK_VECTOR3D_H
+00012 #define STK_VECTOR3D_H
 00013 
-00014 class Vector3D {
+00014 #include "Stk.h"
 00015 
-00016 public:
-00018   Vector3D(double initX=0.0, double initY=0.0, double initZ=0.0);
-00019 
-00021   ~Vector3D();
+00016 class Vector3D : public Stk
+00017 {
+00018 
+00019 public:
+00021   Vector3D(StkFloat initX=0.0, StkFloat initY=0.0, StkFloat initZ=0.0);
 00022 
-00024   double getX();
+00024   ~Vector3D();
 00025 
-00027   double getY();
+00027   StkFloat getX();
 00028 
-00030   double getZ();
+00030   StkFloat getY();
 00031 
-00033   double getLength();
+00033   StkFloat getZ();
 00034 
-00036   void setXYZ(double anX, double aY, double aZ);
+00036   StkFloat getLength();
 00037 
-00039   void setX(double aval);
+00039   void setXYZ(StkFloat x, StkFloat y, StkFloat z);
 00040 
-00042   void setY(double aval);
+00042   void setX(StkFloat x);
 00043 
-00045   void setZ(double aval);
+00045   void setY(StkFloat y);
 00046 
-00047 protected:
-00048   double myX;
-00049   double myY;
-00050   double myZ;
-00051 };
-00052 
-00053 #endif
+00048   void setZ(StkFloat z);
+00049 
+00050 protected:
+00051   StkFloat myX_;
+00052   StkFloat myY_;
+00053   StkFloat myZ_;
+00054 };
+00055 
+00056 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/VoicForm_8h-source.html b/doc/html/VoicForm_8h-source.html index 1703459..1fecf4b 100644 --- a/doc/html/VoicForm_8h-source.html +++ b/doc/html/VoicForm_8h-source.html @@ -12,8 +12,8 @@

VoicForm.h

00001 /***************************************************/
 00026 /***************************************************/
 00027 
-00028 #if !defined(__VOICFORM_H)
-00029 #define __VOICFORM_H
+00028 #ifndef STK_VOICFORM_H
+00029 #define STK_VOICFORM_H
 00030 
 00031 #include "Instrmnt.h"
 00032 #include "Envelope.h"
@@ -26,51 +26,57 @@
 00039 class VoicForm : public Instrmnt
 00040 {
 00041   public:
-00043   VoicForm();
-00044 
-00046   ~VoicForm();
+00043 
+00046   VoicForm();
 00047 
-00049   void clear();
+00049   ~VoicForm();
 00050 
-00052   void setFrequency(MY_FLOAT frequency);
+00052   void clear();
 00053 
-00055   bool setPhoneme(const char* phoneme);
+00055   void setFrequency(StkFloat frequency);
 00056 
-00058   void setVoiced(MY_FLOAT vGain);
+00058   bool setPhoneme(const char* phoneme);
 00059 
-00061   void setUnVoiced(MY_FLOAT nGain);
+00061   void setVoiced(StkFloat vGain);
 00062 
-00064   void setFilterSweepRate(int whichOne, MY_FLOAT rate);
+00064   void setUnVoiced(StkFloat nGain);
 00065 
-00067   void setPitchSweepRate(MY_FLOAT rate);
+00067   void setFilterSweepRate(unsigned int whichOne, StkFloat rate);
 00068 
-00070   void speak();
+00070   void setPitchSweepRate(StkFloat rate);
 00071 
-00073   void quiet();
+00073   void speak();
 00074 
-00076   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00076   void quiet();
 00077 
-00079   void noteOff(MY_FLOAT amplitude);
+00079   void noteOn(StkFloat frequency, StkFloat amplitude);
 00080 
-00082   MY_FLOAT tick();
+00082   void noteOff(StkFloat amplitude);
 00083 
-00085   void controlChange(int number, MY_FLOAT value);
+00085   StkFloat tick();
 00086 
-00087 protected:
-00088   SingWave *voiced;
-00089   Noise    *noise;
-00090   Envelope *noiseEnv;
-00091   FormSwep  *filters[4];
-00092   OnePole  *onepole;
-00093   OneZero  *onezero;
-00094 
-00095 };
-00096 
-00097 #endif
+00088   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00089 
+00091 
+00097   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00098 
+00100   void controlChange(int number, StkFloat value);
+00101 
+00102 protected:
+00103   SingWave *voiced_;
+00104   Noise    noise_;
+00105   Envelope noiseEnv_;
+00106   FormSwep filters_[4];
+00107   OnePole  onepole_;
+00108   OneZero  onezero_;
+00109 
+00110 };
+00111 
+00112 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Voicer_8h-source.html b/doc/html/Voicer_8h-source.html index 4a55310..095b1e5 100644 --- a/doc/html/Voicer_8h-source.html +++ b/doc/html/Voicer_8h-source.html @@ -12,16 +12,16 @@

Voicer.h

00001 /***************************************************/
 00030 /***************************************************/
 00031 
-00032 #if !defined(__VOICER_H)
-00033 #define __VOICER_H
+00032 #ifndef STK_VOICER_H
+00033 #define STK_VOICER_H
 00034 
-00035 #include "Stk.h"
-00036 #include "Instrmnt.h"
+00035 #include "Instrmnt.h"
+00036 #include <vector>
 00037 
 00038 class Voicer : public Stk
 00039 {
 00040 public:
-00042   Voicer( int maxInstruments, MY_FLOAT decayTime=0.2 );
+00042   Voicer( StkFloat decayTime=0.2 );
 00043 
 00045   ~Voicer();
 00046 
@@ -32,66 +32,72 @@
 00060   void removeInstrument( Instrmnt *instrument );
 00061 
 00063 
-00071   long noteOn( MY_FLOAT noteNumber, MY_FLOAT amplitude, int channel=0 );
+00071   long noteOn( StkFloat noteNumber, StkFloat amplitude, int channel=0 );
 00072 
 00074 
-00077   void noteOff( MY_FLOAT noteNumber, MY_FLOAT amplitude, int channel=0 );
+00077   void noteOff( StkFloat noteNumber, StkFloat amplitude, int channel=0 );
 00078 
 00080 
-00083   void noteOff( long tag, MY_FLOAT amplitude );
+00083   void noteOff( long tag, StkFloat amplitude );
 00084 
 00086 
-00089   void setFrequency( MY_FLOAT noteNumber, int channel=0 );
+00089   void setFrequency( StkFloat noteNumber, int channel=0 );
 00090 
 00092 
-00095   void setFrequency( long tag, MY_FLOAT noteNumber );
+00095   void setFrequency( long tag, StkFloat noteNumber );
 00096 
-00098   void pitchBend( MY_FLOAT value, int channel=0 );
+00098   void pitchBend( StkFloat value, int channel=0 );
 00099 
-00101   void pitchBend( long tag, MY_FLOAT value );
+00101   void pitchBend( long tag, StkFloat value );
 00102 
-00104   void controlChange( int number, MY_FLOAT value, int channel=0 );
+00104   void controlChange( int number, StkFloat value, int channel=0 );
 00105 
-00107   void controlChange( long tag, int number, MY_FLOAT value );
+00107   void controlChange( long tag, int number, StkFloat value );
 00108 
 00110   void silence( void );
 00111 
-00113   MY_FLOAT tick();
+00113   StkFloat tick();
 00114 
-00116   MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
+00116   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
 00117 
-00119   MY_FLOAT lastOut() const;
-00120 
-00122   MY_FLOAT lastOutLeft() const;
-00123 
-00125   MY_FLOAT lastOutRight() const;
+00119 
+00125   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
 00126 
-00127 protected:
-00128 
-00129   typedef struct {
-00130     Instrmnt *instrument;
-00131     long tag;
-00132     MY_FLOAT noteNumber;
-00133     MY_FLOAT frequency;
-00134     int sounding;
-00135     int channel;
-00136   } Voice;
+00128   StkFloat lastOut() const;
+00129 
+00131   StkFloat lastOutLeft() const;
+00132 
+00134   StkFloat lastOutRight() const;
+00135 
+00136 protected:
 00137 
-00138   int  nVoices;
-00139   int maxVoices;
-00140   Voice *voices;
-00141   long tags;
-00142   int muteTime;
-00143   MY_FLOAT lastOutput;
-00144   MY_FLOAT lastOutputLeft;
-00145   MY_FLOAT lastOutputRight;
-00146 };
-00147 
-00148 #endif
+00138   struct Voice {
+00139     Instrmnt *instrument;
+00140     long tag;
+00141     StkFloat noteNumber;
+00142     StkFloat frequency;
+00143     int sounding;
+00144     int channel;
+00145 
+00146     // Default constructor.
+00147     Voice()
+00148       :instrument(0), tag(0), noteNumber(-1.0), frequency(0.0),
+00149          sounding(0), channel(0) {}
+00150   };
+00151 
+00152   std::vector<Voice> voices_;
+00153   long tags_;
+00154   int muteTime_;
+00155   StkFloat lastOutput_;
+00156   StkFloat lastOutputLeft_;
+00157   StkFloat lastOutputRight_;
+00158 };
+00159 
+00160 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/WaveLoop_8h-source.html b/doc/html/WaveLoop_8h-source.html index 143e882..439f8d0 100644 --- a/doc/html/WaveLoop_8h-source.html +++ b/doc/html/WaveLoop_8h-source.html @@ -12,46 +12,51 @@

WaveLoop.h

00001 /***************************************************/
 00019 /***************************************************/
 00020 
-00021 #if !defined(__WAVELOOP_H)
-00022 #define __WAVELOOP_H
+00021 #ifndef STK_WAVELOOP_H
+00022 #define STK_WAVELOOP_H
 00023 
 00024 #include "WvIn.h"
-00025 #include <stdio.h>
-00026 
-00027 class WaveLoop : public WvIn
-00028 {
-00029 public:
-00031   WaveLoop( const char *fileName, bool raw = FALSE );
-00032 
-00034   virtual ~WaveLoop();
-00035 
-00037 
-00043   void setFrequency(MY_FLOAT aFrequency);
-00044 
-00046   void addTime(MY_FLOAT aTime);
-00047 
-00049 
-00054   void addPhase(MY_FLOAT anAngle);
-00055 
-00057 
-00062   void addPhaseOffset(MY_FLOAT anAngle);
-00063 
-00065   const MY_FLOAT *tickFrame(void);
-00066 
-00067 protected:
-00068 
-00069   // Read file data.
-00070   void readData(unsigned long index);
+00025 
+00026 class WaveLoop : public WvIn
+00027 {
+00028 public:
+00030   WaveLoop( std::string fileName, bool raw = false );
+00031 
+00033   virtual ~WaveLoop();
+00034 
+00036 
+00042   void setFrequency(StkFloat frequency);
+00043 
+00045   void addTime(StkFloat time);
+00046 
+00048 
+00053   void addPhase(StkFloat angle);
+00054 
+00056 
+00061   void addPhaseOffset(StkFloat angle);
+00062 
+00064   const StkFloat *tickFrame(void);
+00065 
+00067 
+00070   StkFloat *tickFrame(StkFloat *frameVector, unsigned int frames);
 00071 
-00072   MY_FLOAT phaseOffset;
 00073 
-00074 };
-00075 
-00076 #endif // defined(__WAVELOOP_H)
+00079   StkFrames& tickFrame( StkFrames& frames );
+00080 
+00081 protected:
+00082 
+00083   // Read file data.
+00084   void readData(unsigned long index);
+00085 
+00086   StkFloat phaseOffset_;
+00087 
+00088 };
+00089 
+00090 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Whistle_8h-source.html b/doc/html/Whistle_8h-source.html index 70dfb75..4bb71a9 100644 --- a/doc/html/Whistle_8h-source.html +++ b/doc/html/Whistle_8h-source.html @@ -12,8 +12,8 @@

Whistle.h

00001 /***************************************************/
 00017 /***************************************************/
 00018 
-00019 #if !defined(__WHISTLE_H)
-00020 #define __WHISTLE_H
+00019 #ifndef STK_WHISTLE_H
+00020 #define STK_WHISTLE_H
 00021 
 00022 #include "Instrmnt.h"
 00023 #include "Sphere.h"
@@ -26,53 +26,59 @@
 00030 class Whistle : public Instrmnt
 00031 {
 00032 public:
-00034   Whistle();
-00035 
-00037   ~Whistle();
+00034 
+00037   Whistle();
 00038 
-00040   void clear();
+00040   ~Whistle();
 00041 
-00043   void setFrequency(MY_FLOAT frequency);
+00043   void clear();
 00044 
-00046   void startBlowing(MY_FLOAT amplitude, MY_FLOAT rate);
+00046   void setFrequency(StkFloat frequency);
 00047 
-00049   void stopBlowing(MY_FLOAT rate);
+00049   void startBlowing(StkFloat amplitude, StkFloat rate);
 00050 
-00052   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00052   void stopBlowing(StkFloat rate);
 00053 
-00055   void noteOff(MY_FLOAT amplitude);
+00055   void noteOn(StkFloat frequency, StkFloat amplitude);
 00056 
-00058   MY_FLOAT tick();
+00058   void noteOff(StkFloat amplitude);
 00059 
-00061   void controlChange(int number, MY_FLOAT value);
+00061   StkFloat tick();
 00062 
-00063 protected:  
-00064         Vector3D *tempVectorP;
-00065   Vector3D *tempVector;
-00066   OnePole onepole;
-00067   Noise noise;
-00068         Envelope envelope;
-00069   Sphere *can;           // Declare a Spherical "can".
-00070   Sphere *pea, *bumper;  // One spherical "pea", and a spherical "bumper".
-00071 
-00072   WaveLoop *sine;
-00073 
-00074   MY_FLOAT baseFrequency;
-00075         MY_FLOAT maxPressure;
-00076   MY_FLOAT noiseGain;
-00077   MY_FLOAT fippleFreqMod;
-00078         MY_FLOAT fippleGainMod;
-00079         MY_FLOAT blowFreqMod;
-00080         MY_FLOAT tickSize;
-00081         MY_FLOAT canLoss;
-00082         int subSample, subSampCount;
-00083 };
-00084 
-00085 #endif
+00064   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00065 
+00067 
+00073   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00074 
+00076   void controlChange(int number, StkFloat value);
+00077 
+00078 protected:  
+00079 
+00080          Vector3D *tempVectorP_;
+00081   Vector3D tempVector_;
+00082   OnePole onepole_;
+00083   Noise noise_;
+00084          Envelope envelope_;
+00085   Sphere can_;           // Declare a Spherical "can".
+00086   Sphere pea_, bumper_;  // One spherical "pea", and a spherical "bumper".
+00087 
+00088   WaveLoop *sine_;
+00089 
+00090   StkFloat baseFrequency_;
+00091   StkFloat noiseGain_;
+00092   StkFloat fippleFreqMod_;
+00093          StkFloat fippleGainMod_;
+00094          StkFloat blowFreqMod_;
+00095          StkFloat tickSize_;
+00096          StkFloat canLoss_;
+00097          int subSample_, subSampCount_;
+00098 };
+00099 
+00100 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Wurley_8h-source.html b/doc/html/Wurley_8h-source.html index f3e6507..be75869 100644 --- a/doc/html/Wurley_8h-source.html +++ b/doc/html/Wurley_8h-source.html @@ -12,30 +12,36 @@

Wurley.h

00001 /***************************************************/
 00031 /***************************************************/
 00032 
-00033 #if !defined(__WURLEY_H)
-00034 #define __WURLEY_H
+00033 #ifndef STK_WURLEY_H
+00034 #define STK_WURLEY_H
 00035 
 00036 #include "FM.h"
 00037 
 00038 class Wurley : public FM
 00039 {
 00040  public:
-00042   Wurley();
-00043 
-00045   ~Wurley();
+00042 
+00045   Wurley();
 00046 
-00048   void setFrequency(MY_FLOAT frequency);
+00048   ~Wurley();
 00049 
-00051   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
+00051   void setFrequency(StkFloat frequency);
 00052 
-00054   MY_FLOAT tick();
-00055 };
-00056 
-00057 #endif
+00054   void noteOn(StkFloat frequency, StkFloat amplitude);
+00055 
+00057   StkFloat tick();
+00058 
+00060   StkFloat *tick(StkFloat *vector, unsigned int vectorSize);
+00061 
+00063 
+00069   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
+00070 };
+00071 
+00072 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/WvIn_8h-source.html b/doc/html/WvIn_8h-source.html index 0f48ee1..f9313cb 100644 --- a/doc/html/WvIn_8h-source.html +++ b/doc/html/WvIn_8h-source.html @@ -10,125 +10,129 @@

WvIn.h

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

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/WvOut_8h-source.html b/doc/html/WvOut_8h-source.html index 0fed2c3..39cafdb 100644 --- a/doc/html/WvOut_8h-source.html +++ b/doc/html/WvOut_8h-source.html @@ -12,104 +12,116 @@

WvOut.h

00001 /***************************************************/
 00034 /***************************************************/
 00035 
-00036 #if !defined(__WVOUT_H)
-00037 #define __WVOUT_H
+00036 #ifndef STK_WVOUT_H
+00037 #define STK_WVOUT_H
 00038 
 00039 #include "Stk.h"
-00040 #include <stdio.h>
-00041 
-00042 #define BUFFER_SIZE 1024  // sample frames
-00043 
-00044 class WvOut : public Stk
-00045 {
-00046  public:
-00047 
-00048   typedef unsigned long FILE_TYPE;
-00049 
-00050   static const FILE_TYPE WVOUT_RAW; 
-00051   static const FILE_TYPE WVOUT_WAV; 
-00052   static const FILE_TYPE WVOUT_SND; 
-00053   static const FILE_TYPE WVOUT_AIF; 
-00054   static const FILE_TYPE WVOUT_MAT; 
-00056 
-00057   WvOut();
-00058 
-00060 
-00063   WvOut( const char *fileName, unsigned int nChannels = 1, FILE_TYPE type = WVOUT_WAV, Stk::STK_FORMAT format = STK_SINT16 );
-00064 
-00066   virtual ~WvOut();
-00067 
-00069 
-00072   void openFile( const char *fileName, unsigned int nChannels = 1,
-00073                  WvOut::FILE_TYPE type = WVOUT_WAV, Stk::STK_FORMAT format = STK_SINT16 );
-00074 
-00076   void closeFile( void );
-00077 
-00079   unsigned long getFrames( void ) const;
-00080 
-00082   MY_FLOAT getTime( void ) const;
-00083 
+00040 
+00041 const unsigned long BUFFER_SIZE = 1024;  // sample frames
+00042 
+00043 class WvOut : public Stk
+00044 {
+00045  public:
+00046 
+00047   typedef unsigned long FILE_TYPE;
+00048 
+00049   static const FILE_TYPE WVOUT_RAW; 
+00050   static const FILE_TYPE WVOUT_WAV; 
+00051   static const FILE_TYPE WVOUT_SND; 
+00052   static const FILE_TYPE WVOUT_AIF; 
+00053   static const FILE_TYPE WVOUT_MAT; 
+00055 
+00056   WvOut();
+00057 
+00059 
+00062   WvOut( const char *fileName, unsigned int nChannels = 1, FILE_TYPE type = WVOUT_WAV, Stk::StkFormat format = STK_SINT16 );
+00063 
+00065   virtual ~WvOut();
+00066 
+00068 
+00071   void openFile( const char *fileName, unsigned int nChannels = 1,
+00072                  WvOut::FILE_TYPE type = WVOUT_WAV, Stk::StkFormat format = STK_SINT16 );
+00073 
+00075   void closeFile( void );
+00076 
+00078   unsigned long getFrames( void ) const;
+00079 
+00081   StkFloat getTime( void ) const;
+00082 
+00084   bool getClipStatus( void ) { return clipping_; };
 00085 
-00088   virtual void tick(const MY_FLOAT sample);
-00089 
-00091 
-00094   virtual void tick(const MY_FLOAT *vector, unsigned int vectorSize);
-00095 
-00097 
-00100   virtual void tickFrame(const MY_FLOAT *frameVector, unsigned int frames = 1);
-00101 
-00102  protected:
-00103 
-00104   // Initialize class variables.
-00105   void init( void );
-00106 
-00107   // Write data to output file;
-00108   virtual void writeData( unsigned long frames );
+00087   void resetClipStatus( void ) { clipping_ = false; };
+00088 
+00090 
+00093   virtual void tick(const StkFloat sample);
+00094 
+00096 
+00099   virtual void tick( const StkFloat *vector, unsigned int vectorSize );
+00100 
+00102 
+00108   virtual void tick( const StkFrames& frames, unsigned int channel = 1 );
 00109 
-00110   // Write STK RAW file header.
-00111   bool setRawFile( const char *fileName );
-00112 
-00113   // Write WAV file header.
-00114   bool setWavFile( const char *fileName );
+00111 
+00114   virtual void tickFrame( const StkFloat *frameVector, unsigned int frames = 1);
 00115 
-00116   // Close WAV file, updating the header.
-00117   void closeWavFile( void );
-00118 
-00119   // Write SND (AU) file header.
-00120   bool setSndFile( const char *fileName );
-00121 
-00122   // Close SND file, updating the header.
-00123   void closeSndFile( void );
-00124 
-00125   // Write AIFF file header.
-00126   bool setAifFile( const char *fileName );
-00127 
-00128   // Close AIFF file, updating the header.
-00129   void closeAifFile( void );
-00130 
-00131   // Write MAT-file header.
-00132   bool setMatFile( const char *fileName );
-00133 
-00134   // Close MAT-file, updating the header.
-00135   void closeMatFile( void );
-00136 
-00137   char msg[256];
-00138   FILE *fd;
-00139   MY_FLOAT *data;
-00140   FILE_TYPE fileType;
-00141   STK_FORMAT dataType;
-00142   bool byteswap;
-00143   unsigned int channels;
-00144   unsigned long counter;
-00145   unsigned long totalCount;
+00117 
+00122   virtual void tickFrame( const StkFrames& frames );
+00123 
+00124  protected:
+00125 
+00126   // Initialize class variables.
+00127   void init( void );
+00128 
+00129   // Write data to output file;
+00130   virtual void writeData( unsigned long frames );
+00131 
+00132   // Check for sample clipping and clamp.
+00133   void clipTest( StkFloat& sample );
+00134 
+00135   // Write STK RAW file header.
+00136   bool setRawFile( const char *fileName );
+00137 
+00138   // Write WAV file header.
+00139   bool setWavFile( const char *fileName );
+00140 
+00141   // Close WAV file, updating the header.
+00142   void closeWavFile( void );
+00143 
+00144   // Write SND (AU) file header.
+00145   bool setSndFile( const char *fileName );
 00146 
-00147 };
-00148 
-00149 #endif // defined(__WVOUT_H)
+00147   // Close SND file, updating the header.
+00148   void closeSndFile( void );
+00149 
+00150   // Write AIFF file header.
+00151   bool setAifFile( const char *fileName );
+00152 
+00153   // Close AIFF file, updating the header.
+00154   void closeAifFile( void );
+00155 
+00156   // Write MAT-file header.
+00157   bool setMatFile( const char *fileName );
+00158 
+00159   // Close MAT-file, updating the header.
+00160   void closeMatFile( void );
+00161 
+00162   FILE *fd_;
+00163   std::valarray<StkFloat> data_;
+00164   FILE_TYPE fileType_;
+00165   StkFormat dataType_;
+00166   unsigned int channels_;
+00167   unsigned long counter_;
+00168   unsigned long totalCount_;
+00169   bool byteswap_;
+00170   bool clipping_;
+00171 
+00172 };
+00173 
+00174 #endif
 

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/annotated.html b/doc/html/annotated.html index 189973b..322c563 100644 --- a/doc/html/annotated.html +++ b/doc/html/annotated.html @@ -11,13 +11,14 @@

STK Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + - + @@ -26,23 +27,28 @@ + + + - + + + @@ -54,29 +60,32 @@ - + - - + - - - + + + + + - + + + @@ -97,7 +106,7 @@
ADSRSTK ADSR envelope class
AsympSTK asymptotic curve envelope class
BandedWGBanded waveguide modeling class
BeeThreeSTK Hammond-oid organ FM synthesis instrument
BiQuadSTK biquad (two-pole, two-zero) filter class
BlowBotlSTK blown bottle instrument class
BlowHoleSTK clarinet physical model with one register hole and one tonehole
BowedSTK bowed string instrument class
BowTablSTK bowed string table class
BowTableSTK bowed string table class
BrassSTK simple brass instrument class
ChorusSTK chorus effect class
ClarinetSTK clarinet physical model class
DelayLSTK linear interpolating delay line class
DrummerSTK drum sample player class
EchoSTK echo effect class
EffectSTK abstract effects parent class
EnvelopeSTK envelope base class
FilterSTK filter class
FluteSTK flute physical model class
FMSTK abstract FM synthesis base class
FMVoicesSTK singing FM synthesis instrument
FormSwepSTK sweepable formant filter class
FunctionSTK abstract function parent class
GeneratorSTK abstract unit generator parent class
HevyMetlSTK heavy metal FM synthesis instrument
InstrmntSTK instrument abstract base class
JCRevJohn Chowning's reverberator class
JetTablSTK jet table class
JetTableSTK jet table class
MandolinSTK mandolin instrument model class
Mesh2DTwo-dimensional rectilinear waveguide mesh class
MessagerSTK input control message parser
MidiFileInA standard MIDI file reading/parsing class
ModalSTK resonance model instrument
ModalBarSTK resonant bar instrument class
ModulateSTK periodic/random modulator
MoogSTK moog-like swept filter sampling synthesis class
MutexSTK mutex class
NoiseSTK noise generator
NRevCCRMA's NRev reverberator class
OnePoleSTK one-pole filter class
PluckTwoSTK enhanced plucked string model class
PoleZeroSTK one-pole, one-zero filter class
PRCRevPerry's simple reverberator class
ReedTablSTK reed table class
ReedTableSTK reed table class
ResonateSTK noise driven formant filter
ReverbSTK abstract reverberator parent class
RhodeySTK Fender Rhodes electric piano FM synthesis instrument
RtAudioRealtime audio i/o C++ classes
RtAudioDeviceInfoThe public device information structure for returning queried values
RtDuplexSTK realtime audio input/output class
RtDuplexSTK realtime audio (blocking) input/output class
RtErrorException handling class for RtAudio & RtMidi
RtMidiSTK realtime MIDI class
RtWvInSTK realtime audio input class
RtWvOutSTK realtime audio output class
RtMidiAn abstract base class for realtime MIDI input/output
RtMidiInA realtime MIDI input class
RtMidiOutA realtime MIDI output class
RtWvInSTK realtime audio (blocking) input class
RtWvOutSTK realtime audio (blocking) output class
SamplerSTK sampling synthesis abstract base class
SaxofonySTK faux conical bore reed instrument class
ShakersPhISEM and PhOLIES class
SimpleSTK wavetable/noise instrument
SingWaveSTK "singing" looped soundfile class
SitarSTK sitar string model class
SKINISTK SKINI parsing class
SkiniSTK SKINI parsing class
Skini::MessageA message structure to store and pass parsed SKINI messages
SocketSTK TCP socket client/server class
SphereSTK sphere class
StifKarpSTK plucked stiff string instrument
StkSTK base class
StkErrorSTK error handling class
StkFramesAn STK class to handle vectorized audio data
SubNoiseSTK sub-sampled noise generator
TableSTK table lookup class
TcpWvInSTK internet streaming input class
- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/classADSR-members.html b/doc/html/classADSR-members.html index bf6e0de..58f725a 100644 --- a/doc/html/classADSR-members.html +++ b/doc/html/classADSR-members.html @@ -12,46 +12,52 @@

ADSR Member List

This is the complete list of members for ADSR, including all inherited members. + - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + + - + + +
ADSR(void)ADSR
Envelope(void)Envelope
Generator()Generator
getState(void) const ADSR [virtual]
handleError(const char *message, StkError::TYPE type)Stk [protected, static]
handleError(const char *message, StkError::Type type)Stk [static]
handleError(std::string message, StkError::Type type)Stk [static]
handleError(StkError::Type type)Stk [protected]
keyOff(void)ADSR [virtual]
keyOn(void)ADSR [virtual]
lastOut(void) const Envelope
MY_FLOAT32Stk [static]
MY_FLOAT64Stk [static]
rawwavePath(void)Stk [static]
sampleRate(void)Stk [static]
setAllTimes(MY_FLOAT aTime, MY_FLOAT dTime, MY_FLOAT sLevel, MY_FLOAT rTime)ADSR
setAttackRate(MY_FLOAT aRate)ADSR
setAttackTime(MY_FLOAT aTime)ADSR
setDecayRate(MY_FLOAT aRate)ADSR
setDecayTime(MY_FLOAT aTime)ADSR
setRate(MY_FLOAT aRate)Envelope
setRawwavePath(std::string newPath)Stk [static]
setReleaseRate(MY_FLOAT aRate)ADSR
setReleaseTime(MY_FLOAT aTime)ADSR
setSampleRate(MY_FLOAT newRate)Stk [static]
setSustainLevel(MY_FLOAT aLevel)ADSR
setTarget(MY_FLOAT aTarget)ADSR [virtual]
setTime(MY_FLOAT aTime)Envelope
setValue(MY_FLOAT aValue)ADSR [virtual]
lastOut() const Generator [inline, virtual]
rawwavePath(void)Stk [inline, static]
sampleRate(void)Stk [inline, static]
setAllTimes(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)ADSR
setAttackRate(StkFloat rate)ADSR
setAttackTime(StkFloat time)ADSR
setDecayRate(StkFloat rate)ADSR
setDecayTime(StkFloat time)ADSR
setRate(StkFloat rate)Envelope
setRawwavePath(std::string path)Stk [static]
setReleaseRate(StkFloat rate)ADSR
setReleaseTime(StkFloat time)ADSR
setSampleRate(StkFloat rate)Stk [inline, static]
setSustainLevel(StkFloat level)ADSR
setTarget(StkFloat target)ADSR [virtual]
setTime(StkFloat time)Envelope
setValue(StkFloat value)ADSR [virtual]
sleep(unsigned long milliseconds)Stk [static]
Stk(void)Stk [protected]
STK_FLOAT32Stk [static]
STK_FLOAT64Stk [static]
STK_SINT16Stk [static]
STK_SINT32Stk [static]
STK_SINT24Stk [static]
STK_SINT32Stk [static]
STK_SINT8Stk [static]
swap16(unsigned char *ptr)Stk [static]
swap32(unsigned char *ptr)Stk [static]
swap64(unsigned char *ptr)Stk [static]
tick(void)ADSR [virtual]
tick(MY_FLOAT *vector, unsigned int vectorSize)ADSR [virtual]
tick(StkFloat *vector, unsigned int vectorSize)ADSR [virtual]
tick(StkFrames &frames, unsigned int channel=1)ADSR [virtual]
~ADSR(void)ADSR
~Envelope(void)Envelope [virtual]
~Generator()Generator [virtual]
~Stk(void)Stk [protected, virtual]

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/classADSR.html b/doc/html/classADSR.html index f47cd94..509423c 100644 --- a/doc/html/classADSR.html +++ b/doc/html/classADSR.html @@ -9,18 +9,24 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
-

ADSR Class Reference

STK ADSR envelope class. -More... -

-#include <ADSR.h> +

ADSR Class Reference

#include <ADSR.h>

Inheritance diagram for ADSR:

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

Detailed Description

+STK ADSR envelope class. +

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

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

+ +

+Definition at line 23 of file ADSR.h.

@@ -44,39 +50,39 @@ void  +void  +void  +void  +void  +void  +void  +void  +void  - + +void  +void  +StkFloat  +StkFloat *  - + + + +

Public Types

enum  
 Set target = 0, state = ADSR::RELEASE.

-void setAttackRate (MY_FLOAT aRate)
setAttackRate (StkFloat rate)
 Set the attack rate.

-void setDecayRate (MY_FLOAT aRate)
setDecayRate (StkFloat rate)
 Set the decay rate.

-void setSustainLevel (MY_FLOAT aLevel)
setSustainLevel (StkFloat level)
 Set the sustain level.

-void setReleaseRate (MY_FLOAT aRate)
setReleaseRate (StkFloat rate)
 Set the release rate.

-void setAttackTime (MY_FLOAT aTime)
setAttackTime (StkFloat time)
 Set the attack rate based on a time duration.

-void setDecayTime (MY_FLOAT aTime)
setDecayTime (StkFloat time)
 Set the decay rate based on a time duration.

-void setReleaseTime (MY_FLOAT aTime)
setReleaseTime (StkFloat time)
 Set the release rate based on a time duration.

-void setAllTimes (MY_FLOAT aTime, MY_FLOAT dTime, MY_FLOAT sLevel, MY_FLOAT rTime)
setAllTimes (StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)
 Set sustain level and attack, decay, and release state rates based on time durations.

 Set sustain level and attach, decay, and release time durations.

-void setTarget (MY_FLOAT aTarget)
setTarget (StkFloat target)
 Set the target value.

@@ -84,32 +90,70 @@ int  Return the current envelope state (ATTACK, DECAY, SUSTAIN, RELEASE, DONE).

-void setValue (MY_FLOAT aValue)
setValue (StkFloat value)
 Set to state = ADSR::SUSTAIN with current and target values of aValue.

-MY_FLOAT tick (void)
tick (void)
 Return one envelope output value.

-MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
tick (StkFloat *vector, unsigned int vectorSize)
 Return vectorSize envelope outputs in vector.

 Compute vectorSize outputs and return them in vector.

StkFramestick (StkFrames &frames, unsigned int channel=1)
 Fill a channel of the StkFrames object with computed outputs.

-

Detailed Description

-STK ADSR envelope class. -

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

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

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
StkFrames& ADSR::tick StkFrames frames,
unsigned int  channel = 1
[virtual]
+
+ + + + + +
+   +

-Definition at line 23 of file ADSR.h.


The documentation for this class was generated from the following file:
    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

    +Reimplemented from Envelope.

+


The documentation for this class was generated from the following file:
- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/classADSR.png b/doc/html/classADSR.png index 138afdb79228f2f33a949f77d579e2aa88a06dea..e88c057a66179f102b8db333f4cec5ca2aaca57e 100644 GIT binary patch delta 432 zcmV;h0Z;z!0@wo~iBL{Q4GJ0x0000DNk~Le0000*0002M1Oos70HEHpagiZ3e{M-c zK~#90?UzYz!!Qg*?M>GrZ$O@)XfM>2?|+1nlsv@Ngu)GkgiInU(gXSF!1&Sh-Hgxa zi(4@|1Hi;sWr!I&7zRYD*HR9#%CPEzx@OZ;XOiY>t;94miyldXH6|DD&GbAwm-x9Z z{e}5h?qQatU95+>t1oAqappeef0g~6053aqVvwoD*jEwVedSt{P$^Ijt z_%iY~-55&CaYM!7K3(&Ose>_cQF)MM(DKC`d##PxC9E46hQK6IRA#lL$2cAJHyw#_ ze?LSA;*2xSJePTGe}6Fe?AiR}?nOq;-Q0Q|K#%e#COW8jsu^^=Jm^V=f4ebwW;hx* zsprDZ0OT3wL!Pr{JG^sKk9J+^D;N7s`hSK8X58No(SbPQj5E(=pc!Eb&BP-!v%CRx z2$Ob`V?t0&S7!T^nb}qf%xo_mLYq;jphxva#_DAmt&sE-H7BOpmoe-8DfM28_hvet aonK0hjP6{Bg5CfC002ov22Mn-LSTaF1L6TqO7<05rketifxMr=1*fPW>!eJs--Zg7+szza3(TA+{6XR0_#ibB7}44}c6Q z$PwN}N`hn}mTynQGNFoCE*X+1gs3?r + +The Synthesis ToolKit in C++ (STK) + + + +
+    

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

Asymp Member List

This is the complete list of members for Asymp, including all inherited members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Asymp(void)Asymp
Envelope(void)Envelope
Generator()Generator
getState(void) const Envelope [virtual]
handleError(const char *message, StkError::Type type)Stk [static]
handleError(std::string message, StkError::Type type)Stk [static]
handleError(StkError::Type type)Stk [protected]
keyOff(void)Asymp [virtual]
keyOn(void)Asymp [virtual]
lastOut() const Generator [inline, virtual]
rawwavePath(void)Stk [inline, static]
sampleRate(void)Stk [inline, static]
setRate(StkFloat rate)Envelope
setRawwavePath(std::string path)Stk [static]
setSampleRate(StkFloat rate)Stk [inline, static]
setTarget(StkFloat target)Asymp [virtual]
setTau(StkFloat tau)Asymp
setTime(StkFloat time)Asymp
setValue(StkFloat value)Envelope [virtual]
sleep(unsigned long milliseconds)Stk [static]
Stk(void)Stk [protected]
STK_FLOAT32Stk [static]
STK_FLOAT64Stk [static]
STK_SINT16Stk [static]
STK_SINT24Stk [static]
STK_SINT32Stk [static]
STK_SINT8Stk [static]
swap16(unsigned char *ptr)Stk [static]
swap32(unsigned char *ptr)Stk [static]
swap64(unsigned char *ptr)Stk [static]
tick(void)Asymp [virtual]
tick(StkFloat *vector, unsigned int vectorSize)Asymp [virtual]
tick(StkFrames &frames, unsigned int channel=1)Asymp [virtual]
~Asymp(void)Asymp
~Envelope(void)Envelope [virtual]
~Generator()Generator [virtual]
~Stk(void)Stk [protected, virtual]

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

+Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

+
+ +

Asymp Class Reference

#include <Asymp.h> +

+

Inheritance diagram for Asymp: +

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

Detailed Description

+STK asymptotic curve envelope class. +

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

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

+where a = exp(-T/tau), T is the sample period, and tau is a time constant. The user can set the time constant (default value = 0.3) and target value. Theoretically, this recursion never reaches its target, though the calculations in this class are stopped when the current value gets within a small threshold value of the target (at which time the current value is set to the target). It responds to keyOn and keyOff messages by ramping to 1.0 on keyOn and to 0.0 on keyOff.

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

+ +

+Definition at line 33 of file Asymp.h. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

Asymp (void)
 Default constructor.

~Asymp (void)
 Class destructor.

+void keyOn (void)
 Set target = 1.

+void keyOff (void)
 Set target = 0.

void setTau (StkFloat tau)
 Set the asymptotic rate via the time factor tau (must be > 0).

+void setTime (StkFloat time)
 Set the asymptotic rate based on a time duration (must be > 0).

+void setTarget (StkFloat target)
 Set the target value.

+StkFloat tick (void)
 Return one envelope output value.

+StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
 Compute vectorSize outputs and return them in vector.

StkFramestick (StkFrames &frames, unsigned int channel=1)
 Fill a channel of the StkFrames object with computed outputs.

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + +
void Asymp::setTau StkFloat  tau  ) 
+
+ + + + + +
+   + + +

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

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

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
StkFrames& Asymp::tick StkFrames frames,
unsigned int  channel = 1
[virtual]
+
+ + + + + +
+   + + +

+Fill a channel of the StkFrames object with computed outputs. +

+The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

+Reimplemented from Envelope.

+


The documentation for this class was generated from the following file: +
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/classAsymp.png b/doc/html/classAsymp.png new file mode 100644 index 0000000000000000000000000000000000000000..fe7270cad26b6e08a96cef9d553ebd9977fe1da0 GIT binary patch literal 481 zcmV<70UrK|P)}7l*5~xaR*h}|m>8Re zn6bk!AX0m+eqgW8?Gv?!Qk9j=o z#d^$L`*P#P&3)#b^PK=sSEw+^WEp)+l7NKiBzY=Fz&zX=2}sia2q?LXybf1G^T+u@ zY7V#IGLM8hsF71@52^-rzC6da)@rsEmJ1a_pe<4EOxKb<=HaNn=}5-&eODdCjT<+w zHSeA8hk&m>n-}SRX;QdrS}zAkkMf1d396Z@0i92We&)bk4VH#;a8t@$*bG43Fz@Cm zd)9|{Hv37tzS>uBandedWG Member ListThis is the complete list of members for BandedWG, including all inherited members. - - + + + + - - - - - - - - + + + + + + - - - + + + - + + + - + + - + - + +
BandedWG()BandedWG
clear()BandedWG
controlChange(int number, MY_FLOAT value)BandedWG [virtual]
handleError(const char *message, StkError::TYPE type)Stk [protected, static]
controlChange(int number, StkFloat value)BandedWG [virtual]
handleError(const char *message, StkError::Type type)Stk [static]
handleError(std::string message, StkError::Type type)Stk [static]
handleError(StkError::Type type)Stk [protected]
Instrmnt()Instrmnt
lastOut() const Instrmnt
lastOutLeft() const Instrmnt
lastOutRight() const Instrmnt
MY_FLOAT32Stk [static]
MY_FLOAT64Stk [static]
noteOff(MY_FLOAT amplitude)BandedWG [virtual]
noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)BandedWG [virtual]
pluck(MY_FLOAT amp)BandedWG
rawwavePath(void)Stk [static]
sampleRate(void)Stk [static]
setFrequency(MY_FLOAT frequency)BandedWG [virtual]
noteOff(StkFloat amplitude)BandedWG [virtual]
noteOn(StkFloat frequency, StkFloat amplitude)BandedWG [virtual]
pluck(StkFloat amp)BandedWG
rawwavePath(void)Stk [inline, static]
sampleRate(void)Stk [inline, static]
setFrequency(StkFloat frequency)BandedWG [virtual]
setPreset(int preset)BandedWG
setRawwavePath(std::string newPath)Stk [static]
setSampleRate(MY_FLOAT newRate)Stk [static]
setStrikePosition(MY_FLOAT position)BandedWG
setRawwavePath(std::string path)Stk [static]
setSampleRate(StkFloat rate)Stk [inline, static]
setStrikePosition(StkFloat position)BandedWG
sleep(unsigned long milliseconds)Stk [static]
startBowing(MY_FLOAT amplitude, MY_FLOAT rate)BandedWG
startBowing(StkFloat amplitude, StkFloat rate)BandedWG
Stk(void)Stk [protected]
STK_FLOAT32Stk [static]
STK_FLOAT64Stk [static]
STK_SINT16Stk [static]
STK_SINT32Stk [static]
STK_SINT24Stk [static]
STK_SINT32Stk [static]
STK_SINT8Stk [static]
stopBowing(MY_FLOAT rate)BandedWG
stopBowing(StkFloat rate)BandedWG
swap16(unsigned char *ptr)Stk [static]
swap32(unsigned char *ptr)Stk [static]
swap64(unsigned char *ptr)Stk [static]
tick()BandedWG [virtual]
Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
tick(StkFloat *vector, unsigned int vectorSize)BandedWG [virtual]
tick(StkFrames &frames, unsigned int channel=1)BandedWG [virtual]
~BandedWG()BandedWG
~Instrmnt()Instrmnt [virtual]
~Stk(void)Stk [protected, virtual]

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/classBandedWG.html b/doc/html/classBandedWG.html index 06b0832..541a09f 100644 --- a/doc/html/classBandedWG.html +++ b/doc/html/classBandedWG.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
-

BandedWG Class Reference

Banded waveguide modeling class. -More... -

-#include <BandedWG.h> +

BandedWG Class Reference

#include <BandedWG.h>

Inheritance diagram for BandedWG:

@@ -20,7 +17,20 @@ Instrmnt Stk -List of all members. +List of all members.

Detailed Description

+Banded waveguide modeling class. +

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

+Control Change Numbers:

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

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

+ +

+Definition at line 43 of file BandedWG.h.

+void  +void  +void  +void  +void  +void  +void  +StkFloat  - + + + + + + +

Public Member Functions

@@ -36,7 +46,7 @@ void  Reset and clear all internal state.

-void setStrikePosition (MY_FLOAT position)
setStrikePosition (StkFloat position)
 Set strike position (0.0 - 1.0).

@@ -44,57 +54,94 @@ void  Select a preset.

-void setFrequency (MY_FLOAT frequency)
setFrequency (StkFloat frequency)
 Set instrument parameters for a particular frequency.

-void startBowing (MY_FLOAT amplitude, MY_FLOAT rate)
startBowing (StkFloat amplitude, StkFloat rate)
 Apply bow velocity/pressure to instrument with given amplitude and rate of increase.

-void stopBowing (MY_FLOAT rate)
stopBowing (StkFloat rate)
 Decrease bow velocity/breath pressure with given rate of decrease.

-void pluck (MY_FLOAT amp)
pluck (StkFloat amp)
 Pluck the instrument with given amplitude.

-void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
noteOn (StkFloat frequency, StkFloat amplitude)
 Start a note with the given frequency and amplitude.

-void noteOff (MY_FLOAT amplitude)
noteOff (StkFloat amplitude)
 Stop a note with the given amplitude (speed of decay).

-MY_FLOAT tick ()
tick ()
 Compute one output sample.

-void controlChange (int number, MY_FLOAT value)
+StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
 Computer vectorSize outputs and return them in vector.

StkFramestick (StkFrames &frames, unsigned int channel=1)
 Fill a channel of the StkFrames object with computed outputs.

+void controlChange (int number, StkFloat value)
 Perform the control change specified by number and value (0.0 - 128.0).

-

Detailed Description

-Banded waveguide modeling class. -

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

-Control Change Numbers:

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

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

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
StkFrames& BandedWG::tick StkFrames frames,
unsigned int  channel = 1
[virtual]
+
+ + + + + +
+   +

-Definition at line 43 of file BandedWG.h.


The documentation for this class was generated from the following file:
    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

    +Reimplemented from Instrmnt.

+


The documentation for this class was generated from the following file:
- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/classBeeThree-members.html b/doc/html/classBeeThree-members.html index c78dee1..3c2d0b2 100644 --- a/doc/html/classBeeThree-members.html +++ b/doc/html/classBeeThree-members.html @@ -12,9 +12,11 @@

BeeThree Member List

This is the complete list of members for BeeThree, including all inherited members. - - - + + + + + @@ -22,31 +24,33 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + + - + + @@ -54,7 +58,7 @@
BeeThree()BeeThree
clear()FM
controlChange(int number, MY_FLOAT value)FM [virtual]
FM(int operators=4)FM
handleError(const char *message, StkError::TYPE type)Stk [protected, static]
controlChange(int number, StkFloat value)FM [virtual]
FM(unsigned int operators=4)FM
handleError(const char *message, StkError::Type type)Stk [static]
handleError(std::string message, StkError::Type type)Stk [static]
handleError(StkError::Type type)Stk [protected]
Instrmnt()Instrmnt
keyOff()FM
keyOn()FM
lastOutLeft() const Instrmnt
lastOutRight() const Instrmnt
loadWaves(const char **filenames)FM
MY_FLOAT32Stk [static]
MY_FLOAT64Stk [static]
noteOff(MY_FLOAT amplitude)FM [virtual]
noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)BeeThree [virtual]
rawwavePath(void)Stk [static]
sampleRate(void)Stk [static]
setControl1(MY_FLOAT cVal)FM
setControl2(MY_FLOAT cVal)FM
setFrequency(MY_FLOAT frequency)FM [virtual]
setGain(int waveIndex, MY_FLOAT gain)FM
setModulationDepth(MY_FLOAT mDepth)FM
setModulationSpeed(MY_FLOAT mSpeed)FM
setRatio(int waveIndex, MY_FLOAT ratio)FM
setRawwavePath(std::string newPath)Stk [static]
setSampleRate(MY_FLOAT newRate)Stk [static]
noteOff(StkFloat amplitude)FM [virtual]
noteOn(StkFloat frequency, StkFloat amplitude)BeeThree [virtual]
rawwavePath(void)Stk [inline, static]
sampleRate(void)Stk [inline, static]
setControl1(StkFloat cVal)FM
setControl2(StkFloat cVal)FM
setFrequency(StkFloat frequency)FM [virtual]
setGain(unsigned int waveIndex, StkFloat gain)FM
setModulationDepth(StkFloat mDepth)FM
setModulationSpeed(StkFloat mSpeed)FM
setRatio(unsigned int waveIndex, StkFloat ratio)FM
setRawwavePath(std::string path)Stk [static]
setSampleRate(StkFloat rate)Stk [inline, static]
sleep(unsigned long milliseconds)Stk [static]
Stk(void)Stk [protected]
STK_FLOAT32Stk [static]
STK_FLOAT64Stk [static]
STK_SINT16Stk [static]
STK_SINT32Stk [static]
STK_SINT24Stk [static]
STK_SINT32Stk [static]
STK_SINT8Stk [static]
swap16(unsigned char *ptr)Stk [static]
swap32(unsigned char *ptr)Stk [static]
swap64(unsigned char *ptr)Stk [static]
tick()BeeThree [virtual]
Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
tick(StkFloat *vector, unsigned int vectorSize)BeeThree [virtual]
tick(StkFrames &frames, unsigned int channel=1)BeeThree [virtual]
~BeeThree()BeeThree
~FM()FM [virtual]
~Instrmnt()Instrmnt [virtual]

- +
The Synthesis ToolKit in C++ (STK)
The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/classBeeThree.html b/doc/html/classBeeThree.html index 1e37220..5527245 100644 --- a/doc/html/classBeeThree.html +++ b/doc/html/classBeeThree.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
-

BeeThree Class Reference

STK Hammond-oid organ FM synthesis instrument. -More... -

-#include <BeeThree.h> +

BeeThree Class Reference

#include <BeeThree.h>

Inheritance diagram for BeeThree:

@@ -21,27 +18,7 @@ Instrmnt Stk -List of all members. - - - - - - - - - - - - - - -

Public Member Functions

BeeThree ()
 Class constructor.

~BeeThree ()
 Class destructor.

-void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
 Start a note with the given frequency and amplitude.

-MY_FLOAT tick ()
 Compute one output sample.

-

Detailed Description

+List of all members.

Detailed Description

STK Hammond-oid organ FM synthesis instrument.

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

@@ -56,16 +33,116 @@ Control Change Numbers:

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

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

-by Perry R. Cook and Gary P. Scavone, 1995 - 2002. +by Perry R. Cook and Gary P. Scavone, 1995 - 2004.

-Definition at line 40 of file BeeThree.h.


The documentation for this class was generated from the following file:
    +Definition at line 40 of file BeeThree.h. + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     BeeThree ()
     Class constructor.

    ~BeeThree ()
     Class destructor.

    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.

    +StkFloat tick ()
     Compute one output sample.

    +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Computer vectorSize outputs and return them in vector.

    StkFramestick (StkFrames &frames, unsigned int channel=1)
     Fill a channel of the StkFrames object with computed outputs.

    +

    Constructor & Destructor Documentation

    +

    + + + + +
    + + + + + + + + + +
    BeeThree::BeeThree  ) 
    +
    + + + + + +
    +   + + +

    +Class constructor. +

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

    +


    Member Function Documentation

    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    StkFrames& BeeThree::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    +
    + + + + + +
    +   + + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

    +Implements FM.

    +


    The documentation for this class was generated from the following file:
    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classBiQuad-members.html b/doc/html/classBiQuad-members.html index 3a68b63..fb4057f 100644 --- a/doc/html/classBiQuad-members.html +++ b/doc/html/classBiQuad-members.html @@ -13,45 +13,49 @@ BiQuad()BiQuad clear(void)BiQuad Filter(void)Filter [protected] - Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected] + Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected] getGain(void) const BiQuad [virtual] - handleError(const char *message, StkError::TYPE type)Stk [protected, static] + handleError(const char *message, StkError::Type type)Stk [protected, static] + handleError(std::string message, StkError::Type type)Stk [protected, static] + handleError(StkError::Type type)Stk [protected] lastOut(void) const BiQuad [virtual] - MY_FLOAT32Stk [protected, static] - MY_FLOAT64Stk [protected, static] - rawwavePath(void)Stk [protected, static] - sampleRate(void)Stk [protected, static] - setA1(MY_FLOAT a1)BiQuad - setA2(MY_FLOAT a2)BiQuad - setB0(MY_FLOAT b0)BiQuad - setB1(MY_FLOAT b1)BiQuad - setB2(MY_FLOAT b2)BiQuad - setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected] - setDenominator(int na, MY_FLOAT *aCoefficients)Filter [protected] + rawwavePath(void)Stk [inline, protected, static] + sampleRate(void)Stk [inline, protected, static] + setA1(StkFloat a1)BiQuad + setA2(StkFloat a2)BiQuad + setB0(StkFloat b0)BiQuad + setB1(StkFloat b1)BiQuad + setB2(StkFloat b2)BiQuad + setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected] + setDenominator(std::vector< StkFloat > &aCoefficients)Filter [protected] setEqualGainZeroes()BiQuad - setGain(MY_FLOAT theGain)BiQuad [virtual] - setNotch(MY_FLOAT frequency, MY_FLOAT radius)BiQuad - setNumerator(int nb, MY_FLOAT *bCoefficients)Filter [protected] - setRawwavePath(std::string newPath)Stk [protected, static] - setResonance(MY_FLOAT frequency, MY_FLOAT radius, bool normalize=FALSE)BiQuad - setSampleRate(MY_FLOAT newRate)Stk [protected, static] + setGain(StkFloat gain)BiQuad [virtual] + setNotch(StkFloat frequency, StkFloat radius)BiQuad + setNumerator(std::vector< StkFloat > &bCoefficients)Filter [protected] + setRawwavePath(std::string path)Stk [protected, static] + setResonance(StkFloat frequency, StkFloat radius, bool normalize=false)BiQuad + setSampleRate(StkFloat rate)Stk [inline, protected, static] sleep(unsigned long milliseconds)Stk [protected, static] Stk(void)Stk [protected] + STK_FLOAT32Stk [protected, static] + STK_FLOAT64Stk [protected, static] STK_SINT16Stk [protected, static] - STK_SINT32Stk [protected, static] + STK_SINT24Stk [protected, static] + STK_SINT32Stk [protected, static] STK_SINT8Stk [protected, static] swap16(unsigned char *ptr)Stk [protected, static] swap32(unsigned char *ptr)Stk [protected, static] swap64(unsigned char *ptr)Stk [protected, static] - tick(MY_FLOAT sample)BiQuad [virtual] - tick(MY_FLOAT *vector, unsigned int vectorSize)BiQuad [virtual] + tick(StkFloat sample)BiQuad [virtual] + tick(StkFloat *vector, unsigned int vectorSize)BiQuad [virtual] + tick(StkFrames &frames, unsigned int channel=1)BiQuad [virtual] ~BiQuad()BiQuad [virtual] ~Filter(void)Filter [protected, virtual] ~Stk(void)Stk [protected, virtual]
    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classBiQuad.html b/doc/html/classBiQuad.html index 2058005..1ab0154 100644 --- a/doc/html/classBiQuad.html +++ b/doc/html/classBiQuad.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
    -

    BiQuad Class Reference

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

    -#include <BiQuad.h> +

    BiQuad Class Reference

    #include <BiQuad.h>

    Inheritance diagram for BiQuad:

    @@ -21,7 +18,15 @@ Stk FormSwep -List of all members. +List of all members.

    Detailed Description

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

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

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

    + +

    +Definition at line 20 of file BiQuad.h.

    +void  +void  +void  +void  +void  - + - + - + +StkFloat  +StkFloat  +virtual StkFloat  +virtual StkFloat *  -

    Public Member Functions

    @@ -37,63 +42,58 @@ void  Clears all internal states of the filter.

    -void setB0 (MY_FLOAT b0)
    setB0 (StkFloat b0)
     Set the b[0] coefficient value.

    -void setB1 (MY_FLOAT b1)
    setB1 (StkFloat b1)
     Set the b[1] coefficient value.

    -void setB2 (MY_FLOAT b2)
    setB2 (StkFloat b2)
     Set the b[2] coefficient value.

    -void setA1 (MY_FLOAT a1)
    setA1 (StkFloat a1)
     Set the a[1] coefficient value.

    -void setA2 (MY_FLOAT a2)
    setA2 (StkFloat a2)
     Set the a[2] coefficient value.

    void setResonance (MY_FLOAT frequency, MY_FLOAT radius, bool normalize=FALSE)
    void setResonance (StkFloat frequency, StkFloat radius, bool normalize=false)
     Sets the filter coefficients for a resonance at frequency (in Hz).

    void setNotch (MY_FLOAT frequency, MY_FLOAT radius)
    void setNotch (StkFloat frequency, StkFloat radius)
     Set the filter coefficients for a notch at frequency (in Hz).

    void setEqualGainZeroes ()
     Sets the filter zeroes for equal resonance gain.

    void setGain (MY_FLOAT theGain)
    void setGain (StkFloat gain)
     Set the filter gain.

    -MY_FLOAT getGain (void) const
    getGain (void) const
     Return the current filter gain.

    -MY_FLOAT lastOut (void) const
    lastOut (void) const
     Return the last computed output value.

    -MY_FLOAT tick (MY_FLOAT sample)
    tick (StkFloat sample)
     Input one sample to the filter and return one output.

    -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
    tick (StkFloat *vector, unsigned int vectorSize)
     Input vectorSize samples to the filter and return an equal number of outputs in vector.

    -

    Detailed Description

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

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

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

    +virtual StkFramestick (StkFrames &frames, unsigned int channel=1) -

    -Definition at line 20 of file BiQuad.h.


    Member Function Documentation

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

    + +

    Member Function Documentation

    @@ -102,20 +102,20 @@ Definition at line 20 of f - + - + - + @@ -148,13 +148,13 @@ This method determines the filter coefficients corresponding to two complex-conj - + - + @@ -218,8 +218,8 @@ When using the filter as a resonator, zeroes places at z = 1, z = -1 will result - - + + @@ -243,12 +243,56 @@ The gain is applied at the filter input and does not affect the coefficient valu Reimplemented from Filter.
    void BiQuad::setResonance MY_FLOAT StkFloat  frequency,
    MY_FLOAT StkFloat  radius,
    bool  normalize = FALSE normalize = false
    void BiQuad::setNotch MY_FLOAT StkFloat  frequency,
    MY_FLOAT StkFloat  radius
    void BiQuad::setGain MY_FLOAT  theGain StkFloat  gain  )  [virtual]
    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    virtual StkFrames& BiQuad::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    +
    + + + + + +
    +   + + +

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

    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

    +Reimplemented from Filter. +

    +Reimplemented in FormSwep.


    The documentation for this class was generated from the following file:
    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classBlowBotl-members.html b/doc/html/classBlowBotl-members.html index b967ae9..eee2e69 100644 --- a/doc/html/classBlowBotl-members.html +++ b/doc/html/classBlowBotl-members.html @@ -12,40 +12,44 @@

    BlowBotl Member List

    This is the complete list of members for BlowBotl, including all inherited members. - - + + + + - - - - - - - - - + + + + + + + - + + + - + + - + - + +
    BlowBotl()BlowBotl
    clear()BlowBotl
    controlChange(int number, MY_FLOAT value)BlowBotl [virtual]
    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
    controlChange(int number, StkFloat value)BlowBotl [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    MY_FLOAT32Stk [static]
    MY_FLOAT64Stk [static]
    noteOff(MY_FLOAT amplitude)BlowBotl [virtual]
    noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)BlowBotl [virtual]
    rawwavePath(void)Stk [static]
    sampleRate(void)Stk [static]
    setFrequency(MY_FLOAT frequency)BlowBotl [virtual]
    setRawwavePath(std::string newPath)Stk [static]
    setSampleRate(MY_FLOAT newRate)Stk [static]
    noteOff(StkFloat amplitude)BlowBotl [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)BlowBotl [virtual]
    rawwavePath(void)Stk [inline, static]
    sampleRate(void)Stk [inline, static]
    setFrequency(StkFloat frequency)BlowBotl [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBlowing(MY_FLOAT amplitude, MY_FLOAT rate)BlowBotl
    startBlowing(StkFloat amplitude, StkFloat rate)BlowBotl
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT32Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBlowing(MY_FLOAT rate)BlowBotl
    stopBlowing(StkFloat rate)BlowBotl
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick()BlowBotl [virtual]
    Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
    tick(StkFloat *vector, unsigned int vectorSize)BlowBotl [virtual]
    tick(StkFrames &frames, unsigned int channel=1)BlowBotl [virtual]
    ~BlowBotl()BlowBotl
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]

    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classBlowBotl.html b/doc/html/classBlowBotl.html index 98e38c1..264aaca 100644 --- a/doc/html/classBlowBotl.html +++ b/doc/html/classBlowBotl.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
    -

    BlowBotl Class Reference

    STK blown bottle instrument class. -More... -

    -#include <BlowBotl.h> +

    BlowBotl Class Reference

    #include <BlowBotl.h>

    Inheritance diagram for BlowBotl:

    @@ -20,13 +17,23 @@ Instrmnt Stk -List of all members. +List of all members.

    Detailed Description

    +STK blown bottle instrument class. +

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

    +Control Change Numbers:

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

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

    + +

    +Definition at line 30 of file BlowBotl.h.

    - + - + @@ -36,51 +43,121 @@ void  +void  +void  +void  +void  +void  +StkFloat  - + + + + + + +

    Public Member Functions

    BlowBotl ()
     BlowBotl ()
     Class constructor.

     Class constructor.

     ~BlowBotl ()
     Reset and clear all internal state.

    -void setFrequency (MY_FLOAT frequency)
    setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.

    -void startBlowing (MY_FLOAT amplitude, MY_FLOAT rate)
    startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath velocity to instrument with given amplitude and rate of increase.

    -void stopBlowing (MY_FLOAT rate)
    stopBlowing (StkFloat rate)
     Decrease breath velocity with given rate of decrease.

    -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
    noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.

    -void noteOff (MY_FLOAT amplitude)
    noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).

    -MY_FLOAT tick ()
    tick ()
     Compute one output sample.

    -void controlChange (int number, MY_FLOAT value)
    +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Computer vectorSize outputs and return them in vector.

    StkFramestick (StkFrames &frames, unsigned int channel=1)
     Fill a channel of the StkFrames object with computed outputs.

    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).

    -

    Detailed Description

    -STK blown bottle instrument class. -

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

    -Control Change Numbers:

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

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

    +


    Constructor & Destructor Documentation

    +

    + + + + +
    + + + + + + + + + +
    BlowBotl::BlowBotl  ) 
    +
    + + + + + +
    +   +

    -Definition at line 30 of file BlowBotl.h.


    The documentation for this class was generated from the following file:
      +Class constructor. +

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

    +


    Member Function Documentation

    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    StkFrames& BlowBotl::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    +
    + + + + + +
    +   + + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

    +Reimplemented from Instrmnt.

    +


    The documentation for this class was generated from the following file:
    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classBlowHole-members.html b/doc/html/classBlowHole-members.html index d865d5b..1c43e8e 100644 --- a/doc/html/classBlowHole-members.html +++ b/doc/html/classBlowHole-members.html @@ -10,44 +10,48 @@

    BlowHole Member List

    This is the complete list of members for BlowHole, including all inherited members. - + - - + + + + - - - - - - - - - - - + + + + + + + + + - + + + - + + - + - + +
    BlowHole(MY_FLOAT lowestFrequency)BlowHole
    BlowHole(StkFloat lowestFrequency)BlowHole
    clear()BlowHole
    controlChange(int number, MY_FLOAT value)BlowHole [virtual]
    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
    controlChange(int number, StkFloat value)BlowHole [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    MY_FLOAT32Stk [static]
    MY_FLOAT64Stk [static]
    noteOff(MY_FLOAT amplitude)BlowHole [virtual]
    noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)BlowHole [virtual]
    rawwavePath(void)Stk [static]
    sampleRate(void)Stk [static]
    setFrequency(MY_FLOAT frequency)BlowHole [virtual]
    setRawwavePath(std::string newPath)Stk [static]
    setSampleRate(MY_FLOAT newRate)Stk [static]
    setTonehole(MY_FLOAT newValue)BlowHole
    setVent(MY_FLOAT newValue)BlowHole
    noteOff(StkFloat amplitude)BlowHole [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)BlowHole [virtual]
    rawwavePath(void)Stk [inline, static]
    sampleRate(void)Stk [inline, static]
    setFrequency(StkFloat frequency)BlowHole [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [inline, static]
    setTonehole(StkFloat newValue)BlowHole
    setVent(StkFloat newValue)BlowHole
    sleep(unsigned long milliseconds)Stk [static]
    startBlowing(MY_FLOAT amplitude, MY_FLOAT rate)BlowHole
    startBlowing(StkFloat amplitude, StkFloat rate)BlowHole
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT32Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBlowing(MY_FLOAT rate)BlowHole
    stopBlowing(StkFloat rate)BlowHole
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick()BlowHole [virtual]
    Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
    tick(StkFloat *vector, unsigned int vectorSize)BlowHole [virtual]
    tick(StkFrames &frames, unsigned int channel=1)BlowHole [virtual]
    ~BlowHole()BlowHole
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]

    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classBlowHole.html b/doc/html/classBlowHole.html index b6ba1ef..a26bfee 100644 --- a/doc/html/classBlowHole.html +++ b/doc/html/classBlowHole.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
    -

    BlowHole Class Reference

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

    -#include <BlowHole.h> +

    BlowHole Class Reference

    #include <BlowHole.h>

    Inheritance diagram for BlowHole:

    @@ -20,13 +17,25 @@ Instrmnt Stk -List of all members. +List of all members.

    Detailed Description

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

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

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

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

    +Control Change Numbers:

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

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

    + +

    +Definition at line 48 of file BlowHole.h.

    - + - + @@ -36,61 +45,130 @@ void  +void  +void  +void  +void  +void  +void  +void  +StkFloat  - + + + + + + +

    Public Member Functions

    BlowHole (MY_FLOAT lowestFrequency)
     BlowHole (StkFloat lowestFrequency)
     Class constructor.

     Class constructor.

     ~BlowHole ()
     Reset and clear all internal state.

    -void setFrequency (MY_FLOAT frequency)
    setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.

    -void setTonehole (MY_FLOAT newValue)
    setTonehole (StkFloat newValue)
     Set the tonehole state (0.0 = closed, 1.0 = fully open).

    -void setVent (MY_FLOAT newValue)
    setVent (StkFloat newValue)
     Set the register hole state (0.0 = closed, 1.0 = fully open).

    -void startBlowing (MY_FLOAT amplitude, MY_FLOAT rate)
    startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.

    -void stopBlowing (MY_FLOAT rate)
    stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.

    -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
    noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.

    -void noteOff (MY_FLOAT amplitude)
    noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).

    -MY_FLOAT tick ()
    tick ()
     Compute one output sample.

    -void controlChange (int number, MY_FLOAT value)
    +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Computer vectorSize outputs and return them in vector.

    StkFramestick (StkFrames &frames, unsigned int channel=1)
     Fill a channel of the StkFrames object with computed outputs.

    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).

    -

    Detailed Description

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

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

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

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

    -Control Change Numbers:

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

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

    +


    Constructor & Destructor Documentation

    +

    + + + + +
    + + + + + + + + + + +
    BlowHole::BlowHole StkFloat  lowestFrequency  ) 
    +
    + + + + + +
    +   +

    -Definition at line 48 of file BlowHole.h.


    The documentation for this class was generated from the following file:
      +Class constructor. +

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

    +


    Member Function Documentation

    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    StkFrames& BlowHole::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    +
    + + + + + +
    +   + + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

    +Reimplemented from Instrmnt.

    +


    The documentation for this class was generated from the following file:
    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classBowTabl.html b/doc/html/classBowTabl.html deleted file mode 100644 index 5097ac1..0000000 --- a/doc/html/classBowTabl.html +++ /dev/null @@ -1,163 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
    -    

    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    -
    - -

    BowTabl Class Reference

    STK bowed string table class. -More... -

    -#include <BowTabl.h> -

    -

    Inheritance diagram for BowTabl: -

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

    Public Member Functions

    BowTabl ()
     Default constructor.

    ~BowTabl ()
     Class destructor.

    void setOffset (MY_FLOAT aValue)
     Set the table offset value.

    void setSlope (MY_FLOAT aValue)
     Set the table slope value.

    -MY_FLOAT lastOut (void) const
     Return the last output value.

    MY_FLOAT tick (const MY_FLOAT input)
     Return the function value for input.

    -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
     Take vectorSize inputs and return the corresponding function values in vector.

    -

    Detailed Description

    -STK bowed string table class. -

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

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

    - -

    -Definition at line 17 of file BowTabl.h.


    Member Function Documentation

    -

    - - - - -
    - - - - - - - - - - -
    void BowTabl::setOffset MY_FLOAT  aValue  ) 
    -
    - - - - - -
    -   - - -

    -Set the table offset value. -

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

    -

    - - - - -
    - - - - - - - - - - -
    void BowTabl::setSlope MY_FLOAT  aValue  ) 
    -
    - - - - - -
    -   - - -

    -Set the table slope value. -

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

    -

    - - - - -
    - - - - - - - - - - -
    MY_FLOAT BowTabl::tick const MY_FLOAT  input  ) 
    -
    - - - - - -
    -   - - -

    -Return the function value for input. -

    -The function input represents differential string-to-bow velocity.

    -


    The documentation for this class was generated from the following file: -
    - - - - -
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    - - - diff --git a/doc/html/classBowTabl.png b/doc/html/classBowTabl.png deleted file mode 100644 index cf7fb66e2318fd0c0b356df1977e9bd8d9db506c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5M}!VDz0KjBUQQW60^A+G=b{|7Sv|35H)e!>JG z3ycpOI8c4){}UjWu_VYZn8D%MjWi(VfTxRNNX4ADlN|XDEAX(q^*(=q->3dU-HPRZ z{&SixTj;QHu@?Ixjc%7EvK#MlJjmpdyLjQR#*CVd#t<2$n=_a-YL7kSVY+(!cGi?M zcG1&0qR+Fkek|V^)%$<;?8!~_rAd1}PO#ov^;o_p`rCt4!^`F$_B|8d_rY?bIqSJo zhi*#je5jT8`UtyXudb|$j^d;{~4!$@(V{03K s!8_AAXU}rG^_PC08E(XToBt>8RkbS9Nf$dF0sX?@>FVdQ&MBb@0NDS3od5s; diff --git a/doc/html/classBowTable-members.html b/doc/html/classBowTable-members.html new file mode 100644 index 0000000..5a3c938 --- /dev/null +++ b/doc/html/classBowTable-members.html @@ -0,0 +1,50 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    +
    + +

    BowTable Member List

    This is the complete list of members for BowTable, including all inherited members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    BowTable()BowTable
    Function()Function
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    lastOut() const Function [inline, virtual]
    rawwavePath(void)Stk [inline, static]
    sampleRate(void)Stk [inline, static]
    setOffset(StkFloat offset)BowTable
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [inline, static]
    setSlope(StkFloat slope)BowTable
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(StkFloat input)BowTable [virtual]
    tick(StkFloat *vector, unsigned int vectorSize)BowTable [virtual]
    tick(StkFrames &frames, unsigned int channel=1)BowTable [virtual]
    ~BowTable()BowTable
    ~Function()Function [virtual]
    ~Stk(void)Stk [protected, virtual]

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

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    +
    + +

    BowTable Class Reference

    #include <BowTable.h> +

    +

    Inheritance diagram for BowTable: +

    + +Function +Stk + +List of all members.

    Detailed Description

    +STK bowed string table class. +

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

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

    + +

    +Definition at line 17 of file BowTable.h. + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    BowTable ()
     Default constructor.

    ~BowTable ()
     Class destructor.

    void setOffset (StkFloat offset)
     Set the table offset value.

    void setSlope (StkFloat slope)
     Set the table slope value.

    StkFloat tick (StkFloat input)
     Return the function value for input.

    +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Take vectorSize inputs from vector and replace them with corresponding outputs.

    StkFramestick (StkFrames &frames, unsigned int channel=1)
     Take a channel of the StkFrames object as inputs to the function and replace with corresponding outputs.

    +


    Member Function Documentation

    +

    + + + + +
    + + + + + + + + + + +
    void BowTable::setOffset StkFloat  offset  ) 
    +
    + + + + + +
    +   + + +

    +Set the table offset value. +

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

    +

    + + + + +
    + + + + + + + + + + +
    void BowTable::setSlope StkFloat  slope  ) 
    +
    + + + + + +
    +   + + +

    +Set the table slope value. +

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

    +

    + + + + +
    + + + + + + + + + + +
    StkFloat BowTable::tick StkFloat  input  )  [virtual]
    +
    + + + + + +
    +   + + +

    +Return the function value for input. +

    +The function input represents differential string-to-bow velocity. +

    +Implements Function.

    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    StkFrames& BowTable::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    +
    + + + + + +
    +   + + +

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

    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

    +Reimplemented from Function.

    +


    The documentation for this class was generated from the following file: +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classBowTable.png b/doc/html/classBowTable.png new file mode 100644 index 0000000000000000000000000000000000000000..4b90c38f5a0cc38b5f363a5d049c9e19570fe3a1 GIT binary patch literal 394 zcmV;50d@X~P)FXE6Hp4X{Ubk?8V(YTqh2UFp?u~BILM_ zNF(;A{f(qZT(+s@ve!aQM71=LAh)?uoTw>R?u$&s4P+}WihS{s)N%XB{DUm70myAx z1|Wkbn#e>Z@;h=;pGL$iS$bAPN;ljzKGKi4qBtKqB=I&`;ufO5Na~O5Ff>nEDAZI2 zufJ%c%K(Je!Y;z31(}HBLq?Qm#f+X~sOp9OoblAwoB~)D!0vMM%Mu|wQ8-*)OjRdW` oTD literal 0 HcmV?d00001 diff --git a/doc/html/classBowed-members.html b/doc/html/classBowed-members.html index 978c4a6..5ab6c0d 100644 --- a/doc/html/classBowed-members.html +++ b/doc/html/classBowed-members.html @@ -10,43 +10,47 @@

    Bowed Member List

    This is the complete list of members for Bowed, including all inherited members. - + - - + + + + - - - - - - - - - - + + + + + + + + - + + + - + + - + - + +
    Bowed(MY_FLOAT lowestFrequency)Bowed
    Bowed(StkFloat lowestFrequency)Bowed
    clear()Bowed
    controlChange(int number, MY_FLOAT value)Bowed [virtual]
    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
    controlChange(int number, StkFloat value)Bowed [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    MY_FLOAT32Stk [static]
    MY_FLOAT64Stk [static]
    noteOff(MY_FLOAT amplitude)Bowed [virtual]
    noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Bowed [virtual]
    rawwavePath(void)Stk [static]
    sampleRate(void)Stk [static]
    setFrequency(MY_FLOAT frequency)Bowed [virtual]
    setRawwavePath(std::string newPath)Stk [static]
    setSampleRate(MY_FLOAT newRate)Stk [static]
    setVibrato(MY_FLOAT gain)Bowed
    noteOff(StkFloat amplitude)Bowed [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Bowed [virtual]
    rawwavePath(void)Stk [inline, static]
    sampleRate(void)Stk [inline, static]
    setFrequency(StkFloat frequency)Bowed [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [inline, static]
    setVibrato(StkFloat gain)Bowed
    sleep(unsigned long milliseconds)Stk [static]
    startBowing(MY_FLOAT amplitude, MY_FLOAT rate)Bowed
    startBowing(StkFloat amplitude, StkFloat rate)Bowed
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT32Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBowing(MY_FLOAT rate)Bowed
    stopBowing(StkFloat rate)Bowed
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick()Bowed [virtual]
    Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
    tick(StkFloat *vector, unsigned int vectorSize)Bowed [virtual]
    tick(StkFrames &frames, unsigned int channel=1)Bowed [virtual]
    ~Bowed()Bowed
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]

    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classBowed.html b/doc/html/classBowed.html index 07786e4..b3aa3ea 100644 --- a/doc/html/classBowed.html +++ b/doc/html/classBowed.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
    -

    Bowed Class Reference

    STK bowed string instrument class. -More... -

    -#include <Bowed.h> +

    Bowed Class Reference

    #include <Bowed.h>

    Inheritance diagram for Bowed:

    @@ -20,11 +17,23 @@ Instrmnt Stk -List of all members. +List of all members.

    Detailed Description

    +STK bowed string instrument class. +

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

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

    +Control Change Numbers:

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

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

    + +

    +Definition at line 35 of file Bowed.h.

    +  +void  +void  +void  +void  +void  +void  +StkFloat  - + + + + + + +

    Public Member Functions

    Bowed (MY_FLOAT lowestFrequency)
    Bowed (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.

    @@ -36,56 +45,94 @@ void  Reset and clear all internal state.

    -void setFrequency (MY_FLOAT frequency)
    setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.

    -void setVibrato (MY_FLOAT gain)
    setVibrato (StkFloat gain)
     Set vibrato gain.

    -void startBowing (MY_FLOAT amplitude, MY_FLOAT rate)
    startBowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.

    -void stopBowing (MY_FLOAT rate)
    stopBowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.

    -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
    noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.

    -void noteOff (MY_FLOAT amplitude)
    noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).

    -MY_FLOAT tick ()
    tick ()
     Compute one output sample.

    -void controlChange (int number, MY_FLOAT value)
    +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Computer vectorSize outputs and return them in vector.

    StkFramestick (StkFrames &frames, unsigned int channel=1)
     Fill a channel of the StkFrames object with computed outputs.

    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).

    -

    Detailed Description

    -STK bowed string instrument class. -

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

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

    -Control Change Numbers:

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

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

    +


    Member Function Documentation

    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    StkFrames& Bowed::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    +
    + + + + + +
    +   +

    -Definition at line 35 of file Bowed.h.


    The documentation for this class was generated from the following file:
      +Fill a channel of the StkFrames object with computed outputs. +

      +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

      +Reimplemented from Instrmnt.

    +


    The documentation for this class was generated from the following file:
    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classBrass-members.html b/doc/html/classBrass-members.html index 7dc70f9..232a235 100644 --- a/doc/html/classBrass-members.html +++ b/doc/html/classBrass-members.html @@ -10,43 +10,47 @@

    Brass Member List

    This is the complete list of members for Brass, including all inherited members. - + - - + + + + - - - - - - - - - - + + + + + + + + - + + + - + + - + - + +
    Brass(MY_FLOAT lowestFrequency)Brass
    Brass(StkFloat lowestFrequency)Brass
    clear()Brass
    controlChange(int number, MY_FLOAT value)Brass [virtual]
    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
    controlChange(int number, StkFloat value)Brass [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    MY_FLOAT32Stk [static]
    MY_FLOAT64Stk [static]
    noteOff(MY_FLOAT amplitude)Brass [virtual]
    noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Brass [virtual]
    rawwavePath(void)Stk [static]
    sampleRate(void)Stk [static]
    setFrequency(MY_FLOAT frequency)Brass [virtual]
    setLip(MY_FLOAT frequency)Brass
    setRawwavePath(std::string newPath)Stk [static]
    setSampleRate(MY_FLOAT newRate)Stk [static]
    noteOff(StkFloat amplitude)Brass [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Brass [virtual]
    rawwavePath(void)Stk [inline, static]
    sampleRate(void)Stk [inline, static]
    setFrequency(StkFloat frequency)Brass [virtual]
    setLip(StkFloat frequency)Brass
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBlowing(MY_FLOAT amplitude, MY_FLOAT rate)Brass
    startBlowing(StkFloat amplitude, StkFloat rate)Brass
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT32Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBlowing(MY_FLOAT rate)Brass
    stopBlowing(StkFloat rate)Brass
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick()Brass [virtual]
    Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
    tick(StkFloat *vector, unsigned int vectorSize)Brass [virtual]
    tick(StkFrames &frames, unsigned int channel=1)Brass [virtual]
    ~Brass()Brass
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]

    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classBrass.html b/doc/html/classBrass.html index 6265e15..7b779bf 100644 --- a/doc/html/classBrass.html +++ b/doc/html/classBrass.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
    -

    Brass Class Reference

    STK simple brass instrument class. -More... -

    -#include <Brass.h> +

    Brass Class Reference

    #include <Brass.h>

    Inheritance diagram for Brass:

    @@ -20,13 +17,24 @@ Instrmnt Stk -List of all members. +List of all members.

    Detailed Description

    +STK simple brass instrument class. +

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

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

    +Control Change Numbers:

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

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

    + +

    +Definition at line 33 of file Brass.h.

    - + - + @@ -36,56 +44,126 @@ void  +void  +void  +void  +void  +void  +void  +StkFloat  - + + + + + + +

    Public Member Functions

    Brass (MY_FLOAT lowestFrequency)
     Brass (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.

     Class constructor, taking the lowest desired playing frequency.

     ~Brass ()
     Reset and clear all internal state.

    -void setFrequency (MY_FLOAT frequency)
    setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.

    -void setLip (MY_FLOAT frequency)
    setLip (StkFloat frequency)
     Set the lips frequency.

    -void startBlowing (MY_FLOAT amplitude, MY_FLOAT rate)
    startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.

    -void stopBlowing (MY_FLOAT rate)
    stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.

    -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
    noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.

    -void noteOff (MY_FLOAT amplitude)
    noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).

    -MY_FLOAT tick ()
    tick ()
     Compute one output sample.

    -void controlChange (int number, MY_FLOAT value)
    +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Computer vectorSize outputs and return them in vector.

    StkFramestick (StkFrames &frames, unsigned int channel=1)
     Fill a channel of the StkFrames object with computed outputs.

    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).

    -

    Detailed Description

    -STK simple brass instrument class. -

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

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

    -Control Change Numbers:

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

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

    +


    Constructor & Destructor Documentation

    +

    + + + + +
    + + + + + + + + + + +
    Brass::Brass StkFloat  lowestFrequency  ) 
    +
    + + + + + +
    +   +

    -Definition at line 33 of file Brass.h.


    The documentation for this class was generated from the following file:
      +Class constructor, taking the lowest desired playing frequency. +

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

    +


    Member Function Documentation

    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    StkFrames& Brass::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    +
    + + + + + +
    +   + + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

    +Reimplemented from Instrmnt.

    +


    The documentation for this class was generated from the following file:
    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classChorus-members.html b/doc/html/classChorus-members.html index 68722c8..8e459ec 100644 --- a/doc/html/classChorus-members.html +++ b/doc/html/classChorus-members.html @@ -10,37 +10,43 @@

    Chorus Member List

    This is the complete list of members for Chorus, including all inherited members. - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + + - - + + + +
    Chorus(MY_FLOAT baseDelay)Chorus
    clear()Chorus
    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
    lastOut() const Chorus
    lastOutLeft() const Chorus
    lastOutRight() const Chorus
    MY_FLOAT32Stk [static]
    MY_FLOAT64Stk [static]
    rawwavePath(void)Stk [static]
    sampleRate(void)Stk [static]
    setEffectMix(MY_FLOAT mix)Chorus
    setModDepth(MY_FLOAT depth)Chorus
    setModFrequency(MY_FLOAT frequency)Chorus
    setRawwavePath(std::string newPath)Stk [static]
    setSampleRate(MY_FLOAT newRate)Stk [static]
    Chorus(StkFloat baseDelay=6000)Chorus
    clear()Chorus [virtual]
    Effect()Effect
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    lastOut() const Effect
    lastOutLeft() const Effect
    lastOutRight() const Effect
    rawwavePath(void)Stk [inline, static]
    sampleRate(void)Stk [inline, static]
    setEffectMix(StkFloat mix)Effect
    setModDepth(StkFloat depth)Chorus
    setModFrequency(StkFloat frequency)Chorus
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT32Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick(MY_FLOAT input)Chorus
    tick(MY_FLOAT *vector, unsigned int vectorSize)Chorus
    tick(StkFloat input)Chorus [virtual]
    tick(StkFloat *vector, unsigned int vectorSize)Chorus [virtual]
    tick(StkFrames &frames, unsigned int channel=1)Chorus [virtual]
    ~Chorus()Chorus
    ~Effect()Effect [virtual]
    ~Stk(void)Stk [protected, virtual]

    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classChorus.html b/doc/html/classChorus.html index 97f9f2e..42470d8 100644 --- a/doc/html/classChorus.html +++ b/doc/html/classChorus.html @@ -9,23 +9,28 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
    -

    Chorus Class Reference

    STK chorus effect class. -More... -

    -#include <Chorus.h> +

    Chorus Class Reference

    #include <Chorus.h>

    Inheritance diagram for Chorus:

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

    Detailed Description

    +STK chorus effect class. +

    +This class implements a chorus effect.

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

    + +

    +Definition at line 18 of file Chorus.h.

    - + - + @@ -35,52 +40,106 @@ void  +void  +void  - - - - - - - - - - - - - + - + + + +

    Public Member Functions

    Chorus (MY_FLOAT baseDelay)
     Chorus (StkFloat baseDelay=6000)
     Class constructor, taking the longest desired delay length.

     Class constructor, taking the median desired delay length.

     ~Chorus ()
     Reset and clear all internal state.

    -void setModDepth (MY_FLOAT depth)
    setModDepth (StkFloat depth)
     Set modulation depth.

    -void setModFrequency (MY_FLOAT frequency)
    setModFrequency (StkFloat frequency)
     Set modulation frequency.

    -void setEffectMix (MY_FLOAT mix)
     Set the mixture of input and processed levels in the output (0.0 = input only, 1.0 = processed only).

    -MY_FLOAT lastOut () const
     Return the last output value.

    -MY_FLOAT lastOutLeft () const
     Return the last left output value.

    -MY_FLOAT lastOutRight () const
     Return the last right output value.

    -MY_FLOAT tick (MY_FLOAT input)
    +StkFloat tick (StkFloat input)
     Compute one output sample.

    -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
    +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Take vectorSize inputs, compute the same number of outputs and return them in vector.

    StkFramestick (StkFrames &frames, unsigned int channel=1)
     Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.

    -

    Detailed Description

    -STK chorus effect class. -

    -This class implements a chorus effect.

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

    +


    Constructor & Destructor Documentation

    +

    + + + + +
    + + + + + + + + + + +
    Chorus::Chorus StkFloat  baseDelay = 6000  ) 
    +
    + + + + + +
    +   +

    -Definition at line 18 of file Chorus.h.


    The documentation for this class was generated from the following file:
      +Class constructor, taking the median desired delay length. +

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

    +


    Member Function Documentation

    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    StkFrames& Chorus::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    +
    + + + + + +
    +   + + +

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

    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

    +Reimplemented from Effect.

    +


    The documentation for this class was generated from the following file:
    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classChorus.png b/doc/html/classChorus.png index baee117affb03da4c01778553c462039ad671040..5426b882af96edc1d087d62dae7f0912b2e882a5 100644 GIT binary patch delta 283 zcmV+$0p$Lg0@(tP7Yc|30{{R3wVb}_ks&mH?@2^KRCt{2l~E3ZAPk1vmp!+=0i0mj zF0?1_e}olePPFC0WDyr?MCGG@e~1Bix^ag`^x{m$977b7g&3v5B8voDGjS1<#Z-?y zpW?CN#ndd!@uKxKO)R#J|6r|uu!(O|df7@Hgz%05Qe>UWQ zP_cY3Tkejrq+C&r)b8^_K6Rwd(|TWK*V8dR)2Gk;dc|j0`#id47hvOj7;LaU8M{G1 zuE;qIO;2+l0eTGc8|z$k5Tbq~Rg8h=-qaG-d4=VRz-JrHiUDqXE{s?8%KRw%R99=w hpR8vutnm-N0Wgl(k#Pnj9smFU07*p#PDHLkV1o4ahV1|V delta 219 zcmV<103`p}0-6Gl7Ya}W0{{R3OYtD8ks&mHut`KgRCt{2(m@V{APfc2b~Ed?H=rjl z)AB%Y^?vV*%|C=gSaO4%I7TSxarK!=6vk2yBUW?Kw*<>4Bbro7y(8` zhV_YUul5n5y(4wTK>KL96ZZ3()r%mup=W1+L(Z@9VZF9LsyQvyvFA_z=Ur@a20s?O VaQ8(OSY`kK002ovPDHLkV1lcfXRiPN diff --git a/doc/html/classClarinet-members.html b/doc/html/classClarinet-members.html index f45d614..097f722 100644 --- a/doc/html/classClarinet-members.html +++ b/doc/html/classClarinet-members.html @@ -10,42 +10,46 @@

    Clarinet Member List

    This is the complete list of members for Clarinet, including all inherited members. - + - - + + + + - - - - - - - - - + + + + + + + - + + + - + + - + - + +
    Clarinet(MY_FLOAT lowestFrequency)Clarinet
    Clarinet(StkFloat lowestFrequency)Clarinet
    clear()Clarinet
    controlChange(int number, MY_FLOAT value)Clarinet [virtual]
    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
    controlChange(int number, StkFloat value)Clarinet [virtual]
    handleError(const char *message, StkError::Type type)Stk [static]
    handleError(std::string message, StkError::Type type)Stk [static]
    handleError(StkError::Type type)Stk [protected]
    Instrmnt()Instrmnt
    lastOut() const Instrmnt
    lastOutLeft() const Instrmnt
    lastOutRight() const Instrmnt
    MY_FLOAT32Stk [static]
    MY_FLOAT64Stk [static]
    noteOff(MY_FLOAT amplitude)Clarinet [virtual]
    noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Clarinet [virtual]
    rawwavePath(void)Stk [static]
    sampleRate(void)Stk [static]
    setFrequency(MY_FLOAT frequency)Clarinet [virtual]
    setRawwavePath(std::string newPath)Stk [static]
    setSampleRate(MY_FLOAT newRate)Stk [static]
    noteOff(StkFloat amplitude)Clarinet [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)Clarinet [virtual]
    rawwavePath(void)Stk [inline, static]
    sampleRate(void)Stk [inline, static]
    setFrequency(StkFloat frequency)Clarinet [virtual]
    setRawwavePath(std::string path)Stk [static]
    setSampleRate(StkFloat rate)Stk [inline, static]
    sleep(unsigned long milliseconds)Stk [static]
    startBlowing(MY_FLOAT amplitude, MY_FLOAT rate)Clarinet
    startBlowing(StkFloat amplitude, StkFloat rate)Clarinet
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [static]
    STK_FLOAT64Stk [static]
    STK_SINT16Stk [static]
    STK_SINT32Stk [static]
    STK_SINT24Stk [static]
    STK_SINT32Stk [static]
    STK_SINT8Stk [static]
    stopBlowing(MY_FLOAT rate)Clarinet
    stopBlowing(StkFloat rate)Clarinet
    swap16(unsigned char *ptr)Stk [static]
    swap32(unsigned char *ptr)Stk [static]
    swap64(unsigned char *ptr)Stk [static]
    tick()Clarinet [virtual]
    Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
    tick(StkFloat *vector, unsigned int vectorSize)Clarinet [virtual]
    tick(StkFrames &frames, unsigned int channel=1)Clarinet [virtual]
    ~Clarinet()Clarinet
    ~Instrmnt()Instrmnt [virtual]
    ~Stk(void)Stk [protected, virtual]

    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classClarinet.html b/doc/html/classClarinet.html index 0d80e1f..cfa0427 100644 --- a/doc/html/classClarinet.html +++ b/doc/html/classClarinet.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
    -

    Clarinet Class Reference

    STK clarinet physical model class. -More... -

    -#include <Clarinet.h> +

    Clarinet Class Reference

    #include <Clarinet.h>

    Inheritance diagram for Clarinet:

    @@ -20,13 +17,24 @@ Instrmnt Stk -List of all members. +List of all members.

    Detailed Description

    +STK clarinet physical model class. +

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

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

    +Control Change Numbers:

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

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

    + +

    +Definition at line 36 of file Clarinet.h.

    - + - + @@ -36,52 +44,122 @@ void  +void  +void  +void  +void  +void  +StkFloat  - + + + + + + +

    Public Member Functions

    Clarinet (MY_FLOAT lowestFrequency)
     Clarinet (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.

     Class constructor, taking the lowest desired playing frequency.

     ~Clarinet ()
     Reset and clear all internal state.

    -void setFrequency (MY_FLOAT frequency)
    setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.

    -void startBlowing (MY_FLOAT amplitude, MY_FLOAT rate)
    startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.

    -void stopBlowing (MY_FLOAT rate)
    stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.

    -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
    noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.

    -void noteOff (MY_FLOAT amplitude)
    noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).

    -MY_FLOAT tick ()
    tick ()
     Compute one output sample.

    -void controlChange (int number, MY_FLOAT value)
    +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Computer vectorSize outputs and return them in vector.

    StkFramestick (StkFrames &frames, unsigned int channel=1)
     Fill a channel of the StkFrames object with computed outputs.

    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).

    -

    Detailed Description

    -STK clarinet physical model class. -

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

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

    -Control Change Numbers:

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

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

    +


    Constructor & Destructor Documentation

    +

    + + + + +
    + + + + + + + + + + +
    Clarinet::Clarinet StkFloat  lowestFrequency  ) 
    +
    + + + + + +
    +   +

    -Definition at line 36 of file Clarinet.h.


    The documentation for this class was generated from the following file:
      +Class constructor, taking the lowest desired playing frequency. +

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

    +


    Member Function Documentation

    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    StkFrames& Clarinet::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    +
    + + + + + +
    +   + + +

    +Fill a channel of the StkFrames object with computed outputs. +

    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

    +Reimplemented from Instrmnt.

    +


    The documentation for this class was generated from the following file:
    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classDelay-members.html b/doc/html/classDelay-members.html index cff70bb..d6ce1cc 100644 --- a/doc/html/classDelay-members.html +++ b/doc/html/classDelay-members.html @@ -11,45 +11,50 @@

    Delay Member List

    This is the complete list of members for Delay, including all inherited members. - + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + + - - + + +
    clear()Delay
    contentsAt(unsigned long tapDelay) const Delay
    contentsAt(unsigned long tapDelay)Delay
    Delay()Delay
    Delay(long theDelay, long maxDelay)Delay
    energy(void) const Delay
    Delay(unsigned long delay, unsigned long maxDelay)Delay
    energy(void) const Delay
    Filter(void)Filter [protected]
    Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
    getDelay(void) const Delay
    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    getDelay(void) const Delay
    getGain(void) const Filter [protected, virtual]
    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
    lastOut(void) const Delay [virtual]
    MY_FLOAT32Stk [protected, static]
    MY_FLOAT64Stk [protected, static]
    nextOut(void) const Delay [virtual]
    rawwavePath(void)Stk [protected, static]
    sampleRate(void)Stk [protected, static]
    setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
    setDelay(long theDelay)Delay
    setDenominator(int na, MY_FLOAT *aCoefficients)Filter [protected]
    setGain(MY_FLOAT theGain)Filter [protected, virtual]
    setNumerator(int nb, MY_FLOAT *bCoefficients)Filter [protected]
    setRawwavePath(std::string newPath)Stk [protected, static]
    setSampleRate(MY_FLOAT newRate)Stk [protected, static]
    handleError(const char *message, StkError::Type type)Stk [protected, static]
    handleError(std::string message, StkError::Type type)Stk [protected, static]
    handleError(StkError::Type type)Stk [protected]
    lastOut(void) const Delay [virtual]
    nextOut(void)Delay [virtual]
    rawwavePath(void)Stk [inline, protected, static]
    sampleRate(void)Stk [inline, protected, static]
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
    setDelay(unsigned long delay)Delay
    setDenominator(std::vector< StkFloat > &aCoefficients)Filter [protected]
    setGain(StkFloat gain)Filter [protected, virtual]
    setMaximumDelay(unsigned long delay)Delay
    setNumerator(std::vector< StkFloat > &bCoefficients)Filter [protected]
    setRawwavePath(std::string path)Stk [protected, static]
    setSampleRate(StkFloat rate)Stk [inline, protected, static]
    sleep(unsigned long milliseconds)Stk [protected, static]
    Stk(void)Stk [protected]
    STK_FLOAT32Stk [protected, static]
    STK_FLOAT64Stk [protected, static]
    STK_SINT16Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT24Stk [protected, static]
    STK_SINT32Stk [protected, static]
    STK_SINT8Stk [protected, static]
    swap16(unsigned char *ptr)Stk [protected, static]
    swap32(unsigned char *ptr)Stk [protected, static]
    swap64(unsigned char *ptr)Stk [protected, static]
    tick(MY_FLOAT sample)Delay [virtual]
    tick(MY_FLOAT *vector, unsigned int vectorSize)Delay [virtual]
    tick(StkFloat sample)Delay [virtual]
    tick(StkFloat *vector, unsigned int vectorSize)Delay [virtual]
    tick(StkFrames &frames, unsigned int channel=1)Delay [virtual]
    ~Delay()Delay [virtual]
    ~Filter(void)Filter [protected, virtual]
    ~Stk(void)Stk [protected, virtual]

    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classDelay.html b/doc/html/classDelay.html index dc66eca..bc4b704 100644 --- a/doc/html/classDelay.html +++ b/doc/html/classDelay.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
    -

    Delay Class Reference

    STK non-interpolating delay line class. -More... -

    -#include <Delay.h> +

    Delay Class Reference

    #include <Delay.h>

    Inheritance diagram for Delay:

    @@ -22,17 +19,25 @@ DelayA DelayL -List of all members. +List of all members.

    Detailed Description

    +STK non-interpolating delay line class. +

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

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

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

    + +

    +Definition at line 26 of file Delay.h.

    - + - + @@ -41,47 +46,116 @@ virtual  - + - - + + + + + - + - + - - + + - + - - - - + +virtual StkFloat  - + + + + + + +

    Public Member Functions

     Delay ()
     Default constructor creates a delay-line with maximum length of 4095 samples and zero delay.

    Delay (long theDelay, long maxDelay)
     Delay (unsigned long delay, unsigned long maxDelay)
     Overloaded constructor which specifies the current and maximum delay-line lengths.

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

    virtual ~Delay ()
    clear ()
     Clears the internal state of the delay line.

    void setDelay (long theDelay)
    void setMaximumDelay (unsigned long delay)
     Set the delay-line length.

    -long getDelay (void) const
     Set the maximum delay-line length.

    void setDelay (unsigned long delay)
     Set the delay-line length.

    +unsigned long getDelay (void) const
     Return the current delay-line length.

    -MY_FLOAT energy (void) const
    +StkFloat energy (void) const
     Calculate and return the signal energy in the delay-line.

    MY_FLOAT contentsAt (unsigned long tapDelay) const
    StkFloat contentsAt (unsigned long tapDelay)
     Return the value at tapDelay samples from the delay-line input.

    -MY_FLOAT lastOut (void) const
     Return the value at tapDelay samples from the delay-line input.

    +StkFloat lastOut (void) const
     Return the last computed output value.

    virtual MY_FLOAT nextOut (void) const
    virtual StkFloat nextOut (void)
     Return the value which will be output by the next call to tick().

    -virtual MY_FLOAT tick (MY_FLOAT sample)
     Input one sample to the delay-line and return one output.

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

    -virtual MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
    tick (StkFloat sample)
     Input vectorSize samples to the delay-line and return an equal number of outputs in vector.

     Input one sample to the delayline and return one output.

    +virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
     Input vectorSize samples to the delayline and return an equal number of outputs in vector.

    virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
     Take a channel of the StkFrames object as inputs to the delayline and replace with corresponding outputs.

    -

    Detailed Description

    -STK non-interpolating delay line class. -

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

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

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

    +


    Constructor & Destructor Documentation

    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    Delay::Delay unsigned long  delay,
    unsigned long  maxDelay
    +
    + + + + + +
    +   +

    -Definition at line 26 of file Delay.h.


    Member Function Documentation

    -

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

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

    +


    Member Function Documentation

    +

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

    +Set the maximum delay-line length. +

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

    +

    - - + + @@ -112,18 +186,18 @@ Set the delay-line length. The valid range for theDelay is from 0 to the maximum delay-line length.
    @@ -89,8 +163,8 @@ Definition at line 26 of fi
    void Delay::setDelay long  theDelay unsigned long  delay  ) 
    -

    +

    - + - +
    MY_FLOAT Delay::contentsAt StkFloat Delay::contentsAt unsigned long  tapDelay  )  const
    @@ -143,18 +217,18 @@ Return the value at tapDelay samples from the delay-line input. The tap point is determined modulo the delay-line length and is relative to the last input value (i.e., a tapDelay of zero returns the last input value).
    -

    +

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

    +Reimplemented in DelayA, and DelayL. +

    +
    - + - +
    virtual MY_FLOAT Delay::nextOut virtual StkFloat Delay::nextOut void   )  const [virtual] [virtual]
    @@ -169,9 +243,55 @@ The tap point is determined modulo the delay-line length and is relative to the

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

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

    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    virtual StkFrames& Delay::tick StkFrames frames,
    unsigned int  channel = 1
    [virtual]
    +
    + + + +
    +   + + +

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

    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

    +Reimplemented from Filter. +

    +Reimplemented in DelayA, and DelayL.


    The documentation for this class was generated from the following file:
      @@ -179,7 +299,7 @@ This method is valid only for delay settings greater than zero!
      - +
      The Synthesis ToolKit in C++ (STK)
      The Synthesis ToolKit in C++ (STK)
      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/classDelayA-members.html b/doc/html/classDelayA-members.html index 31ba552..fb5fbb4 100644 --- a/doc/html/classDelayA-members.html +++ b/doc/html/classDelayA-members.html @@ -11,43 +11,47 @@

      DelayA Member List

      This is the complete list of members for DelayA, including all inherited members. - + - + - - + + - + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + + - - + + + @@ -55,7 +59,7 @@
      clear()DelayA
      contentsAt(unsigned long tapDelay) const Delay
      contentsAt(unsigned long tapDelay)Delay
      Delay()Delay
      Delay(long theDelay, long maxDelay)Delay
      Delay(unsigned long delay, unsigned long maxDelay)Delay
      DelayA()DelayA
      DelayA(MY_FLOAT theDelay, long maxDelay)DelayA
      energy(void) const Delay
      DelayA(StkFloat delay, unsigned long maxDelay)DelayA
      energy(void) const Delay
      Filter(void)Filter [protected]
      Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
      Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
      getDelay(void)DelayA
      Delay::getDelay(void) const Delay
      Delay::getDelay(void) const Delay
      getGain(void) const Filter [protected, virtual]
      handleError(const char *message, StkError::TYPE type)Stk [protected, static]
      lastOut(void) const Delay [virtual]
      MY_FLOAT32Stk [protected, static]
      MY_FLOAT64Stk [protected, static]
      nextOut(void)DelayA
      Delay::nextOut(void) const Delay [virtual]
      rawwavePath(void)Stk [protected, static]
      sampleRate(void)Stk [protected, static]
      setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
      setDelay(MY_FLOAT theDelay)DelayA
      Delay::setDelay(long theDelay)Delay
      setDenominator(int na, MY_FLOAT *aCoefficients)Filter [protected]
      setGain(MY_FLOAT theGain)Filter [protected, virtual]
      setNumerator(int nb, MY_FLOAT *bCoefficients)Filter [protected]
      setRawwavePath(std::string newPath)Stk [protected, static]
      setSampleRate(MY_FLOAT newRate)Stk [protected, static]
      handleError(const char *message, StkError::Type type)Stk [protected, static]
      handleError(std::string message, StkError::Type type)Stk [protected, static]
      handleError(StkError::Type type)Stk [protected]
      lastOut(void) const Delay [virtual]
      nextOut(void)DelayA [virtual]
      rawwavePath(void)Stk [inline, protected, static]
      sampleRate(void)Stk [inline, protected, static]
      setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
      setDelay(StkFloat delay)DelayA
      Delay::setDelay(unsigned long delay)Delay
      setDenominator(std::vector< StkFloat > &aCoefficients)Filter [protected]
      setGain(StkFloat gain)Filter [protected, virtual]
      setMaximumDelay(unsigned long delay)Delay
      setNumerator(std::vector< StkFloat > &bCoefficients)Filter [protected]
      setRawwavePath(std::string path)Stk [protected, static]
      setSampleRate(StkFloat rate)Stk [inline, protected, static]
      sleep(unsigned long milliseconds)Stk [protected, static]
      Stk(void)Stk [protected]
      STK_FLOAT32Stk [protected, static]
      STK_FLOAT64Stk [protected, static]
      STK_SINT16Stk [protected, static]
      STK_SINT32Stk [protected, static]
      STK_SINT24Stk [protected, static]
      STK_SINT32Stk [protected, static]
      STK_SINT8Stk [protected, static]
      swap16(unsigned char *ptr)Stk [protected, static]
      swap32(unsigned char *ptr)Stk [protected, static]
      swap64(unsigned char *ptr)Stk [protected, static]
      tick(MY_FLOAT sample)DelayA [virtual]
      Delay::tick(MY_FLOAT *vector, unsigned int vectorSize)Delay [virtual]
      tick(StkFloat sample)DelayA [virtual]
      tick(StkFloat *vector, unsigned int vectorSize)DelayA [virtual]
      tick(StkFrames &frames, unsigned int channel=1)DelayA [virtual]
      ~Delay()Delay [virtual]
      ~DelayA()DelayA
      ~Filter(void)Filter [protected, virtual]

      - +
      The Synthesis ToolKit in C++ (STK)
      The Synthesis ToolKit in C++ (STK)
      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/classDelayA.html b/doc/html/classDelayA.html index 85eab84..d9a9c60 100644 --- a/doc/html/classDelayA.html +++ b/doc/html/classDelayA.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
      -

      DelayA Class Reference

      STK allpass interpolating delay line class. -More... -

      -#include <DelayA.h> +

      DelayA Class Reference

      #include <DelayA.h>

      Inheritance diagram for DelayA:

      @@ -21,17 +18,25 @@ Filter Stk -List of all members. +List of all members.

      Detailed Description

      +STK allpass interpolating delay line class. +

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

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

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

      + +

      +Definition at line 30 of file DelayA.h.

      - + - + @@ -40,31 +45,70 @@ void  - + +StkFloat  - + +StkFloat  - + + + + + + +

      Public Member Functions

       DelayA ()
       Default constructor creates a delay-line with maximum length of 4095 samples and zero delay.

      DelayA (MY_FLOAT theDelay, long maxDelay)
       DelayA (StkFloat delay, unsigned long maxDelay)
       Overloaded constructor which specifies the current and maximum delay-line lengths.

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

       ~DelayA ()
      clear ()
       Clears the internal state of the delay line.

      void setDelay (MY_FLOAT theDelay)
      void setDelay (StkFloat delay)
       Set the delay-line length.

      -MY_FLOAT getDelay (void)
      getDelay (void)
       Return the current delay-line length.

      MY_FLOAT nextOut (void)
      StkFloat nextOut (void)
       Return the value which will be output by the next call to tick().

      -MY_FLOAT tick (MY_FLOAT sample)
      tick (StkFloat sample)
       Input one sample to the delay-line and return one output.

       Input one sample to the delayline and return one output.

      +virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
       Input vectorSize samples to the delayline and return an equal number of outputs in vector.

      virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
       Take a channel of the StkFrames object as inputs to the delayline and replace with corresponding outputs.

      -

      Detailed Description

      -STK allpass interpolating delay line class. -

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

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

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

      +


      Constructor & Destructor Documentation

      +

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

      -Definition at line 30 of file DelayA.h.


      Member Function Documentation

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

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

      +


      Member Function Documentation

      @@ -73,8 +117,8 @@ Definition at line 30 of f - - + + @@ -102,12 +146,12 @@ The valid range for theDelay is from 0.5 to the maximum delay-line leng +This method is valid only for delay settings greater than zero! +

      +Reimplemented from Delay. +

      +
      void DelayA::setDelay MY_FLOAT  theDelay StkFloat  delay  ) 
      - + - +
      MY_FLOAT DelayA::nextOut StkFloat DelayA::nextOut void   )  [virtual]
      @@ -124,7 +168,51 @@ The valid range for theDelay is from 0.5 to the maximum delay-line leng

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

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

      +

      + + + + +
      + + + + + + + + + + + + + + + + + + + +
      virtual StkFrames& DelayA::tick StkFrames frames,
      unsigned int  channel = 1
      [virtual]
      +
      + + + +
      +   + + +

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

      +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

      +Reimplemented from Delay.


      The documentation for this class was generated from the following file:
        @@ -132,7 +220,7 @@ This method is valid only for delay settings greater than zero!
        - +
        The Synthesis ToolKit in C++ (STK)
        The Synthesis ToolKit in C++ (STK)
        ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
        diff --git a/doc/html/classDelayL-members.html b/doc/html/classDelayL-members.html index 39c3a99..1f5202f 100644 --- a/doc/html/classDelayL-members.html +++ b/doc/html/classDelayL-members.html @@ -11,42 +11,46 @@

        DelayL Member List

        This is the complete list of members for DelayL, including all inherited members. - + - + - - + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + + - - + + + @@ -54,7 +58,7 @@
        clear()Delay
        contentsAt(unsigned long tapDelay) const Delay
        contentsAt(unsigned long tapDelay)Delay
        Delay()Delay
        Delay(long theDelay, long maxDelay)Delay
        Delay(unsigned long delay, unsigned long maxDelay)Delay
        DelayL()DelayL
        DelayL(MY_FLOAT theDelay, long maxDelay)DelayL
        energy(void) const Delay
        DelayL(StkFloat delay, unsigned long maxDelay)DelayL
        energy(void) const Delay
        Filter(void)Filter [protected]
        Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
        Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
        getDelay(void) const DelayL
        getGain(void) const Filter [protected, virtual]
        handleError(const char *message, StkError::TYPE type)Stk [protected, static]
        lastOut(void) const Delay [virtual]
        MY_FLOAT32Stk [protected, static]
        MY_FLOAT64Stk [protected, static]
        nextOut(void)DelayL
        Delay::nextOut(void) const Delay [virtual]
        rawwavePath(void)Stk [protected, static]
        sampleRate(void)Stk [protected, static]
        setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
        setDelay(MY_FLOAT theDelay)DelayL
        Delay::setDelay(long theDelay)Delay
        setDenominator(int na, MY_FLOAT *aCoefficients)Filter [protected]
        setGain(MY_FLOAT theGain)Filter [protected, virtual]
        setNumerator(int nb, MY_FLOAT *bCoefficients)Filter [protected]
        setRawwavePath(std::string newPath)Stk [protected, static]
        setSampleRate(MY_FLOAT newRate)Stk [protected, static]
        handleError(const char *message, StkError::Type type)Stk [protected, static]
        handleError(std::string message, StkError::Type type)Stk [protected, static]
        handleError(StkError::Type type)Stk [protected]
        lastOut(void) const Delay [virtual]
        nextOut(void)DelayL [virtual]
        rawwavePath(void)Stk [inline, protected, static]
        sampleRate(void)Stk [inline, protected, static]
        setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
        setDelay(StkFloat delay)DelayL
        Delay::setDelay(unsigned long delay)Delay
        setDenominator(std::vector< StkFloat > &aCoefficients)Filter [protected]
        setGain(StkFloat gain)Filter [protected, virtual]
        setMaximumDelay(unsigned long delay)Delay
        setNumerator(std::vector< StkFloat > &bCoefficients)Filter [protected]
        setRawwavePath(std::string path)Stk [protected, static]
        setSampleRate(StkFloat rate)Stk [inline, protected, static]
        sleep(unsigned long milliseconds)Stk [protected, static]
        Stk(void)Stk [protected]
        STK_FLOAT32Stk [protected, static]
        STK_FLOAT64Stk [protected, static]
        STK_SINT16Stk [protected, static]
        STK_SINT32Stk [protected, static]
        STK_SINT24Stk [protected, static]
        STK_SINT32Stk [protected, static]
        STK_SINT8Stk [protected, static]
        swap16(unsigned char *ptr)Stk [protected, static]
        swap32(unsigned char *ptr)Stk [protected, static]
        swap64(unsigned char *ptr)Stk [protected, static]
        tick(MY_FLOAT sample)DelayL [virtual]
        Delay::tick(MY_FLOAT *vector, unsigned int vectorSize)Delay [virtual]
        tick(StkFloat sample)DelayL [virtual]
        tick(StkFloat *vector, unsigned int vectorSize)DelayL [virtual]
        tick(StkFrames &frames, unsigned int channel=1)DelayL [virtual]
        ~Delay()Delay [virtual]
        ~DelayL()DelayL
        ~Filter(void)Filter [protected, virtual]

        - +
        The Synthesis ToolKit in C++ (STK)
        The Synthesis ToolKit in C++ (STK)
        ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
        diff --git a/doc/html/classDelayL.html b/doc/html/classDelayL.html index 4b05b87..59d0d5f 100644 --- a/doc/html/classDelayL.html +++ b/doc/html/classDelayL.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
        -

        DelayL Class Reference

        STK linear interpolating delay line class. -More... -

        -#include <DelayL.h> +

        DelayL Class Reference

        #include <DelayL.h>

        Inheritance diagram for DelayL:

        @@ -21,46 +18,93 @@ Filter Stk -List of all members. +List of all members.

        Detailed Description

        +STK linear interpolating delay line class. +

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

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

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

        + +

        +Definition at line 30 of file DelayL.h.

        - + - + - + +StkFloat  - + +StkFloat  + + + + + +

        Public Member Functions

         DelayL ()
         Default constructor creates a delay-line with maximum length of 4095 samples and zero delay.

        DelayL (MY_FLOAT theDelay, long maxDelay)
         DelayL (StkFloat delay, unsigned long maxDelay)
         Overloaded constructor which specifies the current and maximum delay-line lengths.

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

         ~DelayL ()
         Class destructor.

        void setDelay (MY_FLOAT theDelay)
        void setDelay (StkFloat delay)
         Set the delay-line length.

        -MY_FLOAT getDelay (void) const
        getDelay (void) const
         Return the current delay-line length.

        MY_FLOAT nextOut (void)
        StkFloat nextOut (void)
         Return the value which will be output by the next call to tick().

        -MY_FLOAT tick (MY_FLOAT sample)
        tick (StkFloat sample)
         Input one sample to the delay-line and return one output.

        +virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
         Input vectorSize samples to the delay-line and return an equal number of outputs in vector.

        virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
         Take a channel of the StkFrames object as inputs to the delayline and replace with corresponding outputs.

        -

        Detailed Description

        -STK linear interpolating delay line class. -

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

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

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

        +


        Constructor & Destructor Documentation

        +

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

        -Definition at line 30 of file DelayL.h.


        Member Function Documentation

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

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

        +


        Member Function Documentation

        @@ -69,8 +113,8 @@ Definition at line 30 of f - - + + @@ -98,12 +142,12 @@ The valid range for theDelay is from 0 to the maximum delay-line length +This method is valid only for delay settings greater than zero! +

        +Reimplemented from Delay. +

        +
        void DelayL::setDelay MY_FLOAT  theDelay StkFloat  delay  ) 
        - + - +
        MY_FLOAT DelayL::nextOut StkFloat DelayL::nextOut void   )  [virtual]
        @@ -120,7 +164,51 @@ The valid range for theDelay is from 0 to the maximum delay-line length

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

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

        +

        + + + + +
        + + + + + + + + + + + + + + + + + + + +
        virtual StkFrames& DelayL::tick StkFrames frames,
        unsigned int  channel = 1
        [virtual]
        +
        + + + +
        +   + + +

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

        +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

        +Reimplemented from Delay.


        The documentation for this class was generated from the following file:
          @@ -128,7 +216,7 @@ This method is valid only for delay settings greater than zero!
          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/classDrummer-members.html b/doc/html/classDrummer-members.html index 9b30348..e701cd8 100644 --- a/doc/html/classDrummer-members.html +++ b/doc/html/classDrummer-members.html @@ -10,39 +10,43 @@

          Drummer Member List

          This is the complete list of members for Drummer, including all inherited members. - + - + + + - - - - - - - - - + + + + + + + + + - + + - + +
          controlChange(int number, MY_FLOAT value)Instrmnt [virtual]
          controlChange(int number, StkFloat value)Instrmnt [virtual]
          Drummer()Drummer
          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
          handleError(const char *message, StkError::Type type)Stk [static]
          handleError(std::string message, StkError::Type type)Stk [static]
          handleError(StkError::Type type)Stk [protected]
          Instrmnt()Instrmnt
          lastOut() const Instrmnt
          lastOutLeft() const Instrmnt
          lastOutRight() const Instrmnt
          MY_FLOAT32Stk [static]
          MY_FLOAT64Stk [static]
          noteOff(MY_FLOAT amplitude)Drummer [virtual]
          noteOn(MY_FLOAT instrument, MY_FLOAT amplitude)Drummer [virtual]
          rawwavePath(void)Stk [static]
          sampleRate(void)Stk [static]
          setFrequency(MY_FLOAT frequency)Instrmnt [virtual]
          setRawwavePath(std::string newPath)Stk [static]
          setSampleRate(MY_FLOAT newRate)Stk [static]
          noteOff(StkFloat amplitude)Drummer [virtual]
          noteOn(StkFloat instrument, StkFloat amplitude)Drummer [virtual]
          rawwavePath(void)Stk [inline, static]
          sampleRate(void)Stk [inline, static]
          setFrequency(StkFloat frequency)Instrmnt [virtual]
          setRawwavePath(std::string path)Stk [static]
          setSampleRate(StkFloat rate)Stk [inline, static]
          sleep(unsigned long milliseconds)Stk [static]
          Stk(void)Stk [protected]
          STK_FLOAT32Stk [static]
          STK_FLOAT64Stk [static]
          STK_SINT16Stk [static]
          STK_SINT32Stk [static]
          STK_SINT24Stk [static]
          STK_SINT32Stk [static]
          STK_SINT8Stk [static]
          swap16(unsigned char *ptr)Stk [static]
          swap32(unsigned char *ptr)Stk [static]
          swap64(unsigned char *ptr)Stk [static]
          tick()Drummer [virtual]
          Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
          tick(StkFloat *vector, unsigned int vectorSize)Drummer [virtual]
          tick(StkFrames &frames, unsigned int channel=1)Drummer [virtual]
          ~Drummer()Drummer
          ~Instrmnt()Instrmnt [virtual]
          ~Stk(void)Stk [protected, virtual]

          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/classDrummer.html b/doc/html/classDrummer.html index a29776e..79ebe0e 100644 --- a/doc/html/classDrummer.html +++ b/doc/html/classDrummer.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
          -

          Drummer Class Reference

          STK drum sample player class. -More... -

          -#include <Drummer.h> +

          Drummer Class Reference

          #include <Drummer.h>

          Inheritance diagram for Drummer:

          @@ -20,38 +17,75 @@ Instrmnt Stk -List of all members. +List of all members.

          Detailed Description

          +STK drum sample player class. +

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

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

          + +

          +Definition at line 28 of file Drummer.h.

          - + - + - + +void  +StkFloat  + + + + + +

          Public Member Functions

          Drummer ()
           Drummer ()
           Class constructor.

           Class constructor.

           ~Drummer ()
           Class destructor.

          void noteOn (MY_FLOAT instrument, MY_FLOAT amplitude)
          void noteOn (StkFloat instrument, StkFloat amplitude)
           Start a note with the given drum type and amplitude.

          -void noteOff (MY_FLOAT amplitude)
          noteOff (StkFloat amplitude)
           Stop a note with the given amplitude (speed of decay).

          -MY_FLOAT tick ()
          tick ()
           Compute one output sample.

          +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
           Computer vectorSize outputs and return them in vector.

          StkFramestick (StkFrames &frames, unsigned int channel=1)
           Fill a channel of the StkFrames object with computed outputs.

          -

          Detailed Description

          -STK drum sample player class. -

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

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

          +


          Constructor & Destructor Documentation

          +

          + + + + +
          + + + + + + + + + +
          Drummer::Drummer  ) 
          +
          + + + + + +
          +   +

          -Definition at line 28 of file Drummer.h.


          Member Function Documentation

          +Class constructor. +

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

          +


          Member Function Documentation

          @@ -60,13 +94,13 @@ Definition at line 28 of - + - + @@ -89,17 +123,59 @@ Definition at line 28 of

          Start a note with the given drum type and amplitude.

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

          Implements Instrmnt.

          void Drummer::noteOn MY_FLOAT StkFloat  instrument,
          MY_FLOAT StkFloat  amplitude
          +

          + + + + +
          + + + + + + + + + + + + + + + + + + + +
          StkFrames& Drummer::tick StkFrames frames,
          unsigned int  channel = 1
          [virtual]
          +
          + + + + + +
          +   + + +

          +Fill a channel of the StkFrames object with computed outputs. +

          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

          +Reimplemented from Instrmnt.


          The documentation for this class was generated from the following file:
          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/classEcho-members.html b/doc/html/classEcho-members.html index fc00d93..fdf0311 100644 --- a/doc/html/classEcho-members.html +++ b/doc/html/classEcho-members.html @@ -10,34 +10,43 @@

          Echo Member List

          This is the complete list of members for Echo, including all inherited members. - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + + - - + + + +
          clear()Echo
          Echo(MY_FLOAT longestDelay)Echo
          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
          lastOut() const Echo
          MY_FLOAT32Stk [static]
          MY_FLOAT64Stk [static]
          rawwavePath(void)Stk [static]
          sampleRate(void)Stk [static]
          setDelay(MY_FLOAT delay)Echo
          setEffectMix(MY_FLOAT mix)Echo
          setRawwavePath(std::string newPath)Stk [static]
          setSampleRate(MY_FLOAT newRate)Stk [static]
          clear()Echo [virtual]
          Echo(unsigned long maximumDelay=(unsigned long) Stk::sampleRate())Echo
          Effect()Effect
          handleError(const char *message, StkError::Type type)Stk [static]
          handleError(std::string message, StkError::Type type)Stk [static]
          handleError(StkError::Type type)Stk [protected]
          lastOut() const Effect
          lastOutLeft() const Effect
          lastOutRight() const Effect
          rawwavePath(void)Stk [inline, static]
          sampleRate(void)Stk [inline, static]
          setDelay(unsigned long delay)Echo
          setEffectMix(StkFloat mix)Effect
          setMaximumDelay(unsigned long delay)Echo
          setRawwavePath(std::string path)Stk [static]
          setSampleRate(StkFloat rate)Stk [inline, static]
          sleep(unsigned long milliseconds)Stk [static]
          Stk(void)Stk [protected]
          STK_FLOAT32Stk [static]
          STK_FLOAT64Stk [static]
          STK_SINT16Stk [static]
          STK_SINT32Stk [static]
          STK_SINT24Stk [static]
          STK_SINT32Stk [static]
          STK_SINT8Stk [static]
          swap16(unsigned char *ptr)Stk [static]
          swap32(unsigned char *ptr)Stk [static]
          swap64(unsigned char *ptr)Stk [static]
          tick(MY_FLOAT input)Echo
          tick(MY_FLOAT *vector, unsigned int vectorSize)Echo
          tick(StkFloat input)Echo [virtual]
          tick(StkFloat *vector, unsigned int vectorSize)Echo [virtual]
          tick(StkFrames &frames, unsigned int channel=1)Echo [virtual]
          ~Echo()Echo
          ~Effect()Effect [virtual]
          ~Stk(void)Stk [protected, virtual]

          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/classEcho.html b/doc/html/classEcho.html index 8542778..39f7527 100644 --- a/doc/html/classEcho.html +++ b/doc/html/classEcho.html @@ -9,23 +9,28 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
          -

          Echo Class Reference

          STK echo effect class. -More... -

          -#include <Echo.h> +

          Echo Class Reference

          #include <Echo.h>

          Inheritance diagram for Echo:

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

          Detailed Description

          +STK echo effect class. +

          +This class implements an echo effect.

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

          + +

          +Definition at line 17 of file Echo.h.

          - + - + @@ -34,41 +39,107 @@ void  - + + + + - - - - - - - + - + - + + + +

          Public Member Functions

          Echo (MY_FLOAT longestDelay)
           Echo (unsigned long maximumDelay=(unsigned long) Stk::sampleRate())
           Class constructor, taking the longest desired delay length.

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

           ~Echo ()
          clear ()
           Reset and clear all internal state.

          -void setDelay (MY_FLOAT delay)
          +void setMaximumDelay (unsigned long delay)
           Set the maximum delay line length in samples.

          +void setDelay (unsigned long delay)
           Set the delay line length in samples.

          -void setEffectMix (MY_FLOAT mix)
           Set the mixture of input and processed levels in the output (0.0 = input only, 1.0 = processed only).

          -MY_FLOAT lastOut () const
           Return the last output value.

          -MY_FLOAT tick (MY_FLOAT input)
          +StkFloat tick (StkFloat input)
           Compute one output sample.

          -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
          +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
           Input vectorSize samples to the filter and return an equal number of outputs in vector.

           Take vectorSize inputs, compute the same number of outputs and return them in vector.

          StkFramestick (StkFrames &frames, unsigned int channel=1)
           Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.

          -

          Detailed Description

          -STK echo effect class. -

          -This class implements a echo effect.

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

          +


          Constructor & Destructor Documentation

          +

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

          -Definition at line 17 of file Echo.h.


          The documentation for this class was generated from the following file:
            +Class constructor, taking the longest desired delay length (one second default value). +

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

          +


          Member Function Documentation

          +

          + + + + +
          + + + + + + + + + + + + + + + + + + + +
          StkFrames& Echo::tick StkFrames frames,
          unsigned int  channel = 1
          [virtual]
          +
          + + + + + +
          +   + + +

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

          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

          +Reimplemented from Effect.

          +


          The documentation for this class was generated from the following file:
          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/classEcho.png b/doc/html/classEcho.png index 426cda0c267a4fa2d2468a2eef778f4adf2909cd..e7315c77e1d07623e75178aa643944dd631063a3 100644 GIT binary patch delta 282 zcmV+#0plC#iBL{Q4GJ0x0000DNk~Le0000j0001p1Oos70D&v{&Wwg1ipZg&k z(GRD8PCohX9LxwVm`ktWUK>c+2j4P-YtN8|f_r(u1-}&S`hLkup5H$1Yp(sLGYmyP gXPwVKc;lYD0r!i&O7$MfqW}N^07*qoM6N<$g1Y#DSpWb4 delta 221 zcmV<303!dy0*3-2iBL{Q4GJ0x0000DNk~Le0000f0000`1Oos70CrLImnGXqU+spQm)&37$EDkA%6nyKgQgUUmOb7%G=r9b}y Xjg4Fo5BQ(+00000NkvXXu0mjf)c;&* diff --git a/doc/html/classEffect-members.html b/doc/html/classEffect-members.html new file mode 100644 index 0000000..75cf0b5 --- /dev/null +++ b/doc/html/classEffect-members.html @@ -0,0 +1,50 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
          +    

          +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

          +
          + +

          Effect Member List

          This is the complete list of members for Effect, including all inherited members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          clear()=0Effect [pure virtual]
          Effect()Effect
          handleError(const char *message, StkError::Type type)Stk [static]
          handleError(std::string message, StkError::Type type)Stk [static]
          handleError(StkError::Type type)Stk [protected]
          lastOut() const Effect
          lastOutLeft() const Effect
          lastOutRight() const Effect
          rawwavePath(void)Stk [inline, static]
          sampleRate(void)Stk [inline, static]
          setEffectMix(StkFloat mix)Effect
          setRawwavePath(std::string path)Stk [static]
          setSampleRate(StkFloat rate)Stk [inline, static]
          sleep(unsigned long milliseconds)Stk [static]
          Stk(void)Stk [protected]
          STK_FLOAT32Stk [static]
          STK_FLOAT64Stk [static]
          STK_SINT16Stk [static]
          STK_SINT24Stk [static]
          STK_SINT32Stk [static]
          STK_SINT8Stk [static]
          swap16(unsigned char *ptr)Stk [static]
          swap32(unsigned char *ptr)Stk [static]
          swap64(unsigned char *ptr)Stk [static]
          tick(StkFloat input)=0Effect [pure virtual]
          tick(StkFloat *vector, unsigned int vectorSize)Effect [virtual]
          tick(StkFrames &frames, unsigned int channel=1)Effect [virtual]
          ~Effect()Effect [virtual]
          ~Stk(void)Stk [protected, virtual]

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

          +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

          +
          + +

          Effect Class Reference

          #include <Effect.h> +

          +

          Inheritance diagram for Effect: +

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

          Detailed Description

          +STK abstract effects parent class. +

          +This class provides common functionality for STK effects subclasses.

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

          + +

          +Definition at line 17 of file Effect.h. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

          Public Member Functions

          Effect ()
           Class constructor.

          +virtual ~Effect ()
           Class destructor.

          +virtual void clear ()=0
           Reset and clear all internal state.

          +void setEffectMix (StkFloat mix)
           Set the mixture of input and "effected" levels in the output (0.0 = input only, 1.0 = reverb only).

          +StkFloat lastOut () const
           Return the last output value.

          +StkFloat lastOutLeft () const
           Return the last left output value.

          +StkFloat lastOutRight () const
           Return the last right output value.

          +virtual StkFloat tick (StkFloat input)=0
           Abstract tick function ... must be implemented in subclasses.

          +virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
           Take vectorSize inputs, compute the same number of outputs and return them in vector.

          virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
           Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.

          +


          Member Function Documentation

          +

          + + + + +
          + + + + + + + + + + + + + + + + + + + +
          virtual StkFrames& Effect::tick StkFrames frames,
          unsigned int  channel = 1
          [virtual]
          +
          + + + + + +
          +   + + +

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

          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

          +Reimplemented in Chorus, Echo, JCRev, NRev, PitShift, and PRCRev.

          +


          The documentation for this class was generated from the following file: +
          + + + + +
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          + + + diff --git a/doc/html/classEffect.png b/doc/html/classEffect.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ac64d8e1a00b30f5e86e22a7291d80793d231b GIT binary patch literal 902 zcmeAS@N?(olHy`uVBq!ia0y~yV4MPEcd#%6Nuv&i<3LIxz$e7@|Ns9$=Kuc(=Fd-< z0AzvjfddDs5B+}vEaktG3V`^?5@WK0xh|0&$cg>-tvv< zG~b&_HnF1r%4_2M?p#ye?RaqMGHsQ_9N*H~Ysv>%bWcZrxqA8h_bWA%>vr~uJXO-< zT9mSA!p3uxI7D81@O8bH;L5+ectZPzk~h;b1DU#2wV71Ui3)0D-s+Y}sALs3eEau# zSNuT_1}{z5ogQ6H8m^907AbgLIIFzw{A%W&$qG|$f4|Dv=E-;J`P;J6mO!BvrOaE} zT#H0l1L2AT1(s@b1c|r+t%eC-xuUUb`P)|||Ci=PLCmexsM{HJE%)w^i<*Jke%#S= ze|}Nw+{D9#>55prY%0~r+dqkXl41#!w7wA^2**@d`)U(NUKQ`L`@mHAqJo;D7m#9A- zng&3FG`P$UdMwnqqarEsctz1H$q9yq@@F2)Ewy1)RsNqd>&V`8f8IVdk;yk~1MX~^ zG_ys(@Wjp_H^uT>MLW7ad0cim>9&T`*l;QvkLu-jjoCNrhZ*LGbh=9S&>SJf+@<`YQYp&AgUi_)?;U{dvrVDe4^2Rx7YHd6(>ZLtHKTJNMaK^Kb;n4@b zUA0@U%{%2d*EKi8>ID}gV+vS`u)|KF>FVZq0u+`6a$95?%_R^8oXskyAd;3v1^ XKY`?$FXx{FGYx~MtDnm{r-UW|3&@C& literal 0 HcmV?d00001 diff --git a/doc/html/classEnvelope-members.html b/doc/html/classEnvelope-members.html index 84b4ddc..d340db1 100644 --- a/doc/html/classEnvelope-members.html +++ b/doc/html/classEnvelope-members.html @@ -11,37 +11,43 @@

          Envelope Member List

          This is the complete list of members for Envelope, including all inherited members. + - + + + - - - - - - - - - - - + + + + + + + + + + + - + + - + + +
          Envelope(void)Envelope
          Generator()Generator
          getState(void) const Envelope [virtual]
          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
          handleError(const char *message, StkError::Type type)Stk [static]
          handleError(std::string message, StkError::Type type)Stk [static]
          handleError(StkError::Type type)Stk [protected]
          keyOff(void)Envelope [virtual]
          keyOn(void)Envelope [virtual]
          lastOut(void) const Envelope
          MY_FLOAT32Stk [static]
          MY_FLOAT64Stk [static]
          rawwavePath(void)Stk [static]
          sampleRate(void)Stk [static]
          setRate(MY_FLOAT aRate)Envelope
          setRawwavePath(std::string newPath)Stk [static]
          setSampleRate(MY_FLOAT newRate)Stk [static]
          setTarget(MY_FLOAT aTarget)Envelope [virtual]
          setTime(MY_FLOAT aTime)Envelope
          setValue(MY_FLOAT aValue)Envelope [virtual]
          lastOut() const Generator [inline, virtual]
          rawwavePath(void)Stk [inline, static]
          sampleRate(void)Stk [inline, static]
          setRate(StkFloat rate)Envelope
          setRawwavePath(std::string path)Stk [static]
          setSampleRate(StkFloat rate)Stk [inline, static]
          setTarget(StkFloat target)Envelope [virtual]
          setTime(StkFloat time)Envelope
          setValue(StkFloat value)Envelope [virtual]
          sleep(unsigned long milliseconds)Stk [static]
          Stk(void)Stk [protected]
          STK_FLOAT32Stk [static]
          STK_FLOAT64Stk [static]
          STK_SINT16Stk [static]
          STK_SINT32Stk [static]
          STK_SINT24Stk [static]
          STK_SINT32Stk [static]
          STK_SINT8Stk [static]
          swap16(unsigned char *ptr)Stk [static]
          swap32(unsigned char *ptr)Stk [static]
          swap64(unsigned char *ptr)Stk [static]
          tick(void)Envelope [virtual]
          tick(MY_FLOAT *vector, unsigned int vectorSize)Envelope [virtual]
          tick(StkFloat *vector, unsigned int vectorSize)Envelope [virtual]
          tick(StkFrames &frames, unsigned int channel=1)Envelope [virtual]
          ~Envelope(void)Envelope [virtual]
          ~Generator()Generator [virtual]
          ~Stk(void)Stk [protected, virtual]

          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/classEnvelope.html b/doc/html/classEnvelope.html index 684452c..768e291 100644 --- a/doc/html/classEnvelope.html +++ b/doc/html/classEnvelope.html @@ -9,18 +9,25 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
          -

          Envelope Class Reference

          STK envelope base class. -More... -

          -#include <Envelope.h> +

          Envelope Class Reference

          #include <Envelope.h>

          Inheritance diagram for Envelope:

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

          Detailed Description

          +STK envelope base class. +

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

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

          + +

          +Definition at line 21 of file Envelope.h.

          +void  +void  +virtual void  +virtual void  +virtual StkFloat  +virtual StkFloat *  - - + + - +

          Public Member Functions

          @@ -40,19 +47,19 @@ virtual void  Set target = 0.

          -void setRate (MY_FLOAT aRate)
          setRate (StkFloat rate)
           Set the rate.

          -void setTime (MY_FLOAT aTime)
          setTime (StkFloat time)
           Set the rate based on a time duration.

          -virtual void setTarget (MY_FLOAT aTarget)
          setTarget (StkFloat target)
           Set the target value.

          -virtual void setValue (MY_FLOAT aValue)
          setValue (StkFloat value)
           Set current and target values to aValue.

          @@ -60,32 +67,68 @@ virtual int  Return the current envelope state (0 = at target, 1 otherwise).

          -virtual MY_FLOAT tick (void)
          tick (void)
           Return one envelope output value.

          -virtual MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
          tick (StkFloat *vector, unsigned int vectorSize)
           Return vectorSize envelope outputs in vector.

          -MY_FLOAT lastOut (void) const
           Compute vectorSize outputs and return them in vector.

          virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
           Return the last computed output value.

           Fill a channel of the StkFrames object with computed outputs.

          -

          Detailed Description

          -STK envelope base class. -

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

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

          +


          Member Function Documentation

          +

          + + + + +
          + + + + + + + + + + + + + + + + + + + +
          virtual StkFrames& Envelope::tick StkFrames frames,
          unsigned int  channel = 1
          [virtual]
          +
          + + + + + +
          +   +

          -Definition at line 21 of file Envelope.h.


          The documentation for this class was generated from the following file:
            +Fill a channel of the StkFrames object with computed outputs. +

            +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

            +Reimplemented from Generator. +

            +Reimplemented in ADSR, and Asymp.

          +


          The documentation for this class was generated from the following file:
          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/classEnvelope.png b/doc/html/classEnvelope.png index 9771612c489fd81f9c64920d1dfd31f8cc114689..adf0b38c75160e52e864134ede313d6e0b754e12 100644 GIT binary patch delta 620 zcmV-y0+aoN1Cj+HiBL{Q4GJ0x0000DNk~Le0001#0002M1Oos701ypV29Y5%e*!2; zL_t(|obB6DZi6rk0MMXH{f>PDvkOd{wDVM&#Ql%3*a>YRA&`(tl-ZRCt;kz&x*>>X zOdOZ*)kyS8#-(4252apB5nzwhguNXOj&Mtf2%#e^AA4xuxOd+CtfD{T3wa$)P}_?rD`bRT6PEp?eHi; zm{DJhT&z;v^St9Shfq9Eb;zF7_B%Rt8JF~U?wF&z>o4nLi7)JC$8Z} zb{v!dpiF2GnFw8i05MyuFokFk#5%xIDmpBpDm7NAgsHUXC@FB8P~vQae;e8uK1RMK zF5~aSIC{(Y#2$O;L?=375a2`#f62*tC?c}r_1GuT&QggOlXPINAOy+05GisemX1^~ zJyts8)rv^(1n1xq8D5CeRtO$@wD3U(mVA%h;Tf@zYT2+PR{ME5m_9Dc59{O%K;%tQLZ=deb0;IS{M^^v<002ovPDHLkV1fckkAwgK diff --git a/doc/html/classFM-members.html b/doc/html/classFM-members.html index 1d4da72..881da15 100644 --- a/doc/html/classFM-members.html +++ b/doc/html/classFM-members.html @@ -11,9 +11,11 @@

          FM Member List

          This is the complete list of members for FM, including all inherited members. - - - + + + + + @@ -21,38 +23,40 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + + - + +
          clear()FM
          controlChange(int number, MY_FLOAT value)FM [virtual]
          FM(int operators=4)FM
          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
          controlChange(int number, StkFloat value)FM [virtual]
          FM(unsigned int operators=4)FM
          handleError(const char *message, StkError::Type type)Stk [static]
          handleError(std::string message, StkError::Type type)Stk [static]
          handleError(StkError::Type type)Stk [protected]
          Instrmnt()Instrmnt
          keyOff()FM
          keyOn()FM
          lastOutLeft() const Instrmnt
          lastOutRight() const Instrmnt
          loadWaves(const char **filenames)FM
          MY_FLOAT32Stk [static]
          MY_FLOAT64Stk [static]
          noteOff(MY_FLOAT amplitude)FM [virtual]
          noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)=0Instrmnt [pure virtual]
          rawwavePath(void)Stk [static]
          sampleRate(void)Stk [static]
          setControl1(MY_FLOAT cVal)FM
          setControl2(MY_FLOAT cVal)FM
          setFrequency(MY_FLOAT frequency)FM [virtual]
          setGain(int waveIndex, MY_FLOAT gain)FM
          setModulationDepth(MY_FLOAT mDepth)FM
          setModulationSpeed(MY_FLOAT mSpeed)FM
          setRatio(int waveIndex, MY_FLOAT ratio)FM
          setRawwavePath(std::string newPath)Stk [static]
          setSampleRate(MY_FLOAT newRate)Stk [static]
          noteOff(StkFloat amplitude)FM [virtual]
          noteOn(StkFloat frequency, StkFloat amplitude)=0Instrmnt [pure virtual]
          rawwavePath(void)Stk [inline, static]
          sampleRate(void)Stk [inline, static]
          setControl1(StkFloat cVal)FM
          setControl2(StkFloat cVal)FM
          setFrequency(StkFloat frequency)FM [virtual]
          setGain(unsigned int waveIndex, StkFloat gain)FM
          setModulationDepth(StkFloat mDepth)FM
          setModulationSpeed(StkFloat mSpeed)FM
          setRatio(unsigned int waveIndex, StkFloat ratio)FM
          setRawwavePath(std::string path)Stk [static]
          setSampleRate(StkFloat rate)Stk [inline, static]
          sleep(unsigned long milliseconds)Stk [static]
          Stk(void)Stk [protected]
          STK_FLOAT32Stk [static]
          STK_FLOAT64Stk [static]
          STK_SINT16Stk [static]
          STK_SINT32Stk [static]
          STK_SINT24Stk [static]
          STK_SINT32Stk [static]
          STK_SINT8Stk [static]
          swap16(unsigned char *ptr)Stk [static]
          swap32(unsigned char *ptr)Stk [static]
          swap64(unsigned char *ptr)Stk [static]
          tick()=0FM [pure virtual]
          Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
          tick(StkFloat *vector, unsigned int vectorSize)=0FM [pure virtual]
          tick(StkFrames &frames, unsigned int channel=1)=0FM [pure virtual]
          ~FM()FM [virtual]
          ~Instrmnt()Instrmnt [virtual]
          ~Stk(void)Stk [protected, virtual]

          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/classFM.html b/doc/html/classFM.html index dbc002d..116bb2c 100644 --- a/doc/html/classFM.html +++ b/doc/html/classFM.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
          -

          FM Class Reference

          STK abstract FM synthesis base class. -More... -

          -#include <FM.h> +

          FM Class Reference

          #include <FM.h>

          Inheritance diagram for FM:

          @@ -27,13 +24,24 @@ TubeBell Wurley -List of all members. +List of all members.

          Detailed Description

          +STK abstract FM synthesis base class. +

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

          +Control Change Numbers:

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

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

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

          + +

          +Definition at line 34 of file FM.h.

          - + - + @@ -47,31 +55,31 @@ void  +virtual void  +void  +void  +void  +void  +void  +void  +void  +virtual StkFloat  - + + + + + + +

          Public Member Functions

          FM (int operators=4)
           FM (unsigned int operators=4)
           Class constructor, taking the number of wave/envelope operators to control.

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

          virtual ~FM ()
           Load the rawwave filenames in waves.

          -virtual void setFrequency (MY_FLOAT frequency)
          setFrequency (StkFloat frequency)
           Set instrument parameters for a particular frequency.

          -void setRatio (int waveIndex, MY_FLOAT ratio)
          setRatio (unsigned int waveIndex, StkFloat ratio)
           Set the frequency ratio for the specified wave.

          -void setGain (int waveIndex, MY_FLOAT gain)
          setGain (unsigned int waveIndex, StkFloat gain)
           Set the gain for the specified wave.

          -void setModulationSpeed (MY_FLOAT mSpeed)
          setModulationSpeed (StkFloat mSpeed)
           Set the modulation speed in Hz.

          -void setModulationDepth (MY_FLOAT mDepth)
          setModulationDepth (StkFloat mDepth)
           Set the modulation depth.

          -void setControl1 (MY_FLOAT cVal)
          setControl1 (StkFloat cVal)
           Set the value of control1.

          -void setControl2 (MY_FLOAT cVal)
          setControl2 (StkFloat cVal)
           Set the value of control1.

          @@ -83,36 +91,108 @@ void  Start envelopes toward "off" targets.

          -void noteOff (MY_FLOAT amplitude)
          noteOff (StkFloat amplitude)
           Stop a note with the given amplitude (speed of decay).

          -virtual MY_FLOAT tick ()=0
          tick ()=0
           Pure virtual function ... must be defined in subclasses.

          -virtual void controlChange (int number, MY_FLOAT value)
          +virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)=0
           Computer vectorSize outputs and return them in vector.

          virtual StkFramestick (StkFrames &frames, unsigned int channel=1)=0
           Fill a channel of the StkFrames object with computed outputs.

          +virtual void controlChange (int number, StkFloat value)
           Perform the control change specified by number and value (0.0 - 128.0).

          -

          Detailed Description

          -STK abstract FM synthesis base class. -

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

          -Control Change Numbers:

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

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

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

          +


          Constructor & Destructor Documentation

          +

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

          -Definition at line 34 of file FM.h.


          The documentation for this class was generated from the following file:
            +Class constructor, taking the number of wave/envelope operators to control. +

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

          +


          Member Function Documentation

          +

          + + + + +
          + + + + + + + + + + + + + + + + + + + +
          virtual StkFrames& FM::tick StkFrames frames,
          unsigned int  channel = 1
          [pure virtual]
          +
          + + + + + +
          +   + + +

          +Fill a channel of the StkFrames object with computed outputs. +

          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

          +Reimplemented from Instrmnt. +

          +Implemented in BeeThree, FMVoices, HevyMetl, PercFlut, Rhodey, TubeBell, and Wurley.

          +


          The documentation for this class was generated from the following file:
          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/classFMVoices-members.html b/doc/html/classFMVoices-members.html index 48216c2..03a89e4 100644 --- a/doc/html/classFMVoices-members.html +++ b/doc/html/classFMVoices-members.html @@ -11,10 +11,12 @@

          FMVoices Member List

          This is the complete list of members for FMVoices, including all inherited members. - - + + - + + + @@ -22,31 +24,33 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + + - + + @@ -54,7 +58,7 @@
          clear()FM
          controlChange(int number, MY_FLOAT value)FMVoices [virtual]
          FM(int operators=4)FM
          controlChange(int number, StkFloat value)FMVoices [virtual]
          FM(unsigned int operators=4)FM
          FMVoices()FMVoices
          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
          handleError(const char *message, StkError::Type type)Stk [static]
          handleError(std::string message, StkError::Type type)Stk [static]
          handleError(StkError::Type type)Stk [protected]
          Instrmnt()Instrmnt
          keyOff()FM
          keyOn()FM
          lastOutLeft() const Instrmnt
          lastOutRight() const Instrmnt
          loadWaves(const char **filenames)FM
          MY_FLOAT32Stk [static]
          MY_FLOAT64Stk [static]
          noteOff(MY_FLOAT amplitude)FM [virtual]
          noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)FMVoices [virtual]
          rawwavePath(void)Stk [static]
          sampleRate(void)Stk [static]
          setControl1(MY_FLOAT cVal)FM
          setControl2(MY_FLOAT cVal)FM
          setFrequency(MY_FLOAT frequency)FMVoices [virtual]
          setGain(int waveIndex, MY_FLOAT gain)FM
          setModulationDepth(MY_FLOAT mDepth)FM
          setModulationSpeed(MY_FLOAT mSpeed)FM
          setRatio(int waveIndex, MY_FLOAT ratio)FM
          setRawwavePath(std::string newPath)Stk [static]
          setSampleRate(MY_FLOAT newRate)Stk [static]
          noteOff(StkFloat amplitude)FM [virtual]
          noteOn(StkFloat frequency, StkFloat amplitude)FMVoices [virtual]
          rawwavePath(void)Stk [inline, static]
          sampleRate(void)Stk [inline, static]
          setControl1(StkFloat cVal)FM
          setControl2(StkFloat cVal)FM
          setFrequency(StkFloat frequency)FMVoices [virtual]
          setGain(unsigned int waveIndex, StkFloat gain)FM
          setModulationDepth(StkFloat mDepth)FM
          setModulationSpeed(StkFloat mSpeed)FM
          setRatio(unsigned int waveIndex, StkFloat ratio)FM
          setRawwavePath(std::string path)Stk [static]
          setSampleRate(StkFloat rate)Stk [inline, static]
          sleep(unsigned long milliseconds)Stk [static]
          Stk(void)Stk [protected]
          STK_FLOAT32Stk [static]
          STK_FLOAT64Stk [static]
          STK_SINT16Stk [static]
          STK_SINT32Stk [static]
          STK_SINT24Stk [static]
          STK_SINT32Stk [static]
          STK_SINT8Stk [static]
          swap16(unsigned char *ptr)Stk [static]
          swap32(unsigned char *ptr)Stk [static]
          swap64(unsigned char *ptr)Stk [static]
          tick()FMVoices [virtual]
          Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
          tick(StkFloat *vector, unsigned int vectorSize)FMVoices [virtual]
          tick(StkFrames &frames, unsigned int channel=1)FMVoices [virtual]
          ~FM()FM [virtual]
          ~FMVoices()FMVoices
          ~Instrmnt()Instrmnt [virtual]

          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/classFMVoices.html b/doc/html/classFMVoices.html index cadb169..7c3b659 100644 --- a/doc/html/classFMVoices.html +++ b/doc/html/classFMVoices.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
          -

          FMVoices Class Reference

          STK singing FM synthesis instrument. -More... -

          -#include <FMVoices.h> +

          FMVoices Class Reference

          #include <FMVoices.h>

          Inheritance diagram for FMVoices:

          @@ -21,35 +18,7 @@ Instrmnt Stk -List of all members. - - - - - - - - - - - - - - - - - - - - -

          Public Member Functions

          FMVoices ()
           Class constructor.

          ~FMVoices ()
           Class destructor.

          -virtual void setFrequency (MY_FLOAT frequency)
           Set instrument parameters for a particular frequency.

          -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
           Start a note with the given frequency and amplitude.

          -MY_FLOAT tick ()
           Compute one output sample.

          -virtual void controlChange (int number, MY_FLOAT value)
           Perform the control change specified by number and value (0.0 - 128.0).

          -

          Detailed Description

          +List of all members.

          Detailed Description

          STK singing FM synthesis instrument.

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

          @@ -62,16 +31,124 @@ Control Change Numbers:

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

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

          -by Perry R. Cook and Gary P. Scavone, 1995 - 2002. +by Perry R. Cook and Gary P. Scavone, 1995 - 2004.

          -Definition at line 38 of file FMVoices.h.


          The documentation for this class was generated from the following file:
            +Definition at line 38 of file FMVoices.h. + + + + + + + + + + + + + + + + + + + + + + + + + + +

            Public Member Functions

             FMVoices ()
             Class constructor.

            ~FMVoices ()
             Class destructor.

            +virtual void setFrequency (StkFloat frequency)
             Set instrument parameters for a particular frequency.

            +void noteOn (StkFloat frequency, StkFloat amplitude)
             Start a note with the given frequency and amplitude.

            +StkFloat tick ()
             Compute one output sample.

            +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
             Computer vectorSize outputs and return them in vector.

            StkFramestick (StkFrames &frames, unsigned int channel=1)
             Fill a channel of the StkFrames object with computed outputs.

            +virtual void controlChange (int number, StkFloat value)
             Perform the control change specified by number and value (0.0 - 128.0).

            +

            Constructor & Destructor Documentation

            +

            + + + + +
            + + + + + + + + + +
            FMVoices::FMVoices  ) 
            +
            + + + + + +
            +   + + +

            +Class constructor. +

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

            +


            Member Function Documentation

            +

            + + + + +
            + + + + + + + + + + + + + + + + + + + +
            StkFrames& FMVoices::tick StkFrames frames,
            unsigned int  channel = 1
            [virtual]
            +
            + + + + + +
            +   + + +

            +Fill a channel of the StkFrames object with computed outputs. +

            +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

            +Implements FM.

            +


            The documentation for this class was generated from the following file:
            - +
            The Synthesis ToolKit in C++ (STK)
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            diff --git a/doc/html/classFilter-members.html b/doc/html/classFilter-members.html index 934eeac..903f78c 100644 --- a/doc/html/classFilter-members.html +++ b/doc/html/classFilter-members.html @@ -12,36 +12,40 @@

            Filter Member List

            This is the complete list of members for Filter, including all inherited members. - + - + + + - - - - - - - - - - + + + + + + + + + + - + + - - + + +
            clear(void)Filter
            Filter(void)Filter
            Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter
            Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter
            getGain(void) const Filter [virtual]
            handleError(const char *message, StkError::TYPE type)Stk [protected, static]
            handleError(const char *message, StkError::Type type)Stk [static]
            handleError(std::string message, StkError::Type type)Stk [static]
            handleError(StkError::Type type)Stk [protected]
            lastOut(void) const Filter [virtual]
            MY_FLOAT32Stk [static]
            MY_FLOAT64Stk [static]
            rawwavePath(void)Stk [static]
            sampleRate(void)Stk [static]
            setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter
            setDenominator(int na, MY_FLOAT *aCoefficients)Filter
            setGain(MY_FLOAT theGain)Filter [virtual]
            setNumerator(int nb, MY_FLOAT *bCoefficients)Filter
            setRawwavePath(std::string newPath)Stk [static]
            setSampleRate(MY_FLOAT newRate)Stk [static]
            rawwavePath(void)Stk [inline, static]
            sampleRate(void)Stk [inline, static]
            setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter
            setDenominator(std::vector< StkFloat > &aCoefficients)Filter
            setGain(StkFloat gain)Filter [virtual]
            setNumerator(std::vector< StkFloat > &bCoefficients)Filter
            setRawwavePath(std::string path)Stk [static]
            setSampleRate(StkFloat rate)Stk [inline, static]
            sleep(unsigned long milliseconds)Stk [static]
            Stk(void)Stk [protected]
            STK_FLOAT32Stk [static]
            STK_FLOAT64Stk [static]
            STK_SINT16Stk [static]
            STK_SINT32Stk [static]
            STK_SINT24Stk [static]
            STK_SINT32Stk [static]
            STK_SINT8Stk [static]
            swap16(unsigned char *ptr)Stk [static]
            swap32(unsigned char *ptr)Stk [static]
            swap64(unsigned char *ptr)Stk [static]
            tick(MY_FLOAT sample)Filter [virtual]
            tick(MY_FLOAT *vector, unsigned int vectorSize)Filter [virtual]
            tick(StkFloat sample)Filter [virtual]
            tick(StkFloat *vector, unsigned int vectorSize)Filter [virtual]
            tick(StkFrames &frames, unsigned int channel=1)Filter [virtual]
            ~Filter(void)Filter [virtual]
            ~Stk(void)Stk [protected, virtual]

            - +
            The Synthesis ToolKit in C++ (STK)
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            diff --git a/doc/html/classFilter.html b/doc/html/classFilter.html index 4b941e4..c765938 100644 --- a/doc/html/classFilter.html +++ b/doc/html/classFilter.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
            -

            Filter Class Reference

            STK filter class. -More... -

            -#include <Filter.h> +

            Filter Class Reference

            #include <Filter.h>

            Inheritance diagram for Filter:

            @@ -29,14 +26,26 @@ DelayA DelayL -List of all members. +List of all members.

            Detailed Description

            +STK filter class. +

            +This class implements a generic structure which can be used to create a wide range of filters. It can function independently or be subclassed to provide more specific controls based on a particular filter type.

            +In particular, this class implements the standard difference equation:

            +a[0]*y[n] = b[0]*x[n] + ... + b[nb]*x[n-nb] - a[1]*y[n-1] - ... - a[na]*y[n-na]

            +If a[0] is not equal to 1, the filter coeffcients are normalized by a[0].

            +The gain parameter is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. This structure results in one extra multiply per computed sample, but allows easy control of the overall filter gain.

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

            + +

            +Definition at line 37 of file Filter.h.

            - + - - + + - + - + - + +virtual StkFloat  +virtual StkFloat  +virtual StkFloat  +virtual StkFloat *  -

            Public Member Functions

             Filter (void)
             Default constructor creates a zero-order pass-through "filter".

             Filter (int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)
             Filter (std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)
             Overloaded constructor which takes filter coefficients.

            @@ -46,49 +55,40 @@ virtual  void clear (void)
             Clears all internal states of the filter.

            void setCoefficients (int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)
             Sets all internal states of the filter to zero.

            void setCoefficients (std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)
             Set filter coefficients.

            void setNumerator (int nb, MY_FLOAT *bCoefficients)
            void setNumerator (std::vector< StkFloat > &bCoefficients)
             Set numerator coefficients.

            void setDenominator (int na, MY_FLOAT *aCoefficients)
            void setDenominator (std::vector< StkFloat > &aCoefficients)
             Set denominator coefficients.

            virtual void setGain (MY_FLOAT theGain)
            virtual void setGain (StkFloat gain)
             Set the filter gain.

            -virtual MY_FLOAT getGain (void) const
            getGain (void) const
             Return the current filter gain.

            -virtual MY_FLOAT lastOut (void) const
            lastOut (void) const
             Return the last computed output value.

            -virtual MY_FLOAT tick (MY_FLOAT sample)
            tick (StkFloat sample)
             Input one sample to the filter and return one output.

            -virtual MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
            tick (StkFloat *vector, unsigned int vectorSize)
             Input vectorSize samples to the filter and return an equal number of outputs in vector.

            -

            Detailed Description

            -STK filter class. -

            -This class implements a generic structure which can be used to create a wide range of filters. It can function independently or be subclassed to provide more specific controls based on a particular filter type.

            -In particular, this class implements the standard difference equation:

            -a[0]*y[n] = b[0]*x[n] + ... + b[nb]*x[n-nb] - a[1]*y[n-1] - ... - a[na]*y[n-na]

            -If a[0] is not equal to 1, the filter coeffcients are normalized by a[0].

            -The gain parameter is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0. This structure results in one extra multiply per computed sample, but allows easy control of the overall filter gain.

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

            +virtual StkFramestick (StkFrames &frames, unsigned int channel=1) -

            -Definition at line 35 of file Filter.h.


            Constructor & Destructor Documentation

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


            + +

            Constructor & Destructor Documentation

            @@ -97,25 +97,13 @@ Definition at line 35 of f - - - - - - - + - - - - - - - + @@ -138,7 +126,7 @@ Definition at line 35 of f

            Overloaded constructor which takes filter coefficients.

            -An StkError can be thrown if either nb or na is less than one, or if the a[0] coefficient is equal to zero. +An StkError can be thrown if either of the coefficient vector sizes is zero, or if the a[0] coefficient is equal to zero.

            Filter::Filter int  nb,
            MY_FLOAT * std::vector< StkFloat > &  bCoefficients,
            int  na,
            MY_FLOAT * std::vector< StkFloat > &  aCoefficients


            Member Function Documentation

            @@ -150,25 +138,13 @@ An StkError can be thrown if either void Filter::setCoefficients (  - int  - nb, - - - - - MY_FLOAT *  + std::vector< StkFloat > &  bCoefficients, - int  - na, - - - - - MY_FLOAT *  + std::vector< StkFloat > &  aCoefficients @@ -191,7 +167,7 @@ An StkError can be thrown if either

            Set filter coefficients.

            -An StkError can be thrown if either nb or na is less than one, or if the a[0] coefficient is equal to zero. If a[0] is not equal to 1, the filter coeffcients are normalized by a[0]. +An StkError can be thrown if either of the coefficient vector sizes is zero, or if the a[0] coefficient is equal to zero. If a[0] is not equal to 1, the filter coeffcients are normalized by a[0]. The internal state of the filter is cleared.

            @@ -202,19 +178,10 @@ An StkError can be thrown if either void Filter::setNumerator (  - int  - nb, - - - - - MY_FLOAT *  - bCoefficients - - - - )  - + std::vector< StkFloat > &  + bCoefficients +  )  + @@ -231,7 +198,7 @@ An StkError can be thrown if either

            Set numerator coefficients.

            -An StkError can be thrown if nb is less than one. Any previously set denominator coefficients are left unaffected. Note that the default constructor sets the single denominator coefficient a[0] to 1.0. +An StkError can be thrown if coefficient vector is empty. Any previously set denominator coefficients are left unaffected. Note that the default constructor sets the single denominator coefficient a[0] to 1.0. The internal state of the filter is cleared.

            @@ -242,19 +209,10 @@ An StkError can be thrown if nb< void Filter::setDenominator (  - int  - na, - - - - - MY_FLOAT *  - aCoefficients - - - - )  - + std::vector< StkFloat > &  + aCoefficients +  )  + @@ -271,7 +229,7 @@ An StkError can be thrown if nb<

            Set denominator coefficients.

            -An StkError can be thrown if na is less than one or if the a[0] coefficient is equal to zero. Previously set numerator coefficients are unaffected unless a[0] is not equal to 1, in which case all coeffcients are normalized by a[0]. Note that the default constructor sets the single numerator coefficient b[0] to 1.0. +An StkError can be thrown if the coefficient vector is empty or if the a[0] coefficient is equal to zero. Previously set numerator coefficients are unaffected unless a[0] is not equal to 1, in which case all coeffcients are normalized by a[0]. Note that the default constructor sets the single numerator coefficient b[0] to 1.0. The internal state of the filter is cleared.

            @@ -282,8 +240,8 @@ An StkError can be thrown if na< virtual void Filter::setGain (  - MY_FLOAT  - theGain + StkFloat  + gain  )  [virtual] @@ -307,12 +265,54 @@ The gain is applied at the filter input and does not affect the coefficient valu Reimplemented in BiQuad, OnePole, OneZero, PoleZero, TwoPole, and TwoZero. +

            + + + + +
            + + + + + + + + + + + + + + + + + + + +
            virtual StkFrames& Filter::tick StkFrames frames,
            unsigned int  channel = 1
            [virtual]
            +
            + + + + + +
            +   + + +

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

            +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

            +Reimplemented in BiQuad, Delay, DelayA, DelayL, FormSwep, OnePole, OneZero, PoleZero, TwoPole, and TwoZero.


            The documentation for this class was generated from the following file:
            - +
            The Synthesis ToolKit in C++ (STK)
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            diff --git a/doc/html/classFlute-members.html b/doc/html/classFlute-members.html index 598844a..3bd6916 100644 --- a/doc/html/classFlute-members.html +++ b/doc/html/classFlute-members.html @@ -11,44 +11,48 @@

            Flute Member List

            This is the complete list of members for Flute, including all inherited members. - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + - + + + - + + - + - + +
            clear()Flute
            controlChange(int number, MY_FLOAT value)Flute [virtual]
            Flute(MY_FLOAT lowestFrequency)Flute
            handleError(const char *message, StkError::TYPE type)Stk [protected, static]
            controlChange(int number, StkFloat value)Flute [virtual]
            Flute(StkFloat lowestFrequency)Flute
            handleError(const char *message, StkError::Type type)Stk [static]
            handleError(std::string message, StkError::Type type)Stk [static]
            handleError(StkError::Type type)Stk [protected]
            Instrmnt()Instrmnt
            lastOut() const Instrmnt
            lastOutLeft() const Instrmnt
            lastOutRight() const Instrmnt
            MY_FLOAT32Stk [static]
            MY_FLOAT64Stk [static]
            noteOff(MY_FLOAT amplitude)Flute [virtual]
            noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Flute [virtual]
            rawwavePath(void)Stk [static]
            sampleRate(void)Stk [static]
            setEndReflection(MY_FLOAT coefficient)Flute
            setFrequency(MY_FLOAT frequency)Flute [virtual]
            setJetDelay(MY_FLOAT aRatio)Flute
            setJetReflection(MY_FLOAT coefficient)Flute
            setRawwavePath(std::string newPath)Stk [static]
            setSampleRate(MY_FLOAT newRate)Stk [static]
            noteOff(StkFloat amplitude)Flute [virtual]
            noteOn(StkFloat frequency, StkFloat amplitude)Flute [virtual]
            rawwavePath(void)Stk [inline, static]
            sampleRate(void)Stk [inline, static]
            setEndReflection(StkFloat coefficient)Flute
            setFrequency(StkFloat frequency)Flute [virtual]
            setJetDelay(StkFloat aRatio)Flute
            setJetReflection(StkFloat coefficient)Flute
            setRawwavePath(std::string path)Stk [static]
            setSampleRate(StkFloat rate)Stk [inline, static]
            sleep(unsigned long milliseconds)Stk [static]
            startBlowing(MY_FLOAT amplitude, MY_FLOAT rate)Flute
            startBlowing(StkFloat amplitude, StkFloat rate)Flute
            Stk(void)Stk [protected]
            STK_FLOAT32Stk [static]
            STK_FLOAT64Stk [static]
            STK_SINT16Stk [static]
            STK_SINT32Stk [static]
            STK_SINT24Stk [static]
            STK_SINT32Stk [static]
            STK_SINT8Stk [static]
            stopBlowing(MY_FLOAT rate)Flute
            stopBlowing(StkFloat rate)Flute
            swap16(unsigned char *ptr)Stk [static]
            swap32(unsigned char *ptr)Stk [static]
            swap64(unsigned char *ptr)Stk [static]
            tick()Flute [virtual]
            Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
            tick(StkFloat *vector, unsigned int vectorSize)Flute [virtual]
            tick(StkFrames &frames, unsigned int channel=1)Flute [virtual]
            ~Flute()Flute
            ~Instrmnt()Instrmnt [virtual]
            ~Stk(void)Stk [protected, virtual]

            - +
            The Synthesis ToolKit in C++ (STK)
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            diff --git a/doc/html/classFlute.html b/doc/html/classFlute.html index 0ce708b..be0722e 100644 --- a/doc/html/classFlute.html +++ b/doc/html/classFlute.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
            -

            Flute Class Reference

            STK flute physical model class. -More... -

            -#include <Flute.h> +

            Flute Class Reference

            #include <Flute.h>

            Inheritance diagram for Flute:

            @@ -20,13 +17,24 @@ Instrmnt Stk -List of all members. +List of all members.

            Detailed Description

            +STK flute physical model class. +

            +This class implements a simple flute physical model, as discussed by Karjalainen, Smith, Waryznyk, etc. The jet model uses a polynomial, a la Cook.

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

            +Control Change Numbers:

              +
            • Jet Delay = 2
            • Noise Gain = 4
            • Vibrato Frequency = 11
            • Vibrato Gain = 1
            • Breath Pressure = 128
            +

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

            + +

            +Definition at line 37 of file Flute.h.

            - + - + @@ -36,64 +44,134 @@ void  +void  +void  +void  +void  +void  +void  +void  +void  +StkFloat  - + + + + + + +

            Public Member Functions

            Flute (MY_FLOAT lowestFrequency)
             Flute (StkFloat lowestFrequency)
             Class constructor, taking the lowest desired playing frequency.

             Class constructor, taking the lowest desired playing frequency.

             ~Flute ()
             Reset and clear all internal state.

            -void setFrequency (MY_FLOAT frequency)
            setFrequency (StkFloat frequency)
             Set instrument parameters for a particular frequency.

            -void setJetReflection (MY_FLOAT coefficient)
            setJetReflection (StkFloat coefficient)
             Set the reflection coefficient for the jet delay (-1.0 - 1.0).

            -void setEndReflection (MY_FLOAT coefficient)
            setEndReflection (StkFloat coefficient)
             Set the reflection coefficient for the air column delay (-1.0 - 1.0).

            -void setJetDelay (MY_FLOAT aRatio)
            setJetDelay (StkFloat aRatio)
             Set the length of the jet delay in terms of a ratio of jet delay to air column delay lengths.

            -void startBlowing (MY_FLOAT amplitude, MY_FLOAT rate)
            startBlowing (StkFloat amplitude, StkFloat rate)
             Apply breath velocity to instrument with given amplitude and rate of increase.

            -void stopBlowing (MY_FLOAT rate)
            stopBlowing (StkFloat rate)
             Decrease breath velocity with given rate of decrease.

            -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
            noteOn (StkFloat frequency, StkFloat amplitude)
             Start a note with the given frequency and amplitude.

            -void noteOff (MY_FLOAT amplitude)
            noteOff (StkFloat amplitude)
             Stop a note with the given amplitude (speed of decay).

            -MY_FLOAT tick ()
            tick ()
             Compute one output sample.

            -void controlChange (int number, MY_FLOAT value)
            +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
             Computer vectorSize outputs and return them in vector.

            StkFramestick (StkFrames &frames, unsigned int channel=1)
             Fill a channel of the StkFrames object with computed outputs.

            +void controlChange (int number, StkFloat value)
             Perform the control change specified by number and value (0.0 - 128.0).

            -

            Detailed Description

            -STK flute physical model class. -

            -This class implements a simple flute physical model, as discussed by Karjalainen, Smith, Waryznyk, etc. The jet model uses a polynomial, a la Cook.

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

            -Control Change Numbers:

              -
            • Jet Delay = 2
            • Noise Gain = 4
            • Vibrato Frequency = 11
            • Vibrato Gain = 1
            • Breath Pressure = 128
            -

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

            +


            Constructor & Destructor Documentation

            +

            + + + + +
            + + + + + + + + + + +
            Flute::Flute StkFloat  lowestFrequency  ) 
            +
            + + + + + +
            +   +

            -Definition at line 37 of file Flute.h.


            The documentation for this class was generated from the following file:
              +Class constructor, taking the lowest desired playing frequency. +

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

            +


            Member Function Documentation

            +

            + + + + +
            + + + + + + + + + + + + + + + + + + + +
            StkFrames& Flute::tick StkFrames frames,
            unsigned int  channel = 1
            [virtual]
            +
            + + + + + +
            +   + + +

            +Fill a channel of the StkFrames object with computed outputs. +

            +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

            +Reimplemented from Instrmnt.

            +


            The documentation for this class was generated from the following file:
            - +
            The Synthesis ToolKit in C++ (STK)
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            diff --git a/doc/html/classFormSwep-members.html b/doc/html/classFormSwep-members.html index 25c8138..49dbc71 100644 --- a/doc/html/classFormSwep-members.html +++ b/doc/html/classFormSwep-members.html @@ -13,44 +13,48 @@ BiQuad()BiQuad clear(void)BiQuad Filter(void)Filter [protected] - Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected] + Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected] FormSwep()FormSwep getGain(void) const BiQuad [virtual] - handleError(const char *message, StkError::TYPE type)Stk [protected, static] + handleError(const char *message, StkError::Type type)Stk [protected, static] + handleError(std::string message, StkError::Type type)Stk [protected, static] + handleError(StkError::Type type)Stk [protected] lastOut(void) const BiQuad [virtual] - MY_FLOAT32Stk [protected, static] - MY_FLOAT64Stk [protected, static] - rawwavePath(void)Stk [protected, static] - sampleRate(void)Stk [protected, static] - setA1(MY_FLOAT a1)BiQuad - setA2(MY_FLOAT a2)BiQuad - setB0(MY_FLOAT b0)BiQuad - setB1(MY_FLOAT b1)BiQuad - setB2(MY_FLOAT b2)BiQuad - setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected] - setDenominator(int na, MY_FLOAT *aCoefficients)Filter [protected] + rawwavePath(void)Stk [inline, protected, static] + sampleRate(void)Stk [inline, protected, static] + setA1(StkFloat a1)BiQuad + setA2(StkFloat a2)BiQuad + setB0(StkFloat b0)BiQuad + setB1(StkFloat b1)BiQuad + setB2(StkFloat b2)BiQuad + setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected] + setDenominator(std::vector< StkFloat > &aCoefficients)Filter [protected] setEqualGainZeroes()BiQuad - setGain(MY_FLOAT theGain)BiQuad [virtual] - setNotch(MY_FLOAT frequency, MY_FLOAT radius)BiQuad - setNumerator(int nb, MY_FLOAT *bCoefficients)Filter [protected] - setRawwavePath(std::string newPath)Stk [protected, static] - setResonance(MY_FLOAT aFrequency, MY_FLOAT aRadius)FormSwep - BiQuad::setResonance(MY_FLOAT frequency, MY_FLOAT radius, bool normalize=FALSE)BiQuad - setSampleRate(MY_FLOAT newRate)Stk [protected, static] - setStates(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain=1.0)FormSwep - setSweepRate(MY_FLOAT aRate)FormSwep - setSweepTime(MY_FLOAT aTime)FormSwep - setTargets(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain=1.0)FormSwep + setGain(StkFloat gain)BiQuad [virtual] + setNotch(StkFloat frequency, StkFloat radius)BiQuad + setNumerator(std::vector< StkFloat > &bCoefficients)Filter [protected] + setRawwavePath(std::string path)Stk [protected, static] + setResonance(StkFloat frequency, StkFloat radius)FormSwep + BiQuad::setResonance(StkFloat frequency, StkFloat radius, bool normalize=false)BiQuad + setSampleRate(StkFloat rate)Stk [inline, protected, static] + setStates(StkFloat frequency, StkFloat radius, StkFloat gain=1.0)FormSwep + setSweepRate(StkFloat rate)FormSwep + setSweepTime(StkFloat time)FormSwep + setTargets(StkFloat frequency, StkFloat radius, StkFloat gain=1.0)FormSwep sleep(unsigned long milliseconds)Stk [protected, static] Stk(void)Stk [protected] + STK_FLOAT32Stk [protected, static] + STK_FLOAT64Stk [protected, static] STK_SINT16Stk [protected, static] - STK_SINT32Stk [protected, static] + STK_SINT24Stk [protected, static] + STK_SINT32Stk [protected, static] STK_SINT8Stk [protected, static] swap16(unsigned char *ptr)Stk [protected, static] swap32(unsigned char *ptr)Stk [protected, static] swap64(unsigned char *ptr)Stk [protected, static] - tick(MY_FLOAT sample)FormSwep [virtual] - tick(MY_FLOAT *vector, unsigned int vectorSize)FormSwep [virtual] + tick(StkFloat sample)FormSwep [virtual] + tick(StkFloat *vector, unsigned int vectorSize)FormSwep [virtual] + tick(StkFrames &frames, unsigned int channel=1)FormSwep [virtual] ~BiQuad()BiQuad [virtual] ~Filter(void)Filter [protected, virtual] ~FormSwep()FormSwep @@ -58,7 +62,7 @@
            - +
            The Synthesis ToolKit in C++ (STK)
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            diff --git a/doc/html/classFormSwep.html b/doc/html/classFormSwep.html index 5b1e2ac..d164c23 100644 --- a/doc/html/classFormSwep.html +++ b/doc/html/classFormSwep.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
            -

            FormSwep Class Reference

            STK sweepable formant filter class. -More... -

            -#include <FormSwep.h> +

            FormSwep Class Reference

            #include <FormSwep.h>

            Inheritance diagram for FormSwep:

            @@ -21,7 +18,15 @@ Filter Stk -List of all members. +List of all members.

            Detailed Description

            +STK sweepable formant filter class. +

            +This public BiQuad filter subclass implements a formant (resonance) which can be "swept" over time from one frequency setting to another. It provides methods for controlling the sweep rate and target frequency.

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

            + +

            +Definition at line 20 of file FormSwep.h.

            - + +void  +void  - + - + +StkFloat  +StkFloat *  -

            Public Member Functions

            @@ -32,41 +37,36 @@  ~FormSwep ()
             Class destructor.

            void setResonance (MY_FLOAT aFrequency, MY_FLOAT aRadius)
            void setResonance (StkFloat frequency, StkFloat radius)
             Sets the filter coefficients for a resonance at frequency (in Hz).

            -void setStates (MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain=1.0)
            setStates (StkFloat frequency, StkFloat radius, StkFloat gain=1.0)
             Set both the current and target resonance parameters.

            -void setTargets (MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain=1.0)
            setTargets (StkFloat frequency, StkFloat radius, StkFloat gain=1.0)
             Set target resonance parameters.

            void setSweepRate (MY_FLOAT aRate)
            void setSweepRate (StkFloat rate)
             Set the sweep rate (between 0.0 - 1.0).

            void setSweepTime (MY_FLOAT aTime)
            void setSweepTime (StkFloat time)
             Set the sweep rate in terms of a time value in seconds.

            -MY_FLOAT tick (MY_FLOAT sample)
            tick (StkFloat sample)
             Input one sample to the filter and return one output.

            -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
            tick (StkFloat *vector, unsigned int vectorSize)
             Input vectorSize samples to the filter and return an equal number of outputs in vector.

            -

            Detailed Description

            -STK sweepable formant filter class. -

            -This public BiQuad filter subclass implements a formant (resonance) which can be "swept" over time from one frequency setting to another. It provides methods for controlling the sweep rate and target frequency.

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

            +StkFramestick (StkFrames &frames, unsigned int channel=1) -

            -Definition at line 20 of file FormSwep.h.


            Member Function Documentation

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


            + +

            Member Function Documentation

            @@ -75,14 +75,14 @@ Definition at line 20 of - - + + - - + + @@ -115,8 +115,8 @@ This method determines the filter coefficients corresponding to two complex-conj - - + + @@ -146,8 +146,8 @@ The formant parameters are varied in increments of the sweep rate between their - - + + @@ -169,12 +169,54 @@ Set the sweep rate in terms of a time value in seconds. This method adjusts the sweep rate based on a given time for the formant parameters to reach their target values.
            void FormSwep::setResonance MY_FLOAT  aFrequency, StkFloat  frequency,
            MY_FLOAT  aRadiusStkFloat  radius
            void FormSwep::setSweepRate MY_FLOAT  aRate StkFloat  rate  ) 
            void FormSwep::setSweepTime MY_FLOAT  aTime StkFloat  time  ) 
            +

            + + + + +
            + + + + + + + + + + + + + + + + + + + +
            StkFrames& FormSwep::tick StkFrames frames,
            unsigned int  channel = 1
            [virtual]
            +
            + + + + + +
            +   + + +

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

            +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

            +Reimplemented from BiQuad.


            The documentation for this class was generated from the following file:
            - +
            The Synthesis ToolKit in C++ (STK)
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            diff --git a/doc/html/classReedTabl-members.html b/doc/html/classFunction-members.html similarity index 53% rename from doc/html/classReedTabl-members.html rename to doc/html/classFunction-members.html index 5a1e2aa..1943942 100644 --- a/doc/html/classReedTabl-members.html +++ b/doc/html/classFunction-members.html @@ -9,34 +9,36 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
            -

            ReedTabl Member List

            This is the complete list of members for ReedTabl, including all inherited members. - - - - - - - - - - - +

            Function Member List

            This is the complete list of members for Function, including all inherited members.
            handleError(const char *message, StkError::TYPE type)Stk [protected, static]
            lastOut() const ReedTabl
            MY_FLOAT32Stk [static]
            MY_FLOAT64Stk [static]
            rawwavePath(void)Stk [static]
            ReedTabl()ReedTabl
            sampleRate(void)Stk [static]
            setOffset(MY_FLOAT aValue)ReedTabl
            setRawwavePath(std::string newPath)Stk [static]
            setSampleRate(MY_FLOAT newRate)Stk [static]
            setSlope(MY_FLOAT aValue)ReedTabl
            + + + + + + + + + + + - + + - - - + + + +
            Function()Function
            handleError(const char *message, StkError::Type type)Stk [static]
            handleError(std::string message, StkError::Type type)Stk [static]
            handleError(StkError::Type type)Stk [protected]
            lastOut() const Function [inline, virtual]
            rawwavePath(void)Stk [inline, static]
            sampleRate(void)Stk [inline, static]
            setRawwavePath(std::string path)Stk [static]
            setSampleRate(StkFloat rate)Stk [inline, static]
            sleep(unsigned long milliseconds)Stk [static]
            Stk(void)Stk [protected]
            STK_FLOAT32Stk [static]
            STK_FLOAT64Stk [static]
            STK_SINT16Stk [static]
            STK_SINT32Stk [static]
            STK_SINT24Stk [static]
            STK_SINT32Stk [static]
            STK_SINT8Stk [static]
            swap16(unsigned char *ptr)Stk [static]
            swap32(unsigned char *ptr)Stk [static]
            swap64(unsigned char *ptr)Stk [static]
            tick(MY_FLOAT input)ReedTabl
            tick(MY_FLOAT *vector, unsigned int vectorSize)ReedTabl
            ~ReedTabl()ReedTabl
            tick(StkFloat input)=0Function [pure virtual]
            tick(StkFloat *vector, unsigned int vectorSize)Function [virtual]
            tick(StkFrames &frames, unsigned int channel=1)Function [virtual]
            ~Function()Function [virtual]
            ~Stk(void)Stk [protected, virtual]

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

            +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

            +
            + +

            Function Class Reference

            #include <Function.h> +

            +

            Inheritance diagram for Function: +

            + +Stk +BowTable +JetTable +ReedTable +Table + +List of all members.

            Detailed Description

            +STK abstract function parent class. +

            +This class provides common functionality for STK classes which implement tables or other types of input to output function mappings.

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

            + +

            +Definition at line 18 of file Function.h. + + + + + + + + + + + + + + + + + + + + +

            Public Member Functions

            Function ()
             Class constructor.

            +virtual ~Function ()
             Class destructor.

            +virtual StkFloat lastOut () const
             Return the last output value.

            +virtual StkFloat tick (StkFloat input)=0
             Abstract tick function ... must be implemented in subclasses.

            +virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
             Take vectorSize inputs from vector and replace them with corresponding outputs.

            virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
             Take a channel of the StkFrames object as inputs to the function and replace with corresponding outputs.

            +


            Member Function Documentation

            +

            + + + + +
            + + + + + + + + + + + + + + + + + + + +
            virtual StkFrames& Function::tick StkFrames frames,
            unsigned int  channel = 1
            [virtual]
            +
            + + + + + +
            +   + + +

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

            +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

            +Reimplemented in BowTable, JetTable, ReedTable, and Table.

            +


            The documentation for this class was generated from the following file: +
            + + + + +
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            + + + diff --git a/doc/html/classFunction.png b/doc/html/classFunction.png new file mode 100644 index 0000000000000000000000000000000000000000..fea7eedf3cf46f5314c5ea50ed377c4356a444fb GIT binary patch literal 786 zcmeAS@N?(olHy`uVBq!ia0y~yV6+3WJ6M>3WY4Er_kol|fKQ0)|NsAi%>Vxn%%7hy z0muU50|yRNANv0U$Ym@E@(X5gcy=R=fq`j-r;B4q#hkZuYO{_g2pr{Y{Wtd`+b!-X z-<(tCu(AD_-N;|_pj+wF zx#+Dm=c-rFIX`);pZ5Iatrw%V*3{jsUs6_Ed#AqYXHngX*!yReTi74^$9*|{>!(sy zyAME}|0ntX{F}NuJ+py3^ZD*t58*l9miIruRqHL#dRz1AGjokiW54=`k1Tfc4jdQ$ zQNbkd|KKqvLa^kcZ^_!oN%;qu_a!&>FW-OAe5$9_^ebFHP96LC<;%idpM4)1Pc}61 z7uh#?<}#jT?fui1&YgBxhVQkJ_5)?F&(pWXJu|NQ(ZhJZf6Md5Q@vE@FZ2-obp6Sn ztB1?=KFD%IEn4#T-=?YSet!d1S{Gz%3zdx(q`g!F!JHkP>4e!;K_Y3Y*oV*}V zh3__JPBhsUyMN&iA$MV;CjOdBHGS_~H9Im^#%~ab+%P-SK1yf*gF~tx zrDjWeJ+3=2Z~L>?EV@6woz1hJ_i^oB_L{2=Ter{LZb>dSB@Q8@IP_*XIjvF|L=Mzqn@Bx6-rjQ+_&?&r-~KcHY%( zQSbT>->z@xxb>7fYWc1E+DqTKdvAWU{p;4>lRU2ede-xzqW{|U>rW%S_Dzvl{yV?> z^NYXYmvui|7PbGJz3I}^KU?pgh_9Zy|D8s?zRJJHome   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
            -

            Reverb Member List

            This is the complete list of members for Reverb, including all inherited members. - - - - - - - - - - - - - +

            Generator Member List

            This is the complete list of members for Generator, including all inherited members.
            clear()=0Reverb [pure virtual]
            handleError(const char *message, StkError::TYPE type)Stk [protected, static]
            lastOut() const Reverb
            lastOutLeft() const Reverb
            lastOutRight() const Reverb
            MY_FLOAT32Stk [static]
            MY_FLOAT64Stk [static]
            rawwavePath(void)Stk [static]
            Reverb()Reverb
            sampleRate(void)Stk [static]
            setEffectMix(MY_FLOAT mix)Reverb
            setRawwavePath(std::string newPath)Stk [static]
            setSampleRate(MY_FLOAT newRate)Stk [static]
            + + + + + + + + + + + - + + - - - + + + +
            Generator()Generator
            handleError(const char *message, StkError::Type type)Stk [static]
            handleError(std::string message, StkError::Type type)Stk [static]
            handleError(StkError::Type type)Stk [protected]
            lastOut() const Generator [inline, virtual]
            rawwavePath(void)Stk [inline, static]
            sampleRate(void)Stk [inline, static]
            setRawwavePath(std::string path)Stk [static]
            setSampleRate(StkFloat rate)Stk [inline, static]
            sleep(unsigned long milliseconds)Stk [static]
            Stk(void)Stk [protected]
            STK_FLOAT32Stk [static]
            STK_FLOAT64Stk [static]
            STK_SINT16Stk [static]
            STK_SINT32Stk [static]
            STK_SINT24Stk [static]
            STK_SINT32Stk [static]
            STK_SINT8Stk [static]
            swap16(unsigned char *ptr)Stk [static]
            swap32(unsigned char *ptr)Stk [static]
            swap64(unsigned char *ptr)Stk [static]
            tick(MY_FLOAT input)=0Reverb [pure virtual]
            tick(MY_FLOAT *vector, unsigned int vectorSize)Reverb [virtual]
            ~Reverb()Reverb [virtual]
            tick(void)=0Generator [pure virtual]
            tick(StkFloat *vector, unsigned int vectorSize)Generator [virtual]
            tick(StkFrames &frames, unsigned int channel=1)Generator [virtual]
            ~Generator()Generator [virtual]
            ~Stk(void)Stk [protected, virtual]

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

            +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

            +
            + +

            Generator Class Reference

            #include <Generator.h> +

            +

            Inheritance diagram for Generator: +

            + +Stk +Envelope +Modulate +Noise +SingWave +ADSR +Asymp +SubNoise + +List of all members.

            Detailed Description

            +STK abstract unit generator parent class. +

            +This class provides common functionality for STK unit generator source subclasses.

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

            + +

            +Definition at line 17 of file Generator.h. + + + + + + + + + + + + + + + + + + + + +

            Public Member Functions

            Generator ()
             Class constructor.

            +virtual ~Generator ()
             Class destructor.

            +virtual StkFloat lastOut () const
             Return the last output value.

            +virtual StkFloat tick (void)=0
             Abstract tick function ... must be implemented in subclasses.

            +virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
             Compute vectorSize outputs and return them in vector.

            virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
             Fill a channel of the StkFrames object with computed outputs.

            +


            Member Function Documentation

            +

            + + + + +
            + + + + + + + + + + + + + + + + + + + +
            virtual StkFrames& Generator::tick StkFrames frames,
            unsigned int  channel = 1
            [virtual]
            +
            + + + + + +
            +   + + +

            +Fill a channel of the StkFrames object with computed outputs. +

            +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

            +Reimplemented in ADSR, Asymp, Envelope, Modulate, Noise, SingWave, and SubNoise.

            +


            The documentation for this class was generated from the following file: +
            + + + + +
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            + + + diff --git a/doc/html/classGenerator.png b/doc/html/classGenerator.png new file mode 100644 index 0000000000000000000000000000000000000000..bef61fe4afa9888eb07ba99b8f38eb7bf76a8f69 GIT binary patch literal 1318 zcmb7EYgEz)6vwQ#w7>Z%YWe7~(&J$&=_DT+p|(uKN&^ist(N*1!9+3FLn|}0hjvQM z6DVdzY2wHL5nn`+Gs_B=BnYGgEeXvEG_@F~_GSCF5BJ{Rz4!dixvz6ewnuLPY?j+V zAP`_{M0gAYVztYHg>$VfnjivX7PD-7)XvRjv)Ka8W+8)-e8Gagicly#EHb~cxK=qa z(Xo(Cx)&)B$lQ*t;i#Q?bc2#ust8&*|LL-My4GIT2<4_{a}pOFpEGE7Ob?+?twN^J z!icAmGBr7k+dbR{QOtAWnk>?n44q8uSJRu>y+rDE9@NI%feM4mD$=Sa<0}TN>u!bV zSDki%J)35euU@QpsS&U?)5=;RaiIga>~gA}r{KmH^A>+)?!~uN;k>DxVT>Y-be92&^7R{)hDclkv70 z%;)ZQEu?jZXO;qtAWf8|KKIMeTGFiYQCEHf>7@U=v@3`VHxA_uGEQmtFXAhbjMgqvD=LOohGfFA0B?{0kT z++9cYVfhf9eEr(%k9M-e`Pv-yygZ_nJH9MnKmZQ{Xe;(t^%RM%*BX+0){p|m2yUI| zvxOd~FTKz9vTN>Wz3G~CikMU0Ik~?o@b-tvJqa{7ZU8(U0w?e~8_ifF6$=*Y zU)APvXT@?Yh3Rj&{Ip*M8$W^$L4R_cZlll!XEbN3+xYYYzwI%It2cd<}$A~ zkr2)AVDnn8J^H%&D4694v=8K+N_1)KQru6ODAS(q@bgq$FaBX-5K0~({_Wwj8ODOs+yHqov(I69C%$4lU4R6nij>zud2FqA|=D7YBbyK5x z8*Y=Y@sR3f;*7>#smc!Bpbic4n1b~$IP2M6Ih=N

            HevyMetl Member List

            This is the complete list of members for HevyMetl, including all inherited members. - - - + + + + + @@ -22,31 +24,33 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + + - + + @@ -54,7 +58,7 @@
            clear()FM
            controlChange(int number, MY_FLOAT value)FM [virtual]
            FM(int operators=4)FM
            handleError(const char *message, StkError::TYPE type)Stk [protected, static]
            controlChange(int number, StkFloat value)FM [virtual]
            FM(unsigned int operators=4)FM
            handleError(const char *message, StkError::Type type)Stk [static]
            handleError(std::string message, StkError::Type type)Stk [static]
            handleError(StkError::Type type)Stk [protected]
            HevyMetl()HevyMetl
            Instrmnt()Instrmnt
            keyOff()FM
            lastOutLeft() const Instrmnt
            lastOutRight() const Instrmnt
            loadWaves(const char **filenames)FM
            MY_FLOAT32Stk [static]
            MY_FLOAT64Stk [static]
            noteOff(MY_FLOAT amplitude)FM [virtual]
            noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)HevyMetl [virtual]
            rawwavePath(void)Stk [static]
            sampleRate(void)Stk [static]
            setControl1(MY_FLOAT cVal)FM
            setControl2(MY_FLOAT cVal)FM
            setFrequency(MY_FLOAT frequency)FM [virtual]
            setGain(int waveIndex, MY_FLOAT gain)FM
            setModulationDepth(MY_FLOAT mDepth)FM
            setModulationSpeed(MY_FLOAT mSpeed)FM
            setRatio(int waveIndex, MY_FLOAT ratio)FM
            setRawwavePath(std::string newPath)Stk [static]
            setSampleRate(MY_FLOAT newRate)Stk [static]
            noteOff(StkFloat amplitude)FM [virtual]
            noteOn(StkFloat frequency, StkFloat amplitude)HevyMetl [virtual]
            rawwavePath(void)Stk [inline, static]
            sampleRate(void)Stk [inline, static]
            setControl1(StkFloat cVal)FM
            setControl2(StkFloat cVal)FM
            setFrequency(StkFloat frequency)FM [virtual]
            setGain(unsigned int waveIndex, StkFloat gain)FM
            setModulationDepth(StkFloat mDepth)FM
            setModulationSpeed(StkFloat mSpeed)FM
            setRatio(unsigned int waveIndex, StkFloat ratio)FM
            setRawwavePath(std::string path)Stk [static]
            setSampleRate(StkFloat rate)Stk [inline, static]
            sleep(unsigned long milliseconds)Stk [static]
            Stk(void)Stk [protected]
            STK_FLOAT32Stk [static]
            STK_FLOAT64Stk [static]
            STK_SINT16Stk [static]
            STK_SINT32Stk [static]
            STK_SINT24Stk [static]
            STK_SINT32Stk [static]
            STK_SINT8Stk [static]
            swap16(unsigned char *ptr)Stk [static]
            swap32(unsigned char *ptr)Stk [static]
            swap64(unsigned char *ptr)Stk [static]
            tick()HevyMetl [virtual]
            Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
            tick(StkFloat *vector, unsigned int vectorSize)HevyMetl [virtual]
            tick(StkFrames &frames, unsigned int channel=1)HevyMetl [virtual]
            ~FM()FM [virtual]
            ~HevyMetl()HevyMetl
            ~Instrmnt()Instrmnt [virtual]

            - +
            The Synthesis ToolKit in C++ (STK)
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            diff --git a/doc/html/classHevyMetl.html b/doc/html/classHevyMetl.html index d2b4663..40c060c 100644 --- a/doc/html/classHevyMetl.html +++ b/doc/html/classHevyMetl.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
            -

            HevyMetl Class Reference

            STK heavy metal FM synthesis instrument. -More... -

            -#include <HevyMetl.h> +

            HevyMetl Class Reference

            #include <HevyMetl.h>

            Inheritance diagram for HevyMetl:

            @@ -21,27 +18,7 @@ Instrmnt Stk -List of all members. - - - - - - - - - - - - - - -

            Public Member Functions

            HevyMetl ()
             Class constructor.

            ~HevyMetl ()
             Class destructor.

            -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
             Start a note with the given frequency and amplitude.

            -MY_FLOAT tick ()
             Compute one output sample.

            -

            Detailed Description

            +List of all members.

            Detailed Description

            STK heavy metal FM synthesis instrument.

            This class implements 3 cascade operators with feedback modulation, also referred to as algorithm 3 of the TX81Z.

            @@ -52,16 +29,116 @@ Control Change Numbers:

            • Total Modulator Index = 2
            • Modulator Crossfade = 4
            • LFO Speed = 11
            • LFO Depth = 1
            • ADSR 2 & 4 Target = 128

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

            -by Perry R. Cook and Gary P. Scavone, 1995 - 2002. +by Perry R. Cook and Gary P. Scavone, 1995 - 2004.

            -Definition at line 36 of file HevyMetl.h.


            The documentation for this class was generated from the following file:
              +Definition at line 36 of file HevyMetl.h. + + + + + + + + + + + + + + + + + + + + +

              Public Member Functions

               HevyMetl ()
               Class constructor.

              ~HevyMetl ()
               Class destructor.

              +void noteOn (StkFloat frequency, StkFloat amplitude)
               Start a note with the given frequency and amplitude.

              +StkFloat tick ()
               Compute one output sample.

              +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
               Computer vectorSize outputs and return them in vector.

              StkFramestick (StkFrames &frames, unsigned int channel=1)
               Fill a channel of the StkFrames object with computed outputs.

              +

              Constructor & Destructor Documentation

              +

              + + + + +
              + + + + + + + + + +
              HevyMetl::HevyMetl  ) 
              +
              + + + + + +
              +   + + +

              +Class constructor. +

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

              +


              Member Function Documentation

              +

              + + + + +
              + + + + + + + + + + + + + + + + + + + +
              StkFrames& HevyMetl::tick StkFrames frames,
              unsigned int  channel = 1
              [virtual]
              +
              + + + + + +
              +   + + +

              +Fill a channel of the StkFrames object with computed outputs. +

              +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

              +Implements FM.

              +


              The documentation for this class was generated from the following file:
              - +
              The Synthesis ToolKit in C++ (STK)
              The Synthesis ToolKit in C++ (STK)
              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
              diff --git a/doc/html/classInstrmnt-members.html b/doc/html/classInstrmnt-members.html index 37c60d7..bb0a750 100644 --- a/doc/html/classInstrmnt-members.html +++ b/doc/html/classInstrmnt-members.html @@ -10,37 +10,41 @@

              Instrmnt Member List

              This is the complete list of members for Instrmnt, including all inherited members. - - + + + + - - - - - - - - - + + + + + + + + + - + + - + +
              controlChange(int number, MY_FLOAT value)Instrmnt [virtual]
              handleError(const char *message, StkError::TYPE type)Stk [protected, static]
              controlChange(int number, StkFloat value)Instrmnt [virtual]
              handleError(const char *message, StkError::Type type)Stk [static]
              handleError(std::string message, StkError::Type type)Stk [static]
              handleError(StkError::Type type)Stk [protected]
              Instrmnt()Instrmnt
              lastOut() const Instrmnt
              lastOutLeft() const Instrmnt
              lastOutRight() const Instrmnt
              MY_FLOAT32Stk [static]
              MY_FLOAT64Stk [static]
              noteOff(MY_FLOAT amplitude)=0Instrmnt [pure virtual]
              noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)=0Instrmnt [pure virtual]
              rawwavePath(void)Stk [static]
              sampleRate(void)Stk [static]
              setFrequency(MY_FLOAT frequency)Instrmnt [virtual]
              setRawwavePath(std::string newPath)Stk [static]
              setSampleRate(MY_FLOAT newRate)Stk [static]
              noteOff(StkFloat amplitude)=0Instrmnt [pure virtual]
              noteOn(StkFloat frequency, StkFloat amplitude)=0Instrmnt [pure virtual]
              rawwavePath(void)Stk [inline, static]
              sampleRate(void)Stk [inline, static]
              setFrequency(StkFloat frequency)Instrmnt [virtual]
              setRawwavePath(std::string path)Stk [static]
              setSampleRate(StkFloat rate)Stk [inline, static]
              sleep(unsigned long milliseconds)Stk [static]
              Stk(void)Stk [protected]
              STK_FLOAT32Stk [static]
              STK_FLOAT64Stk [static]
              STK_SINT16Stk [static]
              STK_SINT32Stk [static]
              STK_SINT24Stk [static]
              STK_SINT32Stk [static]
              STK_SINT8Stk [static]
              swap16(unsigned char *ptr)Stk [static]
              swap32(unsigned char *ptr)Stk [static]
              swap64(unsigned char *ptr)Stk [static]
              tick()=0Instrmnt [pure virtual]
              tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
              tick(StkFloat *vector, unsigned int vectorSize)Instrmnt [virtual]
              tick(StkFrames &frames, unsigned int channel=1)Instrmnt [virtual]
              ~Instrmnt()Instrmnt [virtual]
              ~Stk(void)Stk [protected, virtual]

              - +
              The Synthesis ToolKit in C++ (STK)
              The Synthesis ToolKit in C++ (STK)
              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
              diff --git a/doc/html/classInstrmnt.html b/doc/html/classInstrmnt.html index 85ff698..df23b6c 100644 --- a/doc/html/classInstrmnt.html +++ b/doc/html/classInstrmnt.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
              -

              Instrmnt Class Reference

              STK instrument abstract base class. -More... -

              -#include <Instrmnt.h> +

              Instrmnt Class Reference

              #include <Instrmnt.h>

              Inheritance diagram for Instrmnt:

              @@ -41,7 +38,15 @@ VoicForm Whistle -List of all members. +List of all members.

              Detailed Description

              +STK instrument abstract base class. +

              +This class provides a common interface for all STK instruments.

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

              + +

              +Definition at line 17 of file Instrmnt.h.

              +virtual void  +virtual void  +virtual void  +StkFloat  +StkFloat  +StkFloat  +virtual StkFloat  +virtual StkFloat *  - + + + +

              Public Member Functions

              @@ -53,56 +58,94 @@ virtual  Class destructor.

              -virtual void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)=0
              noteOn (StkFloat frequency, StkFloat amplitude)=0
               Start a note with the given frequency and amplitude.

              -virtual void noteOff (MY_FLOAT amplitude)=0
              noteOff (StkFloat amplitude)=0
               Stop a note with the given amplitude (speed of decay).

              -virtual void setFrequency (MY_FLOAT frequency)
              setFrequency (StkFloat frequency)
               Set instrument parameters for a particular frequency.

              -MY_FLOAT lastOut () const
              lastOut () const
               Return the last output value.

              -MY_FLOAT lastOutLeft () const
              lastOutLeft () const
               Return the last left output value.

              -MY_FLOAT lastOutRight () const
              lastOutRight () const
               Return the last right output value.

              -virtual MY_FLOAT tick ()=0
              tick ()=0
               Compute one output sample.

              -virtual MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
              tick (StkFloat *vector, unsigned int vectorSize)
               Computer vectorSize outputs and return them in vector.

              -virtual void controlChange (int number, MY_FLOAT value)
              virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
               Fill a channel of the StkFrames object with computed outputs.

              +virtual void controlChange (int number, StkFloat value)
               Perform the control change specified by number and value (0.0 - 128.0).

              -

              Detailed Description

              -STK instrument abstract base class. -

              -This class provides a common interface for all STK instruments.

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

              +


              Member Function Documentation

              +

              + + + + +
              + + + + + + + + + + + + + + + + + + + +
              virtual StkFrames& Instrmnt::tick StkFrames frames,
              unsigned int  channel = 1
              [virtual]
              +
              + + + + + +
              +   +

              -Definition at line 18 of file Instrmnt.h.


              The documentation for this class was generated from the following file:
              +


              The documentation for this class was generated from the following file:
              - +
              The Synthesis ToolKit in C++ (STK)
              The Synthesis ToolKit in C++ (STK)
              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
              diff --git a/doc/html/classJCRev-members.html b/doc/html/classJCRev-members.html index ce8bdfa..6742bbc 100644 --- a/doc/html/classJCRev-members.html +++ b/doc/html/classJCRev-members.html @@ -11,36 +11,41 @@

              JCRev Member List

              This is the complete list of members for JCRev, including all inherited members. - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + + - - + + + + -
              clear()JCRev [virtual]
              handleError(const char *message, StkError::TYPE type)Stk [protected, static]
              JCRev(MY_FLOAT T60)JCRev
              lastOut() const Reverb
              lastOutLeft() const Reverb
              lastOutRight() const Reverb
              MY_FLOAT32Stk [static]
              MY_FLOAT64Stk [static]
              rawwavePath(void)Stk [static]
              Reverb()Reverb
              sampleRate(void)Stk [static]
              setEffectMix(MY_FLOAT mix)Reverb
              setRawwavePath(std::string newPath)Stk [static]
              setSampleRate(MY_FLOAT newRate)Stk [static]
              Effect()Effect
              handleError(const char *message, StkError::Type type)Stk [static]
              handleError(std::string message, StkError::Type type)Stk [static]
              handleError(StkError::Type type)Stk [protected]
              JCRev(StkFloat T60=1.0)JCRev
              lastOut() const Effect
              lastOutLeft() const Effect
              lastOutRight() const Effect
              rawwavePath(void)Stk [inline, static]
              sampleRate(void)Stk [inline, static]
              setEffectMix(StkFloat mix)Effect
              setRawwavePath(std::string path)Stk [static]
              setSampleRate(StkFloat rate)Stk [inline, static]
              setT60(StkFloat T60)JCRev
              sleep(unsigned long milliseconds)Stk [static]
              Stk(void)Stk [protected]
              STK_FLOAT32Stk [static]
              STK_FLOAT64Stk [static]
              STK_SINT16Stk [static]
              STK_SINT32Stk [static]
              STK_SINT24Stk [static]
              STK_SINT32Stk [static]
              STK_SINT8Stk [static]
              swap16(unsigned char *ptr)Stk [static]
              swap32(unsigned char *ptr)Stk [static]
              swap64(unsigned char *ptr)Stk [static]
              tick(MY_FLOAT input)JCRev [virtual]
              Reverb::tick(MY_FLOAT *vector, unsigned int vectorSize)Reverb [virtual]
              tick(StkFloat input)JCRev [virtual]
              tick(StkFloat *vector, unsigned int vectorSize)JCRev [virtual]
              tick(StkFrames &frames, unsigned int channel=1)JCRev [virtual]
              ~Effect()Effect [virtual]
              ~JCRev()JCRev
              ~Reverb()Reverb [virtual]
              ~Stk(void)Stk [protected, virtual]

              - +
              The Synthesis ToolKit in C++ (STK)
              The Synthesis ToolKit in C++ (STK)
              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
              diff --git a/doc/html/classJCRev.html b/doc/html/classJCRev.html index e046666..7e9d7ba 100644 --- a/doc/html/classJCRev.html +++ b/doc/html/classJCRev.html @@ -9,24 +9,29 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
              -

              JCRev Class Reference

              John Chowning's reverberator class. -More... -

              -#include <JCRev.h> +

              JCRev Class Reference

              #include <JCRev.h>

              Inheritance diagram for JCRev:

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

              Detailed Description

              +John Chowning's reverberator class. +

              +This class is derived from the CLM JCRev function, which is based on the use of networks of simple allpass and comb delay filters. This class implements three series allpass units, followed by four parallel comb filters, and two decorrelation delay lines in parallel at the output.

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

              + +

              +Definition at line 23 of file JCRev.h.

              +  - + @@ -35,25 +40,71 @@ void  - + + + + + + + + + +

              Public Member Functions

              JCRev (MY_FLOAT T60)
              JCRev (StkFloat T60=1.0)
               Class constructor taking a T60 decay time argument.

               Class constructor taking a T60 decay time argument (one second default value).

               ~JCRev ()
              clear ()
               Reset and clear all internal state.

              -MY_FLOAT tick (MY_FLOAT input)
              +void setT60 (StkFloat T60)
               Set the reverberation T60 decay time.

              +StkFloat tick (StkFloat input)
               Compute one output sample.

              +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
               Take vectorSize inputs, compute the same number of outputs and return them in vector.

              StkFramestick (StkFrames &frames, unsigned int channel=1)
               Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.

              -

              Detailed Description

              -John Chowning's reverberator class. -

              -This class is derived from the CLM JCRev function, which is based on the use of networks of simple allpass and comb delay filters. This class implements three series allpass units, followed by four parallel comb filters, and two decorrelation delay lines in parallel at the output.

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

              +


              Member Function Documentation

              +

              + + + + +
              + + + + + + + + + + + + + + + + + + + +
              StkFrames& JCRev::tick StkFrames frames,
              unsigned int  channel = 1
              [virtual]
              +
              + + + + + +
              +   +

              -Definition at line 23 of file JCRev.h.


              The documentation for this class was generated from the following file:
                +Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs. +

                +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                +Reimplemented from Effect.

              +


              The documentation for this class was generated from the following file:
              - +
              The Synthesis ToolKit in C++ (STK)
              The Synthesis ToolKit in C++ (STK)
              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
              diff --git a/doc/html/classJCRev.png b/doc/html/classJCRev.png index d922ee708984cf338733698836fd44b949914d9d..3ab4c7377af1bd1a6d385d79d3742c5a54977df8 100644 GIT binary patch delta 293 zcmV+=0owlE0?z^=iBL{Q4GJ0x0000DNk~Le0000o0001p1Oos709Qbzk&z)Zf8|L; zK~#90?bKZkgD?mHVEW>7;RbX!*exY8I3;o=ArV`!06 zuX-CYu;UIdHxfh>+E9Hkvlw*e^0zRr8nMt z>-9!^$e7ndhTI|O1w2ByZ;fS9bvGvJS;I|h8msjlk$%&BfQ;uh8KHv zr2#N8nnujnF$P4kdx|5P#xfsxInlG6#q62Q$&%(v!_cy0{fG7L!KOaJuZ}&|bGEL2 z)1IBpIc?f#cBB1)0NS%u8Q0r_e_ - -The Synthesis ToolKit in C++ (STK) - - - -
              -    

              -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

              -
              - -

              JetTabl Class Reference

              STK jet table class. -More... -

              -#include <JetTabl.h> -

              -

              Inheritance diagram for JetTabl: -

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

              Public Member Functions

              JetTabl ()
               Default constructor.

              ~JetTabl ()
               Class destructor.

              -MY_FLOAT lastOut () const
               Return the last output value.

              -MY_FLOAT tick (MY_FLOAT input)
               Return the function value for input.

              -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
               Take vectorSize inputs and return the corresponding function values in vector.

              -

              Detailed Description

              -STK jet table class. -

              -This class implements a flue jet non-linear function, computed by a polynomial calculation. Contrary to the name, this is not a "table".

              -Consult Fletcher and Rossing, Karjalainen, Cook, and others for more information.

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

              - -

              -Definition at line 21 of file JetTabl.h.


              The documentation for this class was generated from the following file: -
              - - - - -
              The Synthesis ToolKit in C++ (STK)
              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
              - - - diff --git a/doc/html/classJetTabl.png b/doc/html/classJetTabl.png deleted file mode 100644 index ea9c46e4237f2db67217910021ff6a2fc7a80a7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^ra&CP!VDz6KPs#OQW60^A+G=b{|7Sv|35H)e!>JG z3ycpOI8c4){}UjWu_VYZn8D%MjWi%KZM diff --git a/doc/html/classJetTable-members.html b/doc/html/classJetTable-members.html new file mode 100644 index 0000000..9ad030d --- /dev/null +++ b/doc/html/classJetTable-members.html @@ -0,0 +1,48 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
              +    

              +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

              +
              + +

              JetTable Member List

              This is the complete list of members for JetTable, including all inherited members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              Function()Function
              handleError(const char *message, StkError::Type type)Stk [static]
              handleError(std::string message, StkError::Type type)Stk [static]
              handleError(StkError::Type type)Stk [protected]
              JetTable()JetTable
              lastOut() const Function [inline, virtual]
              rawwavePath(void)Stk [inline, static]
              sampleRate(void)Stk [inline, static]
              setRawwavePath(std::string path)Stk [static]
              setSampleRate(StkFloat rate)Stk [inline, static]
              sleep(unsigned long milliseconds)Stk [static]
              Stk(void)Stk [protected]
              STK_FLOAT32Stk [static]
              STK_FLOAT64Stk [static]
              STK_SINT16Stk [static]
              STK_SINT24Stk [static]
              STK_SINT32Stk [static]
              STK_SINT8Stk [static]
              swap16(unsigned char *ptr)Stk [static]
              swap32(unsigned char *ptr)Stk [static]
              swap64(unsigned char *ptr)Stk [static]
              tick(StkFloat input)JetTable [virtual]
              tick(StkFloat *vector, unsigned int vectorSize)JetTable [virtual]
              tick(StkFrames &frames, unsigned int channel=1)JetTable [virtual]
              ~Function()Function [virtual]
              ~JetTable()JetTable
              ~Stk(void)Stk [protected, virtual]

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

              +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

              +
              + +

              JetTable Class Reference

              #include <JetTable.h> +

              +

              Inheritance diagram for JetTable: +

              + +Function +Stk + +List of all members.

              Detailed Description

              +STK jet table class. +

              +This class implements a flue jet non-linear function, computed by a polynomial calculation. Contrary to the name, this is not a "table".

              +Consult Fletcher and Rossing, Karjalainen, Cook, and others for more information.

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

              + +

              +Definition at line 21 of file JetTable.h. + + + + + + + + + + + + + + + + + +

              Public Member Functions

              JetTable ()
               Default constructor.

              ~JetTable ()
               Class destructor.

              +StkFloat tick (StkFloat input)
               Return the function value for input.

              +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
               Take vectorSize inputs from vector and replace them with corresponding outputs.

              StkFramestick (StkFrames &frames, unsigned int channel=1)
               Take a channel of the StkFrames object as inputs to the function and replace with corresponding outputs.

              +


              Member Function Documentation

              +

              + + + + +
              + + + + + + + + + + + + + + + + + + + +
              StkFrames& JetTable::tick StkFrames frames,
              unsigned int  channel = 1
              [virtual]
              +
              + + + + + +
              +   + + +

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

              +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

              +Reimplemented from Function.

              +


              The documentation for this class was generated from the following file: +
              + + + + +
              The Synthesis ToolKit in C++ (STK)
              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
              + + + diff --git a/doc/html/classJetTable.png b/doc/html/classJetTable.png new file mode 100644 index 0000000000000000000000000000000000000000..3b3494dfa24d5acf8542038d81f071e2dd21ca4f GIT binary patch literal 370 zcmV-&0ge8NP)udJU+|eiVr5szlj`Q=a_g%!JOnk;K<32u){(vpMSAXZ7 z{}(@j{}I5_GnNKnd|gxdi*izD1NA=wxr>nymK?M-nTH~!G1Gjjx6zq1RsDByn6hs< zL&}PN&iY?`?|y%pcmM0W^Uhlw+!(^(wmS%q>4+lOl9niW$j#pI2*G|8qHSaWB-v=X^7>mO?U-`@X$`NsQx0=4z@cTR?z QlmGw#07*qoM6N<$g3wy3D*ylh literal 0 HcmV?d00001 diff --git a/doc/html/classMandolin-members.html b/doc/html/classMandolin-members.html index 7651452..43e44e7 100644 --- a/doc/html/classMandolin-members.html +++ b/doc/html/classMandolin-members.html @@ -11,48 +11,52 @@

              Mandolin Member List

              This is the complete list of members for Mandolin, including all inherited members. - - + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + + - + + - +
              clear()PluckTwo
              controlChange(int number, MY_FLOAT value)Mandolin [virtual]
              handleError(const char *message, StkError::TYPE type)Stk [protected, static]
              controlChange(int number, StkFloat value)Mandolin [virtual]
              handleError(const char *message, StkError::Type type)Stk [static]
              handleError(std::string message, StkError::Type type)Stk [static]
              handleError(StkError::Type type)Stk [protected]
              Instrmnt()Instrmnt
              lastOut() const Instrmnt
              lastOutLeft() const Instrmnt
              lastOutRight() const Instrmnt
              Mandolin(MY_FLOAT lowestFrequency)Mandolin
              MY_FLOAT32Stk [static]
              MY_FLOAT64Stk [static]
              noteOff(MY_FLOAT amplitude)PluckTwo [virtual]
              noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Mandolin [virtual]
              pluck(MY_FLOAT amplitude)Mandolin
              pluck(MY_FLOAT amplitude, MY_FLOAT position)Mandolin
              PluckTwo(MY_FLOAT lowestFrequency)PluckTwo
              rawwavePath(void)Stk [static]
              sampleRate(void)Stk [static]
              setBaseLoopGain(MY_FLOAT aGain)PluckTwo
              setBodySize(MY_FLOAT size)Mandolin
              setDetune(MY_FLOAT detune)PluckTwo
              setFreqAndDetune(MY_FLOAT frequency, MY_FLOAT detune)PluckTwo
              setFrequency(MY_FLOAT frequency)PluckTwo [virtual]
              setPluckPosition(MY_FLOAT position)PluckTwo
              setRawwavePath(std::string newPath)Stk [static]
              setSampleRate(MY_FLOAT newRate)Stk [static]
              Mandolin(StkFloat lowestFrequency)Mandolin
              noteOff(StkFloat amplitude)PluckTwo [virtual]
              noteOn(StkFloat frequency, StkFloat amplitude)Mandolin [virtual]
              pluck(StkFloat amplitude)Mandolin
              pluck(StkFloat amplitude, StkFloat position)Mandolin
              PluckTwo(StkFloat lowestFrequency)PluckTwo
              rawwavePath(void)Stk [inline, static]
              sampleRate(void)Stk [inline, static]
              setBaseLoopGain(StkFloat aGain)PluckTwo
              setBodySize(StkFloat size)Mandolin
              setDetune(StkFloat detune)PluckTwo
              setFreqAndDetune(StkFloat frequency, StkFloat detune)PluckTwo
              setFrequency(StkFloat frequency)PluckTwo [virtual]
              setPluckPosition(StkFloat position)PluckTwo
              setRawwavePath(std::string path)Stk [static]
              setSampleRate(StkFloat rate)Stk [inline, static]
              sleep(unsigned long milliseconds)Stk [static]
              Stk(void)Stk [protected]
              STK_FLOAT32Stk [static]
              STK_FLOAT64Stk [static]
              STK_SINT16Stk [static]
              STK_SINT32Stk [static]
              STK_SINT24Stk [static]
              STK_SINT32Stk [static]
              STK_SINT8Stk [static]
              swap16(unsigned char *ptr)Stk [static]
              swap32(unsigned char *ptr)Stk [static]
              swap64(unsigned char *ptr)Stk [static]
              tick()Mandolin [virtual]
              Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
              tick(StkFloat *vector, unsigned int vectorSize)Mandolin [virtual]
              tick(StkFrames &frames, unsigned int channel=1)Mandolin [virtual]
              ~Instrmnt()Instrmnt [virtual]
              ~Mandolin()Mandolin [virtual]
              ~Mandolin()Mandolin
              ~PluckTwo()PluckTwo [virtual]
              ~Stk(void)Stk [protected, virtual]

              - +
              The Synthesis ToolKit in C++ (STK)
              The Synthesis ToolKit in C++ (STK)
              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
              diff --git a/doc/html/classMandolin.html b/doc/html/classMandolin.html index d362597..db8302a 100644 --- a/doc/html/classMandolin.html +++ b/doc/html/classMandolin.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
              -

              Mandolin Class Reference

              STK mandolin instrument model class. -More... -

              -#include <Mandolin.h> +

              Mandolin Class Reference

              #include <Mandolin.h>

              Inheritance diagram for Mandolin:

              @@ -21,43 +18,7 @@ Instrmnt Stk -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - -

              Public Member Functions

              Mandolin (MY_FLOAT lowestFrequency)
               Class constructor, taking the lowest desired playing frequency.

              -virtual ~Mandolin ()
               Class destructor.

              -void pluck (MY_FLOAT amplitude)
               Pluck the strings with the given amplitude (0.0 - 1.0) using the current frequency.

              -void pluck (MY_FLOAT amplitude, MY_FLOAT position)
               Pluck the strings with the given amplitude (0.0 - 1.0) and position (0.0 - 1.0).

              -virtual void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
               Start a note with the given frequency and amplitude (0.0 - 1.0).

              -void setBodySize (MY_FLOAT size)
               Set the body size (a value of 1.0 produces the "default" size).

              -virtual MY_FLOAT tick ()
               Compute one output sample.

              -virtual void controlChange (int number, MY_FLOAT value)
               Perform the control change specified by number and value (0.0 - 128.0).

              -

              Detailed Description

              +List of all members.

              Detailed Description

              STK mandolin instrument model class.

              This class inherits from PluckTwo and uses "commuted synthesis" techniques to model a mandolin instrument.

              @@ -65,16 +26,102 @@ This is a digital waveguide model, making its use possibly subject to patents he Control Change Numbers:

              • Body Size = 2
              • Pluck Position = 4
              • String Sustain = 11
              • String Detuning = 1
              • Microphone Position = 128

              -by Perry R. Cook and Gary P. Scavone, 1995 - 2002. +by Perry R. Cook and Gary P. Scavone, 1995 - 2004.

              -Definition at line 36 of file Mandolin.h.


              The documentation for this class was generated from the following file:
                +Definition at line 36 of file Mandolin.h. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                Public Member Functions

                Mandolin (StkFloat lowestFrequency)
                 Class constructor, taking the lowest desired playing frequency.

                ~Mandolin ()
                 Class destructor.

                +void pluck (StkFloat amplitude)
                 Pluck the strings with the given amplitude (0.0 - 1.0) using the current frequency.

                +void pluck (StkFloat amplitude, StkFloat position)
                 Pluck the strings with the given amplitude (0.0 - 1.0) and position (0.0 - 1.0).

                +void noteOn (StkFloat frequency, StkFloat amplitude)
                 Start a note with the given frequency and amplitude (0.0 - 1.0).

                +void setBodySize (StkFloat size)
                 Set the body size (a value of 1.0 produces the "default" size).

                +StkFloat tick ()
                 Compute one output sample.

                +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                 Computer vectorSize outputs and return them in vector.

                StkFramestick (StkFrames &frames, unsigned int channel=1)
                 Fill a channel of the StkFrames object with computed outputs.

                +void controlChange (int number, StkFloat value)
                 Perform the control change specified by number and value (0.0 - 128.0).

                +

                Member Function Documentation

                +

                + + + + +
                + + + + + + + + + + + + + + + + + + + +
                StkFrames& Mandolin::tick StkFrames frames,
                unsigned int  channel = 1
                [virtual]
                +
                + + + + + +
                +   + + +

                +Fill a channel of the StkFrames object with computed outputs. +

                +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                +Implements PluckTwo.

                +


                The documentation for this class was generated from the following file:
                - +
                The Synthesis ToolKit in C++ (STK)
                The Synthesis ToolKit in C++ (STK)
                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/classMesh2D-members.html b/doc/html/classMesh2D-members.html index 49bfa58..017e766 100644 --- a/doc/html/classMesh2D-members.html +++ b/doc/html/classMesh2D-members.html @@ -11,45 +11,49 @@

                Mesh2D Member List

                This is the complete list of members for Mesh2D, including all inherited members. - + - + + + - - - - - - - - - + + + + + + + - - + + + + - + + - - + + +
                clear()Mesh2D
                controlChange(int number, MY_FLOAT value)Mesh2D [virtual]
                controlChange(int number, StkFloat value)Mesh2D [virtual]
                energy()Mesh2D
                handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                handleError(const char *message, StkError::Type type)Stk [static]
                handleError(std::string message, StkError::Type type)Stk [static]
                handleError(StkError::Type type)Stk [protected]
                Instrmnt()Instrmnt
                lastOut() const Instrmnt
                lastOutLeft() const Instrmnt
                lastOutRight() const Instrmnt
                Mesh2D(short nX, short nY)Mesh2D
                MY_FLOAT32Stk [static]
                MY_FLOAT64Stk [static]
                noteOff(MY_FLOAT amplitude)Mesh2D [virtual]
                noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Mesh2D [virtual]
                rawwavePath(void)Stk [static]
                sampleRate(void)Stk [static]
                setDecay(MY_FLOAT decayFactor)Mesh2D
                setFrequency(MY_FLOAT frequency)Instrmnt [virtual]
                setInputPosition(MY_FLOAT xFactor, MY_FLOAT yFactor)Mesh2D
                noteOff(StkFloat amplitude)Mesh2D [virtual]
                noteOn(StkFloat frequency, StkFloat amplitude)Mesh2D [virtual]
                rawwavePath(void)Stk [inline, static]
                sampleRate(void)Stk [inline, static]
                setDecay(StkFloat decayFactor)Mesh2D
                setFrequency(StkFloat frequency)Instrmnt [virtual]
                setInputPosition(StkFloat xFactor, StkFloat yFactor)Mesh2D
                setNX(short lenX)Mesh2D
                setNY(short lenY)Mesh2D
                setRawwavePath(std::string newPath)Stk [static]
                setSampleRate(MY_FLOAT newRate)Stk [static]
                setRawwavePath(std::string path)Stk [static]
                setSampleRate(StkFloat rate)Stk [inline, static]
                sleep(unsigned long milliseconds)Stk [static]
                Stk(void)Stk [protected]
                STK_FLOAT32Stk [static]
                STK_FLOAT64Stk [static]
                STK_SINT16Stk [static]
                STK_SINT32Stk [static]
                STK_SINT24Stk [static]
                STK_SINT32Stk [static]
                STK_SINT8Stk [static]
                swap16(unsigned char *ptr)Stk [static]
                swap32(unsigned char *ptr)Stk [static]
                swap64(unsigned char *ptr)Stk [static]
                tick()Mesh2D [virtual]
                tick(MY_FLOAT input)Mesh2D
                Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                tick(StkFloat input)Mesh2D
                tick(StkFloat *vector, unsigned int vectorSize)Mesh2D [virtual]
                tick(StkFrames &frames, unsigned int channel=1)Mesh2D [virtual]
                ~Instrmnt()Instrmnt [virtual]
                ~Mesh2D()Mesh2D
                ~Stk(void)Stk [protected, virtual]

                - +
                The Synthesis ToolKit in C++ (STK)
                The Synthesis ToolKit in C++ (STK)
                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/classMesh2D.html b/doc/html/classMesh2D.html index c0e5020..71ea4a3 100644 --- a/doc/html/classMesh2D.html +++ b/doc/html/classMesh2D.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                -

                Mesh2D Class Reference

                Two-dimensional rectilinear waveguide mesh class. -More... -

                -#include <Mesh2D.h> +

                Mesh2D Class Reference

                #include <Mesh2D.h>

                Inheritance diagram for Mesh2D:

                @@ -20,7 +17,19 @@ Instrmnt Stk -List of all members. +List of all members.

                Detailed Description

                +Two-dimensional rectilinear waveguide mesh class. +

                +This class implements a rectilinear, two-dimensional digital waveguide mesh structure. For details, see Van Duyne and Smith, "Physical Modeling with the 2-D Digital Waveguide Mesh", Proceedings of the 1993 International Computer Music Conference.

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

                +Control Change Numbers:

                  +
                • X Dimension = 2
                • Y Dimension = 4
                • Mesh Decay = 11
                • X-Y Input Position = 1
                +

                +by Julius Smith, 2000 - 2002. Revised by Gary Scavone for STK, 2002. +

                + +

                +Definition at line 36 of file Mesh2D.h.

                +void  +void  +void  +void  +StkFloat  +StkFloat  +StkFloat  - + + + + + + +

                Public Member Functions

                @@ -44,56 +53,94 @@ void  Set the y dimension size in samples.

                -void setInputPosition (MY_FLOAT xFactor, MY_FLOAT yFactor)
                setInputPosition (StkFloat xFactor, StkFloat yFactor)
                 Set the x, y input position on a 0.0 - 1.0 scale.

                -void setDecay (MY_FLOAT decayFactor)
                setDecay (StkFloat decayFactor)
                 Set the loss filters gains (0.0 - 1.0).

                -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                noteOn (StkFloat frequency, StkFloat amplitude)
                 Impulse the mesh with the given amplitude (frequency ignored).

                -void noteOff (MY_FLOAT amplitude)
                noteOff (StkFloat amplitude)
                 Stop a note with the given amplitude (speed of decay) ... currently ignored.

                -MY_FLOAT energy ()
                energy ()
                 Calculate and return the signal energy stored in the mesh.

                -MY_FLOAT tick ()
                tick ()
                 Compute one output sample, without adding energy to the mesh.

                -MY_FLOAT tick (MY_FLOAT input)
                tick (StkFloat input)
                 Input a sample to the mesh and compute one output sample.

                -void controlChange (int number, MY_FLOAT value)
                +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                 Computer vectorSize outputs and return them in vector.

                StkFramestick (StkFrames &frames, unsigned int channel=1)
                 Fill a channel of the StkFrames object with computed outputs.

                +void controlChange (int number, StkFloat value)
                 Perform the control change specified by number and value (0.0 - 128.0).

                -

                Detailed Description

                -Two-dimensional rectilinear waveguide mesh class. -

                -This class implements a rectilinear, two-dimensional digital waveguide mesh structure. For details, see Van Duyne and Smith, "Physical Modeling with the 2-D Digital Waveguide Mesh", Proceedings of the 1993 International Computer Music Conference.

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

                -Control Change Numbers:

                  -
                • X Dimension = 2
                • Y Dimension = 4
                • Mesh Decay = 11
                • X-Y Input Position = 1
                -

                -by Julius Smith, 2000 - 2002. Revised by Gary Scavone for STK, 2002. -

                +


                Member Function Documentation

                +

                + + + + +
                + + + + + + + + + + + + + + + + + + + +
                StkFrames& Mesh2D::tick StkFrames frames,
                unsigned int  channel = 1
                [virtual]
                +
                + + + + + +
                +   +

                -Definition at line 36 of file Mesh2D.h.


                The documentation for this class was generated from the following file:
                  +Fill a channel of the StkFrames object with computed outputs. +

                  +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                  +Reimplemented from Instrmnt.

                +


                The documentation for this class was generated from the following file:
                - +
                The Synthesis ToolKit in C++ (STK)
                The Synthesis ToolKit in C++ (STK)
                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/classMessager-members.html b/doc/html/classMessager-members.html index 5386887..05ffc11 100644 --- a/doc/html/classMessager-members.html +++ b/doc/html/classMessager-members.html @@ -10,25 +10,24 @@

                Messager Member List

                This is the complete list of members for Messager, including all inherited members. - - - - - - - - - - - - - - - + + + + + + + + + + + + + - + + @@ -38,7 +37,7 @@
                getByteThree() const Messager
                getByteTwo() const Messager
                getChannel() const Messager
                getDelta(void) const Messager
                getType() const Messager
                handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                Messager(int inputMask=0, int port=2001)Messager
                MY_FLOAT32Stk [static]
                MY_FLOAT64Stk [static]
                nextMessage(void)Messager
                rawwavePath(void)Stk [static]
                sampleRate(void)Stk [static]
                setRawwavePath(std::string newPath)Stk [static]
                setRtDelta(long nSamples)Messager
                setSampleRate(MY_FLOAT newRate)Stk [static]
                handleError(const char *message, StkError::Type type)Stk [static]
                handleError(std::string message, StkError::Type type)Stk [static]
                handleError(StkError::Type type)Stk [protected]
                Messager()Messager
                popMessage(Skini::Message &message)Messager
                pushMessage(Skini::Message &message)Messager
                rawwavePath(void)Stk [inline, static]
                sampleRate(void)Stk [inline, static]
                setRawwavePath(std::string path)Stk [static]
                setSampleRate(StkFloat rate)Stk [inline, static]
                setScoreFile(const char *filename)Messager
                sleep(unsigned long milliseconds)Stk [static]
                Stk(void)Stk [protected]
                STK_FLOAT32Stk [static]
                STK_FLOAT64Stk [static]
                STK_SINT16Stk [static]
                STK_SINT32Stk [static]
                STK_SINT24Stk [static]
                STK_SINT32Stk [static]
                STK_SINT8Stk [static]
                swap16(unsigned char *ptr)Stk [static]
                swap32(unsigned char *ptr)Stk [static]

                - +
                The Synthesis ToolKit in C++ (STK)
                The Synthesis ToolKit in C++ (STK)
                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/classMessager.html b/doc/html/classMessager.html index 98856b4..dcd0c45 100644 --- a/doc/html/classMessager.html +++ b/doc/html/classMessager.html @@ -9,117 +9,57 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                -

                Messager Class Reference

                STK input control message parser. -More... -

                -#include <Messager.h> +

                Messager Class Reference

                #include <Messager.h>

                Inheritance diagram for Messager:

                Stk -List of all members. +List of all members.

                Detailed Description

                +STK input control message parser. +

                +This class reads and parses control messages from a variety of sources, such as a scorefile, MIDI port, socket connection, or stdin. MIDI messages are retrieved using the RtMidi class. All other input sources (scorefile, socket, or stdin) are assumed to provide SKINI formatted messages. This class can be compiled with generic, non-realtime support, in which case only scorefile reading is possible.

                +The various realtime message acquisition mechanisms (from MIDI, socket, or stdin) take place asynchronously, filling the message queue. A call to popMessage() will pop the next available control message from the queue and return it via the referenced Message structure. When a non-realtime scorefile is set, it is not possible to start reading realtime input messages (from MIDI, socket, or stdin). Likewise, it is not possible to read from a scorefile when a realtime input mechanism is running.

                +When MIDI input is started, input is also automatically read from stdin. This allows for program termination via the terminal window. An __SK_Exit_ message is pushed onto the stack whenever an "exit" or "Exit" message is received from stdin or when all socket connections close and no stdin thread is running.

                +This class is primarily for use in STK example programs but it is generic enough to work in many other contexts.

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

                + +

                +Definition at line 57 of file Messager.h.

                - + - + - + - - + + - - + + - - - - - - - - - - - - - -

                Public Member Functions

                 Messager (int inputMask=0, int port=2001)
                Messager ()
                 Constructor performs initialization based on an input mask and an optional socket port.

                 Default constructor.

                 ~Messager ()
                 Class destructor.

                long nextMessage (void)
                void popMessage (Skini::Message &message)
                 Check for a new input message and return the message type.

                -void setRtDelta (long nSamples)
                 Pop the next message from the queue and write it to the referenced message structure.

                +void pushMessage (Skini::Message &message)
                 Set the delta time (in samples) returned between valid realtime messages. This setting has no affect for scorefile messages.

                -long getDelta (void) const
                 Push the referenced message onto the message stack.

                bool setScoreFile (const char *filename)
                 Return the current message "delta time" in samples.

                -long getType () const
                 Return the current message type.

                -MY_FLOAT getByteTwo () const
                 Return the byte two value for the current message.

                -MY_FLOAT getByteThree () const
                 Return the byte three value for the current message.

                -long getChannel () const
                 Return the channel number for the current message.

                -

                Detailed Description

                -STK input control message parser. -

                -This class reads and parses control messages from a variety of sources, such as a MIDI port, scorefile, socket connection, or pipe. MIDI messages are retrieved using the RtMidi class. All other input sources (scorefile, socket, or pipe) are assumed to provide SKINI formatted messages.

                -For each call to nextMessage(), the active input sources are queried to see if a new control message is available.

                -This class is primarily for use in STK main() event loops.

                -One of the original goals in creating this class was to simplify the message acquisition process by removing all threads. If the windoze select() function behaved just like the unix one, that would have been possible. Since it does not (it can't be used to poll STDIN), I am using a thread to acquire messages from STDIN, which sends these messages via a socket connection to the message socket server. Perhaps in the future, it will be possible to simplify things.

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

                - -

                -Definition at line 63 of file Messager.h.


                Constructor & Destructor Documentation

                -

                - - - - -
                - - - - - - - - - - - - - - - - - - - -
                Messager::Messager int  inputMask = 0,
                int  port = 2001
                -
                - - - - - +
                -   - - -

                -Constructor performs initialization based on an input mask and an optional socket port. -

                -The default constructor is set to read input from a SKINI scorefile. The flags STK_MIDI, STK_PIPE, and STK_SOCKET can be OR'ed together in any combination for multiple "realtime" input source parsing. An optional socket port number can be specified for use when the STK_SOCKET flag is set. For realtime input types, an StkError can be thrown during instantiation.

                 Specify a SKINI formatted scorefile from which messages should be read.


                Member Function Documentation

                -

                +

                -

                -Definition at line 20 of file OnePole.h.


                Member Function Documentation

                + +
                - + - - + + @@ -136,9 +76,40 @@ The default constructor is set to read input from a

                +

                long Messager::nextMessage void Messager::popMessage void  Skini::Message message  ) 
                + + + +
                + + + + + + + + + + +
                bool Messager::setScoreFile const char *  filename  ) 
                +
                + + + +
                +   + + +

                +Specify a SKINI formatted scorefile from which messages should be read. +

                +A return value of true indicates the call was successful. A return value of false can occur if the file is not found, cannot be opened, another file is currently still open, or if a realtime input mechanism is running. Scorefile input is considered to be a non-realtime control mechanism that cannot run concurrently with realtime input.


                The documentation for this class was generated from the following file:
                  @@ -146,7 +117,7 @@ Return type values greater than zero represent valid messages. If an input score
                  - +
                  The Synthesis ToolKit in C++ (STK)
                  The Synthesis ToolKit in C++ (STK)
                  ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                  diff --git a/doc/html/classMidiFileIn-members.html b/doc/html/classMidiFileIn-members.html new file mode 100644 index 0000000..5fb59b1 --- /dev/null +++ b/doc/html/classMidiFileIn-members.html @@ -0,0 +1,49 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
                  +    

                  +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                  +
                  + +

                  MidiFileIn Member List

                  This is the complete list of members for MidiFileIn, including all inherited members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  getDivision() const MidiFileIn
                  getFileFormat() const MidiFileIn
                  getNextEvent(std::vector< unsigned char > *event, unsigned int track=0)MidiFileIn
                  getNextMidiEvent(std::vector< unsigned char > *midiEvent, unsigned int track=0)MidiFileIn
                  getNumberOfTracks() const MidiFileIn
                  getTickSeconds(unsigned int track=0)MidiFileIn
                  handleError(const char *message, StkError::Type type)Stk [static]
                  handleError(std::string message, StkError::Type type)Stk [static]
                  handleError(StkError::Type type)Stk [protected]
                  MidiFileIn(std::string fileName)MidiFileIn
                  rawwavePath(void)Stk [inline, static]
                  rewindTrack(unsigned int track=0)MidiFileIn
                  sampleRate(void)Stk [inline, static]
                  setRawwavePath(std::string path)Stk [static]
                  setSampleRate(StkFloat rate)Stk [inline, static]
                  sleep(unsigned long milliseconds)Stk [static]
                  Stk(void)Stk [protected]
                  STK_FLOAT32Stk [static]
                  STK_FLOAT64Stk [static]
                  STK_SINT16Stk [static]
                  STK_SINT24Stk [static]
                  STK_SINT32Stk [static]
                  STK_SINT8Stk [static]
                  swap16(unsigned char *ptr)Stk [static]
                  swap32(unsigned char *ptr)Stk [static]
                  swap64(unsigned char *ptr)Stk [static]
                  ~MidiFileIn()MidiFileIn
                  ~Stk(void)Stk [protected, virtual]

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

                  +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                  +
                  + +

                  MidiFileIn Class Reference

                  #include <MidiFileIn.h> +

                  +

                  Inheritance diagram for MidiFileIn: +

                  + +Stk + +List of all members.

                  Detailed Description

                  +A standard MIDI file reading/parsing class. +

                  +This class can be used to read events from a standard MIDI file. Event bytes are copied to a C++ vector and must be subsequently interpreted by the user. The function getNextMidiEvent() skips meta and sysex events, returning only MIDI channel messages. Event delta-times are returned in the form of "ticks" and a function is provided to determine the current "seconds per tick". Tempo changes are internally tracked by the class and reflected in the values returned by the function getTickSeconds().

                  +by Gary P. Scavone, 2003. +

                  + +

                  +Definition at line 27 of file MidiFileIn.h. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                  Public Member Functions

                   MidiFileIn (std::string fileName)
                   Default constructor.

                  ~MidiFileIn ()
                   Class destructor.

                  +int getFileFormat () const
                   Return the MIDI file format (0, 1, or 2).

                  +unsigned int getNumberOfTracks () const
                   Return the number of tracks in the MIDI file.

                  int getDivision () const
                   Return the MIDI file division value from the file header.

                  void rewindTrack (unsigned int track=0)
                   Move the specified track event reader to the beginning of its track.

                  double getTickSeconds (unsigned int track=0)
                   Get the current value, in seconds, of delta-time ticks for the specified track.

                  unsigned long getNextEvent (std::vector< unsigned char > *event, unsigned int track=0)
                   Fill the user-provided vector with the next event in the specified track and return the event delta-time in ticks.

                  unsigned long getNextMidiEvent (std::vector< unsigned char > *midiEvent, unsigned int track=0)
                   Fill the user-provided vector with the next MIDI channel event in the specified track and return the event delta time in ticks.

                  +


                  Constructor & Destructor Documentation

                  +

                  + + + + +
                  + + + + + + + + + + +
                  MidiFileIn::MidiFileIn std::string  fileName  ) 
                  +
                  + + + + + +
                  +   + + +

                  +Default constructor. +

                  +If an error occurs while opening or parsing the file header, an StkError exception will be thrown.

                  +


                  Member Function Documentation

                  +

                  + + + + +
                  + + + + + + + + + +
                  int MidiFileIn::getDivision  )  const
                  +
                  + + + + + +
                  +   + + +

                  +Return the MIDI file division value from the file header. +

                  +Note that this value must be "parsed" in accordance with the MIDI File Specification. In particular, if the MSB is set, the file uses time-code representations for delta-time values.

                  +

                  + + + + +
                  + + + + + + + + + + +
                  void MidiFileIn::rewindTrack unsigned int  track = 0  ) 
                  +
                  + + + + + +
                  +   + + +

                  +Move the specified track event reader to the beginning of its track. +

                  +The relevant track tempo value is reset as well. If an invalid track number is specified, an StkError exception will be thrown.

                  +

                  + + + + +
                  + + + + + + + + + + +
                  double MidiFileIn::getTickSeconds unsigned int  track = 0  ) 
                  +
                  + + + + + +
                  +   + + +

                  +Get the current value, in seconds, of delta-time ticks for the specified track. +

                  +This value can change as events are read (via "Set Tempo" Meta-Events). Therefore, one should call this function after every call to getNextEvent() or getNextMidiEvent(). If an invalid track number is specified, an StkError exception will be thrown.

                  +

                  + + + + +
                  + + + + + + + + + + + + + + + + + + + +
                  unsigned long MidiFileIn::getNextEvent std::vector< unsigned char > *  event,
                  unsigned int  track = 0
                  +
                  + + + + + +
                  +   + + +

                  +Fill the user-provided vector with the next event in the specified track and return the event delta-time in ticks. +

                  +MIDI File events consist of a delta time and a sequence of event bytes. This function returns the delta-time value and writes the subsequent event bytes directly to the event vector. The user must parse the event bytes in accordance with the MIDI File Specification. All returned MIDI channel events are complete ... a status byte is provided even when running status is used in the file. If the track has reached its end, no bytes will be written and the event vector size will be zero. If an invalid track number is specified or an error occurs while reading the file, an StkError exception will be thrown.

                  +

                  + + + + +
                  + + + + + + + + + + + + + + + + + + + +
                  unsigned long MidiFileIn::getNextMidiEvent std::vector< unsigned char > *  midiEvent,
                  unsigned int  track = 0
                  +
                  + + + + + +
                  +   + + +

                  +Fill the user-provided vector with the next MIDI channel event in the specified track and return the event delta time in ticks. +

                  +All returned MIDI events are complete ... a status byte is provided even when running status is used in the file. Meta and sysex events in the track are skipped though "Set Tempo" events are properly parsed for use by the getTickSeconds() function. If the track has reached its end, no bytes will be written and the event vector size will be zero. If an invalid track number is specified or an error occurs while reading the file, an StkError exception will be thrown.

                  +


                  The documentation for this class was generated from the following file: +
                  + + + + +
                  The Synthesis ToolKit in C++ (STK)
                  ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                  + + + diff --git a/doc/html/classMidiFileIn.png b/doc/html/classMidiFileIn.png new file mode 100644 index 0000000000000000000000000000000000000000..13082f0b2ed5d565f86aeb92e285e93774efd2e6 GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^&OjW%!VDxgEW26?q$C1-LR|m<{|{vT|9@cq{DcWW z78oBmaG?6o|0h5$V@Z%-FoVOh8)-n!NlzEYkcv5PFURs7Qs7~D@M+WYL%gRrd*V*0 zzpH17b`UJMGV|yekInz?<+dUWP&

                  Modal Member List

                  This is the complete list of members for Modal, including all inherited members. - - - + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + + - + - + +
                  clear()Modal
                  controlChange(int number, MY_FLOAT value)=0Modal [pure virtual]
                  damp(MY_FLOAT amplitude)Modal
                  handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                  controlChange(int number, StkFloat value)=0Modal [pure virtual]
                  damp(StkFloat amplitude)Modal
                  handleError(const char *message, StkError::Type type)Stk [static]
                  handleError(std::string message, StkError::Type type)Stk [static]
                  handleError(StkError::Type type)Stk [protected]
                  Instrmnt()Instrmnt
                  lastOut() const Instrmnt
                  lastOutLeft() const Instrmnt
                  lastOutRight() const Instrmnt
                  Modal(int modes=4)Modal
                  MY_FLOAT32Stk [static]
                  MY_FLOAT64Stk [static]
                  noteOff(MY_FLOAT amplitude)Modal [virtual]
                  noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Modal [virtual]
                  rawwavePath(void)Stk [static]
                  sampleRate(void)Stk [static]
                  setDirectGain(MY_FLOAT aGain)Modal
                  setFrequency(MY_FLOAT frequency)Modal [virtual]
                  setMasterGain(MY_FLOAT aGain)Modal
                  setModeGain(int modeIndex, MY_FLOAT gain)Modal
                  setRatioAndRadius(int modeIndex, MY_FLOAT ratio, MY_FLOAT radius)Modal
                  setRawwavePath(std::string newPath)Stk [static]
                  setSampleRate(MY_FLOAT newRate)Stk [static]
                  Modal(unsigned int modes=4)Modal
                  noteOff(StkFloat amplitude)Modal [virtual]
                  noteOn(StkFloat frequency, StkFloat amplitude)Modal [virtual]
                  rawwavePath(void)Stk [inline, static]
                  sampleRate(void)Stk [inline, static]
                  setDirectGain(StkFloat aGain)Modal
                  setFrequency(StkFloat frequency)Modal [virtual]
                  setMasterGain(StkFloat aGain)Modal
                  setModeGain(unsigned int modeIndex, StkFloat gain)Modal
                  setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius)Modal
                  setRawwavePath(std::string path)Stk [static]
                  setSampleRate(StkFloat rate)Stk [inline, static]
                  sleep(unsigned long milliseconds)Stk [static]
                  Stk(void)Stk [protected]
                  STK_FLOAT32Stk [static]
                  STK_FLOAT64Stk [static]
                  STK_SINT16Stk [static]
                  STK_SINT32Stk [static]
                  STK_SINT24Stk [static]
                  STK_SINT32Stk [static]
                  STK_SINT8Stk [static]
                  strike(MY_FLOAT amplitude)Modal [virtual]
                  strike(StkFloat amplitude)Modal [virtual]
                  swap16(unsigned char *ptr)Stk [static]
                  swap32(unsigned char *ptr)Stk [static]
                  swap64(unsigned char *ptr)Stk [static]
                  tick()Modal [virtual]
                  Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                  tick(StkFloat *vector, unsigned int vectorSize)Modal [virtual]
                  tick(StkFrames &frames, unsigned int channel=1)Modal [virtual]
                  ~Instrmnt()Instrmnt [virtual]
                  ~Modal()Modal [virtual]
                  ~Stk(void)Stk [protected, virtual]

                  - +
                  The Synthesis ToolKit in C++ (STK)
                  The Synthesis ToolKit in C++ (STK)
                  ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                  diff --git a/doc/html/classModal.html b/doc/html/classModal.html index fe8151b..b6fdb99 100644 --- a/doc/html/classModal.html +++ b/doc/html/classModal.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                  -

                  Modal Class Reference

                  STK resonance model instrument. -More... -

                  -#include <Modal.h> +

                  Modal Class Reference

                  #include <Modal.h>

                  Inheritance diagram for Modal:

                  @@ -21,13 +18,20 @@ Stk ModalBar -List of all members. +List of all members.

                  Detailed Description

                  +STK resonance model instrument. +

                  +This class contains an excitation wavetable, an envelope, an oscillator, and N resonances (non-sweeping BiQuad filters), where N is set during instantiation.

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

                  + +

                  +Definition at line 23 of file Modal.h.

                  - + - + @@ -37,64 +41,138 @@ void  +virtual void  +void  +void  +void  +void  +virtual void  +void  +void  +void  +virtual StkFloat  - + + + + + + +

                  Public Member Functions

                  Modal (int modes=4)
                   Modal (unsigned int modes=4)
                   Class constructor, taking the desired number of modes to create.

                   Class constructor, taking the desired number of modes to create.

                  virtual ~Modal ()
                   Reset and clear all internal state.

                  -virtual void setFrequency (MY_FLOAT frequency)
                  setFrequency (StkFloat frequency)
                   Set instrument parameters for a particular frequency.

                  -void setRatioAndRadius (int modeIndex, MY_FLOAT ratio, MY_FLOAT radius)
                  setRatioAndRadius (unsigned int modeIndex, StkFloat ratio, StkFloat radius)
                   Set the ratio and radius for a specified mode filter.

                  -void setMasterGain (MY_FLOAT aGain)
                  setMasterGain (StkFloat aGain)
                   Set the master gain.

                  -void setDirectGain (MY_FLOAT aGain)
                  setDirectGain (StkFloat aGain)
                   Set the direct gain.

                  -void setModeGain (int modeIndex, MY_FLOAT gain)
                  setModeGain (unsigned int modeIndex, StkFloat gain)
                   Set the gain for a specified mode filter.

                  -virtual void strike (MY_FLOAT amplitude)
                  strike (StkFloat amplitude)
                   Initiate a strike with the given amplitude (0.0 - 1.0).

                  -void damp (MY_FLOAT amplitude)
                  damp (StkFloat amplitude)
                   Damp modes with a given decay factor (0.0 - 1.0).

                  -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                  noteOn (StkFloat frequency, StkFloat amplitude)
                   Start a note with the given frequency and amplitude.

                  -void noteOff (MY_FLOAT amplitude)
                  noteOff (StkFloat amplitude)
                   Stop a note with the given amplitude (speed of decay).

                  -virtual MY_FLOAT tick ()
                  tick ()
                   Compute one output sample.

                  -virtual void controlChange (int number, MY_FLOAT value)=0
                  +virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                   Computer vectorSize outputs and return them in vector.

                  virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
                   Fill a channel of the StkFrames object with computed outputs.

                  +virtual void controlChange (int number, StkFloat value)=0
                   Perform the control change specified by number and value (0.0 - 128.0).

                  -

                  Detailed Description

                  -STK resonance model instrument. -

                  -This class contains an excitation wavetable, an envelope, an oscillator, and N resonances (non-sweeping BiQuad filters), where N is set during instantiation.

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

                  +


                  Constructor & Destructor Documentation

                  +

                  + + + + +
                  + + + + + + + + + + +
                  Modal::Modal unsigned int  modes = 4  ) 
                  +
                  + + + + + +
                  +   +

                  -Definition at line 23 of file Modal.h.


                  The documentation for this class was generated from the following file:
                    +Class constructor, taking the desired number of modes to create. +

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

                  +


                  Member Function Documentation

                  +

                  + + + + +
                  + + + + + + + + + + + + + + + + + + + +
                  virtual StkFrames& Modal::tick StkFrames frames,
                  unsigned int  channel = 1
                  [virtual]
                  +
                  + + + + + +
                  +   + + +

                  +Fill a channel of the StkFrames object with computed outputs. +

                  +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                  +Reimplemented from Instrmnt.

                  +


                  The documentation for this class was generated from the following file:
                  - +
                  The Synthesis ToolKit in C++ (STK)
                  The Synthesis ToolKit in C++ (STK)
                  ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                  diff --git a/doc/html/classModalBar-members.html b/doc/html/classModalBar-members.html index a1f2171..c00514b 100644 --- a/doc/html/classModalBar-members.html +++ b/doc/html/classModalBar-members.html @@ -11,43 +11,47 @@

                  ModalBar Member List

                  This is the complete list of members for ModalBar, including all inherited members. - - - + + + + + - + - - - - - - - - - - - + + + + + + + + + - - - - - + + + + + + + - + + - + - + + @@ -55,7 +59,7 @@
                  clear()Modal
                  controlChange(int number, MY_FLOAT value)ModalBar [virtual]
                  damp(MY_FLOAT amplitude)Modal
                  handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                  controlChange(int number, StkFloat value)ModalBar [virtual]
                  damp(StkFloat amplitude)Modal
                  handleError(const char *message, StkError::Type type)Stk [static]
                  handleError(std::string message, StkError::Type type)Stk [static]
                  handleError(StkError::Type type)Stk [protected]
                  Instrmnt()Instrmnt
                  lastOut() const Instrmnt
                  lastOutLeft() const Instrmnt
                  lastOutRight() const Instrmnt
                  Modal(int modes=4)Modal
                  Modal(unsigned int modes=4)Modal
                  ModalBar()ModalBar
                  MY_FLOAT32Stk [static]
                  MY_FLOAT64Stk [static]
                  noteOff(MY_FLOAT amplitude)Modal [virtual]
                  noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Modal [virtual]
                  rawwavePath(void)Stk [static]
                  sampleRate(void)Stk [static]
                  setDirectGain(MY_FLOAT aGain)Modal
                  setFrequency(MY_FLOAT frequency)Modal [virtual]
                  setMasterGain(MY_FLOAT aGain)Modal
                  setModeGain(int modeIndex, MY_FLOAT gain)Modal
                  setModulationDepth(MY_FLOAT mDepth)ModalBar
                  noteOff(StkFloat amplitude)Modal [virtual]
                  noteOn(StkFloat frequency, StkFloat amplitude)Modal [virtual]
                  rawwavePath(void)Stk [inline, static]
                  sampleRate(void)Stk [inline, static]
                  setDirectGain(StkFloat aGain)Modal
                  setFrequency(StkFloat frequency)Modal [virtual]
                  setMasterGain(StkFloat aGain)Modal
                  setModeGain(unsigned int modeIndex, StkFloat gain)Modal
                  setModulationDepth(StkFloat mDepth)ModalBar
                  setPreset(int preset)ModalBar
                  setRatioAndRadius(int modeIndex, MY_FLOAT ratio, MY_FLOAT radius)Modal
                  setRawwavePath(std::string newPath)Stk [static]
                  setSampleRate(MY_FLOAT newRate)Stk [static]
                  setStickHardness(MY_FLOAT hardness)ModalBar
                  setStrikePosition(MY_FLOAT position)ModalBar
                  setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius)Modal
                  setRawwavePath(std::string path)Stk [static]
                  setSampleRate(StkFloat rate)Stk [inline, static]
                  setStickHardness(StkFloat hardness)ModalBar
                  setStrikePosition(StkFloat position)ModalBar
                  sleep(unsigned long milliseconds)Stk [static]
                  Stk(void)Stk [protected]
                  STK_FLOAT32Stk [static]
                  STK_FLOAT64Stk [static]
                  STK_SINT16Stk [static]
                  STK_SINT32Stk [static]
                  STK_SINT24Stk [static]
                  STK_SINT32Stk [static]
                  STK_SINT8Stk [static]
                  strike(MY_FLOAT amplitude)Modal [virtual]
                  strike(StkFloat amplitude)Modal [virtual]
                  swap16(unsigned char *ptr)Stk [static]
                  swap32(unsigned char *ptr)Stk [static]
                  swap64(unsigned char *ptr)Stk [static]
                  tick()Modal [virtual]
                  Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                  tick(StkFloat *vector, unsigned int vectorSize)Modal [virtual]
                  tick(StkFrames &frames, unsigned int channel=1)Modal [virtual]
                  ~Instrmnt()Instrmnt [virtual]
                  ~Modal()Modal [virtual]
                  ~ModalBar()ModalBar

                  - +
                  The Synthesis ToolKit in C++ (STK)
                  The Synthesis ToolKit in C++ (STK)
                  ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                  diff --git a/doc/html/classModalBar.html b/doc/html/classModalBar.html index ec16364..8b5ca30 100644 --- a/doc/html/classModalBar.html +++ b/doc/html/classModalBar.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                  -

                  ModalBar Class Reference

                  STK resonant bar instrument class. -More... -

                  -#include <ModalBar.h> +

                  ModalBar Class Reference

                  #include <ModalBar.h>

                  Inheritance diagram for ModalBar:

                  @@ -21,7 +18,20 @@ Instrmnt Stk -List of all members. +List of all members.

                  Detailed Description

                  +STK resonant bar instrument class. +

                  +This class implements a number of different struck bar instruments. It inherits from the Modal class.

                  +Control Change Numbers:

                    +
                  • Stick Hardness = 2
                  • Stick Position = 4
                  • Vibrato Gain = 1
                  • Vibrato Frequency = 11
                  • Direct Stick Mix = 8
                  • Volume = 128
                  • Modal Presets = 16
                      +
                    • Marimba = 0
                    • Vibraphone = 1
                    • Agogo = 2
                    • Wood1 = 3
                    • Reso = 4
                    • Wood2 = 5
                    • Beats = 6
                    • Two Fixed = 7
                    • Clump = 8
                    +
                  +

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

                  + +

                  +Definition at line 36 of file ModalBar.h.

                  +void  +void  +void  +void 

                  Public Member Functions

                  @@ -33,11 +43,11 @@
                   Class destructor.

                  -void setStickHardness (MY_FLOAT hardness)
                  setStickHardness (StkFloat hardness)
                   Set stick hardness (0.0 - 1.0).

                  -void setStrikePosition (MY_FLOAT position)
                  setStrikePosition (StkFloat position)
                   Set stick position (0.0 - 1.0).

                  @@ -45,33 +55,20 @@ void  Select a bar preset (currently modulo 9).

                  -void setModulationDepth (MY_FLOAT mDepth)
                  setModulationDepth (StkFloat mDepth)
                   Set the modulation (vibrato) depth.

                  -void controlChange (int number, MY_FLOAT value)
                  controlChange (int number, StkFloat value)
                   Perform the control change specified by number and value (0.0 - 128.0).

                  -

                  Detailed Description

                  -STK resonant bar instrument class. -

                  -This class implements a number of different struck bar instruments. It inherits from the Modal class.

                  -Control Change Numbers:

                    -
                  • Stick Hardness = 2
                  • Stick Position = 4
                  • Vibrato Gain = 11
                  • Vibrato Frequency = 7
                  • Volume = 128
                  • Modal Presets = 16
                      -
                    • Marimba = 0
                    • Vibraphone = 1
                    • Agogo = 2
                    • Wood1 = 3
                    • Reso = 4
                    • Wood2 = 5
                    • Beats = 6
                    • Two Fixed = 7
                    • Clump = 8
                    -
                  -

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

                  - -

                  -Definition at line 35 of file ModalBar.h.


                  The documentation for this class was generated from the following file:
                    +
                    The documentation for this class was generated from the following file:
                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classModulate-members.html b/doc/html/classModulate-members.html index cc4ad7c..0a61666 100644 --- a/doc/html/classModulate-members.html +++ b/doc/html/classModulate-members.html @@ -10,35 +10,41 @@

                    Modulate Member List

                    This is the complete list of members for Modulate, including all inherited members. - - + + + + + - - - + - - - - - - + + + + + + + + - + + - - + + + +
                    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                    lastOut() const Modulate
                    Generator()Generator
                    handleError(const char *message, StkError::Type type)Stk [static]
                    handleError(std::string message, StkError::Type type)Stk [static]
                    handleError(StkError::Type type)Stk [protected]
                    lastOut() const Generator [inline, virtual]
                    Modulate()Modulate
                    MY_FLOAT32Stk [static]
                    MY_FLOAT64Stk [static]
                    rawwavePath(void)Stk [static]
                    rawwavePath(void)Stk [inline, static]
                    reset()Modulate
                    sampleRate(void)Stk [static]
                    setRandomGain(MY_FLOAT aGain)Modulate
                    setRawwavePath(std::string newPath)Stk [static]
                    setSampleRate(MY_FLOAT newRate)Stk [static]
                    setVibratoGain(MY_FLOAT aGain)Modulate
                    setVibratoRate(MY_FLOAT aRate)Modulate
                    sampleRate(void)Stk [inline, static]
                    setRandomGain(StkFloat gain)Modulate
                    setRawwavePath(std::string path)Stk [static]
                    setSampleRate(StkFloat rate)Stk [inline, static]
                    setVibratoGain(StkFloat gain)Modulate
                    setVibratoRate(StkFloat rate)Modulate
                    sleep(unsigned long milliseconds)Stk [static]
                    Stk(void)Stk [protected]
                    STK_FLOAT32Stk [static]
                    STK_FLOAT64Stk [static]
                    STK_SINT16Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT24Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT8Stk [static]
                    swap16(unsigned char *ptr)Stk [static]
                    swap32(unsigned char *ptr)Stk [static]
                    swap64(unsigned char *ptr)Stk [static]
                    tick()Modulate
                    tick(MY_FLOAT *vector, unsigned int vectorSize)Modulate [virtual]
                    tick()Modulate [virtual]
                    tick(StkFloat *vector, unsigned int vectorSize)Modulate [virtual]
                    tick(StkFrames &frames, unsigned int channel=1)Modulate [virtual]
                    ~Generator()Generator [virtual]
                    ~Modulate()Modulate
                    ~Stk(void)Stk [protected, virtual]

                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classModulate.html b/doc/html/classModulate.html index b0a9b3e..d12c7de 100644 --- a/doc/html/classModulate.html +++ b/doc/html/classModulate.html @@ -9,23 +9,28 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                    -

                    Modulate Class Reference

                    STK periodic/random modulator. -More... -

                    -#include <Modulate.h> +

                    Modulate Class Reference

                    #include <Modulate.h>

                    Inheritance diagram for Modulate:

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

                    Detailed Description

                    +STK periodic/random modulator. +

                    +This class combines random and periodic modulations to give a nice, natural human modulation function.

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

                    + +

                    +Definition at line 21 of file Modulate.h.

                    - + - + @@ -35,44 +40,109 @@ void  +void  +void  +void  +StkFloat  +StkFloat *  - - + + - +

                    Public Member Functions

                    Modulate ()
                     Modulate ()
                     Class constructor.

                     Class constructor.

                     ~Modulate ()
                     Reset internal state.

                    -void setVibratoRate (MY_FLOAT aRate)
                    setVibratoRate (StkFloat rate)
                     Set the periodic (vibrato) rate or frequency in Hz.

                    -void setVibratoGain (MY_FLOAT aGain)
                    setVibratoGain (StkFloat gain)
                     Set the periodic (vibrato) gain.

                    -void setRandomGain (MY_FLOAT aGain)
                    setRandomGain (StkFloat gain)
                     Set the random modulation gain.

                    -MY_FLOAT tick ()
                    tick ()
                     Compute one output sample.

                    -virtual MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                    tick (StkFloat *vector, unsigned int vectorSize)
                     Return vectorSize outputs in vector.

                    -MY_FLOAT lastOut () const
                     Compute vectorSize outputs and return them in vector.

                    StkFramestick (StkFrames &frames, unsigned int channel=1)
                     Return the last computed output value.

                     Fill a channel of the StkFrames object with computed outputs.

                    -

                    Detailed Description

                    -STK periodic/random modulator. -

                    -This class combines random and periodic modulations to give a nice, natural human modulation function.

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

                    +


                    Constructor & Destructor Documentation

                    +

                    + + + + +
                    + + + + + + + + + +
                    Modulate::Modulate  ) 
                    +
                    + + + + + +
                    +   +

                    -Definition at line 21 of file Modulate.h.


                    The documentation for this class was generated from the following file:
                      +Class constructor. +

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

                    +


                    Member Function Documentation

                    +

                    + + + + +
                    + + + + + + + + + + + + + + + + + + + +
                    StkFrames& Modulate::tick StkFrames frames,
                    unsigned int  channel = 1
                    [virtual]
                    +
                    + + + + + +
                    +   + + +

                    +Fill a channel of the StkFrames object with computed outputs. +

                    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                    +Reimplemented from Generator.

                    +


                    The documentation for this class was generated from the following file:
                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classModulate.png b/doc/html/classModulate.png index 11fc772b262bf68d2403a435fdc3b5d6efc9e3f2..8a43be5fd5b6cd2ebefcf06818cb548e686db45f 100644 GIT binary patch delta 360 zcmV-u0hj)+0+0hCiBL{Q4GJ0x0000DNk~Le0000*0001p1Oos707KO~aFHQ1e*q>* zL_t(|ob8rNj>9krhRvpH!wujBqnQhJmHQu|fSuRGvaKqrqSUkj$9#g{iXsyJn)VZZ zrDa!V5QT-R42w_)BS^&cUd9ns88JOr*X(-gOx9fOm6?WS)uUyo#+2;4nVxs&V9(>$ zJIrG`hnc2!vmWNGa}8!NgE^16fAf52q(g@PF(lk#{FZeBGFi}hsvapVw~P)*_HP8z zxlFPw7l!k8N|-oWmvbE*>gbFHlZQoyyk4rY_F9-#!kj2Dj4p|jGVi5lOv|f2(6gw0(R%^x&vn+bxFgf??z{l)7Y-7Dps1Sw0000iv%}=*OH@A&ZG=vZ4hozrY`@dm82*QMLPU z0AYxM6d**h04_ojj#_Xk(5gfyl0-vLfUH3Qib$nJok9`G-+`x~Ltw}L1~89(Z?DbH zkH9UR1yVA4n85idCNO~su%ThjTk8d36aZXVEiA49ywC=K8I*Sq@{C?KDgbil43^N` z7O25>fb)J007^AH2C7@e{A5@I>}V)gnF4%n0q`}&1^;4vz&iGCuY7^wuVr2$00000 LNkvXXu0mjfg7arW diff --git a/doc/html/classMoog-members.html b/doc/html/classMoog-members.html index fc23c1b..1c15b2c 100644 --- a/doc/html/classMoog-members.html +++ b/doc/html/classMoog-members.html @@ -11,8 +11,10 @@

                    Moog Member List

                    This is the complete list of members for Moog, including all inherited members. - - + + + + @@ -20,28 +22,30 @@ - - - - - + + + - - - - - - + + + + + + + + - + + - + + @@ -49,7 +53,7 @@
                    clear()Sampler
                    controlChange(int number, MY_FLOAT value)Moog [virtual]
                    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                    controlChange(int number, StkFloat value)Moog [virtual]
                    handleError(const char *message, StkError::Type type)Stk [static]
                    handleError(std::string message, StkError::Type type)Stk [static]
                    handleError(StkError::Type type)Stk [protected]
                    Instrmnt()Instrmnt
                    keyOff()Sampler
                    keyOn()Sampler
                    lastOutLeft() const Instrmnt
                    lastOutRight() const Instrmnt
                    Moog()Moog
                    MY_FLOAT32Stk [static]
                    MY_FLOAT64Stk [static]
                    noteOff(MY_FLOAT amplitude)Sampler [virtual]
                    noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Moog [virtual]
                    rawwavePath(void)Stk [static]
                    noteOff(StkFloat amplitude)Sampler [virtual]
                    noteOn(StkFloat frequency, StkFloat amplitude)Moog [virtual]
                    rawwavePath(void)Stk [inline, static]
                    Sampler()Sampler
                    sampleRate(void)Stk [static]
                    setFrequency(MY_FLOAT frequency)Moog [virtual]
                    setModulationDepth(MY_FLOAT mDepth)Moog
                    setModulationSpeed(MY_FLOAT mSpeed)Moog
                    setRawwavePath(std::string newPath)Stk [static]
                    setSampleRate(MY_FLOAT newRate)Stk [static]
                    sampleRate(void)Stk [inline, static]
                    setFrequency(StkFloat frequency)Moog [virtual]
                    setModulationDepth(StkFloat mDepth)Moog
                    setModulationSpeed(StkFloat mSpeed)Moog
                    setRawwavePath(std::string path)Stk [static]
                    setSampleRate(StkFloat rate)Stk [inline, static]
                    sleep(unsigned long milliseconds)Stk [static]
                    Stk(void)Stk [protected]
                    STK_FLOAT32Stk [static]
                    STK_FLOAT64Stk [static]
                    STK_SINT16Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT24Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT8Stk [static]
                    swap16(unsigned char *ptr)Stk [static]
                    swap32(unsigned char *ptr)Stk [static]
                    swap64(unsigned char *ptr)Stk [static]
                    tick()Moog [virtual]
                    Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                    tick(StkFloat *vector, unsigned int vectorSize)Moog [virtual]
                    tick(StkFrames &frames, unsigned int channel=1)Moog [virtual]
                    ~Instrmnt()Instrmnt [virtual]
                    ~Moog()Moog
                    ~Sampler()Sampler [virtual]

                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classMoog.html b/doc/html/classMoog.html index 8d46cb4..60d91b1 100644 --- a/doc/html/classMoog.html +++ b/doc/html/classMoog.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                    -

                    Moog Class Reference

                    STK moog-like swept filter sampling synthesis class. -More... -

                    -#include <Moog.h> +

                    Moog Class Reference

                    #include <Moog.h>

                    Inheritance diagram for Moog:

                    @@ -21,59 +18,139 @@ Instrmnt Stk -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - -

                    Public Member Functions

                    Moog ()
                     Class constructor.

                    ~Moog ()
                     Class destructor.

                    -virtual void setFrequency (MY_FLOAT frequency)
                     Set instrument parameters for a particular frequency.

                    -virtual void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                     Start a note with the given frequency and amplitude.

                    -void setModulationSpeed (MY_FLOAT mSpeed)
                     Set the modulation (vibrato) speed in Hz.

                    -void setModulationDepth (MY_FLOAT mDepth)
                     Set the modulation (vibrato) depth.

                    -virtual MY_FLOAT tick ()
                     Compute one output sample.

                    -virtual void controlChange (int number, MY_FLOAT value)
                     Perform the control change specified by number and value (0.0 - 128.0).

                    -

                    Detailed Description

                    +List of all members.

                    Detailed Description

                    STK moog-like swept filter sampling synthesis class.

                    This instrument uses one attack wave, one looped wave, and an ADSR envelope (inherited from the Sampler class) and adds two sweepable formant (FormSwep) filters.

                    Control Change Numbers:

                    • Filter Q = 2
                    • Filter Sweep Rate = 4
                    • Vibrato Frequency = 11
                    • Vibrato Gain = 1
                    • Gain = 128

                    -by Perry R. Cook and Gary P. Scavone, 1995 - 2002. +by Perry R. Cook and Gary P. Scavone, 1995 - 2004.

                    -Definition at line 27 of file Moog.h.


                    The documentation for this class was generated from the following file:
                      +Definition at line 27 of file Moog.h. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                      Public Member Functions

                       Moog ()
                       Class constructor.

                      ~Moog ()
                       Class destructor.

                      +void setFrequency (StkFloat frequency)
                       Set instrument parameters for a particular frequency.

                      +void noteOn (StkFloat frequency, StkFloat amplitude)
                       Start a note with the given frequency and amplitude.

                      +void setModulationSpeed (StkFloat mSpeed)
                       Set the modulation (vibrato) speed in Hz.

                      +void setModulationDepth (StkFloat mDepth)
                       Set the modulation (vibrato) depth.

                      +StkFloat tick ()
                       Compute one output sample.

                      +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                       Computer vectorSize outputs and return them in vector.

                      StkFramestick (StkFrames &frames, unsigned int channel=1)
                       Fill a channel of the StkFrames object with computed outputs.

                      +void controlChange (int number, StkFloat value)
                       Perform the control change specified by number and value (0.0 - 128.0).

                      +

                      Constructor & Destructor Documentation

                      +

                      + + + + +
                      + + + + + + + + + +
                      Moog::Moog  ) 
                      +
                      + + + + + +
                      +   + + +

                      +Class constructor. +

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

                      +


                      Member Function Documentation

                      +

                      + + + + +
                      + + + + + + + + + + + + + + + + + + + +
                      StkFrames& Moog::tick StkFrames frames,
                      unsigned int  channel = 1
                      [virtual]
                      +
                      + + + + + +
                      +   + + +

                      +Fill a channel of the StkFrames object with computed outputs. +

                      +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                      +Implements Sampler.

                      +


                      The documentation for this class was generated from the following file:
                      - +
                      The Synthesis ToolKit in C++ (STK)
                      The Synthesis ToolKit in C++ (STK)
                      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                      diff --git a/doc/html/classBowTabl-members.html b/doc/html/classMutex-members.html similarity index 56% rename from doc/html/classBowTabl-members.html rename to doc/html/classMutex-members.html index fd2d50e..6b7dd7c 100644 --- a/doc/html/classBowTabl-members.html +++ b/doc/html/classMutex-members.html @@ -9,34 +9,36 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                      -

                      BowTabl Member List

                      This is the complete list of members for BowTabl, including all inherited members. - - - - - - - - - - - +

                      Mutex Member List

                      This is the complete list of members for Mutex, including all inherited members.
                      BowTabl()BowTabl
                      handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                      lastOut(void) const BowTabl
                      MY_FLOAT32Stk [static]
                      MY_FLOAT64Stk [static]
                      rawwavePath(void)Stk [static]
                      sampleRate(void)Stk [static]
                      setOffset(MY_FLOAT aValue)BowTabl
                      setRawwavePath(std::string newPath)Stk [static]
                      setSampleRate(MY_FLOAT newRate)Stk [static]
                      setSlope(MY_FLOAT aValue)BowTabl
                      + + + + + + + + + + + + - + + - - - + + +
                      handleError(const char *message, StkError::Type type)Stk [static]
                      handleError(std::string message, StkError::Type type)Stk [static]
                      handleError(StkError::Type type)Stk [protected]
                      lock(void)Mutex
                      Mutex()Mutex
                      rawwavePath(void)Stk [inline, static]
                      sampleRate(void)Stk [inline, static]
                      setRawwavePath(std::string path)Stk [static]
                      setSampleRate(StkFloat rate)Stk [inline, static]
                      signal(void)Mutex
                      sleep(unsigned long milliseconds)Stk [static]
                      Stk(void)Stk [protected]
                      STK_FLOAT32Stk [static]
                      STK_FLOAT64Stk [static]
                      STK_SINT16Stk [static]
                      STK_SINT32Stk [static]
                      STK_SINT24Stk [static]
                      STK_SINT32Stk [static]
                      STK_SINT8Stk [static]
                      swap16(unsigned char *ptr)Stk [static]
                      swap32(unsigned char *ptr)Stk [static]
                      swap64(unsigned char *ptr)Stk [static]
                      tick(const MY_FLOAT input)BowTabl
                      tick(MY_FLOAT *vector, unsigned int vectorSize)BowTabl
                      ~BowTabl()BowTabl
                      unlock(void)Mutex
                      wait(void)Mutex
                      ~Mutex()Mutex
                      ~Stk(void)Stk [protected, virtual]

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

                      +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                      +
                      + +

                      Mutex Class Reference

                      #include <Mutex.h> +

                      +

                      Inheritance diagram for Mutex: +

                      + +Stk + +List of all members.

                      Detailed Description

                      +STK mutex class. +

                      +This class provides a uniform interface for cross-platform mutex use. On Linux and IRIX systems, the pthread library is used. Under Windows, critical sections are used.

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

                      + +

                      +Definition at line 34 of file Mutex.h. + + + + + + + + + + + + + + + + + + + + +

                      Public Member Functions

                      Mutex ()
                       Default constructor.

                      ~Mutex ()
                       Class destructor.

                      +void lock (void)
                       Lock the mutex.

                      +void unlock (void)
                       Unlock the mutex.

                      void wait (void)
                       Wait indefinitely on the mutex condition variable.

                      void signal (void)
                       Signal the condition variable.

                      +


                      Member Function Documentation

                      +

                      + + + + +
                      + + + + + + + + + + +
                      void Mutex::wait void   ) 
                      +
                      + + + + + +
                      +   + + +

                      +Wait indefinitely on the mutex condition variable. +

                      +The mutex must be locked before calling this function, and then subsequently unlocked after this function returns.

                      +

                      + + + + +
                      + + + + + + + + + + +
                      void Mutex::signal void   ) 
                      +
                      + + + + + +
                      +   + + +

                      +Signal the condition variable. +

                      +The mutex must be locked before calling this function, and then subsequently unlocked after this function returns.

                      +


                      The documentation for this class was generated from the following file: +
                      + + + + +
                      The Synthesis ToolKit in C++ (STK)
                      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                      + + + diff --git a/doc/html/classMutex.png b/doc/html/classMutex.png new file mode 100644 index 0000000000000000000000000000000000000000..72a7010a1c13ecd020a9f80e8f6b7b7d3aec5464 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^dO#e&!VDy*?2pCyS|6W1YdP=Hdd8odQ@ppWTy^8Auc3?Zx|4bLZ>bplt*rZMzyHzX>Q4;%df`>i Td3?QrZf5Xw^>bP0l+XkK!Wns< literal 0 HcmV?d00001 diff --git a/doc/html/classNRev-members.html b/doc/html/classNRev-members.html index d7319c9..6692552 100644 --- a/doc/html/classNRev-members.html +++ b/doc/html/classNRev-members.html @@ -11,36 +11,41 @@

                      NRev Member List

                      This is the complete list of members for NRev, including all inherited members. - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + + - - + + + + -
                      clear()NRev [virtual]
                      handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                      lastOut() const Reverb
                      lastOutLeft() const Reverb
                      lastOutRight() const Reverb
                      MY_FLOAT32Stk [static]
                      MY_FLOAT64Stk [static]
                      NRev(MY_FLOAT T60)NRev
                      rawwavePath(void)Stk [static]
                      Reverb()Reverb
                      sampleRate(void)Stk [static]
                      setEffectMix(MY_FLOAT mix)Reverb
                      setRawwavePath(std::string newPath)Stk [static]
                      setSampleRate(MY_FLOAT newRate)Stk [static]
                      Effect()Effect
                      handleError(const char *message, StkError::Type type)Stk [static]
                      handleError(std::string message, StkError::Type type)Stk [static]
                      handleError(StkError::Type type)Stk [protected]
                      lastOut() const Effect
                      lastOutLeft() const Effect
                      lastOutRight() const Effect
                      NRev(StkFloat T60=1.0)NRev
                      rawwavePath(void)Stk [inline, static]
                      sampleRate(void)Stk [inline, static]
                      setEffectMix(StkFloat mix)Effect
                      setRawwavePath(std::string path)Stk [static]
                      setSampleRate(StkFloat rate)Stk [inline, static]
                      setT60(StkFloat T60)NRev
                      sleep(unsigned long milliseconds)Stk [static]
                      Stk(void)Stk [protected]
                      STK_FLOAT32Stk [static]
                      STK_FLOAT64Stk [static]
                      STK_SINT16Stk [static]
                      STK_SINT32Stk [static]
                      STK_SINT24Stk [static]
                      STK_SINT32Stk [static]
                      STK_SINT8Stk [static]
                      swap16(unsigned char *ptr)Stk [static]
                      swap32(unsigned char *ptr)Stk [static]
                      swap64(unsigned char *ptr)Stk [static]
                      tick(MY_FLOAT input)NRev [virtual]
                      Reverb::tick(MY_FLOAT *vector, unsigned int vectorSize)Reverb [virtual]
                      tick(StkFloat input)NRev [virtual]
                      tick(StkFloat *vector, unsigned int vectorSize)NRev [virtual]
                      tick(StkFrames &frames, unsigned int channel=1)NRev [virtual]
                      ~Effect()Effect [virtual]
                      ~NRev()NRev
                      ~Reverb()Reverb [virtual]
                      ~Stk(void)Stk [protected, virtual]

                      - +
                      The Synthesis ToolKit in C++ (STK)
                      The Synthesis ToolKit in C++ (STK)
                      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                      diff --git a/doc/html/classNRev.html b/doc/html/classNRev.html index 4d8191c..423f235 100644 --- a/doc/html/classNRev.html +++ b/doc/html/classNRev.html @@ -9,24 +9,29 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                      -

                      NRev Class Reference

                      CCRMA's NRev reverberator class. -More... -

                      -#include <NRev.h> +

                      NRev Class Reference

                      #include <NRev.h>

                      Inheritance diagram for NRev:

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

                      Detailed Description

                      +CCRMA's NRev reverberator class. +

                      +This class is derived from the CLM NRev function, which is based on the use of networks of simple allpass and comb delay filters. This particular arrangement consists of 6 comb filters in parallel, followed by 3 allpass filters, a lowpass filter, and another allpass in series, followed by two allpass filters in parallel with corresponding right and left outputs.

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

                      + +

                      +Definition at line 25 of file NRev.h.

                      +  - + @@ -35,25 +40,71 @@ void  - + + + + + + + + + +

                      Public Member Functions

                      NRev (MY_FLOAT T60)
                      NRev (StkFloat T60=1.0)
                       Class constructor taking a T60 decay time argument.

                       Class constructor taking a T60 decay time argument (one second default value).

                       ~NRev ()
                      clear ()
                       Reset and clear all internal state.

                      -MY_FLOAT tick (MY_FLOAT input)
                      +void setT60 (StkFloat T60)
                       Set the reverberation T60 decay time.

                      +StkFloat tick (StkFloat input)
                       Compute one output sample.

                      +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                       Take vectorSize inputs, compute the same number of outputs and return them in vector.

                      StkFramestick (StkFrames &frames, unsigned int channel=1)
                       Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.

                      -

                      Detailed Description

                      -CCRMA's NRev reverberator class. -

                      -This class is derived from the CLM NRev function, which is based on the use of networks of simple allpass and comb delay filters. This particular arrangement consists of 6 comb filters in parallel, followed by 3 allpass filters, a lowpass filter, and another allpass in series, followed by two allpass filters in parallel with corresponding right and left outputs.

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

                      +


                      Member Function Documentation

                      +

                      + + + + +
                      + + + + + + + + + + + + + + + + + + + +
                      StkFrames& NRev::tick StkFrames frames,
                      unsigned int  channel = 1
                      [virtual]
                      +
                      + + + + + +
                      +   +

                      -Definition at line 25 of file NRev.h.


                      The documentation for this class was generated from the following file:
                        +Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs. +

                        +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                        +Reimplemented from Effect.

                      +


                      The documentation for this class was generated from the following file:
                      - +
                      The Synthesis ToolKit in C++ (STK)
                      The Synthesis ToolKit in C++ (STK)
                      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                      diff --git a/doc/html/classNRev.png b/doc/html/classNRev.png index 16b87746e85a31b57030e6d984e8d8b7da41c837..85b61ab59ff20958d786596343a1197801514985 100644 GIT binary patch delta 288 zcmV+*0pI@I0?Gm*iBL{Q4GJ0x0000DNk~Le0000j0001p1Oos70D8`7y}~dJ(DA<#%VsVa-wB9i`p}rktNO-hoNSD{fCXd!KNP0u7O>)W43K} z(~%v`xop{N_Cxyv0kn6iGOo7;f5jmEapgj>ur`wYMlOUTf9*0~ZE}=xv^$l@sO`yO z%$iA}+!3kInN|Yg@0{OwpVQddAC@hf)4;6Yg4yIOi|610RD)!$ZBoXCY_h7Lns@%w z{63#*ab&tL?)#h}_jHQ+GT$q0v%Z|Ox1;ZDej9v)PawhB1#r@NwEzGB2>?k&PDHLk FV1i*|lDGf> diff --git a/doc/html/classNoise-members.html b/doc/html/classNoise-members.html index 5241abe..88c2cf4 100644 --- a/doc/html/classNoise-members.html +++ b/doc/html/classNoise-members.html @@ -10,33 +10,39 @@

                      Noise Member List

                      This is the complete list of members for Noise, including all inherited members. - - - - + + + + + - - - - + + + + + + - + + - + + +
                      handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                      lastOut() const Noise
                      MY_FLOAT32Stk [static]
                      MY_FLOAT64Stk [static]
                      Generator()Generator
                      handleError(const char *message, StkError::Type type)Stk [static]
                      handleError(std::string message, StkError::Type type)Stk [static]
                      handleError(StkError::Type type)Stk [protected]
                      lastOut() const Generator [inline, virtual]
                      Noise()Noise
                      Noise(unsigned int seed)Noise
                      rawwavePath(void)Stk [static]
                      sampleRate(void)Stk [static]
                      setRawwavePath(std::string newPath)Stk [static]
                      setSampleRate(MY_FLOAT newRate)Stk [static]
                      rawwavePath(void)Stk [inline, static]
                      sampleRate(void)Stk [inline, static]
                      setRawwavePath(std::string path)Stk [static]
                      setSampleRate(StkFloat rate)Stk [inline, static]
                      setSeed(unsigned int seed=0)Noise
                      sleep(unsigned long milliseconds)Stk [static]
                      Stk(void)Stk [protected]
                      STK_FLOAT32Stk [static]
                      STK_FLOAT64Stk [static]
                      STK_SINT16Stk [static]
                      STK_SINT32Stk [static]
                      STK_SINT24Stk [static]
                      STK_SINT32Stk [static]
                      STK_SINT8Stk [static]
                      swap16(unsigned char *ptr)Stk [static]
                      swap32(unsigned char *ptr)Stk [static]
                      swap64(unsigned char *ptr)Stk [static]
                      tick()Noise [virtual]
                      tick(MY_FLOAT *vector, unsigned int vectorSize)Noise [virtual]
                      tick(StkFloat *vector, unsigned int vectorSize)Noise [virtual]
                      tick(StkFrames &frames, unsigned int channel=1)Noise [virtual]
                      ~Generator()Generator [virtual]
                      ~Noise()Noise [virtual]
                      ~Stk(void)Stk [protected, virtual]

                      - +
                      The Synthesis ToolKit in C++ (STK)
                      The Synthesis ToolKit in C++ (STK)
                      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                      diff --git a/doc/html/classNoise.html b/doc/html/classNoise.html index 160f96a..0924d42 100644 --- a/doc/html/classNoise.html +++ b/doc/html/classNoise.html @@ -9,18 +9,24 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                      -

                      Noise Class Reference

                      STK noise generator. -More... -

                      -#include <Noise.h> +

                      Noise Class Reference

                      #include <Noise.h>

                      Inheritance diagram for Noise:

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

                      Detailed Description

                      +STK noise generator. +

                      +Generic random number generation using the C rand() function. The quality of the rand() function varies from one OS to another.

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

                      + +

                      +Definition at line 18 of file Noise.h.

                      +virtual StkFloat  +virtual StkFloat *  - - + + - +

                      Public Member Functions

                      @@ -38,27 +44,18 @@ virtual  Seed the random number generator with a specific seed value.

                      -virtual MY_FLOAT tick ()
                      tick ()
                       Return a random number between -1.0 and 1.0 using rand().

                      -virtual MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                      tick (StkFloat *vector, unsigned int vectorSize)
                       Return vectorSize random numbers between -1.0 and 1.0 in vector.

                      -MY_FLOAT lastOut () const
                       Compute vectorSize outputs and return them in vector.

                      virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
                       Return the last computed value.

                       Fill a channel of the StkFrames object with computed outputs.

                      -

                      Detailed Description

                      -STK noise generator. -

                      -Generic random number generation using the C rand() function. The quality of the rand() function varies from one OS to another.

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

                      - -

                      -Definition at line 18 of file Noise.h.


                      Constructor & Destructor Documentation

                      +

                      Constructor & Destructor Documentation

                      @@ -122,12 +119,56 @@ Seed the random number generator with a specific seed value. If no seed is provided or the seed value is zero, the random number generator is seeded with the current system time.
                      +

                      + + + + +
                      + + + + + + + + + + + + + + + + + + + +
                      virtual StkFrames& Noise::tick StkFrames frames,
                      unsigned int  channel = 1
                      [virtual]
                      +
                      + + + + + +
                      +   + + +

                      +Fill a channel of the StkFrames object with computed outputs. +

                      +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                      +Reimplemented from Generator. +

                      +Reimplemented in SubNoise.


                      The documentation for this class was generated from the following file:
                      - +
                      The Synthesis ToolKit in C++ (STK)
                      The Synthesis ToolKit in C++ (STK)
                      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                      diff --git a/doc/html/classNoise.png b/doc/html/classNoise.png index 7369d98685dc480f38d3b4486e3c3320452bfa13..608804fe933d0c68f693269441268053d85d99d9 100644 GIT binary patch delta 451 zcmV;!0X+VQ1M34JiBL{Q4GJ0x0000DNk~Le0000*0002M1Oos70HEHpagiZ3e}PFv zK~#90?U-$fgfI+-_0Rq`xj}M*W#>Wz1K$4#nG;CTs8<|H%#?3u%qYwVVVJ^PWaNI-E77^re={x2P-e!+ zNUZP%s*J`gH#8$fT+N^_oB<^D$)z)qV=u2G~5 z`*D6x0)UCpA&416f&r1dDoP)A z6Z7}e#A%+NCjO^65fCYgg>l8$X6>q0JLgUB}` zbqL8~gjC6L*dAeNnnaFtq^Orpd>RqI4ci#s+d&Ls5RVeuANa3>`&%eR5zX_N-=p6I zaq)OcAX6g;*-c^>#S!XA>QI%1dzC_fSV|+SyEOY)l>%>e%uBBcU8*~@HH;_?;7aL^ xSWNqh0Mnrr8#?qnp!CA+US9KDjzNU}_6L1F=-jB7!Epcp002ovPDHLkV1n2wm52ZU diff --git a/doc/html/classOnePole-members.html b/doc/html/classOnePole-members.html index 4fcfac1..f239d26 100644 --- a/doc/html/classOnePole-members.html +++ b/doc/html/classOnePole-members.html @@ -12,42 +12,46 @@

                      OnePole Member List

                      This is the complete list of members for OnePole, including all inherited members. - + - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + + - - + + +
                      clear(void)OnePole
                      Filter(void)Filter [protected]
                      Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
                      Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
                      getGain(void) const OnePole [virtual]
                      handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                      handleError(const char *message, StkError::Type type)Stk [protected, static]
                      handleError(std::string message, StkError::Type type)Stk [protected, static]
                      handleError(StkError::Type type)Stk [protected]
                      lastOut(void) const OnePole [virtual]
                      MY_FLOAT32Stk [protected, static]
                      MY_FLOAT64Stk [protected, static]
                      OnePole()OnePole
                      OnePole(MY_FLOAT thePole)OnePole
                      rawwavePath(void)Stk [protected, static]
                      sampleRate(void)Stk [protected, static]
                      setA1(MY_FLOAT a1)OnePole
                      setB0(MY_FLOAT b0)OnePole
                      setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
                      setDenominator(int na, MY_FLOAT *aCoefficients)Filter [protected]
                      setGain(MY_FLOAT theGain)OnePole [virtual]
                      setNumerator(int nb, MY_FLOAT *bCoefficients)Filter [protected]
                      setPole(MY_FLOAT thePole)OnePole
                      setRawwavePath(std::string newPath)Stk [protected, static]
                      setSampleRate(MY_FLOAT newRate)Stk [protected, static]
                      OnePole(StkFloat thePole)OnePole
                      rawwavePath(void)Stk [inline, protected, static]
                      sampleRate(void)Stk [inline, protected, static]
                      setA1(StkFloat a1)OnePole
                      setB0(StkFloat b0)OnePole
                      setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
                      setDenominator(std::vector< StkFloat > &aCoefficients)Filter [protected]
                      setGain(StkFloat gain)OnePole [virtual]
                      setNumerator(std::vector< StkFloat > &bCoefficients)Filter [protected]
                      setPole(StkFloat thePole)OnePole
                      setRawwavePath(std::string path)Stk [protected, static]
                      setSampleRate(StkFloat rate)Stk [inline, protected, static]
                      sleep(unsigned long milliseconds)Stk [protected, static]
                      Stk(void)Stk [protected]
                      STK_FLOAT32Stk [protected, static]
                      STK_FLOAT64Stk [protected, static]
                      STK_SINT16Stk [protected, static]
                      STK_SINT32Stk [protected, static]
                      STK_SINT24Stk [protected, static]
                      STK_SINT32Stk [protected, static]
                      STK_SINT8Stk [protected, static]
                      swap16(unsigned char *ptr)Stk [protected, static]
                      swap32(unsigned char *ptr)Stk [protected, static]
                      swap64(unsigned char *ptr)Stk [protected, static]
                      tick(MY_FLOAT sample)OnePole [virtual]
                      tick(MY_FLOAT *vector, unsigned int vectorSize)OnePole [virtual]
                      tick(StkFloat sample)OnePole [virtual]
                      tick(StkFloat *vector, unsigned int vectorSize)OnePole [virtual]
                      tick(StkFrames &frames, unsigned int channel=1)OnePole [virtual]
                      ~Filter(void)Filter [protected, virtual]
                      ~OnePole()OnePole
                      ~Stk(void)Stk [protected, virtual]

                      - +
                      The Synthesis ToolKit in C++ (STK)
                      The Synthesis ToolKit in C++ (STK)
                      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                      diff --git a/doc/html/classOnePole.html b/doc/html/classOnePole.html index 61c4a25..a70c67a 100644 --- a/doc/html/classOnePole.html +++ b/doc/html/classOnePole.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                      -

                      OnePole Class Reference

                      STK one-pole filter class. -More... -

                      -#include <OnePole.h> +

                      OnePole Class Reference

                      #include <OnePole.h>

                      Inheritance diagram for OnePole:

                      @@ -20,7 +17,15 @@ Filter Stk -List of all members. +List of all members.

                      Detailed Description

                      +STK one-pole filter class. +

                      +This protected Filter subclass implements a one-pole digital filter. A method is provided for setting the pole position along the real axis of the z-plane while maintaining a constant peak filter gain.

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

                      + +

                      +Definition at line 20 of file OnePole.h.

                      +  +void  +void  - + - + +StkFloat  +StkFloat  +StkFloat  +StkFloat *  -

                      Public Member Functions

                      @@ -28,7 +33,7 @@
                       Default constructor creates a first-order low-pass filter.

                      OnePole (MY_FLOAT thePole)
                      OnePole (StkFloat thePole)
                       Overloaded constructor which sets the pole position during instantiation.

                      @@ -40,45 +45,40 @@ void  Clears the internal state of the filter.

                      -void setB0 (MY_FLOAT b0)
                      setB0 (StkFloat b0)
                       Set the b[0] coefficient value.

                      -void setA1 (MY_FLOAT a1)
                      setA1 (StkFloat a1)
                       Set the a[1] coefficient value.

                      void setPole (MY_FLOAT thePole)
                      void setPole (StkFloat thePole)
                       Set the pole position in the z-plane.

                      void setGain (MY_FLOAT theGain)
                      void setGain (StkFloat gain)
                       Set the filter gain.

                      -MY_FLOAT getGain (void) const
                      getGain (void) const
                       Return the current filter gain.

                      -MY_FLOAT lastOut (void) const
                      lastOut (void) const
                       Return the last computed output value.

                      -MY_FLOAT tick (MY_FLOAT sample)
                      tick (StkFloat sample)
                       Input one sample to the filter and return one output.

                      -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                      tick (StkFloat *vector, unsigned int vectorSize)
                       Input vectorSize samples to the filter and return an equal number of outputs in vector.

                      -

                      Detailed Description

                      -STK one-pole filter class. -

                      -This protected Filter subclass implements a one-pole digital filter. A method is provided for setting the pole position along the real axis of the z-plane while maintaining a constant peak filter gain.

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

                      +

                StkFramestick (StkFrames &frames, unsigned int channel=1)
                 Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.

                +


                Member Function Documentation

                @@ -87,7 +87,7 @@ Definition at line 20 of - + @@ -118,8 +118,8 @@ This method sets the pole position along the real-axis of the z-plane and normal - - + + @@ -143,12 +143,54 @@ The gain is applied at the filter input and does not affect the coefficient valu Reimplemented from Filter.
                void OnePole::setPole MY_FLOAT StkFloat  thePole  ) 
                void OnePole::setGain MY_FLOAT  theGain StkFloat  gain  )  [virtual]
                +

                + + + + +
                + + + + + + + + + + + + + + + + + + + +
                StkFrames& OnePole::tick StkFrames frames,
                unsigned int  channel = 1
                [virtual]
                +
                + + + + + +
                +   + + +

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

                +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                +Reimplemented from Filter.


                The documentation for this class was generated from the following file:
                - +
                The Synthesis ToolKit in C++ (STK)
                The Synthesis ToolKit in C++ (STK)
                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/classOneZero-members.html b/doc/html/classOneZero-members.html index d95c4a0..6a04eca 100644 --- a/doc/html/classOneZero-members.html +++ b/doc/html/classOneZero-members.html @@ -12,42 +12,46 @@

                OneZero Member List

                This is the complete list of members for OneZero, including all inherited members. - + - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + + - - + + +
                clear(void)OneZero
                Filter(void)Filter [protected]
                Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
                Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
                getGain(void) const OneZero [virtual]
                handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                handleError(const char *message, StkError::Type type)Stk [protected, static]
                handleError(std::string message, StkError::Type type)Stk [protected, static]
                handleError(StkError::Type type)Stk [protected]
                lastOut(void) const OneZero [virtual]
                MY_FLOAT32Stk [protected, static]
                MY_FLOAT64Stk [protected, static]
                OneZero()OneZero
                OneZero(MY_FLOAT theZero)OneZero
                rawwavePath(void)Stk [protected, static]
                sampleRate(void)Stk [protected, static]
                setB0(MY_FLOAT b0)OneZero
                setB1(MY_FLOAT b1)OneZero
                setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
                setDenominator(int na, MY_FLOAT *aCoefficients)Filter [protected]
                setGain(MY_FLOAT theGain)OneZero [virtual]
                setNumerator(int nb, MY_FLOAT *bCoefficients)Filter [protected]
                setRawwavePath(std::string newPath)Stk [protected, static]
                setSampleRate(MY_FLOAT newRate)Stk [protected, static]
                setZero(MY_FLOAT theZero)OneZero
                OneZero(StkFloat theZero)OneZero
                rawwavePath(void)Stk [inline, protected, static]
                sampleRate(void)Stk [inline, protected, static]
                setB0(StkFloat b0)OneZero
                setB1(StkFloat b1)OneZero
                setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
                setDenominator(std::vector< StkFloat > &aCoefficients)Filter [protected]
                setGain(StkFloat gain)OneZero [virtual]
                setNumerator(std::vector< StkFloat > &bCoefficients)Filter [protected]
                setRawwavePath(std::string path)Stk [protected, static]
                setSampleRate(StkFloat rate)Stk [inline, protected, static]
                setZero(StkFloat theZero)OneZero
                sleep(unsigned long milliseconds)Stk [protected, static]
                Stk(void)Stk [protected]
                STK_FLOAT32Stk [protected, static]
                STK_FLOAT64Stk [protected, static]
                STK_SINT16Stk [protected, static]
                STK_SINT32Stk [protected, static]
                STK_SINT24Stk [protected, static]
                STK_SINT32Stk [protected, static]
                STK_SINT8Stk [protected, static]
                swap16(unsigned char *ptr)Stk [protected, static]
                swap32(unsigned char *ptr)Stk [protected, static]
                swap64(unsigned char *ptr)Stk [protected, static]
                tick(MY_FLOAT sample)OneZero [virtual]
                tick(MY_FLOAT *vector, unsigned int vectorSize)OneZero [virtual]
                tick(StkFloat sample)OneZero [virtual]
                tick(StkFloat *vector, unsigned int vectorSize)OneZero [virtual]
                tick(StkFrames &frames, unsigned int channel=1)OneZero [virtual]
                ~Filter(void)Filter [protected, virtual]
                ~OneZero()OneZero
                ~Stk(void)Stk [protected, virtual]

                - +
                The Synthesis ToolKit in C++ (STK)
                The Synthesis ToolKit in C++ (STK)
                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/classOneZero.html b/doc/html/classOneZero.html index 4872160..a647453 100644 --- a/doc/html/classOneZero.html +++ b/doc/html/classOneZero.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                -

                OneZero Class Reference

                STK one-zero filter class. -More... -

                -#include <OneZero.h> +

                OneZero Class Reference

                #include <OneZero.h>

                Inheritance diagram for OneZero:

                @@ -20,7 +17,15 @@ Filter Stk -List of all members. +List of all members.

                Detailed Description

                +STK one-zero filter class. +

                +This protected Filter subclass implements a one-zero digital filter. A method is provided for setting the zero position along the real axis of the z-plane while maintaining a constant filter gain.

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

                + +

                +Definition at line 20 of file OneZero.h.

                +  +void  +void  - + - + +StkFloat  +StkFloat  +StkFloat  +StkFloat *  -

                Public Member Functions

                @@ -28,7 +33,7 @@
                 Default constructor creates a first-order low-pass filter.

                OneZero (MY_FLOAT theZero)
                OneZero (StkFloat theZero)
                 Overloaded constructor which sets the zero position during instantiation.

                @@ -40,45 +45,40 @@ void  Clears the internal state of the filter.

                -void setB0 (MY_FLOAT b0)
                setB0 (StkFloat b0)
                 Set the b[0] coefficient value.

                -void setB1 (MY_FLOAT b1)
                setB1 (StkFloat b1)
                 Set the b[1] coefficient value.

                void setZero (MY_FLOAT theZero)
                void setZero (StkFloat theZero)
                 Set the zero position in the z-plane.

                void setGain (MY_FLOAT theGain)
                void setGain (StkFloat gain)
                 Set the filter gain.

                -MY_FLOAT getGain (void) const
                getGain (void) const
                 Return the current filter gain.

                -MY_FLOAT lastOut (void) const
                lastOut (void) const
                 Return the last computed output value.

                -MY_FLOAT tick (MY_FLOAT sample)
                tick (StkFloat sample)
                 Input one sample to the filter and return one output.

                -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                tick (StkFloat *vector, unsigned int vectorSize)
                 Input vectorSize samples to the filter and return an equal number of outputs in vector.

                -

                Detailed Description

                -STK one-zero filter class. -

                -This protected Filter subclass implements a one-zero digital filter. A method is provided for setting the zero position along the real axis of the z-plane while maintaining a constant filter gain.

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

                +StkFramestick (StkFrames &frames, unsigned int channel=1) -

                -Definition at line 20 of file OneZero.h.


                Member Function Documentation

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


                + +

                Member Function Documentation

                @@ -87,7 +87,7 @@ Definition at line 20 of - + @@ -118,8 +118,8 @@ This method sets the zero position along the real-axis of the z-plane and normal - - + + @@ -143,12 +143,54 @@ The gain is applied at the filter input and does not affect the coefficient valu Reimplemented from Filter.
                void OneZero::setZero MY_FLOAT StkFloat  theZero  ) 
                void OneZero::setGain MY_FLOAT  theGain StkFloat  gain  )  [virtual]
                +

                + + + + +
                + + + + + + + + + + + + + + + + + + + +
                StkFrames& OneZero::tick StkFrames frames,
                unsigned int  channel = 1
                [virtual]
                +
                + + + + + +
                +   + + +

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

                +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                +Reimplemented from Filter.


                The documentation for this class was generated from the following file:
                - +
                The Synthesis ToolKit in C++ (STK)
                The Synthesis ToolKit in C++ (STK)
                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/classPRCRev-members.html b/doc/html/classPRCRev-members.html index 61c7e7b..e8835bd 100644 --- a/doc/html/classPRCRev-members.html +++ b/doc/html/classPRCRev-members.html @@ -11,36 +11,41 @@

                PRCRev Member List

                This is the complete list of members for PRCRev, including all inherited members. - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + + - - + + + + -
                clear()PRCRev [virtual]
                handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                lastOut() const Reverb
                lastOutLeft() const Reverb
                lastOutRight() const Reverb
                MY_FLOAT32Stk [static]
                MY_FLOAT64Stk [static]
                PRCRev(MY_FLOAT T60)PRCRev
                rawwavePath(void)Stk [static]
                Reverb()Reverb
                sampleRate(void)Stk [static]
                setEffectMix(MY_FLOAT mix)Reverb
                setRawwavePath(std::string newPath)Stk [static]
                setSampleRate(MY_FLOAT newRate)Stk [static]
                Effect()Effect
                handleError(const char *message, StkError::Type type)Stk [static]
                handleError(std::string message, StkError::Type type)Stk [static]
                handleError(StkError::Type type)Stk [protected]
                lastOut() const Effect
                lastOutLeft() const Effect
                lastOutRight() const Effect
                PRCRev(StkFloat T60=1.0)PRCRev
                rawwavePath(void)Stk [inline, static]
                sampleRate(void)Stk [inline, static]
                setEffectMix(StkFloat mix)Effect
                setRawwavePath(std::string path)Stk [static]
                setSampleRate(StkFloat rate)Stk [inline, static]
                setT60(StkFloat T60)PRCRev
                sleep(unsigned long milliseconds)Stk [static]
                Stk(void)Stk [protected]
                STK_FLOAT32Stk [static]
                STK_FLOAT64Stk [static]
                STK_SINT16Stk [static]
                STK_SINT32Stk [static]
                STK_SINT24Stk [static]
                STK_SINT32Stk [static]
                STK_SINT8Stk [static]
                swap16(unsigned char *ptr)Stk [static]
                swap32(unsigned char *ptr)Stk [static]
                swap64(unsigned char *ptr)Stk [static]
                tick(MY_FLOAT input)PRCRev [virtual]
                Reverb::tick(MY_FLOAT *vector, unsigned int vectorSize)Reverb [virtual]
                tick(StkFloat input)PRCRev [virtual]
                tick(StkFloat *vector, unsigned int vectorSize)PRCRev [virtual]
                tick(StkFrames &frames, unsigned int channel=1)PRCRev [virtual]
                ~Effect()Effect [virtual]
                ~PRCRev()PRCRev
                ~Reverb()Reverb [virtual]
                ~Stk(void)Stk [protected, virtual]

                - +
                The Synthesis ToolKit in C++ (STK)
                The Synthesis ToolKit in C++ (STK)
                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/classPRCRev.html b/doc/html/classPRCRev.html index 8ffe593..7a6896d 100644 --- a/doc/html/classPRCRev.html +++ b/doc/html/classPRCRev.html @@ -9,24 +9,29 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                -

                PRCRev Class Reference

                Perry's simple reverberator class. -More... -

                -#include <PRCRev.h> +

                PRCRev Class Reference

                #include <PRCRev.h>

                Inheritance diagram for PRCRev:

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

                Detailed Description

                +Perry's simple reverberator class. +

                +This class is based on some of the famous Stanford/CCRMA reverbs (NRev, KipRev), which were based on the Chowning/Moorer/Schroeder reverberators using networks of simple allpass and comb delay filters. This class implements two series allpass units and two parallel comb filters.

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

                + +

                +Definition at line 23 of file PRCRev.h.

                +  - + @@ -35,25 +40,71 @@ void  - + + + + + + + + + +

                Public Member Functions

                PRCRev (MY_FLOAT T60)
                PRCRev (StkFloat T60=1.0)
                 Class constructor taking a T60 decay time argument.

                 Class constructor taking a T60 decay time argument (one second default value).

                 ~PRCRev ()
                clear ()
                 Reset and clear all internal state.

                -MY_FLOAT tick (MY_FLOAT input)
                +void setT60 (StkFloat T60)
                 Set the reverberation T60 decay time.

                +StkFloat tick (StkFloat input)
                 Compute one output sample.

                +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                 Take vectorSize inputs, compute the same number of outputs and return them in vector.

                StkFramestick (StkFrames &frames, unsigned int channel=1)
                 Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.

                -

                Detailed Description

                -Perry's simple reverberator class. -

                -This class is based on some of the famous Stanford/CCRMA reverbs (NRev, KipRev), which were based on the Chowning/Moorer/Schroeder reverberators using networks of simple allpass and comb delay filters. This class implements two series allpass units and two parallel comb filters.

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

                +


                Member Function Documentation

                +

                + + + + +
                + + + + + + + + + + + + + + + + + + + +
                StkFrames& PRCRev::tick StkFrames frames,
                unsigned int  channel = 1
                [virtual]
                +
                + + + + + +
                +   +

                -Definition at line 23 of file PRCRev.h.


                The documentation for this class was generated from the following file:
                  +Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs. +

                  +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                  +Reimplemented from Effect.

                +


                The documentation for this class was generated from the following file:
                - +
                The Synthesis ToolKit in C++ (STK)
                The Synthesis ToolKit in C++ (STK)
                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/classPRCRev.png b/doc/html/classPRCRev.png index 1909b6b07be24c0b25757a215900b26b8dd7b9d8..f2b7a8f03cb81b4752c11a41e5f495e75dfab2b2 100644 GIT binary patch delta 279 zcmV+y0qFkf0^$OYRDS^YNkl2s)U1 z7%LDf`80R4rA>xScB);lUYp3o$%Bc_+Sz$*o$uV*_3-Fp0}uSSn5;mDme|)Z5Xs;P zU9#I?ULo&6Mju1|0<4lI6=T{%TU&6xDy*|b43=_o1Z!N0yACeSaq(YcAY7cU@JH|b dtk{0YFA_J|0}$n@!iN9=002ovPDHLkV1jb3hz!0so4Nar9R?GiM`~j9)W;zJMOP0V08)NjOQV<@o0xMqu}EtM-;_6{ zg?k6()WDy1VZ8H^wJoM=J9vE#;ALG0@SyUEC%z^=c^v~ly?>4hqo+Mg5QpeIB0`C| zK(g}?8Wy=TEG<8cvIW!50!w{DS*~N&k6ZQ

                PercFlut Member List

                This is the complete list of members for PercFlut, including all inherited members. - - - + + + + + @@ -21,32 +23,34 @@ - - - - + + - - - - - - - - - - - + + + + + + + + + + + + + - + + - + + @@ -54,7 +58,7 @@
                clear()FM
                controlChange(int number, MY_FLOAT value)FM [virtual]
                FM(int operators=4)FM
                handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                controlChange(int number, StkFloat value)FM [virtual]
                FM(unsigned int operators=4)FM
                handleError(const char *message, StkError::Type type)Stk [static]
                handleError(std::string message, StkError::Type type)Stk [static]
                handleError(StkError::Type type)Stk [protected]
                Instrmnt()Instrmnt
                keyOff()FM
                keyOn()FM
                lastOutLeft() const Instrmnt
                lastOutRight() const Instrmnt
                loadWaves(const char **filenames)FM
                MY_FLOAT32Stk [static]
                MY_FLOAT64Stk [static]
                noteOff(MY_FLOAT amplitude)FM [virtual]
                noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)PercFlut [virtual]
                noteOff(StkFloat amplitude)FM [virtual]
                noteOn(StkFloat frequency, StkFloat amplitude)PercFlut [virtual]
                PercFlut()PercFlut
                rawwavePath(void)Stk [static]
                sampleRate(void)Stk [static]
                setControl1(MY_FLOAT cVal)FM
                setControl2(MY_FLOAT cVal)FM
                setFrequency(MY_FLOAT frequency)PercFlut [virtual]
                setGain(int waveIndex, MY_FLOAT gain)FM
                setModulationDepth(MY_FLOAT mDepth)FM
                setModulationSpeed(MY_FLOAT mSpeed)FM
                setRatio(int waveIndex, MY_FLOAT ratio)FM
                setRawwavePath(std::string newPath)Stk [static]
                setSampleRate(MY_FLOAT newRate)Stk [static]
                rawwavePath(void)Stk [inline, static]
                sampleRate(void)Stk [inline, static]
                setControl1(StkFloat cVal)FM
                setControl2(StkFloat cVal)FM
                setFrequency(StkFloat frequency)PercFlut [virtual]
                setGain(unsigned int waveIndex, StkFloat gain)FM
                setModulationDepth(StkFloat mDepth)FM
                setModulationSpeed(StkFloat mSpeed)FM
                setRatio(unsigned int waveIndex, StkFloat ratio)FM
                setRawwavePath(std::string path)Stk [static]
                setSampleRate(StkFloat rate)Stk [inline, static]
                sleep(unsigned long milliseconds)Stk [static]
                Stk(void)Stk [protected]
                STK_FLOAT32Stk [static]
                STK_FLOAT64Stk [static]
                STK_SINT16Stk [static]
                STK_SINT32Stk [static]
                STK_SINT24Stk [static]
                STK_SINT32Stk [static]
                STK_SINT8Stk [static]
                swap16(unsigned char *ptr)Stk [static]
                swap32(unsigned char *ptr)Stk [static]
                swap64(unsigned char *ptr)Stk [static]
                tick()PercFlut [virtual]
                Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                tick(StkFloat *vector, unsigned int vectorSize)PercFlut [virtual]
                tick(StkFrames &frames, unsigned int channel=1)PercFlut [virtual]
                ~FM()FM [virtual]
                ~Instrmnt()Instrmnt [virtual]
                ~PercFlut()PercFlut

                - +
                The Synthesis ToolKit in C++ (STK)
                The Synthesis ToolKit in C++ (STK)
                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/classPercFlut.html b/doc/html/classPercFlut.html index 7f29382..bb05402 100644 --- a/doc/html/classPercFlut.html +++ b/doc/html/classPercFlut.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                -

                PercFlut Class Reference

                STK percussive flute FM synthesis instrument. -More... -

                -#include <PercFlut.h> +

                PercFlut Class Reference

                #include <PercFlut.h>

                Inheritance diagram for PercFlut:

                @@ -21,31 +18,7 @@ Instrmnt Stk -List of all members. - - - - - - - - - - - - - - - - - -

                Public Member Functions

                PercFlut ()
                 Class constructor.

                ~PercFlut ()
                 Class destructor.

                -void setFrequency (MY_FLOAT frequency)
                 Set instrument parameters for a particular frequency.

                -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                 Start a note with the given frequency and amplitude.

                -MY_FLOAT tick ()
                 Compute one output sample.

                -

                Detailed Description

                +List of all members.

                Detailed Description

                STK percussive flute FM synthesis instrument.

                This class implements algorithm 4 of the TX81Z.

                @@ -56,16 +29,120 @@ Control Change Numbers:

                • Total Modulator Index = 2
                • Modulator Crossfade = 4
                • LFO Speed = 11
                • LFO Depth = 1
                • ADSR 2 & 4 Target = 128

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

                -by Perry R. Cook and Gary P. Scavone, 1995 - 2002. +by Perry R. Cook and Gary P. Scavone, 1995 - 2004.

                -Definition at line 34 of file PercFlut.h.


                The documentation for this class was generated from the following file:
                  +Definition at line 34 of file PercFlut.h. + + + + + + + + + + + + + + + + + + + + + + + +

                  Public Member Functions

                   PercFlut ()
                   Class constructor.

                  ~PercFlut ()
                   Class destructor.

                  +void setFrequency (StkFloat frequency)
                   Set instrument parameters for a particular frequency.

                  +void noteOn (StkFloat frequency, StkFloat amplitude)
                   Start a note with the given frequency and amplitude.

                  +StkFloat tick ()
                   Compute one output sample.

                  +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                   Computer vectorSize outputs and return them in vector.

                  StkFramestick (StkFrames &frames, unsigned int channel=1)
                   Fill a channel of the StkFrames object with computed outputs.

                  +

                  Constructor & Destructor Documentation

                  +

                  + + + + +
                  + + + + + + + + + +
                  PercFlut::PercFlut  ) 
                  +
                  + + + + + +
                  +   + + +

                  +Class constructor. +

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

                  +


                  Member Function Documentation

                  +

                  + + + + +
                  + + + + + + + + + + + + + + + + + + + +
                  StkFrames& PercFlut::tick StkFrames frames,
                  unsigned int  channel = 1
                  [virtual]
                  +
                  + + + + + +
                  +   + + +

                  +Fill a channel of the StkFrames object with computed outputs. +

                  +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                  +Implements FM.

                  +


                  The documentation for this class was generated from the following file:
                  - +
                  The Synthesis ToolKit in C++ (STK)
                  The Synthesis ToolKit in C++ (STK)
                  ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                  diff --git a/doc/html/classPhonemes-members.html b/doc/html/classPhonemes-members.html index 0e483e2..8fdc25d 100644 --- a/doc/html/classPhonemes-members.html +++ b/doc/html/classPhonemes-members.html @@ -13,13 +13,32 @@ formantFrequency(unsigned int index, unsigned int partial)Phonemes [static] formantGain(unsigned int index, unsigned int partial)Phonemes [static] formantRadius(unsigned int index, unsigned int partial)Phonemes [static] + handleError(const char *message, StkError::Type type)Stk [static] + handleError(std::string message, StkError::Type type)Stk [static] + handleError(StkError::Type type)Stk [protected] name(unsigned int index)Phonemes [static] noiseGain(unsigned int index)Phonemes [static] + rawwavePath(void)Stk [inline, static] + sampleRate(void)Stk [inline, static] + setRawwavePath(std::string path)Stk [static] + setSampleRate(StkFloat rate)Stk [inline, static] + sleep(unsigned long milliseconds)Stk [static] + Stk(void)Stk [protected] + STK_FLOAT32Stk [static] + STK_FLOAT64Stk [static] + STK_SINT16Stk [static] + STK_SINT24Stk [static] + STK_SINT32Stk [static] + STK_SINT8Stk [static] + swap16(unsigned char *ptr)Stk [static] + swap32(unsigned char *ptr)Stk [static] + swap64(unsigned char *ptr)Stk [static] voiceGain(unsigned int index)Phonemes [static] + ~Stk(void)Stk [protected, virtual]
                  - +
                  The Synthesis ToolKit in C++ (STK)
                  The Synthesis ToolKit in C++ (STK)
                  ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                  diff --git a/doc/html/classPhonemes.html b/doc/html/classPhonemes.html index 6439409..688cbbf 100644 --- a/doc/html/classPhonemes.html +++ b/doc/html/classPhonemes.html @@ -9,12 +9,22 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                  -

                  Phonemes Class Reference

                  STK phonemes table. -More... +

                  Phonemes Class Reference

                  #include <Phonemes.h>

                  -#include <Phonemes.h> +

                  Inheritance diagram for Phonemes: +

                  + +Stk + +List of all members.

                  Detailed Description

                  +STK phonemes table.

                  -List of all members. +This class does nothing other than declare a set of 32 static phoneme formant parameters and provide access to those values.

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

                  + +

                  +Definition at line 18 of file Phonemes.h.

                  +StkFloat  +StkFloat  +StkFloat  +StkFloat  +StkFloat 

                  Static Public Member Functions

                  @@ -22,40 +32,32 @@ const char *  Returns the phoneme name for the given index (0-31).

                  -MY_FLOAT voiceGain (unsigned int index)
                  voiceGain (unsigned int index)
                   Returns the voiced component gain for the given phoneme index (0-31).

                  -MY_FLOAT noiseGain (unsigned int index)
                  noiseGain (unsigned int index)
                   Returns the unvoiced component gain for the given phoneme index (0-31).

                  -MY_FLOAT formantFrequency (unsigned int index, unsigned int partial)
                  formantFrequency (unsigned int index, unsigned int partial)
                   Returns the formant frequency for the given phoneme index (0-31) and partial (0-3).

                  -MY_FLOAT formantRadius (unsigned int index, unsigned int partial)
                  formantRadius (unsigned int index, unsigned int partial)
                   Returns the formant radius for the given phoneme index (0-31) and partial (0-3).

                  -MY_FLOAT formantGain (unsigned int index, unsigned int partial)
                  formantGain (unsigned int index, unsigned int partial)
                   Returns the formant gain for the given phoneme index (0-31) and partial (0-3).

                  -


                  Detailed Description

                  -STK phonemes table. -

                  -This class does nothing other than declare a set of 32 static phoneme formant parameters and provide access to those values.

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

                  - -

                  -Definition at line 18 of file Phonemes.h.


                  The documentation for this class was generated from the following file:
                    +
                    The documentation for this class was generated from the following file:
                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classPhonemes.png b/doc/html/classPhonemes.png new file mode 100644 index 0000000000000000000000000000000000000000..f0ad2479d53e5df6de6c636e50c228dccc4d7fc4 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^Za^Hs!VDzC`sECPlth3}i0l9V|AEZ^{}0TcpD+Q) z0^*?YcQZeW4WJf+GMIP7FY1eY|9riZHoe=$Q z-;{blvS5qA;iN@>&Z>X-^qZ40FZW<*)UG*m6ovG2jN)3XB^1;0&v(geKI!qsx$ODY z{

                    PitShift Member List

                    This is the complete list of members for PitShift, including all inherited members. - - - - - + + + + + + + + - - - - - - + + + + + + + + - + + - - + + + +
                    clear()PitShift
                    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                    lastOut() const PitShift
                    MY_FLOAT32Stk [static]
                    MY_FLOAT64Stk [static]
                    clear()PitShift [virtual]
                    Effect()Effect
                    handleError(const char *message, StkError::Type type)Stk [static]
                    handleError(std::string message, StkError::Type type)Stk [static]
                    handleError(StkError::Type type)Stk [protected]
                    lastOut() const Effect
                    lastOutLeft() const Effect
                    lastOutRight() const Effect
                    PitShift()PitShift
                    rawwavePath(void)Stk [static]
                    sampleRate(void)Stk [static]
                    setEffectMix(MY_FLOAT mix)PitShift
                    setRawwavePath(std::string newPath)Stk [static]
                    setSampleRate(MY_FLOAT newRate)Stk [static]
                    setShift(MY_FLOAT shift)PitShift
                    rawwavePath(void)Stk [inline, static]
                    sampleRate(void)Stk [inline, static]
                    setEffectMix(StkFloat mix)Effect
                    setRawwavePath(std::string path)Stk [static]
                    setSampleRate(StkFloat rate)Stk [inline, static]
                    setShift(StkFloat shift)PitShift
                    sleep(unsigned long milliseconds)Stk [static]
                    Stk(void)Stk [protected]
                    STK_FLOAT32Stk [static]
                    STK_FLOAT64Stk [static]
                    STK_SINT16Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT24Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT8Stk [static]
                    swap16(unsigned char *ptr)Stk [static]
                    swap32(unsigned char *ptr)Stk [static]
                    swap64(unsigned char *ptr)Stk [static]
                    tick(MY_FLOAT input)PitShift
                    tick(MY_FLOAT *vector, unsigned int vectorSize)PitShift
                    tick(StkFloat input)PitShift [virtual]
                    tick(StkFloat *vector, unsigned int vectorSize)PitShift [virtual]
                    tick(StkFrames &frames, unsigned int channel=1)PitShift [virtual]
                    ~Effect()Effect [virtual]
                    ~PitShift()PitShift
                    ~Stk(void)Stk [protected, virtual]

                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classPitShift.html b/doc/html/classPitShift.html index b8a0883..f1b7f9d 100644 --- a/doc/html/classPitShift.html +++ b/doc/html/classPitShift.html @@ -9,17 +9,23 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                    -

                    PitShift Class Reference

                    STK simple pitch shifter effect class. -More... -

                    -#include <PitShift.h> +

                    PitShift Class Reference

                    #include <PitShift.h>

                    Inheritance diagram for PitShift:

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

                    Detailed Description

                    +STK simple pitch shifter effect class. +

                    +This class implements a simple pitch shifter using delay lines.

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

                    + +

                    +Definition at line 18 of file PitShift.h.

                    +void  - - - - - - - + - + - + + + +

                    Public Member Functions

                    @@ -35,40 +41,70 @@ void  Reset and clear all internal state.

                    -void setShift (MY_FLOAT shift)
                    setShift (StkFloat shift)
                     Set the pitch shift factor (1.0 produces no shift).

                    -void setEffectMix (MY_FLOAT mix)
                     Set the mixture of input and processed levels in the output (0.0 = input only, 1.0 = processed only).

                    -MY_FLOAT lastOut () const
                     Return the last output value.

                    -MY_FLOAT tick (MY_FLOAT input)
                    +StkFloat tick (StkFloat input)
                     Compute one output sample.

                    -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                    +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                     Input vectorSize samples to the filter and return an equal number of outputs in vector.

                     Take vectorSize inputs, compute the same number of outputs and return them in vector.

                    StkFramestick (StkFrames &frames, unsigned int channel=1)
                     Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.

                    -

                    Detailed Description

                    -STK simple pitch shifter effect class. -

                    -This class implements a simple pitch shifter using delay lines.

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

                    +


                    Member Function Documentation

                    +

                    + + + + +
                    + + + + + + + + + + + + + + + + + + + +
                    StkFrames& PitShift::tick StkFrames frames,
                    unsigned int  channel = 1
                    [virtual]
                    +
                    + + + + + +
                    +   +

                    -Definition at line 18 of file PitShift.h.


                    The documentation for this class was generated from the following file:
                      +Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs. +

                      +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                      +Reimplemented from Effect.

                    +


                    The documentation for this class was generated from the following file:
                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classPitShift.png b/doc/html/classPitShift.png index 67a6f699eda94a2af92beee357672a1e82e0a415..5ed7bfc008ba24c02c8bd3fb91a84024bb946754 100644 GIT binary patch delta 283 zcmV+$0p$Li0@(tP7Yc|30{{R3xPs2Fks&mH?@2^KRCt{2l|c@KAPhz6#x?B?$_XYj z7n+s#Kf<(N2x{wsOe7}MDA;Fz3n4XpJbQ(Aa%>P{q(p2YO6(&EWF5|e;v{A(N*OVk zDCaU!DZ>=pDm2TGbxDP6prbt;T^zR7mf+e2TE87=S=SEKS>Z$zjY1FU^N1*|w{};5 zY7phSHqZl-9xst73Z&0dRQ`4FE=qG%WamP3k>+%fo2yiq+6w=^hvU)g^Ak-p1fgd! zL{H*&1c(7-k_Yu6RHS2wP;PzSA%OfTfOt@@7O9R*b<##{xdLXbxECy_cnt(S2+O(( hiUYRyHsl|+AF0s2K|Nu=QUCw|07*p#PDHLkV1n|rc!&T1 delta 221 zcmV<303!d{0-OSn7Ya}W0{{R3M(?8NA_&iXA`A*A7l{<`fJ}igxHrNYK8O}k@;w9$=J2+1=PLD-q4X(1B5e({9KO81;6(+lwY

                    PluckTwo Member List

                    This is the complete list of members for PluckTwo, including all inherited members. - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + + - + +
                    clear()PluckTwo
                    controlChange(int number, MY_FLOAT value)Instrmnt [virtual]
                    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                    controlChange(int number, StkFloat value)Instrmnt [virtual]
                    handleError(const char *message, StkError::Type type)Stk [static]
                    handleError(std::string message, StkError::Type type)Stk [static]
                    handleError(StkError::Type type)Stk [protected]
                    Instrmnt()Instrmnt
                    lastOut() const Instrmnt
                    lastOutLeft() const Instrmnt
                    lastOutRight() const Instrmnt
                    MY_FLOAT32Stk [static]
                    MY_FLOAT64Stk [static]
                    noteOff(MY_FLOAT amplitude)PluckTwo [virtual]
                    noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)=0Instrmnt [pure virtual]
                    PluckTwo(MY_FLOAT lowestFrequency)PluckTwo
                    rawwavePath(void)Stk [static]
                    sampleRate(void)Stk [static]
                    setBaseLoopGain(MY_FLOAT aGain)PluckTwo
                    setDetune(MY_FLOAT detune)PluckTwo
                    setFreqAndDetune(MY_FLOAT frequency, MY_FLOAT detune)PluckTwo
                    setFrequency(MY_FLOAT frequency)PluckTwo [virtual]
                    setPluckPosition(MY_FLOAT position)PluckTwo
                    setRawwavePath(std::string newPath)Stk [static]
                    setSampleRate(MY_FLOAT newRate)Stk [static]
                    noteOff(StkFloat amplitude)PluckTwo [virtual]
                    noteOn(StkFloat frequency, StkFloat amplitude)=0Instrmnt [pure virtual]
                    PluckTwo(StkFloat lowestFrequency)PluckTwo
                    rawwavePath(void)Stk [inline, static]
                    sampleRate(void)Stk [inline, static]
                    setBaseLoopGain(StkFloat aGain)PluckTwo
                    setDetune(StkFloat detune)PluckTwo
                    setFreqAndDetune(StkFloat frequency, StkFloat detune)PluckTwo
                    setFrequency(StkFloat frequency)PluckTwo [virtual]
                    setPluckPosition(StkFloat position)PluckTwo
                    setRawwavePath(std::string path)Stk [static]
                    setSampleRate(StkFloat rate)Stk [inline, static]
                    sleep(unsigned long milliseconds)Stk [static]
                    Stk(void)Stk [protected]
                    STK_FLOAT32Stk [static]
                    STK_FLOAT64Stk [static]
                    STK_SINT16Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT24Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT8Stk [static]
                    swap16(unsigned char *ptr)Stk [static]
                    swap32(unsigned char *ptr)Stk [static]
                    swap64(unsigned char *ptr)Stk [static]
                    tick()=0PluckTwo [pure virtual]
                    Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                    tick(StkFloat *vector, unsigned int vectorSize)=0PluckTwo [pure virtual]
                    tick(StkFrames &frames, unsigned int channel=1)=0PluckTwo [pure virtual]
                    ~Instrmnt()Instrmnt [virtual]
                    ~PluckTwo()PluckTwo [virtual]
                    ~Stk(void)Stk [protected, virtual]

                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classPluckTwo.html b/doc/html/classPluckTwo.html index cdc21a2..5952af7 100644 --- a/doc/html/classPluckTwo.html +++ b/doc/html/classPluckTwo.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                    -

                    PluckTwo Class Reference

                    STK enhanced plucked string model class. -More... -

                    -#include <PluckTwo.h> +

                    PluckTwo Class Reference

                    #include <PluckTwo.h>

                    Inheritance diagram for PluckTwo:

                    @@ -21,11 +18,21 @@ Stk Mandolin -List of all members. +List of all members.

                    Detailed Description

                    +STK enhanced plucked string model class. +

                    +This class implements an enhanced two-string, plucked physical model, a la Jaffe-Smith, Smith, and others.

                    +PluckTwo is an abstract class, with no excitation specified. Therefore, it can't be directly instantiated.

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

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

                    + +

                    +Definition at line 29 of file PluckTwo.h.

                    +  +virtual void  +void  +void  +void  - + +virtual void  +virtual StkFloat  -

                    Public Member Functions

                    PluckTwo (MY_FLOAT lowestFrequency)
                    PluckTwo (StkFloat lowestFrequency)
                     Class constructor, taking the lowest desired playing frequency.

                    @@ -37,44 +44,41 @@ void  Reset and clear all internal state.

                    -virtual void setFrequency (MY_FLOAT frequency)
                    setFrequency (StkFloat frequency)
                     Set instrument parameters for a particular frequency.

                    -void setDetune (MY_FLOAT detune)
                    setDetune (StkFloat detune)
                     Detune the two strings by the given factor. A value of 1.0 produces unison strings.

                    -void setFreqAndDetune (MY_FLOAT frequency, MY_FLOAT detune)
                    setFreqAndDetune (StkFloat frequency, StkFloat detune)
                     Efficient combined setting of frequency and detuning.

                    -void setPluckPosition (MY_FLOAT position)
                    setPluckPosition (StkFloat position)
                     Set the pluck or "excitation" position along the string (0.0 - 1.0).

                    void setBaseLoopGain (MY_FLOAT aGain)
                    void setBaseLoopGain (StkFloat aGain)
                     Set the base loop gain.

                    -virtual void noteOff (MY_FLOAT amplitude)
                    noteOff (StkFloat amplitude)
                     Stop a note with the given amplitude (speed of decay).

                    -virtual MY_FLOAT tick ()=0
                    tick ()=0
                     Virtual (abstract) tick function is implemented by subclasses.

                    -

                    Detailed Description

                    -STK enhanced plucked string model class. -

                    -This class implements an enhanced two-string, plucked physical model, a la Jaffe-Smith, Smith, and others.

                    -PluckTwo is an abstract class, with no excitation specified. Therefore, it can't be directly instantiated.

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

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

                    + +virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)=0 -

                    -Definition at line 29 of file PluckTwo.h.


                    Member Function Documentation

                    + Computer vectorSize outputs and return them in vector.

                    +virtual StkFramestick (StkFrames &frames, unsigned int channel=1)=0 + + Fill a channel of the StkFrames object with computed outputs.


                    + +

                    Member Function Documentation

                    @@ -83,7 +87,7 @@ Definition at line 29 of - + @@ -106,12 +110,56 @@ Set the base loop gain. The actual loop gain is set according to the frequency. Because of high-frequency loop filter roll-off, higher frequency settings have greater loop gains.
                    void PluckTwo::setBaseLoopGain MY_FLOAT StkFloat  aGain  ) 
                    +

                    + + + + +
                    + + + + + + + + + + + + + + + + + + + +
                    virtual StkFrames& PluckTwo::tick StkFrames frames,
                    unsigned int  channel = 1
                    [pure virtual]
                    +
                    + + + + + +
                    +   + + +

                    +Fill a channel of the StkFrames object with computed outputs. +

                    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                    +Reimplemented from Instrmnt. +

                    +Implemented in Mandolin.


                    The documentation for this class was generated from the following file:
                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classPlucked-members.html b/doc/html/classPlucked-members.html index 75950f7..ad2204b 100644 --- a/doc/html/classPlucked-members.html +++ b/doc/html/classPlucked-members.html @@ -11,40 +11,44 @@

                    Plucked Member List

                    This is the complete list of members for Plucked, including all inherited members. - - + + + + - - - - - - - - - - - + + + + + + + + + + + - + + - + +
                    clear()Plucked
                    controlChange(int number, MY_FLOAT value)Instrmnt [virtual]
                    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                    controlChange(int number, StkFloat value)Instrmnt [virtual]
                    handleError(const char *message, StkError::Type type)Stk [static]
                    handleError(std::string message, StkError::Type type)Stk [static]
                    handleError(StkError::Type type)Stk [protected]
                    Instrmnt()Instrmnt
                    lastOut() const Instrmnt
                    lastOutLeft() const Instrmnt
                    lastOutRight() const Instrmnt
                    MY_FLOAT32Stk [static]
                    MY_FLOAT64Stk [static]
                    noteOff(MY_FLOAT amplitude)Plucked [virtual]
                    noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Plucked [virtual]
                    pluck(MY_FLOAT amplitude)Plucked
                    Plucked(MY_FLOAT lowestFrequency)Plucked
                    rawwavePath(void)Stk [static]
                    sampleRate(void)Stk [static]
                    setFrequency(MY_FLOAT frequency)Plucked [virtual]
                    setRawwavePath(std::string newPath)Stk [static]
                    setSampleRate(MY_FLOAT newRate)Stk [static]
                    noteOff(StkFloat amplitude)Plucked [virtual]
                    noteOn(StkFloat frequency, StkFloat amplitude)Plucked [virtual]
                    pluck(StkFloat amplitude)Plucked
                    Plucked(StkFloat lowestFrequency)Plucked
                    rawwavePath(void)Stk [inline, static]
                    sampleRate(void)Stk [inline, static]
                    setFrequency(StkFloat frequency)Plucked [virtual]
                    setRawwavePath(std::string path)Stk [static]
                    setSampleRate(StkFloat rate)Stk [inline, static]
                    sleep(unsigned long milliseconds)Stk [static]
                    Stk(void)Stk [protected]
                    STK_FLOAT32Stk [static]
                    STK_FLOAT64Stk [static]
                    STK_SINT16Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT24Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT8Stk [static]
                    swap16(unsigned char *ptr)Stk [static]
                    swap32(unsigned char *ptr)Stk [static]
                    swap64(unsigned char *ptr)Stk [static]
                    tick()Plucked [virtual]
                    Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                    tick(StkFloat *vector, unsigned int vectorSize)Plucked [virtual]
                    tick(StkFrames &frames, unsigned int channel=1)Plucked [virtual]
                    ~Instrmnt()Instrmnt [virtual]
                    ~Plucked()Plucked
                    ~Stk(void)Stk [protected, virtual]

                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classPlucked.html b/doc/html/classPlucked.html index a718d56..33459de 100644 --- a/doc/html/classPlucked.html +++ b/doc/html/classPlucked.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                    -

                    Plucked Class Reference

                    STK plucked string model class. -More... -

                    -#include <Plucked.h> +

                    Plucked Class Reference

                    #include <Plucked.h>

                    Inheritance diagram for Plucked:

                    @@ -20,11 +17,20 @@ Instrmnt Stk -List of all members. +List of all members.

                    Detailed Description

                    +STK plucked string model class. +

                    +This class implements a simple plucked string physical model based on the Karplus-Strong algorithm.

                    +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. There exist at least two patents, assigned to Stanford, bearing the names of Karplus and/or Strong.

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

                    + +

                    +Definition at line 29 of file Plucked.h.

                    +  +virtual void  +void  +virtual void  +virtual void  +virtual StkFloat  + + + + + +

                    Public Member Functions

                    Plucked (MY_FLOAT lowestFrequency)
                    Plucked (StkFloat lowestFrequency)
                     Class constructor, taking the lowest desired playing frequency.

                    @@ -36,41 +42,82 @@ void  Reset and clear all internal state.

                    -virtual void setFrequency (MY_FLOAT frequency)
                    setFrequency (StkFloat frequency)
                     Set instrument parameters for a particular frequency.

                    -void pluck (MY_FLOAT amplitude)
                    pluck (StkFloat amplitude)
                     Pluck the string with the given amplitude using the current frequency.

                    -virtual void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                    noteOn (StkFloat frequency, StkFloat amplitude)
                     Start a note with the given frequency and amplitude.

                    -virtual void noteOff (MY_FLOAT amplitude)
                    noteOff (StkFloat amplitude)
                     Stop a note with the given amplitude (speed of decay).

                    -virtual MY_FLOAT tick ()
                    tick ()
                     Compute one output sample.

                    +virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                     Computer vectorSize outputs and return them in vector.

                    virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
                     Fill a channel of the StkFrames object with computed outputs.

                    -

                    Detailed Description

                    -STK plucked string model class. -

                    -This class implements a simple plucked string physical model based on the Karplus-Strong algorithm.

                    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. There exist at least two patents, assigned to Stanford, bearing the names of Karplus and/or Strong.

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

                    +


                    Member Function Documentation

                    +

                    + + + + +
                    + + + + + + + + + + + + + + + + + + + +
                    virtual StkFrames& Plucked::tick StkFrames frames,
                    unsigned int  channel = 1
                    [virtual]
                    +
                    + + + + + +
                    +   +

                    -Definition at line 29 of file Plucked.h.


                    The documentation for this class was generated from the following file:
                      +Fill a channel of the StkFrames object with computed outputs. +

                      +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                      +Reimplemented from Instrmnt.

                    +


                    The documentation for this class was generated from the following file:
                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classPoleZero-members.html b/doc/html/classPoleZero-members.html index ac784c9..f706976 100644 --- a/doc/html/classPoleZero-members.html +++ b/doc/html/classPoleZero-members.html @@ -12,43 +12,47 @@

                    PoleZero Member List

                    This is the complete list of members for PoleZero, including all inherited members. - + - + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + + - - + + +
                    clear(void)PoleZero
                    Filter(void)Filter [protected]
                    Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
                    Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
                    getGain(void) const PoleZero [virtual]
                    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                    handleError(const char *message, StkError::Type type)Stk [protected, static]
                    handleError(std::string message, StkError::Type type)Stk [protected, static]
                    handleError(StkError::Type type)Stk [protected]
                    lastOut(void) const PoleZero [virtual]
                    MY_FLOAT32Stk [protected, static]
                    MY_FLOAT64Stk [protected, static]
                    PoleZero()PoleZero
                    rawwavePath(void)Stk [protected, static]
                    sampleRate(void)Stk [protected, static]
                    setA1(MY_FLOAT a1)PoleZero
                    setAllpass(MY_FLOAT coefficient)PoleZero
                    setB0(MY_FLOAT b0)PoleZero
                    setB1(MY_FLOAT b1)PoleZero
                    setBlockZero(MY_FLOAT thePole=0.99)PoleZero
                    setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
                    setDenominator(int na, MY_FLOAT *aCoefficients)Filter [protected]
                    setGain(MY_FLOAT theGain)PoleZero [virtual]
                    setNumerator(int nb, MY_FLOAT *bCoefficients)Filter [protected]
                    setRawwavePath(std::string newPath)Stk [protected, static]
                    setSampleRate(MY_FLOAT newRate)Stk [protected, static]
                    rawwavePath(void)Stk [inline, protected, static]
                    sampleRate(void)Stk [inline, protected, static]
                    setA1(StkFloat a1)PoleZero
                    setAllpass(StkFloat coefficient)PoleZero
                    setB0(StkFloat b0)PoleZero
                    setB1(StkFloat b1)PoleZero
                    setBlockZero(StkFloat thePole=0.99)PoleZero
                    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
                    setDenominator(std::vector< StkFloat > &aCoefficients)Filter [protected]
                    setGain(StkFloat gain)PoleZero [virtual]
                    setNumerator(std::vector< StkFloat > &bCoefficients)Filter [protected]
                    setRawwavePath(std::string path)Stk [protected, static]
                    setSampleRate(StkFloat rate)Stk [inline, protected, static]
                    sleep(unsigned long milliseconds)Stk [protected, static]
                    Stk(void)Stk [protected]
                    STK_FLOAT32Stk [protected, static]
                    STK_FLOAT64Stk [protected, static]
                    STK_SINT16Stk [protected, static]
                    STK_SINT32Stk [protected, static]
                    STK_SINT24Stk [protected, static]
                    STK_SINT32Stk [protected, static]
                    STK_SINT8Stk [protected, static]
                    swap16(unsigned char *ptr)Stk [protected, static]
                    swap32(unsigned char *ptr)Stk [protected, static]
                    swap64(unsigned char *ptr)Stk [protected, static]
                    tick(MY_FLOAT sample)PoleZero [virtual]
                    tick(MY_FLOAT *vector, unsigned int vectorSize)PoleZero [virtual]
                    tick(StkFloat sample)PoleZero [virtual]
                    tick(StkFloat *vector, unsigned int vectorSize)PoleZero [virtual]
                    tick(StkFrames &frames, unsigned int channel=1)PoleZero [virtual]
                    ~Filter(void)Filter [protected, virtual]
                    ~PoleZero()PoleZero
                    ~Stk(void)Stk [protected, virtual]

                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classPoleZero.html b/doc/html/classPoleZero.html index 30eec2f..39a5048 100644 --- a/doc/html/classPoleZero.html +++ b/doc/html/classPoleZero.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                    -

                    PoleZero Class Reference

                    STK one-pole, one-zero filter class. -More... -

                    -#include <PoleZero.h> +

                    PoleZero Class Reference

                    #include <PoleZero.h>

                    Inheritance diagram for PoleZero:

                    @@ -20,7 +17,15 @@ Filter Stk -List of all members. +List of all members.

                    Detailed Description

                    +STK one-pole, one-zero filter class. +

                    +This protected Filter subclass implements a one-pole, one-zero digital filter. A method is provided for creating an allpass filter with a given coefficient. Another method is provided to create a DC blocking filter.

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

                    + +

                    +Definition at line 20 of file PoleZero.h.

                    +void  +void  +void  - + - + - + +StkFloat  +StkFloat  +StkFloat  +StkFloat *  -

                    Public Member Functions

                    @@ -36,52 +41,47 @@ void  Clears the internal states of the filter.

                    -void setB0 (MY_FLOAT b0)
                    setB0 (StkFloat b0)
                     Set the b[0] coefficient value.

                    -void setB1 (MY_FLOAT b1)
                    setB1 (StkFloat b1)
                     Set the b[1] coefficient value.

                    -void setA1 (MY_FLOAT a1)
                    setA1 (StkFloat a1)
                     Set the a[1] coefficient value.

                    void setAllpass (MY_FLOAT coefficient)
                    void setAllpass (StkFloat coefficient)
                     Set the filter for allpass behavior using coefficient.

                    void setBlockZero (MY_FLOAT thePole=0.99)
                    void setBlockZero (StkFloat thePole=0.99)
                     Create a DC blocking filter with the given pole position in the z-plane.

                    void setGain (MY_FLOAT theGain)
                    void setGain (StkFloat gain)
                     Set the filter gain.

                    -MY_FLOAT getGain (void) const
                    getGain (void) const
                     Return the current filter gain.

                    -MY_FLOAT lastOut (void) const
                    lastOut (void) const
                     Return the last computed output value.

                    -MY_FLOAT tick (MY_FLOAT sample)
                    tick (StkFloat sample)
                     Input one sample to the filter and return one output.

                    -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                    tick (StkFloat *vector, unsigned int vectorSize)
                     Input vectorSize samples to the filter and return an equal number of outputs in vector.

                    -

                    Detailed Description

                    -STK one-pole, one-zero filter class. -

                    -This protected Filter subclass implements a one-pole, one-zero digital filter. A method is provided for creating an allpass filter with a given coefficient. Another method is provided to create a DC blocking filter.

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

                    +StkFramestick (StkFrames &frames, unsigned int channel=1) -

                    -Definition at line 20 of file PoleZero.h.


                    Member Function Documentation

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


                    + +

                    Member Function Documentation

                    @@ -90,7 +90,7 @@ Definition at line 20 of - + @@ -121,7 +121,7 @@ This method uses coefficient to create an allpass filter, which has uni - + @@ -152,8 +152,8 @@ This method sets the given pole position, together with a zero at z=1, to create - - + + @@ -177,12 +177,54 @@ The gain is applied at the filter input and does not affect the coefficient valu Reimplemented from Filter.
                    void PoleZero::setAllpass MY_FLOAT StkFloat  coefficient  ) 
                    void PoleZero::setBlockZero MY_FLOAT StkFloat  thePole = 0.99  ) 
                    void PoleZero::setGain MY_FLOAT  theGain StkFloat  gain  )  [virtual]
                    +

                    + + + + +
                    + + + + + + + + + + + + + + + + + + + +
                    StkFrames& PoleZero::tick StkFrames frames,
                    unsigned int  channel = 1
                    [virtual]
                    +
                    + + + + + +
                    +   + + +

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

                    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                    +Reimplemented from Filter.


                    The documentation for this class was generated from the following file:
                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classReedTabl.html b/doc/html/classReedTabl.html deleted file mode 100644 index 109eac5..0000000 --- a/doc/html/classReedTabl.html +++ /dev/null @@ -1,164 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
                    -    

                    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                    -
                    - -

                    ReedTabl Class Reference

                    STK reed table class. -More... -

                    -#include <ReedTabl.h> -

                    -

                    Inheritance diagram for ReedTabl: -

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

                    Public Member Functions

                    ReedTabl ()
                     Default constructor.

                    ~ReedTabl ()
                     Class destructor.

                    void setOffset (MY_FLOAT aValue)
                     Set the table offset value.

                    void setSlope (MY_FLOAT aValue)
                     Set the table slope value.

                    -MY_FLOAT lastOut () const
                     Return the last output value.

                    MY_FLOAT tick (MY_FLOAT input)
                     Return the function value for input.

                    -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                     Take vectorSize inputs and return the corresponding function values in vector.

                    -

                    Detailed Description

                    -STK reed table class. -

                    -This class implements a simple one breakpoint, non-linear reed function, as described by Smith (1986). This function is based on a memoryless non-linear spring model of the reed (the reed mass is ignored) which saturates when the reed collides with the mouthpiece facing.

                    -See McIntyre, Schumacher, & Woodhouse (1983), Smith (1986), Hirschman, Cook, Scavone, and others for more information.

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

                    - -

                    -Definition at line 25 of file ReedTabl.h.


                    Member Function Documentation

                    -

                    - - - - -
                    - - - - - - - - - - -
                    void ReedTabl::setOffset MY_FLOAT  aValue  ) 
                    -
                    - - - - - -
                    -   - - -

                    -Set the table offset value. -

                    -The table offset roughly corresponds to the size of the initial reed tip opening (a greater offset represents a smaller opening).

                    -

                    - - - - -
                    - - - - - - - - - - -
                    void ReedTabl::setSlope MY_FLOAT  aValue  ) 
                    -
                    - - - - - -
                    -   - - -

                    -Set the table slope value. -

                    -The table slope roughly corresponds to the reed stiffness (a greater slope represents a harder reed).

                    -

                    - - - - -
                    - - - - - - - - - - -
                    MY_FLOAT ReedTabl::tick MY_FLOAT  input  ) 
                    -
                    - - - - - -
                    -   - - -

                    -Return the function value for input. -

                    -The function input represents the differential pressure across the reeds.

                    -


                    The documentation for this class was generated from the following file: -
                    - - - - -
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    - - - diff --git a/doc/html/classReedTabl.png b/doc/html/classReedTabl.png deleted file mode 100644 index f1c5a5fa617e8666db573762cde1c6aa2201ec5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^jzAp1!VDz01haYoDTx4|5ZC|z{{xx-{~wq?KVbrp z1;z&s9H>6@{|S)GSQ6wH%;50sMjDWF%+tj&q+-t7$$@-_6nNTRcAwv3zChieN^$;< z|AIN@Z9Zwz#>r_*_;u=kX8hkIu+DGJ;nuen8jUA9Pbvr*?_^O9+_X!>HAP^J-Gw5n zpBp+JU3n42ae3vB2|{0H-RP)S{&W3<%yzxcW`(DIch1>sX7{l(lFhKgQG&%v(77Z_ zu8ZM_JDbbHJ)#SQ7Oo6&bwBYyA-z!Ti&TMc!? wwVkdlP7dLRziu@3&Po4yuKuUsp<3Q@CZ6_fb2BE(0DZ*Z>FVdQ&MBb@0P?kaG5`Po diff --git a/doc/html/classReedTable-members.html b/doc/html/classReedTable-members.html new file mode 100644 index 0000000..6c3f741 --- /dev/null +++ b/doc/html/classReedTable-members.html @@ -0,0 +1,50 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
                    +    

                    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                    +
                    + +

                    ReedTable Member List

                    This is the complete list of members for ReedTable, including all inherited members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                    Function()Function
                    handleError(const char *message, StkError::Type type)Stk [static]
                    handleError(std::string message, StkError::Type type)Stk [static]
                    handleError(StkError::Type type)Stk [protected]
                    lastOut() const Function [inline, virtual]
                    rawwavePath(void)Stk [inline, static]
                    ReedTable()ReedTable
                    sampleRate(void)Stk [inline, static]
                    setOffset(StkFloat offset)ReedTable
                    setRawwavePath(std::string path)Stk [static]
                    setSampleRate(StkFloat rate)Stk [inline, static]
                    setSlope(StkFloat slope)ReedTable
                    sleep(unsigned long milliseconds)Stk [static]
                    Stk(void)Stk [protected]
                    STK_FLOAT32Stk [static]
                    STK_FLOAT64Stk [static]
                    STK_SINT16Stk [static]
                    STK_SINT24Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT8Stk [static]
                    swap16(unsigned char *ptr)Stk [static]
                    swap32(unsigned char *ptr)Stk [static]
                    swap64(unsigned char *ptr)Stk [static]
                    tick(StkFloat input)ReedTable [virtual]
                    tick(StkFloat *vector, unsigned int vectorSize)ReedTable [virtual]
                    tick(StkFrames &frames, unsigned int channel=1)ReedTable [virtual]
                    ~Function()Function [virtual]
                    ~ReedTable()ReedTable
                    ~Stk(void)Stk [protected, virtual]

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

                    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                    +
                    + +

                    ReedTable Class Reference

                    #include <ReedTable.h> +

                    +

                    Inheritance diagram for ReedTable: +

                    + +Function +Stk + +List of all members.

                    Detailed Description

                    +STK reed table class. +

                    +This class implements a simple one breakpoint, non-linear reed function, as described by Smith (1986). This function is based on a memoryless non-linear spring model of the reed (the reed mass is ignored) which saturates when the reed collides with the mouthpiece facing.

                    +See McIntyre, Schumacher, & Woodhouse (1983), Smith (1986), Hirschman, Cook, Scavone, and others for more information.

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

                    + +

                    +Definition at line 25 of file ReedTable.h. + + + + + + + + + + + + + + + + + + + + + + + +

                    Public Member Functions

                    ReedTable ()
                     Default constructor.

                    ~ReedTable ()
                     Class destructor.

                    void setOffset (StkFloat offset)
                     Set the table offset value.

                    void setSlope (StkFloat slope)
                     Set the table slope value.

                    StkFloat tick (StkFloat input)
                     Return the function value for input.

                    +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                     Take vectorSize inputs from vector and replace them with corresponding outputs.

                    StkFramestick (StkFrames &frames, unsigned int channel=1)
                     Take a channel of the StkFrames object as inputs to the function and replace with corresponding outputs.

                    +


                    Member Function Documentation

                    +

                    + + + + +
                    + + + + + + + + + + +
                    void ReedTable::setOffset StkFloat  offset  ) 
                    +
                    + + + + + +
                    +   + + +

                    +Set the table offset value. +

                    +The table offset roughly corresponds to the size of the initial reed tip opening (a greater offset represents a smaller opening).

                    +

                    + + + + +
                    + + + + + + + + + + +
                    void ReedTable::setSlope StkFloat  slope  ) 
                    +
                    + + + + + +
                    +   + + +

                    +Set the table slope value. +

                    +The table slope roughly corresponds to the reed stiffness (a greater slope represents a harder reed).

                    +

                    + + + + +
                    + + + + + + + + + + +
                    StkFloat ReedTable::tick StkFloat  input  )  [virtual]
                    +
                    + + + + + +
                    +   + + +

                    +Return the function value for input. +

                    +The function input represents the differential pressure across the reeds. +

                    +Implements Function.

                    +

                    + + + + +
                    + + + + + + + + + + + + + + + + + + + +
                    StkFrames& ReedTable::tick StkFrames frames,
                    unsigned int  channel = 1
                    [virtual]
                    +
                    + + + + + +
                    +   + + +

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

                    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                    +Reimplemented from Function.

                    +


                    The documentation for this class was generated from the following file: +
                    + + + + +
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    + + + diff --git a/doc/html/classReedTable.png b/doc/html/classReedTable.png new file mode 100644 index 0000000000000000000000000000000000000000..1bed5bba0024696f683a2605d7255a726e87a55b GIT binary patch literal 397 zcmV;80doF{P)nc61HR{Bf(6+$|9Z7_EURXcwHB*cNG0&$QQ z2+1VAw#p&QvP$(JT%snfK&q(%CE=BFxx0#R>=U|^O{i!F0cyHZk9I4py#<~6y`a8t zsMiGT*PTHI8T4`JAN~u7XtuhViUYJ9l~2Yi>x1cw`AUHp^Aj$WA)UXhb65i90+S|A zQI#XZ7Z)?_1j!KEfP^)K?j(1&f;P<{`!6V43uBN$1|0*U26Miix;rY=LI1SUQF3Eo z4!K#r(J4XXkrCULAb6e-h)WaH=_g(kq3BWce2QmHBb3W!Zw6^z!U>I#9!1Pceo@X1 rd@h$Wy{4(uonLjg-?98K)N-ZnJNOdwmm;pQ00000NkvXXu0mjf3~s2J literal 0 HcmV?d00001 diff --git a/doc/html/classResonate-members.html b/doc/html/classResonate-members.html index 02dc608..5653343 100644 --- a/doc/html/classResonate-members.html +++ b/doc/html/classResonate-members.html @@ -11,44 +11,48 @@

                    Resonate Member List

                    This is the complete list of members for Resonate, including all inherited members. - - + + + + - - - - - + + + - + - - - - - + + + + + + + - + + - + +
                    clear()Resonate
                    controlChange(int number, MY_FLOAT value)Resonate [virtual]
                    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                    controlChange(int number, StkFloat value)Resonate [virtual]
                    handleError(const char *message, StkError::Type type)Stk [static]
                    handleError(std::string message, StkError::Type type)Stk [static]
                    handleError(StkError::Type type)Stk [protected]
                    Instrmnt()Instrmnt
                    keyOff()Resonate
                    keyOn()Resonate
                    lastOut() const Instrmnt
                    lastOutLeft() const Instrmnt
                    lastOutRight() const Instrmnt
                    MY_FLOAT32Stk [static]
                    MY_FLOAT64Stk [static]
                    noteOff(MY_FLOAT amplitude)Resonate [virtual]
                    noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Resonate [virtual]
                    rawwavePath(void)Stk [static]
                    noteOff(StkFloat amplitude)Resonate [virtual]
                    noteOn(StkFloat frequency, StkFloat amplitude)Resonate [virtual]
                    rawwavePath(void)Stk [inline, static]
                    Resonate()Resonate
                    sampleRate(void)Stk [static]
                    sampleRate(void)Stk [inline, static]
                    setEqualGainZeroes()Resonate
                    setFrequency(MY_FLOAT frequency)Instrmnt [virtual]
                    setNotch(MY_FLOAT frequency, MY_FLOAT radius)Resonate
                    setRawwavePath(std::string newPath)Stk [static]
                    setResonance(MY_FLOAT frequency, MY_FLOAT radius)Resonate
                    setSampleRate(MY_FLOAT newRate)Stk [static]
                    setFrequency(StkFloat frequency)Instrmnt [virtual]
                    setNotch(StkFloat frequency, StkFloat radius)Resonate
                    setRawwavePath(std::string path)Stk [static]
                    setResonance(StkFloat frequency, StkFloat radius)Resonate
                    setSampleRate(StkFloat rate)Stk [inline, static]
                    sleep(unsigned long milliseconds)Stk [static]
                    Stk(void)Stk [protected]
                    STK_FLOAT32Stk [static]
                    STK_FLOAT64Stk [static]
                    STK_SINT16Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT24Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT8Stk [static]
                    swap16(unsigned char *ptr)Stk [static]
                    swap32(unsigned char *ptr)Stk [static]
                    swap64(unsigned char *ptr)Stk [static]
                    tick()Resonate [virtual]
                    Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                    tick(StkFloat *vector, unsigned int vectorSize)Resonate [virtual]
                    tick(StkFrames &frames, unsigned int channel=1)Resonate [virtual]
                    ~Instrmnt()Instrmnt [virtual]
                    ~Resonate()Resonate
                    ~Stk(void)Stk [protected, virtual]

                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classResonate.html b/doc/html/classResonate.html index 7e461f2..bbb405f 100644 --- a/doc/html/classResonate.html +++ b/doc/html/classResonate.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                    -

                    Resonate Class Reference

                    STK noise driven formant filter. -More... -

                    -#include <Resonate.h> +

                    Resonate Class Reference

                    #include <Resonate.h>

                    Inheritance diagram for Resonate:

                    @@ -20,7 +17,18 @@ Instrmnt Stk -List of all members. +List of all members.

                    Detailed Description

                    +STK noise driven formant filter. +

                    +This instrument contains a noise source, which excites a biquad resonance filter, with volume controlled by an ADSR.

                    +Control Change Numbers:

                      +
                    • Resonance Frequency (0-Nyquist) = 2
                    • Pole Radii = 4
                    • Notch Frequency (0-Nyquist) = 11
                    • Zero Radii = 1
                    • Envelope Gain = 128
                    +

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

                    + +

                    +Definition at line 28 of file Resonate.h.

                    +void  +void  +void  +void  +StkFloat  - + + + + + + +

                    Public Member Functions

                    @@ -36,11 +44,11 @@ void  Reset and clear all internal state.

                    -void setResonance (MY_FLOAT frequency, MY_FLOAT radius)
                    setResonance (StkFloat frequency, StkFloat radius)
                     Set the filter for a resonance at the given frequency (Hz) and radius.

                    -void setNotch (MY_FLOAT frequency, MY_FLOAT radius)
                    setNotch (StkFloat frequency, StkFloat radius)
                     Set the filter for a notch at the given frequency (Hz) and radius.

                    @@ -56,39 +64,78 @@ void  Signal a key-off event to the envelope.

                    -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                    noteOn (StkFloat frequency, StkFloat amplitude)
                     Start a note with the given frequency and amplitude.

                    -void noteOff (MY_FLOAT amplitude)
                    noteOff (StkFloat amplitude)
                     Stop a note with the given amplitude (speed of decay).

                    -MY_FLOAT tick ()
                    tick ()
                     Compute one output sample.

                    -virtual void controlChange (int number, MY_FLOAT value)
                    +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                     Computer vectorSize outputs and return them in vector.

                    StkFramestick (StkFrames &frames, unsigned int channel=1)
                     Fill a channel of the StkFrames object with computed outputs.

                    +void controlChange (int number, StkFloat value)
                     Perform the control change specified by number and value (0.0 - 128.0).

                    -

                    Detailed Description

                    -STK noise driven formant filter. -

                    -This instrument contains a noise source, which excites a biquad resonance filter, with volume controlled by an ADSR.

                    -Control Change Numbers:

                      -
                    • Resonance Frequency (0-Nyquist) = 2
                    • Pole Radii = 4
                    • Notch Frequency (0-Nyquist) = 11
                    • Zero Radii = 1
                    • Envelope Gain = 128
                    -

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

                    +


                    Member Function Documentation

                    +

                    + + + + +
                    + + + + + + + + + + + + + + + + + + + +
                    StkFrames& Resonate::tick StkFrames frames,
                    unsigned int  channel = 1
                    [virtual]
                    +
                    + + + + + +
                    +   +

                    -Definition at line 28 of file Resonate.h.


                    The documentation for this class was generated from the following file:
                      +Fill a channel of the StkFrames object with computed outputs. +

                      +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                      +Reimplemented from Instrmnt.

                    +


                    The documentation for this class was generated from the following file:
                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classReverb.html b/doc/html/classReverb.html deleted file mode 100644 index f706850..0000000 --- a/doc/html/classReverb.html +++ /dev/null @@ -1,83 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
                    -    

                    -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                    -
                    - -

                    Reverb Class Reference

                    STK abstract reverberator parent class. -More... -

                    -#include <Reverb.h> -

                    -

                    Inheritance diagram for Reverb: -

                    - -Stk -JCRev -NRev -PRCRev - -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                    Public Member Functions

                    Reverb ()
                     Class constructor.

                    -virtual ~Reverb ()
                     Class destructor.

                    -virtual void clear ()=0
                     Reset and clear all internal state.

                    -void setEffectMix (MY_FLOAT mix)
                     Set the mixture of input and "reverberated" levels in the output (0.0 = input only, 1.0 = reverb only).

                    -MY_FLOAT lastOut () const
                     Return the last output value.

                    -MY_FLOAT lastOutLeft () const
                     Return the last left output value.

                    -MY_FLOAT lastOutRight () const
                     Return the last right output value.

                    -virtual MY_FLOAT tick (MY_FLOAT input)=0
                     Abstract tick function ... must be implemented in subclasses.

                    -virtual MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                     Take vectorSize inputs, compute the same number of outputs and return them in vector.

                    -

                    Detailed Description

                    -STK abstract reverberator parent class. -

                    -This class provides common functionality for STK reverberator subclasses.

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

                    - -

                    -Definition at line 17 of file Reverb.h.


                    The documentation for this class was generated from the following file: -
                    - - - - -
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    - - - diff --git a/doc/html/classReverb.png b/doc/html/classReverb.png deleted file mode 100644 index 28c8f855c10dc1d1eb549a7b5b7daf2a11d85c5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 591 zcmV-V0-s|s=)0cZjEi2vFz#p1Z>D#z-3@mhu@PQ-8~)`TGjjq)7dFRmZ9yZP{J2vB=P~w` z?_dbd{(be(MK#oT1LJ^apDb=7RS!4x|GUp+oTabSP~&}#>##>Oj6K%TD58cMYN(-x zw2@Av{G@+=`iyLb;0p2cYtQR68M;@Lxh>~dtFAArmf7K5hS3DA|o zxX5hq3}rH$n;K9^h>YnfhACo-i_8Y{YTSoFJ55ri>%g%}l(064m+U?>@CPp$6n?K5 zaYDsF&RiS7c-bI6j}2oyk6-{Vbz>dGiBvcbcN69b$vXJ@k002ovPDHLkV1h}k3yS~% diff --git a/doc/html/classRhodey-members.html b/doc/html/classRhodey-members.html index 0dc14d1..c44b537 100644 --- a/doc/html/classRhodey-members.html +++ b/doc/html/classRhodey-members.html @@ -11,9 +11,11 @@

                    Rhodey Member List

                    This is the complete list of members for Rhodey, including all inherited members. - - - + + + + + @@ -21,32 +23,34 @@ - - - - - + + + - - - - - - - - - - + + + + + + + + + + + + - + + - + + @@ -54,7 +58,7 @@
                    clear()FM
                    controlChange(int number, MY_FLOAT value)FM [virtual]
                    FM(int operators=4)FM
                    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                    controlChange(int number, StkFloat value)FM [virtual]
                    FM(unsigned int operators=4)FM
                    handleError(const char *message, StkError::Type type)Stk [static]
                    handleError(std::string message, StkError::Type type)Stk [static]
                    handleError(StkError::Type type)Stk [protected]
                    Instrmnt()Instrmnt
                    keyOff()FM
                    keyOn()FM
                    lastOutLeft() const Instrmnt
                    lastOutRight() const Instrmnt
                    loadWaves(const char **filenames)FM
                    MY_FLOAT32Stk [static]
                    MY_FLOAT64Stk [static]
                    noteOff(MY_FLOAT amplitude)FM [virtual]
                    noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Rhodey [virtual]
                    rawwavePath(void)Stk [static]
                    noteOff(StkFloat amplitude)FM [virtual]
                    noteOn(StkFloat frequency, StkFloat amplitude)Rhodey [virtual]
                    rawwavePath(void)Stk [inline, static]
                    Rhodey()Rhodey
                    sampleRate(void)Stk [static]
                    setControl1(MY_FLOAT cVal)FM
                    setControl2(MY_FLOAT cVal)FM
                    setFrequency(MY_FLOAT frequency)Rhodey [virtual]
                    setGain(int waveIndex, MY_FLOAT gain)FM
                    setModulationDepth(MY_FLOAT mDepth)FM
                    setModulationSpeed(MY_FLOAT mSpeed)FM
                    setRatio(int waveIndex, MY_FLOAT ratio)FM
                    setRawwavePath(std::string newPath)Stk [static]
                    setSampleRate(MY_FLOAT newRate)Stk [static]
                    sampleRate(void)Stk [inline, static]
                    setControl1(StkFloat cVal)FM
                    setControl2(StkFloat cVal)FM
                    setFrequency(StkFloat frequency)Rhodey [virtual]
                    setGain(unsigned int waveIndex, StkFloat gain)FM
                    setModulationDepth(StkFloat mDepth)FM
                    setModulationSpeed(StkFloat mSpeed)FM
                    setRatio(unsigned int waveIndex, StkFloat ratio)FM
                    setRawwavePath(std::string path)Stk [static]
                    setSampleRate(StkFloat rate)Stk [inline, static]
                    sleep(unsigned long milliseconds)Stk [static]
                    Stk(void)Stk [protected]
                    STK_FLOAT32Stk [static]
                    STK_FLOAT64Stk [static]
                    STK_SINT16Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT24Stk [static]
                    STK_SINT32Stk [static]
                    STK_SINT8Stk [static]
                    swap16(unsigned char *ptr)Stk [static]
                    swap32(unsigned char *ptr)Stk [static]
                    swap64(unsigned char *ptr)Stk [static]
                    tick()Rhodey [virtual]
                    Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                    tick(StkFloat *vector, unsigned int vectorSize)Rhodey [virtual]
                    tick(StkFrames &frames, unsigned int channel=1)Rhodey [virtual]
                    ~FM()FM [virtual]
                    ~Instrmnt()Instrmnt [virtual]
                    ~Rhodey()Rhodey

                    - +
                    The Synthesis ToolKit in C++ (STK)
                    The Synthesis ToolKit in C++ (STK)
                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                    diff --git a/doc/html/classRhodey.html b/doc/html/classRhodey.html index 89086b1..0750d25 100644 --- a/doc/html/classRhodey.html +++ b/doc/html/classRhodey.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                    -

                    Rhodey Class Reference

                    STK Fender Rhodes electric piano FM synthesis instrument. -More... -

                    -#include <Rhodey.h> +

                    Rhodey Class Reference

                    #include <Rhodey.h>

                    Inheritance diagram for Rhodey:

                    @@ -21,31 +18,7 @@ Instrmnt Stk -List of all members. - - - - - - - - - - - - - - - - - -

                    Public Member Functions

                    Rhodey ()
                     Class constructor.

                    ~Rhodey ()
                     Class destructor.

                    -void setFrequency (MY_FLOAT frequency)
                     Set instrument parameters for a particular frequency.

                    -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                     Start a note with the given frequency and amplitude.

                    -MY_FLOAT tick ()
                     Compute one output sample.

                    -

                    Detailed Description

                    +List of all members.

                    Detailed Description

                    STK Fender Rhodes electric piano FM synthesis instrument.

                    This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

                    @@ -57,16 +30,120 @@ Control Change Numbers:

                    • Modulator Index One = 2
                    • Crossfade of Outputs = 4
                    • LFO Speed = 11
                    • LFO Depth = 1
                    • ADSR 2 & 4 Target = 128

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

                    -by Perry R. Cook and Gary P. Scavone, 1995 - 2002. +by Perry R. Cook and Gary P. Scavone, 1995 - 2004.

                    -Definition at line 38 of file Rhodey.h.


                    The documentation for this class was generated from the following file:
                      +Definition at line 38 of file Rhodey.h. + + + + + + + + + + + + + + + + + + + + + + + +

                      Public Member Functions

                       Rhodey ()
                       Class constructor.

                      ~Rhodey ()
                       Class destructor.

                      +void setFrequency (StkFloat frequency)
                       Set instrument parameters for a particular frequency.

                      +void noteOn (StkFloat frequency, StkFloat amplitude)
                       Start a note with the given frequency and amplitude.

                      +StkFloat tick ()
                       Compute one output sample.

                      +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                       Computer vectorSize outputs and return them in vector.

                      StkFramestick (StkFrames &frames, unsigned int channel=1)
                       Fill a channel of the StkFrames object with computed outputs.

                      +

                      Constructor & Destructor Documentation

                      +

                      + + + + +
                      + + + + + + + + + +
                      Rhodey::Rhodey  ) 
                      +
                      + + + + + +
                      +   + + +

                      +Class constructor. +

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

                      +


                      Member Function Documentation

                      +

                      + + + + +
                      + + + + + + + + + + + + + + + + + + + +
                      StkFrames& Rhodey::tick StkFrames frames,
                      unsigned int  channel = 1
                      [virtual]
                      +
                      + + + + + +
                      +   + + +

                      +Fill a channel of the StkFrames object with computed outputs. +

                      +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                      +Implements FM.

                      +


                      The documentation for this class was generated from the following file:
                      - +
                      The Synthesis ToolKit in C++ (STK)
                      The Synthesis ToolKit in C++ (STK)
                      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                      diff --git a/doc/html/classRtAudio-members.html b/doc/html/classRtAudio-members.html index 0cc978f..fc524ba 100644 --- a/doc/html/classRtAudio-members.html +++ b/doc/html/classRtAudio-members.html @@ -10,33 +10,35 @@

                      RtAudio Member List

                      This is the complete list of members for RtAudio, including all inherited members. - - - - - - + + + + + + - + + + - - - - + + + + - +
                      abortStream()RtAudio [inline]
                      cancelStreamCallback()RtAudio [inline]
                      closeStream()RtAudio [inline]
                      getDeviceCount(void)RtAudio [inline]
                      getDeviceInfo(int device)RtAudio [inline]
                      getStreamBuffer()RtAudio [inline]
                      abortStream()RtAudio [inline]
                      cancelStreamCallback()RtAudio [inline]
                      closeStream()RtAudio [inline]
                      getDeviceCount(void)RtAudio [inline]
                      getDeviceInfo(int device)RtAudio [inline]
                      getStreamBuffer()RtAudio [inline]
                      IRIX_AL enum valueRtAudio
                      LINUX_ALSA enum valueRtAudio
                      LINUX_JACK enum valueRtAudio
                      LINUX_OSS enum valueRtAudio
                      MACOSX_CORE enum valueRtAudio
                      openStream(int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int numberOfBuffers)RtAudio
                      openStream(int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int numberOfBuffers)RtAudio
                      openStream(int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int *numberOfBuffers)RtAudio
                      RtAudio(RtAudioApi api=UNSPECIFIED)RtAudio
                      RtAudio(int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int numberOfBuffers, RtAudioApi api=UNSPECIFIED)RtAudio
                      RtAudio(int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int *numberOfBuffers, RtAudioApi api=UNSPECIFIED)RtAudio
                      RtAudioApi enum nameRtAudio
                      setStreamCallback(RtAudioCallback callback, void *userData)RtAudio [inline]
                      startStream()RtAudio [inline]
                      stopStream()RtAudio [inline]
                      tickStream()RtAudio [inline]
                      setStreamCallback(RtAudioCallback callback, void *userData)RtAudio [inline]
                      startStream()RtAudio [inline]
                      stopStream()RtAudio [inline]
                      tickStream()RtAudio [inline]
                      UNSPECIFIED enum valueRtAudio
                      WINDOWS_ASIO enum valueRtAudio
                      WINDOWS_DS enum valueRtAudio
                      ~RtAudio()RtAudio
                      ~RtAudio()RtAudio

                      - +
                      The Synthesis ToolKit in C++ (STK)
                      The Synthesis ToolKit in C++ (STK)
                      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                      diff --git a/doc/html/classRtAudio.html b/doc/html/classRtAudio.html index d31e3ec..1cc28e5 100644 --- a/doc/html/classRtAudio.html +++ b/doc/html/classRtAudio.html @@ -9,12 +9,22 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                      -

                      RtAudio Class Reference

                      Realtime audio i/o C++ classes. -More... +

                      RtAudio Class Reference

                      #include <RtAudio.h>

                      -#include <RtAudio.h> +List of all members.


                      Detailed Description

                      +Realtime audio i/o C++ classes.

                      -List of all members. +RtAudio provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, Jack, and OSS), SGI, Macintosh OS X (CoreAudio), and Windows (DirectSound and ASIO) operating systems.

                      +RtAudio WWW site: http://music.mcgill.ca/~gary/rtaudio/

                      +RtAudio: realtime audio i/o C++ classes Copyright (c) 2001-2004 Gary P. Scavone

                      +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

                      +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

                      +Any person wishing to distribute modifications to the Software is requested to send the modifications to the original developer so that they can be incorporated into the canonical version.

                      +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +

                      + +

                      +Definition at line 321 of file RtAudio.h.

                      - + - - + + - - + + - - + + - - + + + + + + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - +

                      Public Types

                      enum  RtAudioApi {
                      @@ -38,58 +48,51 @@
                       RtAudio (int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int numberOfBuffers, RtAudioApi api=UNSPECIFIED)
                       A constructor which can be used to open a stream during instantiation.

                       ~RtAudio ()
                       RtAudio (int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int *numberOfBuffers, RtAudioApi api=UNSPECIFIED)
                       The destructor.

                      void openStream (int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int numberOfBuffers)
                       An overloaded constructor which opens a stream and also returns numberOfBuffers parameter via pointer argument.

                       ~RtAudio ()
                       A public method for opening a stream with the specified parameters.

                      void setStreamCallback (RtAudioCallback callback, void *userData)
                       The destructor.

                      void openStream (int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int numberOfBuffers)
                       A public method which sets a user-defined callback function for a given stream.

                      void cancelStreamCallback ()
                       A public method for opening a stream with the specified parameters.

                      void openStream (int outputDevice, int outputChannels, int inputDevice, int inputChannels, RtAudioFormat format, int sampleRate, int *bufferSize, int *numberOfBuffers)
                       A public method which cancels a callback process and function for the stream.

                      -int getDeviceCount (void)
                       A public method for opening a stream and also returning numberOfBuffers parameter via pointer argument.

                      void setStreamCallback (RtAudioCallback callback, void *userData)
                       A public method which sets a user-defined callback function for a given stream.

                      void cancelStreamCallback ()
                       A public method which cancels a callback process and function for the stream.

                      +int getDeviceCount (void)
                       A public method which returns the number of audio devices found.

                      RtAudioDeviceInfo getDeviceInfo (int device)
                      RtAudioDeviceInfo getDeviceInfo (int device)
                       Return an RtAudioDeviceInfo structure for a specified device number.

                      char *const  getStreamBuffer ()
                       Return an RtAudioDeviceInfo structure for a specified device number.

                      char *const  getStreamBuffer ()
                       A public method which returns a pointer to the buffer for an open stream.

                      void tickStream ()
                       A public method which returns a pointer to the buffer for an open stream.

                      void tickStream ()
                       Public method used to trigger processing of input/output data for a stream.

                      void closeStream ()
                       Public method used to trigger processing of input/output data for a stream.

                      void closeStream ()
                       Public method which closes a stream and frees any associated buffers.

                      void startStream ()
                       Public method which closes a stream and frees any associated buffers.

                      void startStream ()
                       Public method which starts a stream.

                      void stopStream ()
                       Public method which starts a stream.

                      void stopStream ()
                       Stop a stream, allowing any samples remaining in the queue to be played out and/or read in.

                      void abortStream ()
                       Stop a stream, allowing any samples remaining in the queue to be played out and/or read in.

                      void abortStream ()
                       Stop a stream, discarding any samples remaining in the input/output queue.

                       Stop a stream, discarding any samples remaining in the input/output queue.

                      -


                      Detailed Description

                      -Realtime audio i/o C++ classes. -

                      -RtAudio provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, Jack, and OSS), SGI, Macintosh OS X (CoreAudio), and Windows (DirectSound and ASIO) operating systems.

                      -RtAudio WWW site: http://music.mcgill.ca/~gary/rtaudio/

                      -RtAudio: a realtime audio i/o C++ class Copyright (c) 2001-2004 Gary P. Scavone

                      -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

                      -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

                      -Any person wishing to distribute modifications to the Software is requested to send the modifications to the original developer so that they can be incorporated into the canonical version.

                      -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -

                      - -

                      -Definition at line 307 of file RtAudio.h.


                      Member Enumeration Documentation

                      +

                      Member Enumeration Documentation

                      @@ -133,7 +136,19 @@ The Microsoft Direct Sound API.

                      -Definition at line 312 of file RtAudio.h. +Definition at line 326 of file RtAudio.h. +

                      +

                      00326                   {
                      +00327     UNSPECIFIED,    
                      +00328     LINUX_ALSA,     
                      +00329     LINUX_OSS,      
                      +00330     LINUX_JACK,     
                      +00331     MACOSX_CORE,    
                      +00332     IRIX_AL,        
                      +00333     WINDOWS_ASIO,   
                      +00334     WINDOWS_DS      
                      +00335   };
                      +


                      Constructor & Destructor Documentation

                      @@ -248,11 +263,93 @@ If no API argument is specified and multiple API support has been compiled, the

                      A constructor which can be used to open a stream during instantiation.

                      -The specified output and/or input device identifiers correspond to those enumerated via the getDeviceInfo() method. If device = 0, the default or first available devices meeting the given parameters is selected. If an output or input channel value is zero, the corresponding device value is ignored. When a stream is successfully opened, its identifier is returned via the "streamId" pointer. An RtError can be thrown if no devices are found for the given parameters, if a memory allocation error occurs, or if a driver error occurs.

                      See also:
                      openStream()
                      +The specified output and/or input device identifiers correspond to those enumerated via the getDeviceInfo() method. If device = 0, the default or first available devices meeting the given parameters is selected. If an output or input channel value is zero, the corresponding device value is ignored. When a stream is successfully opened, its identifier is returned via the "streamId" pointer. An RtError can be thrown if no devices are found for the given parameters, if a memory allocation error occurs, or if a driver error occurs.
                      See also:
                      openStream()
                      -

                      +

                      + + + + +
                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                      RtAudio::RtAudio int  outputDevice,
                      int  outputChannels,
                      int  inputDevice,
                      int  inputChannels,
                      RtAudioFormat  format,
                      int  sampleRate,
                      int *  bufferSize,
                      int *  numberOfBuffers,
                      RtAudioApi  api = UNSPECIFIED
                      +
                      + + + + + +
                      +   + + +

                      +An overloaded constructor which opens a stream and also returns numberOfBuffers parameter via pointer argument. +

                      +See the previous constructor call for details. This overloaded version differs only in that it takes a pointer argument for the numberOfBuffers parameter and returns the value used by the audio device (which may be different from that requested). Note that the numberofBuffers parameter is not used with the Linux Jack, Macintosh CoreAudio, and Windows ASIO APIs.

                      +

                      @@ -283,7 +380,7 @@ Stops and closes an open stream and devices and deallocates buffer and structure


                      Member Function Documentation

                      -

                      +

                      @@ -187,16 +193,40 @@ Definition at line 87 of file

                      -32768 to +32767

                      -Definition at line 88 of file Stk.h. +Definition at line 98 of file Stk.h.

                      @@ -359,9 +456,9 @@ A public method for opening a stream with the specified parameters. An RtError is thrown if a stream cannot be opened.

                      Parameters:
                      - + - + @@ -372,7 +469,83 @@ An RtError is thrown if a stream cann
                      outputDevice: If equal to 0, the default or first device found meeting the given parameters is opened. Otherwise, the device number should correspond to one of those enumerated via the getDeviceInfo() method.
                      outputDevice: If equal to 0, the default or first device found meeting the given parameters is opened. Otherwise, the device number should correspond to one of those enumerated via the getDeviceInfo() method.
                      outputChannels: The desired number of output channels. If equal to zero, the outputDevice identifier is ignored.
                      inputDevice: If equal to 0, the default or first device found meeting the given parameters is opened. Otherwise, the device number should correspond to one of those enumerated via the getDeviceInfo() method.
                      inputDevice: If equal to 0, the default or first device found meeting the given parameters is opened. Otherwise, the device number should correspond to one of those enumerated via the getDeviceInfo() method.
                      inputChannels: The desired number of input channels. If equal to zero, the inputDevice identifier is ignored.
                      format: An RtAudioFormat specifying the desired sample data format.
                      sampleRate: The desired sample rate (sample frames per second).
                      -

                      +

                      + + + + +
                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                      void RtAudio::openStream int  outputDevice,
                      int  outputChannels,
                      int  inputDevice,
                      int  inputChannels,
                      RtAudioFormat  format,
                      int  sampleRate,
                      int *  bufferSize,
                      int *  numberOfBuffers
                      +
                      + + + + + +
                      +   + + +

                      +A public method for opening a stream and also returning numberOfBuffers parameter via pointer argument. +

                      +See the previous function call for details. This overloaded version differs only in that it takes a pointer argument for the numberOfBuffers parameter and returns the value used by the audio device (which may be different from that requested). Note that the numberofBuffers parameter is not used with the Linux Jack, Macintosh CoreAudio, and Windows ASIO APIs.

                      +

                      +Definition at line 454 of file RtAudio.h. +

                      +

                      00454 { rtapi_->setStreamCallback( callback, userData ); };
                      +
                      @@ -409,12 +582,15 @@ An RtError is thrown if a stream cann

                      A public method which sets a user-defined callback function for a given stream.

                      -This method assigns a callback function to a previously opened stream for non-blocking stream functionality. A separate process is initiated, though the user function is called only when the stream is "running" (between calls to the startStream() and stopStream() methods, respectively). The callback process remains active for the duration of the stream and is automatically shutdown when the stream is closed (via the closeStream() method or by object destruction). The callback process can also be shutdown and the user function de-referenced through an explicit call to the cancelStreamCallback() method. Note that the stream can use only blocking or callback functionality at a particular time, though it is possible to alternate modes on the same stream through the use of the setStreamCallback() and cancelStreamCallback() methods (the blocking tickStream() method can be used before a callback is set and/or after a callback is cancelled). An RtError will be thrown if called when no stream is open or a thread errors occurs. +This method assigns a callback function to a previously opened stream for non-blocking stream functionality. A separate process is initiated, though the user function is called only when the stream is "running" (between calls to the startStream() and stopStream() methods, respectively). The callback process remains active for the duration of the stream and is automatically shutdown when the stream is closed (via the closeStream() method or by object destruction). The callback process can also be shutdown and the user function de-referenced through an explicit call to the cancelStreamCallback() method. Note that the stream can use only blocking or callback functionality at a particular time, though it is possible to alternate modes on the same stream through the use of the setStreamCallback() and cancelStreamCallback() methods (the blocking tickStream() method can be used before a callback is set and/or after a callback is cancelled). An RtError will be thrown if called when no stream is open or a thread errors occurs.

                      -Definition at line 412 of file RtAudio.h.

                      -

                      +

                      +Definition at line 464 of file RtAudio.h. +

                      +

                      00464 { rtapi_->cancelStreamCallback(); };
                      +
                      @@ -441,12 +617,15 @@ Definition at line 412 of

                      A public method which cancels a callback process and function for the stream.

                      -This method shuts down a callback process and de-references the user function for the stream. Callback functionality can subsequently be restarted on the stream via the setStreamCallback() method. An RtError will be thrown if called when no stream is open. +This method shuts down a callback process and de-references the user function for the stream. Callback functionality can subsequently be restarted on the stream via the setStreamCallback() method. An RtError will be thrown if called when no stream is open.

                      -Definition at line 422 of file RtAudio.h.

                      -

                      +

                      +Definition at line 478 of file RtAudio.h. +

                      +

                      00478 { return rtapi_->getDeviceInfo( device ); };
                      +
                      @@ -474,12 +653,15 @@ Definition at line 422 of

                      Return an RtAudioDeviceInfo structure for a specified device number.

                      -Any device integer between 1 and getDeviceCount() is valid. If a device is busy or otherwise unavailable, the structure member "probed" will have a value of "false" and all other members are undefined. If the specified device is the current default input or output device, the "isDefault" member will have a value of "true". An RtError will be thrown for an invalid device argument. +Any device integer between 1 and getDeviceCount() is valid. If a device is busy or otherwise unavailable, the structure member "probed" will have a value of "false" and all other members are undefined. If the specified device is the current default input or output device, the "isDefault" member will have a value of "true". An RtError will be thrown for an invalid device argument.

                      -Definition at line 436 of file RtAudio.h.

                      -

                      +

                      +Definition at line 486 of file RtAudio.h. +

                      +

                      00486 { return rtapi_->getStreamBuffer(); };
                      +
                      @@ -506,12 +688,15 @@ Definition at line 436 of

                      A public method which returns a pointer to the buffer for an open stream.

                      -The user should fill and/or read the buffer data in interleaved format and then call the tickStream() method. An RtError will be thrown if called when no stream is open. +The user should fill and/or read the buffer data in interleaved format and then call the tickStream() method. An RtError will be thrown if called when no stream is open.

                      -Definition at line 444 of file RtAudio.h.

                      -

                      +

                      +Definition at line 494 of file RtAudio.h. +

                      +

                      00494 { rtapi_->tickStream(); };
                      +
                      @@ -540,10 +725,13 @@ Public method used to trigger processing of input/output data for a stream.

                      This method blocks until all buffer data is read/written. An RtError will be thrown if a driver error occurs or if called when no stream is open.

                      -Definition at line 452 of file RtAudio.h.

                      -

                      +

                      +Definition at line 501 of file RtAudio.h. +

                      +

                      00501 { rtapi_->closeStream(); };
                      +
                      @@ -572,10 +760,13 @@ Public method which closes a stream and frees any associated buffers.

                      If a stream is not open, this method issues a warning and returns (an RtError is not thrown).

                      -Definition at line 459 of file RtAudio.h.

                      -

                      +

                      +Definition at line 508 of file RtAudio.h. +

                      +

                      00508 { rtapi_->startStream(); };
                      +
                      @@ -604,10 +795,13 @@ Public method which starts a stream.

                      An RtError will be thrown if a driver error occurs or if called when no stream is open.

                      -Definition at line 466 of file RtAudio.h.

                      -

                      +

                      +Definition at line 515 of file RtAudio.h. +

                      +

                      00515 { rtapi_->stopStream(); };
                      +
                      @@ -636,10 +830,13 @@ Stop a stream, allowing any samples remaining in the queue to be played out and/

                      An RtError will be thrown if a driver error occurs or if called when no stream is open.

                      -Definition at line 473 of file RtAudio.h.

                      -

                      +

                      +Definition at line 522 of file RtAudio.h. +

                      +

                      00522 { rtapi_->abortStream(); };
                      +
                      @@ -668,7 +865,10 @@ Stop a stream, discarding any samples remaining in the input/output queue.

                      An RtError will be thrown if a driver error occurs or if called when no stream is open.

                      -Definition at line 480 of file RtAudio.h.


                      The documentation for this class was generated from the following file:
                        @@ -676,7 +876,7 @@ Definition at line 480 of
                        - +
                        The Synthesis ToolKit in C++ (STK)
                        The Synthesis ToolKit in C++ (STK)
                        ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                        diff --git a/doc/html/classRtDuplex-members.html b/doc/html/classRtDuplex-members.html index 9b3e208..0bfa922 100644 --- a/doc/html/classRtDuplex-members.html +++ b/doc/html/classRtDuplex-members.html @@ -10,35 +10,40 @@

                        RtDuplex Member List

                        This is the complete list of members for RtDuplex, including all inherited members. - - + + + + - - - - - - - + + + + + + + - + + - - - + + + + +
                        handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                        lastFrame(void) const RtDuplex
                        handleError(const char *message, StkError::Type type)Stk [static]
                        handleError(std::string message, StkError::Type type)Stk [static]
                        handleError(StkError::Type type)Stk [protected]
                        lastFrame(void) const RtDuplex
                        lastOut(void) const RtDuplex
                        MY_FLOAT32Stk [static]
                        MY_FLOAT64Stk [static]
                        rawwavePath(void)Stk [static]
                        RtDuplex(int nChannels=1, MY_FLOAT sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=2)RtDuplex
                        sampleRate(void)Stk [static]
                        setRawwavePath(std::string newPath)Stk [static]
                        setSampleRate(MY_FLOAT newRate)Stk [static]
                        rawwavePath(void)Stk [inline, static]
                        RtDuplex(int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=2)RtDuplex
                        sampleRate(void)Stk [inline, static]
                        setRawwavePath(std::string path)Stk [static]
                        setSampleRate(StkFloat rate)Stk [inline, static]
                        sleep(unsigned long milliseconds)Stk [static]
                        start(void)RtDuplex
                        Stk(void)Stk [protected]
                        STK_FLOAT32Stk [static]
                        STK_FLOAT64Stk [static]
                        STK_SINT16Stk [static]
                        STK_SINT32Stk [static]
                        STK_SINT24Stk [static]
                        STK_SINT32Stk [static]
                        STK_SINT8Stk [static]
                        stop(void)RtDuplex
                        swap16(unsigned char *ptr)Stk [static]
                        swap32(unsigned char *ptr)Stk [static]
                        swap64(unsigned char *ptr)Stk [static]
                        tick(const MY_FLOAT sample)RtDuplex
                        tick(MY_FLOAT *vector, unsigned int vectorSize)RtDuplex
                        tickFrame(MY_FLOAT *frameVector, unsigned int frames=1)RtDuplex
                        tick(const StkFloat sample)RtDuplex
                        tick(StkFloat *vector, unsigned int vectorSize)RtDuplex
                        tick(StkFrames &frames, unsigned int channel=1)RtDuplex
                        tickFrame(StkFloat *frameVector, unsigned int frames=1)RtDuplex
                        tickFrame(StkFrames &frames)RtDuplex
                        ~RtDuplex()RtDuplex
                        ~Stk(void)Stk [protected, virtual]

                        - +
                        The Synthesis ToolKit in C++ (STK)
                        The Synthesis ToolKit in C++ (STK)
                        ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                        diff --git a/doc/html/classRtDuplex.html b/doc/html/classRtDuplex.html index 8f76a12..34e82b6 100644 --- a/doc/html/classRtDuplex.html +++ b/doc/html/classRtDuplex.html @@ -9,20 +9,27 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                        -

                        RtDuplex Class Reference

                        STK realtime audio input/output class. -More... -

                        -#include <RtDuplex.h> +

                        RtDuplex Class Reference

                        #include <RtDuplex.h>

                        Inheritance diagram for RtDuplex:

                        Stk -List of all members. +List of all members.

                        Detailed Description

                        +STK realtime audio (blocking) input/output class. +

                        +This class provides a simplified interface to RtAudio for realtime audio input/output. It may also be possible to achieve duplex operation using separate RtWvIn and RtWvOut classes, but this class ensures better input/output synchronization.

                        +Because this class makes use of RtAudio's blocking input/output routines, its performance is less robust on systems where the audio API is callback-based (Macintosh CoreAudio and Windows ASIO).

                        +RtDuplex supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame and return samples produced by averaging across sample frames, from the tickFrame() methods, which take/return pointers to multi-channel sample frames.

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

                        + +

                        +Definition at line 37 of file RtDuplex.h.

                        - + +StkFloat  - + - + - - + + + + + - + - + + + +

                        Public Member Functions

                         RtDuplex (int nChannels=1, MY_FLOAT sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=2)
                         RtDuplex (int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=2)
                         Default constructor.

                        @@ -36,33 +43,30 @@
                         Stop the audio input/output stream.

                        -MY_FLOAT lastOut (void) const
                        lastOut (void) const
                         Return the average across the last output sample frame.

                        MY_FLOAT tick (const MY_FLOAT sample)
                        StkFloat tick (const StkFloat sample)
                         Output a single sample to all channels in a sample frame and return the average across one new input sample frame of data.

                        MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                        StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                         Output each sample in to all channels per frame and return averaged input sample frames of new data in vector.

                        -const MY_FLOAT * lastFrame (void) const
                         Output each sample in vector to all channels per frame and return averaged input sample frames of new data in vector.

                        StkFramestick (StkFrames &frames, unsigned int channel=1)
                         Output a channel of the StkFrames object to all channels and replace with averaged sample frames of input.

                        +const StkFloat * lastFrame (void) const
                         Return a pointer to the last output sample frame.

                        MY_FLOAT * tickFrame (MY_FLOAT *frameVector, unsigned int frames=1)
                        StkFloat * tickFrame (StkFloat *frameVector, unsigned int frames=1)
                         Output sample frames from frameVector and return new input frames in frameVector.

                         Output sample frames from frameVector and return new input frames in frameVector.

                        StkFramestickFrame (StkFrames &frames)
                         Output the StkFrames data and replace with new input frames.

                        -

                        Detailed Description

                        -STK realtime audio input/output class. -

                        -This class provides a simplified interface to RtAudio for realtime audio input/output. It is also possible to achieve duplex operation using separate RtWvIn and RtWvOut classes, but this class ensures better input/output syncronization.

                        -RtDuplex supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame and return samples produced by averaging across sample frames, from the tickFrame() methods, which take/return pointers to multi-channel sample frames.

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

                        - -

                        -Definition at line 30 of file RtDuplex.h.


                        Constructor & Destructor Documentation

                        +

                        Constructor & Destructor Documentation

                        @@ -77,7 +81,7 @@ Definition at line 30 of - + @@ -190,9 +194,9 @@ It may be necessary to use this method to avoid audio overflow/underflow problem @@ -163,7 +169,7 @@ The sample rate set using this method is queried by all STK classes which depend

                        -128 to +127

                        -Definition at line 87 of file Stk.h. +Definition at line 97 of file Stk.h.

                        MY_FLOAT StkFloat  sampleRate = Stk::sampleRate(),
                        - + - + @@ -221,9 +225,9 @@ An StkError will be thrown if an err +The sample rate set using this method is queried by all STK classes which depend on its value. It is initialized to the default SRATE set in Stk.h. Many STK classes use the sample rate during instantiation. Therefore, if you wish to use a rate which is different from the default rate, it is imperative that it be set BEFORE STK objects are instantiated. +

                        +Definition at line 116 of file Stk.h. +

                        +

                        00116 { if (rate > 0.0) srate_ = rate; }
                        +
                        MY_FLOAT RtDuplex::tick StkFloat RtDuplex::tick const MY_FLOAT const StkFloat  sample  )  - + - + @@ -250,20 +254,60 @@ An StkError will be thrown if an err
                        MY_FLOAT* RtDuplex::tick StkFloat* RtDuplex::tick MY_FLOAT * StkFloat *  vector,

                        -Output each sample in to all channels per frame and return averaged input sample frames of new data in vector. +Output each sample in vector to all channels per frame and return averaged input sample frames of new data in vector.

                        An StkError will be thrown if an error occurs during input/output.

                        -

                        +

                        + +
                        - + - + + + + + + + + + + + + + + + +
                        MY_FLOAT* RtDuplex::tickFrame StkFrames& RtDuplex::tick MY_FLOAT * StkFrames frames,
                        unsigned int  channel = 1
                        +
                        + + + + + +
                        +   + + +

                        +Output a channel of the StkFrames object to all channels and replace with averaged sample frames of input. +

                        +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if an error occurs during input/outpu or the channel argument is zero or it is greater than the number of channels in the StkFrames object.

                        +

                        + + +
                        + + + + + @@ -295,12 +339,43 @@ Output sample frames from frameVector and return new input fra An StkError will be thrown if an error occurs during input/output.
                        StkFloat* RtDuplex::tickFrame StkFloat *  frameVector,
                        +

                        + + + + +
                        + + + + + + + + + + +
                        StkFrames& RtDuplex::tickFrame StkFrames frames  ) 
                        +
                        + + + + + +
                        +   + + +

                        +Output the StkFrames data and replace with new input frames. +

                        +An StkError will be thrown if an error occurs during input/output or if there is an incompatability between the number of channels in the RtDuplex object and that in the StkFrames object.


                        The documentation for this class was generated from the following file:
                        - +
                        The Synthesis ToolKit in C++ (STK)
                        The Synthesis ToolKit in C++ (STK)
                        ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                        diff --git a/doc/html/classRtError-members.html b/doc/html/classRtError-members.html index 29e02a7..d8eebeb 100644 --- a/doc/html/classRtError-members.html +++ b/doc/html/classRtError-members.html @@ -31,7 +31,7 @@


                        - +
                        The Synthesis ToolKit in C++ (STK)
                        The Synthesis ToolKit in C++ (STK)
                        ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                        diff --git a/doc/html/classRtError.html b/doc/html/classRtError.html index aa2cc83..6f88cfc 100644 --- a/doc/html/classRtError.html +++ b/doc/html/classRtError.html @@ -9,12 +9,16 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                        -

                        RtError Class Reference

                        Exception handling class for RtAudio & RtMidi. -More... +

                        RtError Class Reference

                        #include <RtError.h>

                        -#include <RtError.h> +List of all members.


                        Detailed Description

                        +Exception handling class for RtAudio & RtMidi.

                        -List of all members. +The RtError class is quite simple but it does allow errors to be "caught" by RtError::Type. See the RtAudio and RtMidi documentation to know which methods can throw an RtError. +

                        + +

                        +Definition at line 18 of file RtError.h.


                        Public Types

                        enum  Type {
                        @@ -61,14 +65,7 @@ virtual const char * 
                         Returns the thrown error message as a C string.

                        -


                        Detailed Description

                        -Exception handling class for RtAudio & RtMidi. -

                        -The RtError class is quite simple but it does allow errors to be "caught" by RtError::Type. See the RtAudio and RtMidi documentation to know which methods can throw an RtError. -

                        - -

                        -Definition at line 18 of file RtError.h.


                        Member Enumeration Documentation

                        +

                        Member Enumeration Documentation

                        @@ -120,7 +117,22 @@ A thread error occured.

                        Definition at line 22 of file RtError.h.

                        -Referenced by getType(). +Referenced by getType(). +

                        +

                        00022             {
                        +00023     WARNING,           
                        +00024     DEBUG_WARNING,     
                        +00025     UNSPECIFIED,       
                        +00026     NO_DEVICES_FOUND,  
                        +00027     INVALID_DEVICE,    
                        +00028     INVALID_STREAM,    
                        +00029     MEMORY_ERROR,      
                        +00030     INVALID_PARAMETER, 
                        +00031     DRIVER_ERROR,      
                        +00032     SYSTEM_ERROR,      
                        +00033     THREAD_ERROR       
                        +00034   };
                        +


                        The documentation for this class was generated from the following file:
                          @@ -128,7 +140,7 @@ Referenced by getType().
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classRtMidi-members.html b/doc/html/classRtMidi-members.html index c454bcb..8247c5c 100644 --- a/doc/html/classRtMidi-members.html +++ b/doc/html/classRtMidi-members.html @@ -10,35 +10,10 @@

                          RtMidi Member List

                          This is the complete list of members for RtMidi, including all inherited members. - - - - - - - - - - - - - - - - - - - - - - - - -
                          getByteThree() const RtMidi
                          getByteTwo() const RtMidi
                          getChannel() const RtMidi
                          getDeltaTime() const RtMidi
                          getType() const RtMidi
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          MY_FLOAT32Stk [static]
                          MY_FLOAT64Stk [static]
                          nextMessage(void)RtMidi
                          printMessage(void) const RtMidi
                          rawwavePath(void)Stk [static]
                          RtMidi(int device=0)RtMidi
                          sampleRate(void)Stk [static]
                          setRawwavePath(std::string newPath)Stk [static]
                          setSampleRate(MY_FLOAT newRate)Stk [static]
                          sleep(unsigned long milliseconds)Stk [static]
                          Stk(void)Stk [protected]
                          STK_SINT16Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT8Stk [static]
                          swap16(unsigned char *ptr)Stk [static]
                          swap32(unsigned char *ptr)Stk [static]
                          swap64(unsigned char *ptr)Stk [static]
                          ~RtMidi()RtMidi
                          ~Stk(void)Stk [protected, virtual]

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classRtMidi.html b/doc/html/classRtMidi.html index 3942ddb..1eaae88 100644 --- a/doc/html/classRtMidi.html +++ b/doc/html/classRtMidi.html @@ -9,104 +9,36 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          RtMidi Class Reference

                          STK realtime MIDI class. -More... -

                          -#include <RtMidi.h> +

                          RtMidi Class Reference

                          #include <RtMidi.h>

                          Inheritance diagram for RtMidi:

                          -Stk +RtMidiIn +RtMidiOut -List of all members. +List of all members.

                          Detailed Description

                          +An abstract base class for realtime MIDI input/output. +

                          +This class implements some common functionality for the realtime MIDI input/output subclasses RtMidiIn and RtMidiOut.

                          +RtMidi WWW site: http://music.mcgill.ca/~gary/rtmidi/

                          +RtMidi: realtime MIDI i/o C++ classes Copyright (c) 2003-2004 Gary P. Scavone

                          +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

                          +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

                          +Any person wishing to distribute modifications to the Software is requested to send the modifications to the original developer so that they can be incorporated into the canonical version.

                          +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +

                          + +

                          +Definition at line 46 of file RtMidi.h.

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

                          Public Member Functions

                          RtMidi (int device=0)
                           Default constructor with optional device argument.

                          ~RtMidi ()
                           Class destructor.

                          -void printMessage (void) const
                           Print out the current message values.

                          int nextMessage (void)
                           Check for and parse a new MIDI message in the queue, returning its type.

                          -int getType () const
                           Return the current message type.

                          -int getChannel () const
                           Return the current message channel value.

                          -MY_FLOAT getByteTwo () const
                           Return the current message byte two value.

                          -MY_FLOAT getByteThree () const
                           Return the current message byte three value.

                          -MY_FLOAT getDeltaTime () const
                           Return the current message delta time value in seconds.

                          -

                          Detailed Description

                          -STK realtime MIDI class. -

                          -At the moment, this object only handles MIDI input, though MIDI output code can go here when someone decides they need it (and writes it).

                          -This object opens a MIDI input device and parses MIDI messages into a MIDI buffer. Time stamp info is converted to a delta-time value. MIDI data is stored as MY_FLOAT to conform with SKINI. System exclusive messages are currently ignored.

                          -An optional argument to the constructor can be used to specify a device or card. When no argument is given, a default device is opened. If a device argument fails, a list of available devices is printed to allow selection by the user.

                          -This code is based in part on work of Perry Cook (SGI), Paul Leonard (Linux), the RoseGarden team (Linux), and Bill Putnam (Windows).

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

                          - -

                          -Definition at line 37 of file RtMidi.h.


                          Member Function Documentation

                          -

                          - - - - -
                          - - - - - - - - - - -
                          int RtMidi::nextMessage void   ) 
                          -
                          - - - - -
                          -   - - -

                          -Check for and parse a new MIDI message in the queue, returning its type. -

                          -If a new message is found, the return value is greater than zero.


                          The documentation for this class was generated from the following file:
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classRtMidi.png b/doc/html/classRtMidi.png index b8a5e286bb05b8bb18544308222a461dba0ffff3..4114caf110377651b7d898f7d80228885c887fca 100644 GIT binary patch delta 372 zcmV-)0gL{e0-OUOiBL{Q4GJ0x0000DNk~Le0001x0000`1Oos700e;HKan9be*rQ{ zL_t(|obA<7YQr!L24I^(pC#YG?ghpMJ5OPd`yXMJ?9fKink>#B1*z1u%CE0((vlE# z;aY()WYucUq2r;57$U!eI4}Dk9>)3tmg9RM1cqXLj_wE`kO6T3YUij!L+6Md5MvmI zSU3!7#?Uz;2s$)!)%FJ*a_GR@f03-q&bj}CrrXJ&%QT$~I^k7w$f3VaO`Ga=)W2^kp;O3@Szrzen+ zv7o#GQkh?&ejJ}c_Y8OX$$W&chvuthL5ocL9U)OC{);&DT9CZ0sIqTIs(t{T-25hk SRg_==0000J0MPcw@6sET6D-?>_Qm~=uu{l^(tfxY7ZYm~wXLjRU zki?nA0nQSECP{6!OX(1c%o$Z!*a55IKr8Mn)pz9-*K_EuWPl&K&#PVRij>n t2ou;y2yJXtqXKmpclFn=dlW>!&j%1yUH>)fvX=k=002ovPDHLkV1ln7V=w>! diff --git a/doc/html/classRtMidiIn-members.html b/doc/html/classRtMidiIn-members.html new file mode 100644 index 0000000..e2cdf1a --- /dev/null +++ b/doc/html/classRtMidiIn-members.html @@ -0,0 +1,34 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
                          +    

                          +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                          +
                          + +

                          RtMidiIn Member List

                          This is the complete list of members for RtMidiIn, including all inherited members. + + + + + + + + + + + + + +
                          cancelCallback()RtMidiIn
                          closePort(void)RtMidiIn
                          getMessage(std::vector< unsigned char > *message)RtMidiIn
                          getPortCount()RtMidiIn
                          getPortName(unsigned int portNumber=0)RtMidiIn
                          ignoreTypes(bool midiSysex=true, bool midiTime=true, bool midiSense=true)RtMidiIn
                          openPort(unsigned int portNumber=0)RtMidiIn [virtual]
                          openVirtualPort()RtMidiIn
                          RtMidiCallback typedefRtMidiIn
                          RtMidiIn()RtMidiIn
                          setCallback(RtMidiCallback callback, void *userData=0)RtMidiIn
                          setQueueSizeLimit(unsigned int queueSize)RtMidiIn
                          ~RtMidiIn()RtMidiIn

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

                          +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                          +
                          + +

                          RtMidiIn Class Reference

                          #include <RtMidi.h> +

                          +

                          Inheritance diagram for RtMidiIn: +

                          + +RtMidi + +List of all members.

                          Detailed Description

                          +A realtime MIDI input class. +

                          +This class provides a common, platform-independent API for realtime MIDI input. It allows access to a single MIDI input port. Incoming MIDI messages are either saved to a queue for retrieval using the getMessage() function or immediately passed to a user-specified callback function. Create multiple instances of this class to connect to more than one MIDI device at the same time. With the OS-X and Linux ALSA MIDI APIs, it is also possible to open a virtual input port to which other MIDI software clients can connect.

                          +by Gary P. Scavone, 2003-2004. +

                          + +

                          +Definition at line 87 of file RtMidi.h. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                          Public Types

                          +typedef void(* RtMidiCallback )(double timeStamp, std::vector< unsigned char > *message, void *userData)
                           User callback function type definition.


                          Public Member Functions

                           RtMidiIn ()
                           Default constructor.

                          ~RtMidiIn ()
                           If a MIDI connection is still open, it will be closed by the destructor.

                          void openPort (unsigned int portNumber=0)
                           Open a MIDI input connection.

                          void openVirtualPort ()
                           Create a virtual input port to allow software connections (OS X and ALSA only).

                          void setCallback (RtMidiCallback callback, void *userData=0)
                           Set a callback function to be invoked for incoming MIDI messages.

                          void cancelCallback ()
                           Cancel use of the current callback function (if one exists).

                          +void closePort (void)
                           Close an open MIDI connection (if one exists).

                          +unsigned int getPortCount ()
                           Return the number of available MIDI input ports.

                          std::string getPortName (unsigned int portNumber=0)
                           Return a string identifier for the specified MIDI input port number.

                          void setQueueSizeLimit (unsigned int queueSize)
                           Set the maximum number of MIDI messages to be saved in the queue.

                          void ignoreTypes (bool midiSysex=true, bool midiTime=true, bool midiSense=true)
                           Specify whether certain MIDI message types should be queued or ignored during input.

                          double getMessage (std::vector< unsigned char > *message)
                           Fill the user-provided vector with the data bytes for the next available MIDI message in the input queue and return the event delta-time in seconds.

                          +


                          Constructor & Destructor Documentation

                          +

                          + + + + +
                          + + + + + + + + + +
                          RtMidiIn::RtMidiIn  ) 
                          +
                          + + + + + +
                          +   + + +

                          +Default constructor. +

                          +An exception will be thrown if a MIDI system initialization error occurs.

                          +


                          Member Function Documentation

                          +

                          + + + + +
                          + + + + + + + + + + +
                          void RtMidiIn::openPort unsigned int  portNumber = 0  )  [virtual]
                          +
                          + + + + + +
                          +   + + +

                          +Open a MIDI input connection. +

                          +An optional port number greater than 0 can be specified. Otherwise, the default or first port found is opened. +

                          +Implements RtMidi.

                          +

                          + + + + +
                          + + + + + + + + + +
                          void RtMidiIn::openVirtualPort  ) 
                          +
                          + + + + + +
                          +   + + +

                          +Create a virtual input port to allow software connections (OS X and ALSA only). +

                          +This function creates a virtual MIDI input port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing for the other APIs).

                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + +
                          void RtMidiIn::setCallback RtMidiCallback  callback,
                          void *  userData = 0
                          +
                          + + + + + +
                          +   + + +

                          +Set a callback function to be invoked for incoming MIDI messages. +

                          +The callback function will be called whenever an incoming MIDI message is received. While not absolutely necessary, it is best to set the callback function before opening a MIDI port to avoid leaving some messages in the queue.

                          +

                          + + + + +
                          + + + + + + + + + +
                          void RtMidiIn::cancelCallback  ) 
                          +
                          + + + + + +
                          +   + + +

                          +Cancel use of the current callback function (if one exists). +

                          +Subsequent incoming MIDI messages will be written to the queue and can be retrieved with the getMessage function.

                          +

                          + + + + +
                          + + + + + + + + + + +
                          std::string RtMidiIn::getPortName unsigned int  portNumber = 0  ) 
                          +
                          + + + + + +
                          +   + + +

                          +Return a string identifier for the specified MIDI input port number. +

                          +An exception is thrown if an invalid port specifier is provided.

                          +

                          + + + + +
                          + + + + + + + + + + +
                          void RtMidiIn::setQueueSizeLimit unsigned int  queueSize  ) 
                          +
                          + + + + + +
                          +   + + +

                          +Set the maximum number of MIDI messages to be saved in the queue. +

                          +If the queue size limit is reached, incoming messages will be ignored. The default limit is 1024.

                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                          void RtMidiIn::ignoreTypes bool  midiSysex = true,
                          bool  midiTime = true,
                          bool  midiSense = true
                          +
                          + + + + + +
                          +   + + +

                          +Specify whether certain MIDI message types should be queued or ignored during input. +

                          +By default, MIDI timing and active sensing messages are ignored during message input because of their relative high data rates. MIDI sysex messages are ignored by default as well. Variable values of "true" imply that the respective message type will be ignored.

                          +

                          + + + + +
                          + + + + + + + + + + +
                          double RtMidiIn::getMessage std::vector< unsigned char > *  message  ) 
                          +
                          + + + + + +
                          +   + + +

                          +Fill the user-provided vector with the data bytes for the next available MIDI message in the input queue and return the event delta-time in seconds. +

                          +This function returns immediately whether a new message is available or not. A valid message is indicated by a non-zero vector size. An exception is thrown if an error occurs during message retrieval or an input connection was not previously established.

                          +


                          The documentation for this class was generated from the following file: +
                          + + + + +
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          + + + diff --git a/doc/html/classRtMidiIn.png b/doc/html/classRtMidiIn.png new file mode 100644 index 0000000000000000000000000000000000000000..224cf6dd622757efd46db7cabd71fd49d28ceaf9 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^mOvc9!VDw>&mK?#QW60^A+G=b{|7Sv|35H)e!>JG z3ycpOI8c4){}UjWu_VYZn8D%MjWi(Vkf)1dNX4ADmty%2D{wF*)Z8>KV7558DK^7@ z?|;Fz6))$fp8SjLNv|IMSbk?G!$+pGM zqVxCe2om6sSYr|*EU2P?ID{=`Rr(3Fh$3s%65nsn?mcPkj@z=+S^C=Vu&<|BHvdXq u?HKQ^c7@IM=&G-0HuwGFb~f3wF@6eX`QOAtx8?zT!{F)a=d#Wzp$P!_f`fJd literal 0 HcmV?d00001 diff --git a/doc/html/classRtMidiOut-members.html b/doc/html/classRtMidiOut-members.html new file mode 100644 index 0000000..78b1331 --- /dev/null +++ b/doc/html/classRtMidiOut-members.html @@ -0,0 +1,29 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
                          +    

                          +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                          +
                          + +

                          RtMidiOut Member List

                          This is the complete list of members for RtMidiOut, including all inherited members. + + + + + + + + +
                          closePort()RtMidiOut
                          getPortCount()RtMidiOut
                          getPortName(unsigned int portNumber)RtMidiOut
                          openPort(unsigned int portNumber=0)RtMidiOut [virtual]
                          openVirtualPort()RtMidiOut
                          RtMidiOut()RtMidiOut
                          sendMessage(std::vector< unsigned char > *message)RtMidiOut
                          ~RtMidiOut()RtMidiOut

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

                          +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                          +
                          + +

                          RtMidiOut Class Reference

                          #include <RtMidi.h> +

                          +

                          Inheritance diagram for RtMidiOut: +

                          + +RtMidi + +List of all members.

                          Detailed Description

                          +A realtime MIDI output class. +

                          +This class provides a common, platform-independent API for MIDI output. It allows one to probe available MIDI output ports, to connect to one such port, and to send MIDI bytes immediately over the connection. Create multiple instances of this class to connect to more than one MIDI device at the same time.

                          +by Gary P. Scavone, 2003-2004. +

                          + +

                          +Definition at line 225 of file RtMidi.h. + + + + + + + + + + + + + + + + + + + + + + + + + + +

                          Public Member Functions

                           RtMidiOut ()
                           Default constructor.

                          ~RtMidiOut ()
                           The destructor closes any open MIDI connections.

                          void openPort (unsigned int portNumber=0)
                           Open a MIDI output connection.

                          +void closePort ()
                           Close an open MIDI connection (if one exists).

                          void openVirtualPort ()
                           Create a virtual output port to allow software connections (OS X and ALSA only).

                          +unsigned int getPortCount ()
                           Return the number of available MIDI output ports.

                          std::string getPortName (unsigned int portNumber)
                           Return a string identifier for the specified MIDI port type and number.

                          void sendMessage (std::vector< unsigned char > *message)
                           Immediately send a single message out an open MIDI output port.

                          +


                          Constructor & Destructor Documentation

                          +

                          + + + + +
                          + + + + + + + + + +
                          RtMidiOut::RtMidiOut  ) 
                          +
                          + + + + + +
                          +   + + +

                          +Default constructor. +

                          +An exception will be thrown if a MIDI system initialization error occurs.

                          +


                          Member Function Documentation

                          +

                          + + + + +
                          + + + + + + + + + + +
                          void RtMidiOut::openPort unsigned int  portNumber = 0  )  [virtual]
                          +
                          + + + + + +
                          +   + + +

                          +Open a MIDI output connection. +

                          +An optional port number greater than 0 can be specified. Otherwise, the default or first port found is opened. An exception is thrown if an error occurs while attempting to make the port connection. +

                          +Implements RtMidi.

                          +

                          + + + + +
                          + + + + + + + + + +
                          void RtMidiOut::openVirtualPort  ) 
                          +
                          + + + + + +
                          +   + + +

                          +Create a virtual output port to allow software connections (OS X and ALSA only). +

                          +This function creates a virtual MIDI output port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing with the other APIs). An exception is thrown if an error occurs while attempting to create the virtual port.

                          +

                          + + + + +
                          + + + + + + + + + + +
                          std::string RtMidiOut::getPortName unsigned int  portNumber  ) 
                          +
                          + + + + + +
                          +   + + +

                          +Return a string identifier for the specified MIDI port type and number. +

                          +An exception is thrown if an invalid port specifier is provided.

                          +

                          + + + + +
                          + + + + + + + + + + +
                          void RtMidiOut::sendMessage std::vector< unsigned char > *  message  ) 
                          +
                          + + + + + +
                          +   + + +

                          +Immediately send a single message out an open MIDI output port. +

                          +An exception is thrown if an error occurs during output or an output connection was not previously established.

                          +


                          The documentation for this class was generated from the following file: +
                          + + + + +
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          + + + diff --git a/doc/html/classRtMidiOut.png b/doc/html/classRtMidiOut.png new file mode 100644 index 0000000000000000000000000000000000000000..6a41edc1bfd229524fac0e7a2977d5113cbab0fb GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^&OjW%!VDxgEW26?q$C1-LR|m<{|{vT|9@cq{DcWW z78oBmaG?6o|0h5$V@Z%-FoVOh8)-n!WltB!kcv5PF9-4+Qs7}r__gWzHggSigDS=O zW&f3Lh?$&9@Y&2R^m3Euzq(0_B6oa!CA4m1aI%nMmr!K5&UtrF8?{)8;%Ma~elG97 z>7BW_ODA+v+Q}t`-LX1CTlL^f%8T01g9-ulEtrVtvw*! zm^97DY3h$whQ#)YnuaIq&cBh>;7EI<{^|bFFpCHGEqGq;SK

                          RtWvIn Member List

                          This is the complete list of members for RtWvIn, including all inherited members. - + - + + + - + - - - - - + + + - - + + - - - + + + + + - + + - - - + + + + + - +
                          addTime(MY_FLOAT aTime)WvIn [protected, virtual]
                          addTime(StkFloat aTime)WvIn [protected, virtual]
                          closeFile(void)WvIn [protected]
                          getChannels(void) const WvIn [protected]
                          getFileRate(void) const WvIn [protected]
                          getSize(void) const WvIn [protected]
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          handleError(const char *message, StkError::Type type)Stk [protected, static]
                          handleError(std::string message, StkError::Type type)Stk [protected, static]
                          handleError(StkError::Type type)Stk [protected]
                          isFinished(void) const WvIn [protected]
                          lastFrame(void) const RtWvIn [virtual]
                          lastFrame(void) const RtWvIn [virtual]
                          lastOut(void) const RtWvIn [virtual]
                          MY_FLOAT32Stk [protected, static]
                          MY_FLOAT64Stk [protected, static]
                          normalize(void)WvIn [protected]
                          normalize(MY_FLOAT peak)WvIn [protected]
                          openFile(const char *fileName, bool raw=FALSE, bool doNormalize=TRUE)WvIn [protected]
                          rawwavePath(void)Stk [protected, static]
                          normalize(StkFloat peak)WvIn [protected]
                          openFile(std::string fileName, bool raw=false, bool doNormalize=true)WvIn [protected]
                          rawwavePath(void)Stk [inline, protected, static]
                          reset(void)WvIn [protected]
                          RtWvIn(int nChannels=1, MY_FLOAT sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=2)RtWvIn
                          sampleRate(void)Stk [protected, static]
                          RtWvIn(int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=2)RtWvIn
                          sampleRate(void)Stk [inline, protected, static]
                          setInterpolate(bool doInterpolate)WvIn [protected]
                          setRate(MY_FLOAT aRate)WvIn [protected]
                          setRawwavePath(std::string newPath)Stk [protected, static]
                          setSampleRate(MY_FLOAT newRate)Stk [protected, static]
                          setRate(StkFloat aRate)WvIn [protected]
                          setRawwavePath(std::string path)Stk [protected, static]
                          setSampleRate(StkFloat rate)Stk [inline, protected, static]
                          sleep(unsigned long milliseconds)Stk [protected, static]
                          start(void)RtWvIn
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [protected, static]
                          STK_FLOAT64Stk [protected, static]
                          STK_SINT16Stk [protected, static]
                          STK_SINT32Stk [protected, static]
                          STK_SINT24Stk [protected, static]
                          STK_SINT32Stk [protected, static]
                          STK_SINT8Stk [protected, static]
                          stop(void)RtWvIn
                          swap16(unsigned char *ptr)Stk [protected, static]
                          swap32(unsigned char *ptr)Stk [protected, static]
                          swap64(unsigned char *ptr)Stk [protected, static]
                          tick(void)RtWvIn [virtual]
                          tick(MY_FLOAT *vector, unsigned int vectorSize)RtWvIn [virtual]
                          tickFrame(void)RtWvIn [virtual]
                          tickFrame(MY_FLOAT *frameVector, unsigned int frames)RtWvIn [virtual]
                          tick(StkFloat *vector, unsigned int vectorSize)RtWvIn [virtual]
                          tick(StkFrames &frames, unsigned int channel=1)RtWvIn [virtual]
                          tickFrame(void)RtWvIn [virtual]
                          tickFrame(StkFloat *frameVector, unsigned int frames)RtWvIn [virtual]
                          tickFrame(StkFrames &frames)RtWvIn [virtual]
                          WvIn()WvIn [protected]
                          WvIn(const char *fileName, bool raw=FALSE, bool doNormalize=TRUE)WvIn [protected]
                          WvIn(std::string fileName, bool raw=false, bool doNormalize=true)WvIn [protected]
                          ~RtWvIn()RtWvIn
                          ~Stk(void)Stk [protected, virtual]
                          ~WvIn()WvIn [protected, virtual]

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classRtWvIn.html b/doc/html/classRtWvIn.html index 77a960e..202b54e 100644 --- a/doc/html/classRtWvIn.html +++ b/doc/html/classRtWvIn.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          RtWvIn Class Reference

                          STK realtime audio input class. -More... -

                          -#include <RtWvIn.h> +

                          RtWvIn Class Reference

                          #include <RtWvIn.h>

                          Inheritance diagram for RtWvIn:

                          @@ -20,10 +17,19 @@ WvIn Stk -List of all members. +List of all members.

                          Detailed Description

                          +STK realtime audio (blocking) input class. +

                          +This class provides a simplified interface to RtAudio for realtime audio input. It is a protected subclass of WvIn. Because this class makes use of RtAudio's blocking output routines, its performance is less robust on systems where the audio API is callback-based (Macintosh CoreAudio and Windows ASIO).

                          +RtWvIn supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return pointers to multi-channel sample frames. For single-channel data, these methods return equivalent values.

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

                          + +

                          +Definition at line 32 of file RtWvIn.h.

                          - + +StkFloat  - + - + - + + + + - + - - + + - + + + +

                          Public Member Functions

                           RtWvIn (int nChannels=1, MY_FLOAT sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=2)
                           RtWvIn (int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=2)
                           Default constructor.

                          @@ -37,36 +43,33 @@
                           Stop the audio input stream.

                          -MY_FLOAT lastOut (void) const
                          lastOut (void) const
                           Return the average across the last output sample frame.

                          MY_FLOAT tick (void)
                          StkFloat tick (void)
                           Read out the average across one sample frame of data.

                          MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                          StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                           Read out vectorSize averaged sample frames of data in vector.

                          -const MY_FLOAT * lastFrame (void) const
                          StkFramestick (StkFrames &frames, unsigned int channel=1)
                           Fill a channel of the StkFrames object with averaged sample frames.

                          +const StkFloat * lastFrame (void) const
                           Return a pointer to the last output sample frame.

                          const MY_FLOAT * tickFrame (void)
                          const StkFloat * tickFrame (void)
                           Return a pointer to the next sample frame of data.

                          MY_FLOAT * tickFrame (MY_FLOAT *frameVector, unsigned int frames)
                           Return a pointer to the next sample frame of data.

                          StkFloat * tickFrame (StkFloat *frameVector, unsigned int frames)
                           Read out sample frames of data to frameVector.

                           Read out sample frames of data to frameVector.

                          StkFramestickFrame (StkFrames &frames)
                           Fill the StkFrames object with sample frames of data and return the same reference.

                          -

                          Detailed Description

                          -STK realtime audio input class. -

                          -This class provides a simplified interface to RtAudio for realtime audio input. It is a protected subclass of WvIn.

                          -RtWvIn supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return pointers to multi-channel sample frames. For single-channel data, these methods return equivalent values.

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

                          - -

                          -Definition at line 29 of file RtWvIn.h.


                          Constructor & Destructor Documentation

                          +

                          Constructor & Destructor Documentation

                          @@ -81,7 +84,7 @@ Definition at line 29 of f - + @@ -194,7 +197,7 @@ It may be necessary to use this method to avoid audio underflow problems if you - + + + + - - - + - + - - + + - + + - + + @@ -44,7 +47,7 @@
                          MY_FLOAT StkFloat  sampleRate = Stk::sampleRate(),
                          - + @@ -227,9 +230,9 @@ Reimplemented from WvIn.
                          MY_FLOAT RtWvIn::tick StkFloat RtWvIn::tick void  - + - + @@ -263,13 +266,55 @@ An StkError will be thrown if an err Reimplemented from WvIn.
                          MY_FLOAT* RtWvIn::tick StkFloat* RtWvIn::tick MY_FLOAT * StkFloat *  vector,
                          -

                          +

                          + +
                          - + + + + + + + + + + + + + + + + + +
                          const MY_FLOAT* RtWvIn::tickFrame StkFrames& RtWvIn::tick StkFrames frames,
                          unsigned int  channel = 1
                          [virtual]
                          +
                          + + + + + +
                          +   + + +

                          +Fill a channel of the StkFrames object with averaged sample frames. +

                          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if an error occurs during input or the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                          +Reimplemented from WvIn.

                          +

                          + + + - + @@ -257,10 +260,52 @@ Output each sample in vector to all channels in vectorSize sam

                          An StkError will be thrown if an error occurs during output.

                          -Reimplemented from WvOut. +Reimplemented from WvOut.

                          + + + @@ -293,18 +338,18 @@ Return a pointer to the next sample frame of data.

                          An StkError will be thrown if an error occurs during input.

                          -Reimplemented from WvIn. +Reimplemented from WvIn.

                          const StkFloat* RtWvIn::tickFrame void 
                          -

                          +


                          - + - + @@ -335,7 +380,40 @@ Read out sample frames of data to frameVector.

                          An StkError will be thrown if an error occurs during input.

                          -Reimplemented from WvIn. +Reimplemented from WvIn. +

                          +
                          MY_FLOAT* RtWvIn::tickFrame StkFloat* RtWvIn::tickFrame MY_FLOAT * StkFloat *  frameVector,
                          +

                          + + + + +
                          + + + + + + + + + + +
                          StkFrames& RtWvIn::tickFrame StkFrames frames  )  [virtual]
                          +
                          + + + +
                          +   + + +

                          +Fill the StkFrames object with sample frames of data and return the same reference. +

                          +An StkError will be thrown if an error occurs during input or there is an incompatability between the number of channels in the RtWvIn object and that in the StkFrames object. +

                          +Reimplemented from WvIn.


                          The documentation for this class was generated from the following file:
                            @@ -343,7 +421,7 @@ Reimplemented from WvIn.
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classRtWvOut-members.html b/doc/html/classRtWvOut-members.html index be48c6a..2030bb9 100644 --- a/doc/html/classRtWvOut-members.html +++ b/doc/html/classRtWvOut-members.html @@ -11,32 +11,39 @@

                          RtWvOut Member List

                          This is the complete list of members for RtWvOut, including all inherited members. + - - - - - - - - - + + + + + + + + + + + + - + + - - - + + + + + - + @@ -48,7 +55,7 @@
                          closeFile(void)WvOut [protected]
                          getClipStatus(void)WvOut [inline, protected]
                          getFrames(void) const RtWvOut
                          getTime(void) const RtWvOut
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          MY_FLOAT32Stk [protected, static]
                          MY_FLOAT64Stk [protected, static]
                          openFile(const char *fileName, unsigned int nChannels=1, WvOut::FILE_TYPE type=WVOUT_WAV, Stk::STK_FORMAT format=STK_SINT16)WvOut [protected]
                          rawwavePath(void)Stk [protected, static]
                          RtWvOut(unsigned int nChannels=1, MY_FLOAT sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=4)RtWvOut
                          sampleRate(void)Stk [protected, static]
                          setRawwavePath(std::string newPath)Stk [protected, static]
                          setSampleRate(MY_FLOAT newRate)Stk [protected, static]
                          handleError(const char *message, StkError::Type type)Stk [protected, static]
                          handleError(std::string message, StkError::Type type)Stk [protected, static]
                          handleError(StkError::Type type)Stk [protected]
                          openFile(const char *fileName, unsigned int nChannels=1, WvOut::FILE_TYPE type=WVOUT_WAV, Stk::StkFormat format=STK_SINT16)WvOut [protected]
                          rawwavePath(void)Stk [inline, protected, static]
                          resetClipStatus(void)WvOut [inline, protected]
                          RtWvOut(unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=4)RtWvOut
                          sampleRate(void)Stk [inline, protected, static]
                          setRawwavePath(std::string path)Stk [protected, static]
                          setSampleRate(StkFloat rate)Stk [inline, protected, static]
                          sleep(unsigned long milliseconds)Stk [protected, static]
                          start(void)RtWvOut
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [protected, static]
                          STK_FLOAT64Stk [protected, static]
                          STK_SINT16Stk [protected, static]
                          STK_SINT32Stk [protected, static]
                          STK_SINT24Stk [protected, static]
                          STK_SINT32Stk [protected, static]
                          STK_SINT8Stk [protected, static]
                          stop(void)RtWvOut
                          swap16(unsigned char *ptr)Stk [protected, static]
                          swap32(unsigned char *ptr)Stk [protected, static]
                          swap64(unsigned char *ptr)Stk [protected, static]
                          tick(const MY_FLOAT sample)RtWvOut [virtual]
                          tick(const MY_FLOAT *vector, unsigned int vectorSize)RtWvOut [virtual]
                          tickFrame(const MY_FLOAT *frameVector, unsigned int frames=1)RtWvOut [virtual]
                          tick(const StkFloat sample)RtWvOut [virtual]
                          tick(const StkFloat *vector, unsigned int vectorSize)RtWvOut [virtual]
                          tick(const StkFrames &frames, unsigned int channel=1)RtWvOut [virtual]
                          tickFrame(const StkFloat *frameVector, unsigned int frames=1)RtWvOut [virtual]
                          tickFrame(const StkFrames &frames)RtWvOut [virtual]
                          WvOut()WvOut [protected]
                          WvOut(const char *fileName, unsigned int nChannels=1, FILE_TYPE type=WVOUT_WAV, Stk::STK_FORMAT format=STK_SINT16)WvOut [protected]
                          WvOut(const char *fileName, unsigned int nChannels=1, FILE_TYPE type=WVOUT_WAV, Stk::StkFormat format=STK_SINT16)WvOut [protected]
                          WVOUT_AIFWvOut [protected, static]
                          WVOUT_MATWvOut [protected, static]
                          WVOUT_RAWWvOut [protected, static]

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classRtWvOut.html b/doc/html/classRtWvOut.html index 46fcbb3..8bd244c 100644 --- a/doc/html/classRtWvOut.html +++ b/doc/html/classRtWvOut.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          RtWvOut Class Reference

                          STK realtime audio output class. -More... -

                          -#include <RtWvOut.h> +

                          RtWvOut Class Reference

                          #include <RtWvOut.h>

                          Inheritance diagram for RtWvOut:

                          @@ -20,10 +17,19 @@ WvOut Stk -List of all members. +List of all members.

                          Detailed Description

                          +STK realtime audio (blocking) output class. +

                          +This class provides a simplified interface to RtAudio for realtime audio output. It is a protected subclass of WvOut. Because this class makes use of RtAudio's blocking output routines, its performance is less robust on systems where the audio API is callback-based (Macintosh CoreAudio and Windows ASIO).

                          +RtWvOut supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame, from the tickFrame() method, which takes a pointer to multi-channel sample frame data.

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

                          + +

                          +Definition at line 31 of file RtWvOut.h.

                          - + +StkFloat  - + - + - + - + + + + + + +

                          Public Member Functions

                           RtWvOut (unsigned int nChannels=1, MY_FLOAT sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=4)
                           RtWvOut (unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=4)
                           Default constructor.

                          @@ -41,29 +47,26 @@ unsigned long  Return the number of sample frames output.

                          -MY_FLOAT getTime (void) const
                          getTime (void) const
                           Return the number of seconds of data output.

                          void tick (const MY_FLOAT sample)
                          void tick (const StkFloat sample)
                           Output a single sample to all channels in a sample frame.

                          void tick (const MY_FLOAT *vector, unsigned int vectorSize)
                          void tick (const StkFloat *vector, unsigned int vectorSize)
                           Output each sample in vector to all channels in vectorSize sample frames.

                          void tickFrame (const MY_FLOAT *frameVector, unsigned int frames=1)
                          void tick (const StkFrames &frames, unsigned int channel=1)
                           Output the frameVector of sample frames of the given length.

                           Output a channel of the StkFrames object to all channels of the RtWvOut object.

                          void tickFrame (const StkFloat *frameVector, unsigned int frames=1)
                           Output the frameVector of sample frames of the given length.

                          void tickFrame (const StkFrames &frames)
                           Output the StkFrames data to the RtWvOut object.

                          -

                          Detailed Description

                          -STK realtime audio output class. -

                          -This class provides a simplified interface to RtAudio for realtime audio output. It is a protected subclass of WvOut.

                          -RtWvOut supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame, from the tickFrame() method, which takes a pointer to multi-channel sample frame data.

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

                          - -

                          -Definition at line 28 of file RtWvOut.h.


                          Constructor & Destructor Documentation

                          +

                          Constructor & Destructor Documentation

                          @@ -78,7 +81,7 @@ Definition at line 28 of - + @@ -193,7 +196,7 @@ It may be necessary to use this method to avoid undesireable audio buffer cyclin - + @@ -215,7 +218,7 @@ Output a single sample to all channels in a sample frame.

                          An StkError will be thrown if an error occurs during output.

                          -Reimplemented from WvOut. +Reimplemented from WvOut.

                          MY_FLOAT StkFloat  sampleRate = Stk::sampleRate(),
                          void RtWvOut::tick const MY_FLOAT const StkFloat  sample  )  [virtual]

                          @@ -226,7 +229,7 @@ Reimplemented from WvOut.

                          void RtWvOut::tick const MY_FLOAT * const StkFloat *  vector,
                          -

                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + +
                          void RtWvOut::tick const StkFrames frames,
                          unsigned int  channel = 1
                          [virtual]
                          +
                          + + + + + +
                          +   + + +

                          +Output a channel of the StkFrames object to all channels of the RtWvOut object. +

                          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if an error occurs during output or the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                          +Reimplemented from WvOut.

                          +

                          - + @@ -299,7 +344,40 @@ Output the frameVector of sample frames of the given length.

                          An StkError will be thrown if an error occurs during output.

                          -Reimplemented from WvOut. +Reimplemented from WvOut. +

                          +
                          @@ -268,7 +313,7 @@ Reimplemented from WvOut.
                          void RtWvOut::tickFrame const MY_FLOAT * const StkFloat *  frameVector,
                          +

                          + + + + +
                          + + + + + + + + + + +
                          void RtWvOut::tickFrame const StkFrames frames  )  [virtual]
                          +
                          + + + +
                          +   + + +

                          +Output the StkFrames data to the RtWvOut object. +

                          +An StkError will be thrown if an error occurs during output or if there is an incompatability between the number of channels in the WvOut object and that in the StkFrames object. +

                          +Reimplemented from WvOut.


                          The documentation for this class was generated from the following file:
                            @@ -307,7 +385,7 @@ Reimplemented from WvOut.
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSKINI-members.html b/doc/html/classSKINI-members.html deleted file mode 100644 index b31bbc0..0000000 --- a/doc/html/classSKINI-members.html +++ /dev/null @@ -1,53 +0,0 @@ - - -The Synthesis ToolKit in C++ (STK) - - - -
                          -    

                          -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                          -
                          - -

                          SKINI Member List

                          This is the complete list of members for SKINI, including all inherited members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                          getByteThree() const SKINI
                          getByteThreeInt() const SKINI
                          getByteTwo() const SKINI
                          getByteTwoInt() const SKINI
                          getChannel() const SKINI
                          getDelta() const SKINI
                          getMessageTypeString()SKINI
                          getRemainderString()SKINI
                          getType() const SKINI
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          MY_FLOAT32Stk [static]
                          MY_FLOAT64Stk [static]
                          nextMessage()SKINI
                          parseThis(char *aString)SKINI
                          rawwavePath(void)Stk [static]
                          sampleRate(void)Stk [static]
                          setRawwavePath(std::string newPath)Stk [static]
                          setSampleRate(MY_FLOAT newRate)Stk [static]
                          SKINI()SKINI
                          SKINI(char *fileName)SKINI
                          sleep(unsigned long milliseconds)Stk [static]
                          Stk(void)Stk [protected]
                          STK_SINT16Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT8Stk [static]
                          swap16(unsigned char *ptr)Stk [static]
                          swap32(unsigned char *ptr)Stk [static]
                          swap64(unsigned char *ptr)Stk [static]
                          whatsThisController(long number)SKINI
                          whatsThisType(long type)SKINI
                          ~SKINI()SKINI
                          ~Stk(void)Stk [protected, virtual]

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

                          -Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                          -
                          - -

                          SKINI Class Reference

                          STK SKINI parsing class. -More... -

                          -#include <SKINI.h> -

                          -

                          Inheritance diagram for SKINI: -

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

                          Public Member Functions

                          SKINI ()
                           Default constructor used for parsing messages received externally.

                          SKINI (char *fileName)
                           Overloaded constructor taking a SKINI formatted scorefile.

                          ~SKINI ()
                           Class destructor.

                          long parseThis (char *aString)
                           Attempt to parse the given string, returning the message type.

                          long nextMessage ()
                           Parse the next message (if a file is loaded) and return the message type.

                          -long getType () const
                           Return the current message type.

                          -long getChannel () const
                           Return the current message channel value.

                          -MY_FLOAT getDelta () const
                           Return the current message delta time value (in seconds).

                          -MY_FLOAT getByteTwo () const
                           Return the current message byte two value.

                          -MY_FLOAT getByteThree () const
                           Return the current message byte three value.

                          -long getByteTwoInt () const
                           Return the current message byte two value (integer).

                          -long getByteThreeInt () const
                           Return the current message byte three value (integer).

                          -const char * getRemainderString ()
                           Return remainder string after parsing.

                          -const char * getMessageTypeString ()
                           Return the message type as a string.

                          -const char * whatsThisType (long type)
                           Return the SKINI type string for the given type value.

                          -const char * whatsThisController (long number)
                           Return the SKINI controller string for the given controller number.

                          -

                          Detailed Description

                          -STK SKINI parsing class. -

                          -This class parses SKINI formatted text messages. It can be used to parse individual messages or it can be passed an entire file. The file specification is Perry's and his alone, but it's all text so it shouldn't be to hard to figure out.

                          -SKINI (Synthesis toolKit Instrument Network Interface) is like MIDI, but allows for floating-point control changes, note numbers, etc. The following example causes a sharp middle C to be played with a velocity of 111.132:

                          -

                              noteOn  60.01  111.13
                          -

                          -

                          See also:
                          Synthesis toolKit Instrument Network Interface (SKINI)
                          -by Perry R. Cook and Gary P. Scavone, 1995 - 2002. -

                          - -

                          -Definition at line 34 of file SKINI.h.


                          Member Function Documentation

                          -

                          - - - - -
                          - - - - - - - - - - -
                          long SKINI::parseThis char *  aString  ) 
                          -
                          - - - - - -
                          -   - - -

                          -Attempt to parse the given string, returning the message type. -

                          -A type value equal to zero indicates an invalid message.

                          -

                          - - - - -
                          - - - - - - - - - -
                          long SKINI::nextMessage  ) 
                          -
                          - - - - - -
                          -   - - -

                          -Parse the next message (if a file is loaded) and return the message type. -

                          -A negative value is returned when the file end is reached.

                          -


                          The documentation for this class was generated from the following file: -
                          - - - - -
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          - - - diff --git a/doc/html/classSKINI.png b/doc/html/classSKINI.png deleted file mode 100644 index fd985a312a13f999160a91610cf7ded44495942b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^+CUt@!VDyfrcL|^q$C1-LR|m<{|{vT|9@cq{DcWW z78oBmaG?6o|0h5$V@Z%-FoVOh8)-n!N>3NZkcv5PFM0E|DDbd7D0@8X8{1PB;pa}9 zAN_Nm5#|vRC3fUYa$@g#eTRD94?V9Kv-w_W>l~SR)G)m>QoZBuxo(XO9`?89wAKoB z?$}n+y+vi+(r4FHie5hc-@q=Nw4U{lR6(WhhoDm|{%SjaJ~Ips;S4hQ_}PbL#rX{V zs@#~9e6J*Omdty3z>GssX0>u|kNUc|Z+rqzH{9+?KCNqBwzK{tyMFN=#d}-4!vq6N SeG7n&X7F_Nb6Mw<&;$S|5pb3O diff --git a/doc/html/classSampler-members.html b/doc/html/classSampler-members.html index a4cc23b..75324b9 100644 --- a/doc/html/classSampler-members.html +++ b/doc/html/classSampler-members.html @@ -11,41 +11,45 @@

                          Sampler Member List

                          This is the complete list of members for Sampler, including all inherited members. - - + + + + - - - - - + + + - - - - + + + + + + - + + - - + + +
                          clear()Sampler
                          controlChange(int number, MY_FLOAT value)=0Sampler [pure virtual]
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          controlChange(int number, StkFloat value)=0Sampler [pure virtual]
                          handleError(const char *message, StkError::Type type)Stk [static]
                          handleError(std::string message, StkError::Type type)Stk [static]
                          handleError(StkError::Type type)Stk [protected]
                          Instrmnt()Instrmnt
                          keyOff()Sampler
                          keyOn()Sampler
                          lastOut() const Instrmnt
                          lastOutLeft() const Instrmnt
                          lastOutRight() const Instrmnt
                          MY_FLOAT32Stk [static]
                          MY_FLOAT64Stk [static]
                          noteOff(MY_FLOAT amplitude)Sampler [virtual]
                          noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)=0Instrmnt [pure virtual]
                          rawwavePath(void)Stk [static]
                          noteOff(StkFloat amplitude)Sampler [virtual]
                          noteOn(StkFloat frequency, StkFloat amplitude)=0Instrmnt [pure virtual]
                          rawwavePath(void)Stk [inline, static]
                          Sampler()Sampler
                          sampleRate(void)Stk [static]
                          setFrequency(MY_FLOAT frequency)=0Sampler [pure virtual]
                          setRawwavePath(std::string newPath)Stk [static]
                          setSampleRate(MY_FLOAT newRate)Stk [static]
                          sampleRate(void)Stk [inline, static]
                          setFrequency(StkFloat frequency)=0Sampler [pure virtual]
                          setRawwavePath(std::string path)Stk [static]
                          setSampleRate(StkFloat rate)Stk [inline, static]
                          sleep(unsigned long milliseconds)Stk [static]
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [static]
                          STK_FLOAT64Stk [static]
                          STK_SINT16Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT24Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT8Stk [static]
                          swap16(unsigned char *ptr)Stk [static]
                          swap32(unsigned char *ptr)Stk [static]
                          swap64(unsigned char *ptr)Stk [static]
                          tick()Sampler [virtual]
                          Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                          tick()=0Sampler [pure virtual]
                          tick(StkFloat *vector, unsigned int vectorSize)=0Sampler [pure virtual]
                          tick(StkFrames &frames, unsigned int channel=1)=0Sampler [pure virtual]
                          ~Instrmnt()Instrmnt [virtual]
                          ~Sampler()Sampler [virtual]
                          ~Stk(void)Stk [protected, virtual]

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSampler.html b/doc/html/classSampler.html index 25cd370..3811bf2 100644 --- a/doc/html/classSampler.html +++ b/doc/html/classSampler.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          Sampler Class Reference

                          STK sampling synthesis abstract base class. -More... -

                          -#include <Sampler.h> +

                          Sampler Class Reference

                          #include <Sampler.h>

                          Inheritance diagram for Sampler:

                          @@ -21,7 +18,15 @@ Stk Moog -List of all members. +List of all members.

                          Detailed Description

                          +STK sampling synthesis abstract base class. +

                          +This instrument provides an ADSR envelope, a one-pole filter, and structures for an arbitrary number of attack and loop waves.

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

                          + +

                          +Definition at line 21 of file Sampler.h.

                          +virtual void  +virtual void  +virtual StkFloat  - + + + + + + +

                          Public Member Functions

                          @@ -37,7 +42,7 @@ void  Reset and clear all internal state.

                          -virtual void setFrequency (MY_FLOAT frequency)=0
                          setFrequency (StkFloat frequency)=0
                           Set instrument parameters for a particular frequency.

                          @@ -49,32 +54,76 @@ void  Signal a key-off event to the envelopes.

                          -virtual void noteOff (MY_FLOAT amplitude)
                          noteOff (StkFloat amplitude)
                           Stop a note with the given amplitude (speed of decay).

                          -virtual MY_FLOAT tick ()
                          tick ()=0
                           Compute one output sample.

                          -virtual void controlChange (int number, MY_FLOAT value)=0
                          +virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)=0
                           Computer vectorSize outputs and return them in vector.

                          virtual StkFramestick (StkFrames &frames, unsigned int channel=1)=0
                           Fill a channel of the StkFrames object with computed outputs.

                          +virtual void controlChange (int number, StkFloat value)=0
                           Perform the control change specified by number and value (0.0 - 128.0).

                          -

                          Detailed Description

                          -STK sampling synthesis abstract base class. -

                          -This instrument contains up to 5 attack waves, 5 looped waves, and an ADSR envelope.

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

                          +


                          Member Function Documentation

                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + +
                          virtual StkFrames& Sampler::tick StkFrames frames,
                          unsigned int  channel = 1
                          [pure virtual]
                          +
                          + + + + + +
                          +   +

                          -Definition at line 21 of file Sampler.h.


                          The documentation for this class was generated from the following file:
                            +Fill a channel of the StkFrames object with computed outputs. +

                            +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                            +Reimplemented from Instrmnt. +

                            +Implemented in Moog.

                          +


                          The documentation for this class was generated from the following file:
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSaxofony-members.html b/doc/html/classSaxofony-members.html index 04c4722..c2511f5 100644 --- a/doc/html/classSaxofony-members.html +++ b/doc/html/classSaxofony-members.html @@ -11,42 +11,46 @@

                          Saxofony Member List

                          This is the complete list of members for Saxofony, including all inherited members. - - + + + + - - - - - - - - - - - + + + + + + + + + - + + + - + + - + - + +
                          clear()Saxofony
                          controlChange(int number, MY_FLOAT value)Saxofony [virtual]
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          controlChange(int number, StkFloat value)Saxofony [virtual]
                          handleError(const char *message, StkError::Type type)Stk [static]
                          handleError(std::string message, StkError::Type type)Stk [static]
                          handleError(StkError::Type type)Stk [protected]
                          Instrmnt()Instrmnt
                          lastOut() const Instrmnt
                          lastOutLeft() const Instrmnt
                          lastOutRight() const Instrmnt
                          MY_FLOAT32Stk [static]
                          MY_FLOAT64Stk [static]
                          noteOff(MY_FLOAT amplitude)Saxofony [virtual]
                          noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Saxofony [virtual]
                          rawwavePath(void)Stk [static]
                          sampleRate(void)Stk [static]
                          Saxofony(MY_FLOAT lowestFrequency)Saxofony
                          setBlowPosition(MY_FLOAT aPosition)Saxofony
                          setFrequency(MY_FLOAT frequency)Saxofony [virtual]
                          setRawwavePath(std::string newPath)Stk [static]
                          setSampleRate(MY_FLOAT newRate)Stk [static]
                          noteOff(StkFloat amplitude)Saxofony [virtual]
                          noteOn(StkFloat frequency, StkFloat amplitude)Saxofony [virtual]
                          rawwavePath(void)Stk [inline, static]
                          sampleRate(void)Stk [inline, static]
                          Saxofony(StkFloat lowestFrequency)Saxofony
                          setBlowPosition(StkFloat aPosition)Saxofony
                          setFrequency(StkFloat frequency)Saxofony [virtual]
                          setRawwavePath(std::string path)Stk [static]
                          setSampleRate(StkFloat rate)Stk [inline, static]
                          sleep(unsigned long milliseconds)Stk [static]
                          startBlowing(MY_FLOAT amplitude, MY_FLOAT rate)Saxofony
                          startBlowing(StkFloat amplitude, StkFloat rate)Saxofony
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [static]
                          STK_FLOAT64Stk [static]
                          STK_SINT16Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT24Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT8Stk [static]
                          stopBlowing(MY_FLOAT rate)Saxofony
                          stopBlowing(StkFloat rate)Saxofony
                          swap16(unsigned char *ptr)Stk [static]
                          swap32(unsigned char *ptr)Stk [static]
                          swap64(unsigned char *ptr)Stk [static]
                          tick()Saxofony [virtual]
                          Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                          tick(StkFloat *vector, unsigned int vectorSize)Saxofony [virtual]
                          tick(StkFrames &frames, unsigned int channel=1)Saxofony [virtual]
                          ~Instrmnt()Instrmnt [virtual]
                          ~Saxofony()Saxofony
                          ~Stk(void)Stk [protected, virtual]

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSaxofony.html b/doc/html/classSaxofony.html index 3260c33..5cb729c 100644 --- a/doc/html/classSaxofony.html +++ b/doc/html/classSaxofony.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          Saxofony Class Reference

                          STK faux conical bore reed instrument class. -More... -

                          -#include <Saxofony.h> +

                          Saxofony Class Reference

                          #include <Saxofony.h>

                          Inheritance diagram for Saxofony:

                          @@ -20,13 +17,24 @@ Instrmnt Stk -List of all members. +List of all members.

                          Detailed Description

                          +STK faux conical bore reed instrument class. +

                          +This class implements a "hybrid" digital waveguide instrument that can generate a variety of wind-like sounds. It has also been referred to as the "blowed string" model. The waveguide section is essentially that of a string, with one rigid and one lossy termination. The non-linear function is a reed table. The string can be "blown" at any point between the terminations, though just as with strings, it is impossible to excite the system at either end. If the excitation is placed at the string mid-point, the sound is that of a clarinet. At points closer to the "bridge", the sound is closer to that of a saxophone. See Scavone (2002) for more details.

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

                          +Control Change Numbers:

                            +
                          • Reed Stiffness = 2
                          • Reed Aperture = 26
                          • Noise Gain = 4
                          • Blow Position = 11
                          • Vibrato Frequency = 29
                          • Vibrato Gain = 1
                          • Breath Pressure = 128
                          +

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

                          + +

                          +Definition at line 49 of file Saxofony.h.

                          - + - + @@ -36,56 +44,126 @@ void  +void  +void  +void  +void  +void  +void  +StkFloat  - + + + + + + +

                          Public Member Functions

                          Saxofony (MY_FLOAT lowestFrequency)
                           Saxofony (StkFloat lowestFrequency)
                           Class constructor, taking the lowest desired playing frequency.

                           Class constructor, taking the lowest desired playing frequency.

                           ~Saxofony ()
                           Reset and clear all internal state.

                          -void setFrequency (MY_FLOAT frequency)
                          setFrequency (StkFloat frequency)
                           Set instrument parameters for a particular frequency.

                          -void setBlowPosition (MY_FLOAT aPosition)
                          setBlowPosition (StkFloat aPosition)
                           Set the "blowing" position between the air column terminations (0.0 - 1.0).

                          -void startBlowing (MY_FLOAT amplitude, MY_FLOAT rate)
                          startBlowing (StkFloat amplitude, StkFloat rate)
                           Apply breath pressure to instrument with given amplitude and rate of increase.

                          -void stopBlowing (MY_FLOAT rate)
                          stopBlowing (StkFloat rate)
                           Decrease breath pressure with given rate of decrease.

                          -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                          noteOn (StkFloat frequency, StkFloat amplitude)
                           Start a note with the given frequency and amplitude.

                          -void noteOff (MY_FLOAT amplitude)
                          noteOff (StkFloat amplitude)
                           Stop a note with the given amplitude (speed of decay).

                          -MY_FLOAT tick ()
                          tick ()
                           Compute one output sample.

                          -void controlChange (int number, MY_FLOAT value)
                          +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                           Computer vectorSize outputs and return them in vector.

                          StkFramestick (StkFrames &frames, unsigned int channel=1)
                           Fill a channel of the StkFrames object with computed outputs.

                          +void controlChange (int number, StkFloat value)
                           Perform the control change specified by number and value (0.0 - 128.0).

                          -

                          Detailed Description

                          -STK faux conical bore reed instrument class. -

                          -This class implements a "hybrid" digital waveguide instrument that can generate a variety of wind-like sounds. It has also been referred to as the "blowed string" model. The waveguide section is essentially that of a string, with one rigid and one lossy termination. The non-linear function is a reed table. The string can be "blown" at any point between the terminations, though just as with strings, it is impossible to excite the system at either end. If the excitation is placed at the string mid-point, the sound is that of a clarinet. At points closer to the "bridge", the sound is closer to that of a saxophone. See Scavone (2002) for more details.

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

                          -Control Change Numbers:

                            -
                          • Reed Stiffness = 2
                          • Reed Aperture = 26
                          • Noise Gain = 4
                          • Blow Position = 11
                          • Vibrato Frequency = 29
                          • Vibrato Gain = 1
                          • Breath Pressure = 128
                          -

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

                          +


                          Constructor & Destructor Documentation

                          +

                          + + + + +
                          + + + + + + + + + + +
                          Saxofony::Saxofony StkFloat  lowestFrequency  ) 
                          +
                          + + + + + +
                          +   +

                          -Definition at line 49 of file Saxofony.h.


                          The documentation for this class was generated from the following file:
                            +Class constructor, taking the lowest desired playing frequency. +

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

                          +


                          Member Function Documentation

                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + +
                          StkFrames& Saxofony::tick StkFrames frames,
                          unsigned int  channel = 1
                          [virtual]
                          +
                          + + + + + +
                          +   + + +

                          +Fill a channel of the StkFrames object with computed outputs. +

                          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                          +Reimplemented from Instrmnt.

                          +


                          The documentation for this class was generated from the following file:
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classShakers-members.html b/doc/html/classShakers-members.html index 2ba5222..b0616c1 100644 --- a/doc/html/classShakers-members.html +++ b/doc/html/classShakers-members.html @@ -10,39 +10,43 @@

                          Shakers Member List

                          This is the complete list of members for Shakers, including all inherited members. - - + + + + - - - - - - - - - + + + + + + + + + - + + - + +
                          controlChange(int number, MY_FLOAT value)Shakers [virtual]
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          controlChange(int number, StkFloat value)Shakers [virtual]
                          handleError(const char *message, StkError::Type type)Stk [static]
                          handleError(std::string message, StkError::Type type)Stk [static]
                          handleError(StkError::Type type)Stk [protected]
                          Instrmnt()Instrmnt
                          lastOut() const Instrmnt
                          lastOutLeft() const Instrmnt
                          lastOutRight() const Instrmnt
                          MY_FLOAT32Stk [static]
                          MY_FLOAT64Stk [static]
                          noteOff(MY_FLOAT amplitude)Shakers [virtual]
                          noteOn(MY_FLOAT instrument, MY_FLOAT amplitude)Shakers [virtual]
                          rawwavePath(void)Stk [static]
                          sampleRate(void)Stk [static]
                          setFrequency(MY_FLOAT frequency)Instrmnt [virtual]
                          setRawwavePath(std::string newPath)Stk [static]
                          setSampleRate(MY_FLOAT newRate)Stk [static]
                          noteOff(StkFloat amplitude)Shakers [virtual]
                          noteOn(StkFloat instrument, StkFloat amplitude)Shakers [virtual]
                          rawwavePath(void)Stk [inline, static]
                          sampleRate(void)Stk [inline, static]
                          setFrequency(StkFloat frequency)Instrmnt [virtual]
                          setRawwavePath(std::string path)Stk [static]
                          setSampleRate(StkFloat rate)Stk [inline, static]
                          Shakers()Shakers
                          sleep(unsigned long milliseconds)Stk [static]
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [static]
                          STK_FLOAT64Stk [static]
                          STK_SINT16Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT24Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT8Stk [static]
                          swap16(unsigned char *ptr)Stk [static]
                          swap32(unsigned char *ptr)Stk [static]
                          swap64(unsigned char *ptr)Stk [static]
                          tick()Shakers [virtual]
                          Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                          tick(StkFloat *vector, unsigned int vectorSize)Shakers [virtual]
                          tick(StkFrames &frames, unsigned int channel=1)Shakers [virtual]
                          ~Instrmnt()Instrmnt [virtual]
                          ~Shakers()Shakers
                          ~Stk(void)Stk [protected, virtual]

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classShakers.html b/doc/html/classShakers.html index 08afdbc..dd31c93 100644 --- a/doc/html/classShakers.html +++ b/doc/html/classShakers.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          Shakers Class Reference

                          PhISEM and PhOLIES class. -More... -

                          -#include <Shakers.h> +

                          Shakers Class Reference

                          #include <Shakers.h>

                          Inheritance diagram for Shakers:

                          @@ -20,7 +17,21 @@ Instrmnt Stk -List of all members. +List of all members.

                          Detailed Description

                          +PhISEM and PhOLIES class. +

                          +PhISEM (Physically Informed Stochastic Event Modeling) is an algorithmic approach for simulating collisions of multiple independent sound producing objects. This class is a meta-model that can simulate a Maraca, Sekere, Cabasa, Bamboo Wind Chimes, Water Drops, Tambourine, Sleighbells, and a Guiro.

                          +PhOLIES (Physically-Oriented Library of Imitated Environmental Sounds) is a similar approach for the synthesis of environmental sounds. This class implements simulations of breaking sticks, crunchy snow (or not), a wrench, sandpaper, and more.

                          +Control Change Numbers:

                            +
                          • Shake Energy = 2
                          • System Decay = 4
                          • Number Of Objects = 11
                          • Resonance Frequency = 1
                          • Shake Energy = 128
                          • Instrument Selection = 1071
                              +
                            • Maraca = 0
                            • Cabasa = 1
                            • Sekere = 2
                            • Guiro = 3
                            • Water Drops = 4
                            • Bamboo Chimes = 5
                            • Tambourine = 6
                            • Sleigh Bells = 7
                            • Sticks = 8
                            • Crunch = 9
                            • Wrench = 10
                            • Sand Paper = 11
                            • Coke Can = 12
                            • Next Mug = 13
                            • Penny + Mug = 14
                            • Nickle + Mug = 15
                            • Dime + Mug = 16
                            • Quarter + Mug = 17
                            • Franc + Mug = 18
                            • Peso + Mug = 19
                            • Big Rocks = 20
                            • Little Rocks = 21
                            • Tuned Bamboo Chimes = 22
                            +
                          +

                          +by Perry R. Cook, 1996 - 2004. +

                          + +

                          +Definition at line 63 of file Shakers.h.

                          - + +void  +StkFloat  - + + + + + + +

                          Public Member Functions

                          @@ -31,52 +42,45 @@  ~Shakers ()
                           Class destructor.

                          virtual void noteOn (MY_FLOAT instrument, MY_FLOAT amplitude)
                          void noteOn (StkFloat instrument, StkFloat amplitude)
                           Start a note with the given instrument and amplitude.

                          -virtual void noteOff (MY_FLOAT amplitude)
                          noteOff (StkFloat amplitude)
                           Stop a note with the given amplitude (speed of decay).

                          -MY_FLOAT tick ()
                          tick ()
                           Compute one output sample.

                          -virtual void controlChange (int number, MY_FLOAT value)
                          +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                           Computer vectorSize outputs and return them in vector.

                          StkFramestick (StkFrames &frames, unsigned int channel=1)
                           Fill a channel of the StkFrames object with computed outputs.

                          +void controlChange (int number, StkFloat value)
                           Perform the control change specified by number and value (0.0 - 128.0).

                          -

                          Detailed Description

                          -PhISEM and PhOLIES class. -

                          -PhISEM (Physically Informed Stochastic Event Modeling) is an algorithmic approach for simulating collisions of multiple independent sound producing objects. This class is a meta-model that can simulate a Maraca, Sekere, Cabasa, Bamboo Wind Chimes, Water Drops, Tambourine, Sleighbells, and a Guiro.

                          -PhOLIES (Physically-Oriented Library of Imitated Environmental Sounds) is a similar approach for the synthesis of environmental sounds. This class implements simulations of breaking sticks, crunchy snow (or not), a wrench, sandpaper, and more.

                          -Control Change Numbers:

                            -
                          • Shake Energy = 2
                          • System Decay = 4
                          • Number Of Objects = 11
                          • Resonance Frequency = 1
                          • Shake Energy = 128
                          • Instrument Selection = 1071
                              -
                            • Maraca = 0
                            • Cabasa = 1
                            • Sekere = 2
                            • Guiro = 3
                            • Water Drops = 4
                            • Bamboo Chimes = 5
                            • Tambourine = 6
                            • Sleigh Bells = 7
                            • Sticks = 8
                            • Crunch = 9
                            • Wrench = 10
                            • Sand Paper = 11
                            • Coke Can = 12
                            • Next Mug = 13
                            • Penny + Mug = 14
                            • Nickle + Mug = 15
                            • Dime + Mug = 16
                            • Quarter + Mug = 17
                            • Franc + Mug = 18
                            • Peso + Mug = 19
                            • Big Rocks = 20
                            • Little Rocks = 21
                            • Tuned Bamboo Chimes = 22
                            -
                          -

                          -by Perry R. Cook, 1996 - 1999. -

                          - -

                          -Definition at line 63 of file Shakers.h.


                          Member Function Documentation

                          +

                          Member Function Documentation

                          -

                          -Definition at line 23 of file SingWave.h.


                          Constructor & Destructor Documentation

                          + + + + +
                          - + - + - + @@ -104,12 +108,54 @@ Use the instrument numbers above, converted to frequency values as if MIDI note Implements Instrmnt.
                          virtual void Shakers::noteOn void Shakers::noteOn MY_FLOAT StkFloat  instrument,
                          MY_FLOAT StkFloat  amplitude
                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + +
                          StkFrames& Shakers::tick StkFrames frames,
                          unsigned int  channel = 1
                          [virtual]
                          +
                          + + + + + +
                          +   + + +

                          +Fill a channel of the StkFrames object with computed outputs. +

                          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                          +Reimplemented from Instrmnt.


                          The documentation for this class was generated from the following file:
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSimple-members.html b/doc/html/classSimple-members.html index 2b78a33..3e8ced0 100644 --- a/doc/html/classSimple-members.html +++ b/doc/html/classSimple-members.html @@ -11,41 +11,45 @@

                          Simple Member List

                          This is the complete list of members for Simple, including all inherited members. - - + + + + - - - - - - - - - + + + + + + + + + - + + - + + - +
                          clear()Simple
                          controlChange(int number, MY_FLOAT value)Simple [virtual]
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          controlChange(int number, StkFloat value)Simple [virtual]
                          handleError(const char *message, StkError::Type type)Stk [static]
                          handleError(std::string message, StkError::Type type)Stk [static]
                          handleError(StkError::Type type)Stk [protected]
                          Instrmnt()Instrmnt
                          keyOff()Simple
                          keyOn()Simple
                          lastOut() const Instrmnt
                          lastOutLeft() const Instrmnt
                          lastOutRight() const Instrmnt
                          MY_FLOAT32Stk [static]
                          MY_FLOAT64Stk [static]
                          noteOff(MY_FLOAT amplitude)Simple [virtual]
                          noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Simple [virtual]
                          rawwavePath(void)Stk [static]
                          sampleRate(void)Stk [static]
                          setFrequency(MY_FLOAT frequency)Simple [virtual]
                          setRawwavePath(std::string newPath)Stk [static]
                          setSampleRate(MY_FLOAT newRate)Stk [static]
                          noteOff(StkFloat amplitude)Simple [virtual]
                          noteOn(StkFloat frequency, StkFloat amplitude)Simple [virtual]
                          rawwavePath(void)Stk [inline, static]
                          sampleRate(void)Stk [inline, static]
                          setFrequency(StkFloat frequency)Simple [virtual]
                          setRawwavePath(std::string path)Stk [static]
                          setSampleRate(StkFloat rate)Stk [inline, static]
                          Simple()Simple
                          sleep(unsigned long milliseconds)Stk [static]
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [static]
                          STK_FLOAT64Stk [static]
                          STK_SINT16Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT24Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT8Stk [static]
                          swap16(unsigned char *ptr)Stk [static]
                          swap32(unsigned char *ptr)Stk [static]
                          swap64(unsigned char *ptr)Stk [static]
                          tick()Simple [virtual]
                          Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                          tick(StkFloat *vector, unsigned int vectorSize)Simple [virtual]
                          tick(StkFrames &frames, unsigned int channel=1)Simple [virtual]
                          ~Instrmnt()Instrmnt [virtual]
                          ~Simple()Simple [virtual]
                          ~Simple()Simple
                          ~Stk(void)Stk [protected, virtual]

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSimple.html b/doc/html/classSimple.html index 9ced99b..0ca754b 100644 --- a/doc/html/classSimple.html +++ b/doc/html/classSimple.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          Simple Class Reference

                          STK wavetable/noise instrument. -More... -

                          -#include <Simple.h> +

                          Simple Class Reference

                          #include <Simple.h>

                          Inheritance diagram for Simple:

                          @@ -20,15 +17,25 @@ Instrmnt Stk -List of all members. +List of all members.

                          Detailed Description

                          +STK wavetable/noise instrument. +

                          +This class combines a looped wave, a noise source, a biquad resonance filter, a one-pole filter, and an ADSR envelope to create some interesting sounds.

                          +Control Change Numbers:

                            +
                          • Filter Pole Position = 2
                          • Noise/Pitched Cross-Fade = 4
                          • Envelope Rate = 11
                          • Gain = 128
                          +

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

                          + +

                          +Definition at line 30 of file Simple.h.

                          - + - + +  +void  +void  +void  +StkFloat  - + + + + + + +

                          Public Member Functions

                          Simple ()
                           Simple ()
                           Class constructor.

                           Class constructor.

                          -virtual ~Simple ()
                          ~Simple ()
                           Class destructor.

                          @@ -36,7 +43,7 @@ void  Clear internal states.

                          -virtual void setFrequency (MY_FLOAT frequency)
                          setFrequency (StkFloat frequency)
                           Set instrument parameters for a particular frequency.

                          @@ -48,39 +55,109 @@ void  Start envelope toward "off" target.

                          -virtual void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                          noteOn (StkFloat frequency, StkFloat amplitude)
                           Start a note with the given frequency and amplitude.

                          -virtual void noteOff (MY_FLOAT amplitude)
                          noteOff (StkFloat amplitude)
                           Stop a note with the given amplitude (speed of decay).

                          -virtual MY_FLOAT tick ()
                          tick ()
                           Compute one output sample.

                          -virtual void controlChange (int number, MY_FLOAT value)
                          +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                           Computer vectorSize outputs and return them in vector.

                          StkFramestick (StkFrames &frames, unsigned int channel=1)
                           Fill a channel of the StkFrames object with computed outputs.

                          +void controlChange (int number, StkFloat value)
                           Perform the control change specified by number and value (0.0 - 128.0).

                          -

                          Detailed Description

                          -STK wavetable/noise instrument. -

                          -This class combines a looped wave, a noise source, a biquad resonance filter, a one-pole filter, and an ADSR envelope to create some interesting sounds.

                          -Control Change Numbers:

                            -
                          • Filter Pole Position = 2
                          • Noise/Pitched Cross-Fade = 4
                          • Envelope Rate = 11
                          • Gain = 128
                          -

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

                          +


                          Constructor & Destructor Documentation

                          +

                          + + + + +
                          + + + + + + + + + +
                          Simple::Simple  ) 
                          +
                          + + + + + +
                          +   +

                          -Definition at line 30 of file Simple.h.


                          The documentation for this class was generated from the following file:
                            +Class constructor. +

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

                          +


                          Member Function Documentation

                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + +
                          StkFrames& Simple::tick StkFrames frames,
                          unsigned int  channel = 1
                          [virtual]
                          +
                          + + + + + +
                          +   + + +

                          +Fill a channel of the StkFrames object with computed outputs. +

                          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                          +Reimplemented from Instrmnt.

                          +


                          The documentation for this class was generated from the following file:
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSingWave-members.html b/doc/html/classSingWave-members.html index 80b11ce..c90fe7e 100644 --- a/doc/html/classSingWave-members.html +++ b/doc/html/classSingWave-members.html @@ -10,42 +10,49 @@

                          SingWave Member List

                          This is the complete list of members for SingWave, including all inherited members. - - - - + + + + + - + - + - - - - - - - - - - - + + + + + + + + + + + + + - + + - + + + +
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          lastOut()SingWave
                          MY_FLOAT32Stk [static]
                          MY_FLOAT64Stk [static]
                          Generator()Generator
                          handleError(const char *message, StkError::Type type)Stk [static]
                          handleError(std::string message, StkError::Type type)Stk [static]
                          handleError(StkError::Type type)Stk [protected]
                          lastOut() const Generator [inline, virtual]
                          normalize()SingWave
                          normalize(MY_FLOAT peak)SingWave
                          normalize(StkFloat peak)SingWave
                          noteOff()SingWave
                          noteOn()SingWave
                          rawwavePath(void)Stk [static]
                          rawwavePath(void)Stk [inline, static]
                          reset()SingWave
                          sampleRate(void)Stk [static]
                          setFrequency(MY_FLOAT frequency)SingWave
                          setGainRate(MY_FLOAT aRate)SingWave
                          setGainTarget(MY_FLOAT target)SingWave
                          setRandomGain(MY_FLOAT gain)SingWave
                          setRawwavePath(std::string newPath)Stk [static]
                          setSampleRate(MY_FLOAT newRate)Stk [static]
                          setSweepRate(MY_FLOAT aRate)SingWave
                          setVibratoGain(MY_FLOAT gain)SingWave
                          setVibratoRate(MY_FLOAT aRate)SingWave
                          SingWave(const char *fileName, bool raw=FALSE)SingWave
                          sampleRate(void)Stk [inline, static]
                          setFrequency(StkFloat frequency)SingWave
                          setGainRate(StkFloat rate)SingWave
                          setGainTarget(StkFloat target)SingWave
                          setRandomGain(StkFloat gain)SingWave
                          setRawwavePath(std::string path)Stk [static]
                          setSampleRate(StkFloat rate)Stk [inline, static]
                          setSweepRate(StkFloat rate)SingWave
                          setVibratoGain(StkFloat gain)SingWave
                          setVibratoRate(StkFloat rate)SingWave
                          SingWave(std::string fileName, bool raw=false)SingWave
                          sleep(unsigned long milliseconds)Stk [static]
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [static]
                          STK_FLOAT64Stk [static]
                          STK_SINT16Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT24Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT8Stk [static]
                          swap16(unsigned char *ptr)Stk [static]
                          swap32(unsigned char *ptr)Stk [static]
                          swap64(unsigned char *ptr)Stk [static]
                          tick()SingWave
                          tick()SingWave [virtual]
                          tick(StkFloat *vector, unsigned int vectorSize)SingWave [virtual]
                          tick(StkFrames &frames, unsigned int channel=1)SingWave [virtual]
                          ~Generator()Generator [virtual]
                          ~SingWave()SingWave
                          ~Stk(void)Stk [protected, virtual]

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSingWave.html b/doc/html/classSingWave.html index 5028ca4..baf9aa4 100644 --- a/doc/html/classSingWave.html +++ b/doc/html/classSingWave.html @@ -9,20 +9,26 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          SingWave Class Reference

                          STK "singing" looped soundfile class. -More... -

                          -#include <SingWave.h> +

                          SingWave Class Reference

                          #include <SingWave.h>

                          Inheritance diagram for SingWave:

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

                          Detailed Description

                          +STK "singing" looped soundfile class. +

                          +This class contains all that is needed to make a pitched musical sound, like a simple voice or violin. In general, it will not be used alone because of munchkinification effects from pitch shifting. It will be used as an excitation source for other instruments.

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

                          + +

                          +Definition at line 23 of file SingWave.h.

                          - + +void  +void  +void  +void  +void  +void  +void  +void  - - - - + -

                          Public Member Functions

                           SingWave (const char *fileName, bool raw=FALSE)
                           SingWave (std::string fileName, bool raw=false)
                           Class constructor taking filename argument.

                          @@ -38,35 +44,35 @@ void  Normalize the file to a maximum of +-1.0.

                          -void normalize (MY_FLOAT peak)
                          normalize (StkFloat peak)
                           Normalize the file to a maximum of +- peak.

                          -void setFrequency (MY_FLOAT frequency)
                          setFrequency (StkFloat frequency)
                           Set instrument parameters for a particular frequency.

                          -void setVibratoRate (MY_FLOAT aRate)
                          setVibratoRate (StkFloat rate)
                           Set the vibrato frequency in Hz.

                          -void setVibratoGain (MY_FLOAT gain)
                          setVibratoGain (StkFloat gain)
                           Set the vibrato gain.

                          -void setRandomGain (MY_FLOAT gain)
                          setRandomGain (StkFloat gain)
                           Set the random-ness amount.

                          -void setSweepRate (MY_FLOAT aRate)
                          setSweepRate (StkFloat rate)
                           Set the sweep rate.

                          -void setGainRate (MY_FLOAT aRate)
                          setGainRate (StkFloat rate)
                           Set the gain rate.

                          -void setGainTarget (MY_FLOAT target)
                          setGainTarget (StkFloat target)
                           Set the gain target value.

                          @@ -77,24 +83,19 @@ void noteOff ()
                           Stop a note.

                          -MY_FLOAT lastOut ()
                           Return the last output value.

                          -MY_FLOAT tick ()
                          +StkFloat tick ()
                           Compute one output sample.

                          -

                          Detailed Description

                          -STK "singing" looped soundfile class. -

                          -This class contains all that is needed to make a pitched musical sound, like a simple voice or violin. In general, it will not be used alone because of munchkinification effects from pitch shifting. It will be used as an excitation source for other instruments.

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

                          +

                          +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                           Compute vectorSize outputs and return them in vector.

                          StkFramestick (StkFrames &frames, unsigned int channel=1)
                           Fill a channel of the StkFrames object with computed outputs.

                          +


                          Constructor & Destructor Documentation

                          @@ -103,14 +104,14 @@ Definition at line 23 of - + - + @@ -132,7 +133,50 @@ Definition at line 23 of

                          Class constructor taking filename argument.

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

                          +
                          SingWave::SingWave const char * std::string  fileName,
                          bool  raw = FALSE raw = false
                          +


                          Member Function Documentation

                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + +
                          StkFrames& SingWave::tick StkFrames frames,
                          unsigned int  channel = 1
                          [virtual]
                          +
                          + + + +
                          +   + + +

                          +Fill a channel of the StkFrames object with computed outputs. +

                          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                          +Reimplemented from Generator.


                          The documentation for this class was generated from the following file:
                            @@ -140,7 +184,7 @@ An StkError will be thrown if the fi
                            - +
                            The Synthesis ToolKit in C++ (STK)
                            The Synthesis ToolKit in C++ (STK)
                            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                            diff --git a/doc/html/classSingWave.png b/doc/html/classSingWave.png index 0162ced43fcce8d4c36e8c5a6bad3875657d3838..6e267d629d97a6cf027d9c1af38bc17c603c3198 100644 GIT binary patch delta 360 zcmV-u0hj*40;L0x7Yc|30{{R3L)ANQks&jG0Xs=VK~#90?Uqq)!ypWX;bqU*H?U7o zZ5P^8?tg^YK!64YsEQ`E;;OOZe6@ckid^$Gw1@fRk*&@EFfn!+V#W!E0g?K>ltb(? zta_lY+3V>uQFFIfWCof=kCee4)3WzwX5O93zU$O0%*SyLa~$JlGt6CcZDuo@xsUmO z&-yd(k1sh2WfoF1%GI{mm1B+Za>RxH%LFnapL=oAu*D>UcdX)3^R z*ee5>IbC^w{2Z~43>01CK3h}UGh-*1Pm@ymAr0000Uvdl|>;^Gmdey9_FaIF6Lq`<~W8zB}idz z;d3%XfORId3__Lt&gh#+3u0kt4s$PK2$C&m!Jd>ivu9dzsLFLWjD4;cn?m;*D$mP* zmdbD$cFWMhd_sLb(;TIa4phRRv002ov JPDHLkV1flwc?$pl diff --git a/doc/html/classSitar-members.html b/doc/html/classSitar-members.html index fbdb0db..9b18617 100644 --- a/doc/html/classSitar-members.html +++ b/doc/html/classSitar-members.html @@ -11,40 +11,44 @@

                            Sitar Member List

                            This is the complete list of members for Sitar, including all inherited members. - - + + + + - - - - - - - - - - - + + + + + + + + + + + - + + - + +
                            clear()Sitar
                            controlChange(int number, MY_FLOAT value)Instrmnt [virtual]
                            handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                            controlChange(int number, StkFloat value)Instrmnt [virtual]
                            handleError(const char *message, StkError::Type type)Stk [static]
                            handleError(std::string message, StkError::Type type)Stk [static]
                            handleError(StkError::Type type)Stk [protected]
                            Instrmnt()Instrmnt
                            lastOut() const Instrmnt
                            lastOutLeft() const Instrmnt
                            lastOutRight() const Instrmnt
                            MY_FLOAT32Stk [static]
                            MY_FLOAT64Stk [static]
                            noteOff(MY_FLOAT amplitude)Sitar [virtual]
                            noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Sitar [virtual]
                            pluck(MY_FLOAT amplitude)Sitar
                            rawwavePath(void)Stk [static]
                            sampleRate(void)Stk [static]
                            setFrequency(MY_FLOAT frequency)Sitar [virtual]
                            setRawwavePath(std::string newPath)Stk [static]
                            setSampleRate(MY_FLOAT newRate)Stk [static]
                            Sitar(MY_FLOAT lowestFrequency)Sitar
                            noteOff(StkFloat amplitude)Sitar [virtual]
                            noteOn(StkFloat frequency, StkFloat amplitude)Sitar [virtual]
                            pluck(StkFloat amplitude)Sitar
                            rawwavePath(void)Stk [inline, static]
                            sampleRate(void)Stk [inline, static]
                            setFrequency(StkFloat frequency)Sitar [virtual]
                            setRawwavePath(std::string path)Stk [static]
                            setSampleRate(StkFloat rate)Stk [inline, static]
                            Sitar(StkFloat lowestFrequency=20)Sitar
                            sleep(unsigned long milliseconds)Stk [static]
                            Stk(void)Stk [protected]
                            STK_FLOAT32Stk [static]
                            STK_FLOAT64Stk [static]
                            STK_SINT16Stk [static]
                            STK_SINT32Stk [static]
                            STK_SINT24Stk [static]
                            STK_SINT32Stk [static]
                            STK_SINT8Stk [static]
                            swap16(unsigned char *ptr)Stk [static]
                            swap32(unsigned char *ptr)Stk [static]
                            swap64(unsigned char *ptr)Stk [static]
                            tick()Sitar [virtual]
                            Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                            tick(StkFloat *vector, unsigned int vectorSize)Sitar [virtual]
                            tick(StkFrames &frames, unsigned int channel=1)Sitar [virtual]
                            ~Instrmnt()Instrmnt [virtual]
                            ~Sitar()Sitar
                            ~Stk(void)Stk [protected, virtual]

                            - +
                            The Synthesis ToolKit in C++ (STK)
                            The Synthesis ToolKit in C++ (STK)
                            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                            diff --git a/doc/html/classSitar.html b/doc/html/classSitar.html index 51d2f44..ffaa7da 100644 --- a/doc/html/classSitar.html +++ b/doc/html/classSitar.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                            -

                            Sitar Class Reference

                            STK sitar string model class. -More... -

                            -#include <Sitar.h> +

                            Sitar Class Reference

                            #include <Sitar.h>

                            Inheritance diagram for Sitar:

                            @@ -20,11 +17,20 @@ Instrmnt Stk -List of all members. +List of all members.

                            Detailed Description

                            +STK sitar string model class. +

                            +This class implements a sitar plucked string physical model based on the Karplus-Strong algorithm.

                            +This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. There exist at least two patents, assigned to Stanford, bearing the names of Karplus and/or Strong.

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

                            + +

                            +Definition at line 29 of file Sitar.h.

                            +  +void  +void  +void  +void  +StkFloat  + + + + + +

                            Public Member Functions

                            Sitar (MY_FLOAT lowestFrequency)
                            Sitar (StkFloat lowestFrequency=20)
                             Class constructor, taking the lowest desired playing frequency.

                            @@ -36,41 +42,82 @@ void  Reset and clear all internal state.

                            -void setFrequency (MY_FLOAT frequency)
                            setFrequency (StkFloat frequency)
                             Set instrument parameters for a particular frequency.

                            -void pluck (MY_FLOAT amplitude)
                            pluck (StkFloat amplitude)
                             Pluck the string with the given amplitude using the current frequency.

                            -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                            noteOn (StkFloat frequency, StkFloat amplitude)
                             Start a note with the given frequency and amplitude.

                            -void noteOff (MY_FLOAT amplitude)
                            noteOff (StkFloat amplitude)
                             Stop a note with the given amplitude (speed of decay).

                            -MY_FLOAT tick ()
                            tick ()
                             Compute one output sample.

                            +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                             Computer vectorSize outputs and return them in vector.

                            StkFramestick (StkFrames &frames, unsigned int channel=1)
                             Fill a channel of the StkFrames object with computed outputs.

                            -

                            Detailed Description

                            -STK sitar string model class. -

                            -This class implements a sitar plucked string physical model based on the Karplus-Strong algorithm.

                            -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. There exist at least two patents, assigned to Stanford, bearing the names of Karplus and/or Strong.

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

                            +


                            Member Function Documentation

                            +

                            + + + + +
                            + + + + + + + + + + + + + + + + + + + +
                            StkFrames& Sitar::tick StkFrames frames,
                            unsigned int  channel = 1
                            [virtual]
                            +
                            + + + + + +
                            +   +

                            -Definition at line 29 of file Sitar.h.


                            The documentation for this class was generated from the following file:
                              +Fill a channel of the StkFrames object with computed outputs. +

                              +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                              +Reimplemented from Instrmnt.

                            +


                            The documentation for this class was generated from the following file:
                            - +
                            The Synthesis ToolKit in C++ (STK)
                            The Synthesis ToolKit in C++ (STK)
                            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                            diff --git a/doc/html/classJetTabl-members.html b/doc/html/classSkini-members.html similarity index 52% rename from doc/html/classJetTabl-members.html rename to doc/html/classSkini-members.html index 13395fe..79d5752 100644 --- a/doc/html/classJetTabl-members.html +++ b/doc/html/classSkini-members.html @@ -9,32 +9,37 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                            -

                            JetTabl Member List

                            This is the complete list of members for JetTabl, including all inherited members. - - - - - - - - - +

                            Skini Member List

                            This is the complete list of members for Skini, including all inherited members.
                            handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                            JetTabl()JetTabl
                            lastOut() const JetTabl
                            MY_FLOAT32Stk [static]
                            MY_FLOAT64Stk [static]
                            rawwavePath(void)Stk [static]
                            sampleRate(void)Stk [static]
                            setRawwavePath(std::string newPath)Stk [static]
                            setSampleRate(MY_FLOAT newRate)Stk [static]
                            + + + + + + + + + + + + + - + + - - - + + +
                            handleError(const char *message, StkError::Type type)Stk [static]
                            handleError(std::string message, StkError::Type type)Stk [static]
                            handleError(StkError::Type type)Stk [protected]
                            nextMessage(Skini::Message &message)Skini
                            parseString(std::string &line, Skini::Message &message)Skini
                            rawwavePath(void)Stk [inline, static]
                            sampleRate(void)Stk [inline, static]
                            setFile(std::string fileName)Skini
                            setRawwavePath(std::string path)Stk [static]
                            setSampleRate(StkFloat rate)Stk [inline, static]
                            Skini()Skini
                            sleep(unsigned long milliseconds)Stk [static]
                            Stk(void)Stk [protected]
                            STK_FLOAT32Stk [static]
                            STK_FLOAT64Stk [static]
                            STK_SINT16Stk [static]
                            STK_SINT32Stk [static]
                            STK_SINT24Stk [static]
                            STK_SINT32Stk [static]
                            STK_SINT8Stk [static]
                            swap16(unsigned char *ptr)Stk [static]
                            swap32(unsigned char *ptr)Stk [static]
                            swap64(unsigned char *ptr)Stk [static]
                            tick(MY_FLOAT input)JetTabl
                            tick(MY_FLOAT *vector, unsigned int vectorSize)JetTabl
                            ~JetTabl()JetTabl
                            whatsThisController(long number)Skini [static]
                            whatsThisType(long type)Skini [static]
                            ~Skini()Skini
                            ~Stk(void)Stk [protected, virtual]

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

                            +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                            +
                            + +

                            Skini Class Reference

                            #include <Skini.h> +

                            +

                            Inheritance diagram for Skini: +

                            + +Stk + +List of all members.

                            Detailed Description

                            +STK SKINI parsing class. +

                            +This class parses SKINI formatted text messages. It can be used to parse individual messages or it can be passed an entire file. The SKINI specification is Perry's and his alone, but it's all text so it shouldn't be too hard to figure out.

                            +SKINI (Synthesis toolKit Instrument Network Interface) is like MIDI, but allows for floating-point control changes, note numbers, etc. The following example causes a sharp middle C to be played with a velocity of 111.132:

                            +

                                noteOn  60.01  111.132
                            +

                            +

                            See also:
                            Synthesis toolKit Instrument Network Interface (SKINI)
                            +by Perry R. Cook and Gary P. Scavone, 1995 - 2004. +

                            + +

                            +Definition at line 36 of file Skini.h. + + + + + + + + + + + + + + + + + + + + + + + + +

                            Public Member Functions

                            Skini ()
                             Default constructor.

                            ~Skini ()
                             Class destructor.

                            bool setFile (std::string fileName)
                             Set a SKINI formatted file for reading.

                            long nextMessage (Skini::Message &message)
                             Parse the next file message (if a file is loaded) and return the message type.

                            long parseString (std::string &line, Skini::Message &message)
                             Attempt to parse the given string and returning the message type.


                            Static Public Member Functions

                            +std::string whatsThisType (long type)
                             Return the SKINI type string for the given type value.

                            +std::string whatsThisController (long number)
                             Return the SKINI controller string for the given controller number.

                            +


                            Member Function Documentation

                            +

                            + + + + +
                            + + + + + + + + + + +
                            bool Skini::setFile std::string  fileName  ) 
                            +
                            + + + + + +
                            +   + + +

                            +Set a SKINI formatted file for reading. +

                            +If the file is successfully opened, this function returns true. Otherwise, false is returned.

                            +

                            + + + + +
                            + + + + + + + + + + +
                            long Skini::nextMessage Skini::Message message  ) 
                            +
                            + + + + + +
                            +   + + +

                            +Parse the next file message (if a file is loaded) and return the message type. +

                            +This function skips over lines in a file which cannot be parsed. A type value equal to zero in the referenced message structure (and the returned value) indicates the file end is reached or no file is open for reading.

                            +

                            + + + + +
                            + + + + + + + + + + + + + + + + + + + +
                            long Skini::parseString std::string &  line,
                            Skini::Message message
                            +
                            + + + + + +
                            +   + + +

                            +Attempt to parse the given string and returning the message type. +

                            +A type value equal to zero in the referenced message structure indicates an invalid message.

                            +


                            The documentation for this class was generated from the following file: +
                            + + + + +
                            The Synthesis ToolKit in C++ (STK)
                            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                            + + + diff --git a/doc/html/classSkini.png b/doc/html/classSkini.png new file mode 100644 index 0000000000000000000000000000000000000000..8cdfebc00314a2317b2f02bd7223bc998b4f3702 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^>OdU8!VDxcRu$F*DTx4|5ZC|z{{xx-{~wq?KVbrp z1;z&s9H>6@{|S)GSQ6wH%;50sMjDW_%+tj&q+-t7iH<^t3^-g9FPj!H7csf(KhgSb z-_&9e)#xglYyM09a*O%=KT8_DuW_E!&GcWP<7?uO8RcmFdd9W4VO?1qmo_dxQgXI{ zEt55Q!raT3zRoVUXPD;y=K@o!*Nyek4=??8`{DLW{-4Mb9i~&Zza7&YB$Df7ZZ#QL zU6ei6Io~g#Im7gPU-bmbj2ZC@L
                          close(void)Socket
                          close(int socket)Socket [static]
                          connect(int port, const char *hostname="localhost")Socket
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          handleError(const char *message, StkError::Type type)Stk [static]
                          handleError(std::string message, StkError::Type type)Stk [static]
                          handleError(StkError::Type type)Stk [protected]
                          id(void) const Socket
                          isValid(int socket)Socket [static]
                          MY_FLOAT32Stk [static]
                          MY_FLOAT64Stk [static]
                          port(void) const Socket
                          rawwavePath(void)Stk [static]
                          rawwavePath(void)Stk [inline, static]
                          readBuffer(void *buffer, long bufferSize, int flags=0)Socket
                          readBuffer(int socket, void *buffer, long bufferSize, int flags)Socket [static]
                          sampleRate(void)Stk [static]
                          sampleRate(void)Stk [inline, static]
                          setBlocking(int socket, bool enable)Socket [static]
                          setRawwavePath(std::string newPath)Stk [static]
                          setSampleRate(MY_FLOAT newRate)Stk [static]
                          setRawwavePath(std::string path)Stk [static]
                          setSampleRate(StkFloat rate)Stk [inline, static]
                          sleep(unsigned long milliseconds)Stk [static]
                          socket(void) const Socket
                          Socket(int port=2006)Socket
                          Socket(int port, const char *hostname)Socket
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [static]
                          STK_FLOAT64Stk [static]
                          STK_SINT16Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT24Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT8Stk [static]
                          swap16(unsigned char *ptr)Stk [static]
                          swap32(unsigned char *ptr)Stk [static]


                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSocket.html b/doc/html/classSocket.html index 37aaa58..81cbff3 100644 --- a/doc/html/classSocket.html +++ b/doc/html/classSocket.html @@ -9,17 +9,23 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          Socket Class Reference

                          STK TCP socket client/server class. -More... -

                          -#include <Socket.h> +

                          Socket Class Reference

                          #include <Socket.h>

                          Inheritance diagram for Socket:

                          Stk -List of all members. +List of all members.

                          Detailed Description

                          +STK TCP socket client/server class. +

                          +This class provides a uniform cross-platform TCP socket client or socket server interface. Methods are provided for reading or writing data buffers to/from connections. This class also provides a number of static functions for use with external socket descriptors.

                          +The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate a closed or lost connection or the occurence of an error.

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

                          + +

                          +Definition at line 26 of file Socket.h.

                          @@ -39,8 +45,8 @@ void  - + - + @@ -80,16 +86,7 @@ int 

                          Public Member Functions

                           Socket (int port=2006)
                          close (void)
                           Close this socket.

                          -int socket (void) const
                          +int id (void) const
                           Return the server/client socket descriptor.

                          @@ -70,7 +76,7 @@ void  bool isValid (int socket)
                           Returns TRUE is the socket descriptor is valid.

                           Returns true if the socket descriptor is valid.

                          int writeBuffer (int socket, const void *buffer, long bufferSize, int flags)
                           Read a buffer via the specified socket. Returns the number of bytes read or -1 if an error occurs.

                          -

                          Detailed Description

                          -STK TCP socket client/server class. -

                          -This class provides a uniform cross-platform TCP socket client or socket server interface. Methods are provided for reading or writing data buffers to/from connections. This class also provides a number of static functions for use with external socket descriptors.

                          -The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate a closed or lost connection or the occurence of an error.

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

                          - -

                          -Definition at line 26 of file Socket.h.


                          Constructor & Destructor Documentation

                          +

                          Constructor & Destructor Documentation

                          @@ -239,7 +236,7 @@ If no connection requests are pending and the socket has not been set non-blocki
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSphere-members.html b/doc/html/classSphere-members.html index 7521bba..eb57d52 100644 --- a/doc/html/classSphere-members.html +++ b/doc/html/classSphere-members.html @@ -10,24 +10,43 @@


                          Sphere Member List

                          This is the complete list of members for Sphere, including all inherited members. - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                          addVelocity(double anX, double aY, double aZ)Sphere
                          addVelocity(StkFloat x, StkFloat y, StkFloat z)Sphere
                          getMass()Sphere
                          getPosition()Sphere
                          getRadius()Sphere
                          getRelativePosition(Vector3D *aPosition)Sphere
                          getVelocity(Vector3D *aVelocity)Sphere
                          isInside(Vector3D *aPosition)Sphere
                          setMass(double aMass)Sphere
                          setPosition(double anX, double aY, double aZ)Sphere
                          setRadius(double aRadius)Sphere
                          setVelocity(double anX, double aY, double aZ)Sphere
                          Sphere(double initRadius)Sphere
                          tick(double timeIncrement)Sphere
                          getRelativePosition(Vector3D *position)Sphere
                          getVelocity(Vector3D *velocity)Sphere
                          handleError(const char *message, StkError::Type type)Stk [static]
                          handleError(std::string message, StkError::Type type)Stk [static]
                          handleError(StkError::Type type)Stk [protected]
                          isInside(Vector3D *position)Sphere
                          rawwavePath(void)Stk [inline, static]
                          sampleRate(void)Stk [inline, static]
                          setMass(StkFloat mass)Sphere
                          setPosition(StkFloat x, StkFloat y, StkFloat z)Sphere
                          setRadius(StkFloat radius)Sphere
                          setRawwavePath(std::string path)Stk [static]
                          setSampleRate(StkFloat rate)Stk [inline, static]
                          setVelocity(StkFloat x, StkFloat y, StkFloat z)Sphere
                          sleep(unsigned long milliseconds)Stk [static]
                          Sphere(StkFloat radius=1.0)Sphere
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [static]
                          STK_FLOAT64Stk [static]
                          STK_SINT16Stk [static]
                          STK_SINT24Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT8Stk [static]
                          swap16(unsigned char *ptr)Stk [static]
                          swap32(unsigned char *ptr)Stk [static]
                          swap64(unsigned char *ptr)Stk [static]
                          tick(StkFloat timeIncrement)Sphere
                          ~Sphere()Sphere
                          ~Stk(void)Stk [protected, virtual]

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSphere.html b/doc/html/classSphere.html index 6c04431..27d41ba 100644 --- a/doc/html/classSphere.html +++ b/doc/html/classSphere.html @@ -9,16 +9,26 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          Sphere Class Reference

                          STK sphere class. -More... +

                          Sphere Class Reference

                          #include <Sphere.h>

                          -#include <Sphere.h> +

                          Inheritance diagram for Sphere: +

                          + +Stk + +List of all members.

                          Detailed Description

                          +STK sphere class.

                          -List of all members. +This class implements a spherical ball with radius, mass, position, and velocity parameters.

                          +by Perry R. Cook, 1995 - 2004. +

                          + +

                          +Definition at line 18 of file Sphere.h.

                          +  +void  +void  +void  +void  +Vector3D *  +StkFloat  +StkFloat  +StkFloat  +StkFloat  +void  +void 

                          Public Member Functions

                          Sphere (double initRadius)
                          Sphere (StkFloat radius=1.0)
                           Constructor taking an initial radius value.

                          @@ -26,19 +36,19 @@
                           Class destructor.

                          -void setPosition (double anX, double aY, double aZ)
                          setPosition (StkFloat x, StkFloat y, StkFloat z)
                           Set the 3D center position of the sphere.

                          -void setVelocity (double anX, double aY, double aZ)
                          setVelocity (StkFloat x, StkFloat y, StkFloat z)
                           Set the 3D velocity of the sphere.

                          -void setRadius (double aRadius)
                          setRadius (StkFloat radius)
                           Set the radius of the sphere.

                          -void setMass (double aMass)
                          setMass (StkFloat mass)
                           Set the mass of the sphere.

                          @@ -46,48 +56,40 @@ void  Get the current position of the sphere as a 3D vector.

                          -Vector3DgetRelativePosition (Vector3D *aPosition)
                          getRelativePosition (Vector3D *position)
                           Get the relative position of the given point to the sphere as a 3D vector.

                          -double getVelocity (Vector3D *aVelocity)
                          getVelocity (Vector3D *velocity)
                           Set the velcoity of the sphere as a 3D vector.

                          -double isInside (Vector3D *aPosition)
                          isInside (Vector3D *position)
                           Returns the distance from the sphere boundary to the given position (< 0 if inside).

                          -double getRadius ()
                          getRadius ()
                           Get the current sphere radius.

                          -double getMass ()
                          getMass ()
                           Get the current sphere mass.

                          -void addVelocity (double anX, double aY, double aZ)
                          addVelocity (StkFloat x, StkFloat y, StkFloat z)
                           Increase the current sphere velocity by the given 3D components.

                          -void tick (double timeIncrement)
                          tick (StkFloat timeIncrement)
                           Move the sphere for the given time increment.

                          -


                          Detailed Description

                          -STK sphere class. -

                          -This class implements a spherical ball with radius, mass, position, and velocity parameters.

                          -by Perry R. Cook, 1995 - 2002. -

                          - -

                          -Definition at line 17 of file Sphere.h.


                          The documentation for this class was generated from the following file:
                            +
                            The documentation for this class was generated from the following file:
                            - +
                            The Synthesis ToolKit in C++ (STK)
                            The Synthesis ToolKit in C++ (STK)
                            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                            diff --git a/doc/html/classSphere.png b/doc/html/classSphere.png new file mode 100644 index 0000000000000000000000000000000000000000..2167c5eb20299b2a50cc11d5345fd429e71cdc98 GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^ra&CP!VDz6KPs#OQW60^A+G=b{|7Sv|35H)e!>JG z3ycpOI8c4){}UjWu_VYZn8D%MjWi(VfTxRNNX4ADlMML|EAY6!U26P|_mObO+g7W> z|H@aEiTOs&Zd};8>W>G+f;kYcn;#etR?({Eh1C_ZuI+hQH{ z^fQ}V=AE0Qvupmg!XtKH<#WEUnO8ZiW88hkGAujKDrvK&f7zzRhF+lymZ<$UP>QcH z{!(;^A#nMvb<3T$Y^>JOj$)ME;QMiI>zb7AV+n`jT$8WVWk0N%c8~qu)-=_RCd#K* r&VSlc>c_CX^L@@V)?c>Ldk(7K>@2LmT)?^k=obc0S3j3^P6

                            StifKarp Member List

                            This is the complete list of members for StifKarp, including all inherited members. - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + - + + + - + + - + +
                            clear()StifKarp
                            controlChange(int number, MY_FLOAT value)StifKarp [virtual]
                            handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                            controlChange(int number, StkFloat value)StifKarp [virtual]
                            handleError(const char *message, StkError::Type type)Stk [static]
                            handleError(std::string message, StkError::Type type)Stk [static]
                            handleError(StkError::Type type)Stk [protected]
                            Instrmnt()Instrmnt
                            lastOut() const Instrmnt
                            lastOutLeft() const Instrmnt
                            lastOutRight() const Instrmnt
                            MY_FLOAT32Stk [static]
                            MY_FLOAT64Stk [static]
                            noteOff(MY_FLOAT amplitude)StifKarp [virtual]
                            noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)StifKarp [virtual]
                            pluck(MY_FLOAT amplitude)StifKarp
                            rawwavePath(void)Stk [static]
                            sampleRate(void)Stk [static]
                            setBaseLoopGain(MY_FLOAT aGain)StifKarp
                            setFrequency(MY_FLOAT frequency)StifKarp [virtual]
                            setPickupPosition(MY_FLOAT position)StifKarp
                            setRawwavePath(std::string newPath)Stk [static]
                            setSampleRate(MY_FLOAT newRate)Stk [static]
                            setStretch(MY_FLOAT stretch)StifKarp
                            noteOff(StkFloat amplitude)StifKarp [virtual]
                            noteOn(StkFloat frequency, StkFloat amplitude)StifKarp [virtual]
                            pluck(StkFloat amplitude)StifKarp
                            rawwavePath(void)Stk [inline, static]
                            sampleRate(void)Stk [inline, static]
                            setBaseLoopGain(StkFloat aGain)StifKarp
                            setFrequency(StkFloat frequency)StifKarp [virtual]
                            setPickupPosition(StkFloat position)StifKarp
                            setRawwavePath(std::string path)Stk [static]
                            setSampleRate(StkFloat rate)Stk [inline, static]
                            setStretch(StkFloat stretch)StifKarp
                            sleep(unsigned long milliseconds)Stk [static]
                            StifKarp(MY_FLOAT lowestFrequency)StifKarp
                            StifKarp(StkFloat lowestFrequency)StifKarp
                            Stk(void)Stk [protected]
                            STK_FLOAT32Stk [static]
                            STK_FLOAT64Stk [static]
                            STK_SINT16Stk [static]
                            STK_SINT32Stk [static]
                            STK_SINT24Stk [static]
                            STK_SINT32Stk [static]
                            STK_SINT8Stk [static]
                            swap16(unsigned char *ptr)Stk [static]
                            swap32(unsigned char *ptr)Stk [static]
                            swap64(unsigned char *ptr)Stk [static]
                            tick()StifKarp [virtual]
                            Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                            tick(StkFloat *vector, unsigned int vectorSize)StifKarp [virtual]
                            tick(StkFrames &frames, unsigned int channel=1)StifKarp [virtual]
                            ~Instrmnt()Instrmnt [virtual]
                            ~StifKarp()StifKarp
                            ~Stk(void)Stk [protected, virtual]

                            - +
                            The Synthesis ToolKit in C++ (STK)
                            The Synthesis ToolKit in C++ (STK)
                            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                            diff --git a/doc/html/classStifKarp.html b/doc/html/classStifKarp.html index 3230653..438b288 100644 --- a/doc/html/classStifKarp.html +++ b/doc/html/classStifKarp.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                            -

                            StifKarp Class Reference

                            STK plucked stiff string instrument. -More... -

                            -#include <StifKarp.h> +

                            StifKarp Class Reference

                            #include <StifKarp.h>

                            Inheritance diagram for StifKarp:

                            @@ -20,11 +17,23 @@ Instrmnt Stk -List of all members. +List of all members.

                            Detailed Description

                            +STK plucked stiff string instrument. +

                            +This class implements a simple plucked string algorithm (Karplus Strong) with enhancements (Jaffe-Smith, Smith, and others), including string stiffness and pluck position controls. The stiffness is modeled with allpass filters.

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

                            +Control Change Numbers:

                              +
                            • Pickup Position = 4
                            • String Sustain = 11
                            • String Stretch = 1
                            +

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

                            + +

                            +Definition at line 34 of file StifKarp.h.

                            +  +void  +void  +void  - + +void  +void  +void  +StkFloat  - + + + + + + +

                            Public Member Functions

                            StifKarp (MY_FLOAT lowestFrequency)
                            StifKarp (StkFloat lowestFrequency)
                             Class constructor, taking the lowest desired playing frequency.

                            @@ -36,54 +45,49 @@ void  Reset and clear all internal state.

                            -void setFrequency (MY_FLOAT frequency)
                            setFrequency (StkFloat frequency)
                             Set instrument parameters for a particular frequency.

                            -void setStretch (MY_FLOAT stretch)
                            setStretch (StkFloat stretch)
                             Set the stretch "factor" of the string (0.0 - 1.0).

                            -void setPickupPosition (MY_FLOAT position)
                            setPickupPosition (StkFloat position)
                             Set the pluck or "excitation" position along the string (0.0 - 1.0).

                            void setBaseLoopGain (MY_FLOAT aGain)
                            void setBaseLoopGain (StkFloat aGain)
                             Set the base loop gain.

                            -void pluck (MY_FLOAT amplitude)
                            pluck (StkFloat amplitude)
                             Pluck the string with the given amplitude using the current frequency.

                            -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                            noteOn (StkFloat frequency, StkFloat amplitude)
                             Start a note with the given frequency and amplitude.

                            -void noteOff (MY_FLOAT amplitude)
                            noteOff (StkFloat amplitude)
                             Stop a note with the given amplitude (speed of decay).

                            -MY_FLOAT tick ()
                            tick ()
                             Compute one output sample.

                            -void controlChange (int number, MY_FLOAT value)
                            +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                             Computer vectorSize outputs and return them in vector.

                            StkFramestick (StkFrames &frames, unsigned int channel=1)
                             Fill a channel of the StkFrames object with computed outputs.

                            +void controlChange (int number, StkFloat value)
                             Perform the control change specified by number and value (0.0 - 128.0).

                            -

                            Detailed Description

                            -STK plucked stiff string instrument. -

                            -This class implements a simple plucked string algorithm (Karplus Strong) with enhancements (Jaffe-Smith, Smith, and others), including string stiffness and pluck position controls. The stiffness is modeled with allpass filters.

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

                            -Control Change Numbers:

                              -
                            • Pickup Position = 4
                            • String Sustain = 11
                            • String Stretch = 1
                            -

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

                            - -

                            -Definition at line 34 of file StifKarp.h.


                            Member Function Documentation

                            +

                            Member Function Documentation

                            @@ -92,7 +96,7 @@ Definition at line 34 of - + @@ -115,12 +119,54 @@ Set the base loop gain. The actual loop gain is set according to the frequency. Because of high-frequency loop filter roll-off, higher frequency settings have greater loop gains.
                            void StifKarp::setBaseLoopGain MY_FLOAT StkFloat  aGain  ) 
                            +

                            + + + + +
                            + + + + + + + + + + + + + + + + + + + +
                            StkFrames& StifKarp::tick StkFrames frames,
                            unsigned int  channel = 1
                            [virtual]
                            +
                            + + + + + +
                            +   + + +

                            +Fill a channel of the StkFrames object with computed outputs. +

                            +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                            +Reimplemented from Instrmnt.


                            The documentation for this class was generated from the following file:
                            - +
                            The Synthesis ToolKit in C++ (STK)
                            The Synthesis ToolKit in C++ (STK)
                            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                            diff --git a/doc/html/classStk-members.html b/doc/html/classStk-members.html index 15d44da..4d2c41e 100644 --- a/doc/html/classStk-members.html +++ b/doc/html/classStk-members.html @@ -10,17 +10,20 @@

                            Stk Member List

                            This is the complete list of members for Stk, including all inherited members. - - - - - - - + + + + + + + + + - + + @@ -29,7 +32,7 @@
                            handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                            MY_FLOAT32Stk [static]
                            MY_FLOAT64Stk [static]
                            rawwavePath(void)Stk [static]
                            sampleRate(void)Stk [static]
                            setRawwavePath(std::string newPath)Stk [static]
                            setSampleRate(MY_FLOAT newRate)Stk [static]
                            handleError(const char *message, StkError::Type type)Stk [static]
                            handleError(std::string message, StkError::Type type)Stk [static]
                            handleError(StkError::Type type)Stk [protected]
                            rawwavePath(void)Stk [inline, static]
                            sampleRate(void)Stk [inline, static]
                            setRawwavePath(std::string path)Stk [static]
                            setSampleRate(StkFloat rate)Stk [inline, static]
                            sleep(unsigned long milliseconds)Stk [static]
                            Stk(void)Stk [protected]
                            STK_FLOAT32Stk [static]
                            STK_FLOAT64Stk [static]
                            STK_SINT16Stk [static]
                            STK_SINT32Stk [static]
                            STK_SINT24Stk [static]
                            STK_SINT32Stk [static]
                            STK_SINT8Stk [static]
                            swap16(unsigned char *ptr)Stk [static]
                            swap32(unsigned char *ptr)Stk [static]

                            - +
                            The Synthesis ToolKit in C++ (STK)
                            The Synthesis ToolKit in C++ (STK)
                            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                            diff --git a/doc/html/classStk.html b/doc/html/classStk.html index 251ca2a..512304f 100644 --- a/doc/html/classStk.html +++ b/doc/html/classStk.html @@ -9,46 +9,46 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                            -

                            Stk Class Reference

                            STK base class. -More... -

                            -#include <Stk.h> +

                            Stk Class Reference

                            #include <Stk.h>

                            Inheritance diagram for Stk:

                            -BowTabl -Chorus -Echo -Envelope -Filter -Instrmnt -JetTabl -Messager -Modulate -Noise -PitShift -ReedTabl -Reverb -RtDuplex -RtMidi -SingWave -SKINI -Socket -Table -Thread -Voicer -WvIn -WvOut +Effect +Filter +Function +Generator +Instrmnt +Messager +MidiFileIn +Mutex +Phonemes +RtDuplex +Skini +Socket +Sphere +Thread +Vector3D +Voicer +WvIn +WvOut -List of all members. +List of all members.

                            Detailed Description

                            +STK base class. +

                            +Nearly all STK classes inherit from this class. The global sample rate and rawwave path variables can be queried and modified via Stk. In addition, this class provides error handling and byte-swapping functions.

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

                            + +

                            +Definition at line 92 of file Stk.h.

                            +StkFloat  - + +void  + + + + + + - + - + - + - + - + + + - - + - +

                            Static Public Member Functions

                            -MY_FLOAT sampleRate (void)
                            sampleRate (void)
                             Static method which returns the current STK sample rate.

                            void setSampleRate (MY_FLOAT newRate)
                            void setSampleRate (StkFloat rate)
                             Static method which sets the STK sample rate.

                            @@ -56,7 +56,7 @@ std::string  Static method which returns the current rawwave path.

                            -void setRawwavePath (std::string newPath)
                            setRawwavePath (std::string path)
                             Static method which sets the STK rawwave path.

                            @@ -75,16 +75,26 @@ void sleep (unsigned long milliseconds)
                             Static cross-platform method to sleep for a number of milliseconds.

                            +void handleError (const char *message, StkError::Type type)
                             Static function for error reporting and handling using c-strings.

                            +void handleError (std::string message, StkError::Type type)
                             Static function for error reporting and handling using c++ strings.


                            Static Public Attributes

                            const STK_FORMAT STK_SINT8
                            const StkFormat STK_SINT8
                            const STK_FORMAT STK_SINT16
                            const StkFormat STK_SINT16
                            const STK_FORMAT STK_SINT32
                            const StkFormat STK_SINT24
                            const STK_FORMAT MY_FLOAT32
                            const StkFormat STK_SINT32
                            const STK_FORMAT MY_FLOAT64
                            const StkFormat STK_FLOAT32
                            const StkFormat STK_FLOAT64

                            Protected Member Functions

                            @@ -95,21 +105,12 @@ void ~Stk (void)
                             Class destructor.


                            Static Protected Member Functions

                            -void handleError (const char *message, StkError::TYPE type)
                            +void handleError (StkError::Type type)
                             Function for error reporting and handling.

                             Internal function for error reporting which assumes message in errorString_ variable.

                            -

                            Detailed Description

                            -STK base class. -

                            -Nearly all STK classes inherit from this class. The global sample rate and rawwave path variables can be queried and modified via Stk. In addition, this class provides error handling and byte-swapping functions.

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

                            - -

                            -Definition at line 82 of file Stk.h.


                            Member Function Documentation

                            +

                            Member Function Documentation

                            @@ -118,10 +119,10 @@ Definition at line 82 of file - - + + - +
                            void Stk::setSampleRate MY_FLOAT  newRate StkFloat  rate  )  [static] [inline, static]
                            @@ -138,7 +139,12 @@ Definition at line 82 of file

                            Static method which sets the STK sample rate.

                            -The sample rate set using this method is queried by all STK classes which depend on its value. It is initialized to the default SRATE set in Stk.h. Many STK classes use the sample rate during instantiation. Therefore, if you wish to use a rate which is different from the default rate, it is imperative that it be set BEFORE STK objects are instantiated.


                        Member Data Documentation

                        @@ -148,7 +154,7 @@ The sample rate set using this method is queried by all STK classes which depend
                        -
                        const STK_FORMAT Stk::STK_SINT8 [static] + const StkFormat Stk::STK_SINT8 [static]

                        @@ -172,7 +178,7 @@ Definition at line 87 of file

                      -
                      const STK_FORMAT Stk::STK_SINT16 [static] + const StkFormat Stk::STK_SINT16 [static]
                      -

                      +

                      + +
                      -
                      const STK_FORMAT Stk::STK_SINT32 [static] + const StkFormat Stk::STK_SINT24 [static] +
                      +
                      + + + + + +
                      +   + + +

                      +Upper 3 bytes of 32-bit signed integer. +

                      +Definition at line 99 of file Stk.h.

                      +

                      + + + @@ -211,16 +241,16 @@ Definition at line 88 of file

                      -2147483648 to +2147483647.

                      -Definition at line 89 of file Stk.h. +Definition at line 100 of file Stk.h.

                      + + +
                      const StkFormat Stk::STK_SINT32 [static]
                      -

                      +

                      @@ -235,16 +265,16 @@ Definition at line 89 of file

                      Normalized between plus/minus 1.0.

                      -Definition at line 90 of file Stk.h. +Definition at line 101 of file Stk.h.

                      -
                      const STK_FORMAT Stk::MY_FLOAT32 [static] + const StkFormat Stk::STK_FLOAT32 [static]
                      -

                      +

                      @@ -259,7 +289,7 @@ Definition at line 90 of file

                      Normalized between plus/minus 1.0.

                      -Definition at line 91 of file Stk.h. +Definition at line 102 of file Stk.h.

                      -
                      const STK_FORMAT Stk::MY_FLOAT64 [static] + const StkFormat Stk::STK_FLOAT64 [static]


                      The documentation for this class was generated from the following file:
                        @@ -267,7 +297,7 @@ Definition at line 91 of file
                        - +
                        The Synthesis ToolKit in C++ (STK)
                        The Synthesis ToolKit in C++ (STK)
                        ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                        diff --git a/doc/html/classStk.png b/doc/html/classStk.png index 9133a96887eb967dfb257306968ae6111d9d55a5..3c6acbe1b1c4008ed3c45c19a281a3ef3c02a348 100644 GIT binary patch literal 1935 zcmZvddpHyNAIH~;9FqElXf>iVMMoFPb#h(qav2tL%Um}19Jx&;N#;^)3dar(I)>bK z9CryTJ2=EvV-z-Qp<%|Boc&Jyp7VS9{a(-W{d_*(KfcfN`M%$u=le}}w1@7K0!je@ zfPGe1%$-CT4*-aLFSc7$fuxPOqNM0(>teC9vm+{ZcDe}!pBz#3_v-HMPUzX06K!|h zaI$v>TxPvN0ssF+?73 z#Ri_-*@+m9e=EG7`Zv5L-f(0BU2r6e4yMLlo6?gE6AUD4dvKGL<2~$Iov+5oTW$$m zEG|&c1-ijYB6fLU$Ml{{`B!tXbSjS@R@0Z3$GJMIaJDHCY6{C|)p5i~nrv ztfToKNEVQD1-O$rgD1xP`n-i6&RrElE$Mkmu%b|{t5{5Xm6|1S9VL@4Q=O7n+R^`K zjW_7oIR>5I;oP?!h01LS^Rv19 zPYYhbEeDimEA^U(^W!n?^nyER@t<64xgIDmK{ph%L6Lus7SDH9k=%l?tBY5JHt;#w zK+RRjubo!&>t2HU>)UgWm|UZ1P24gK@5^UiRvowR<$=nvGwrzD=`IE;p@;jdD74^& zT8$uU>7fmcLw1{vA>ej{Iwh9u$fHM&ckikTUDKWd_E2d5K5LtNm7?CisU*cafM( z4^(Utv?}7`wm=PZ#yh&iPr4Ir=!Sv7p9NVyj4z@sA&^wIXY?a0=>on@q}x(VnTKIoW{aFcOQr9MDK^x4m36 z19Yyale24z4yz%dgBCe#2`|W11R?x+ZOmhbCVZZsQ~)IM0%8wm1JcmBo0IxqW^hF2 zqRIBdCa~O12rOFhe#i&6IC5u91P1EQjOZEFQpRIV zvHpb46QFm#jY=0aH9P)MJjP2jJ&GDXS&qDFjjejxXU);aPn#lGB@OH+Anql%O6~)0 z2-QK`=9t`eNKI5P%Ieh6a(2tIn-OyTlTKI-3rK=7RA0{@lL?~}JQlAU53^ztAy&FE{1UHWgZS*r~jC-l&%`d@q zU#UesbdW~21kh4EKOPIA&=mM}GgjZnnOQU+)v9XkZw>N2b4_jCit6n-CL}k-66Vk;3KK7yqjV)_;rD5*}A&r0}j1I*HU64AV(avDT~g zM~pul0Iwn*=@ZcdIRoH33PgG9;M<+vYdU@Y2F0X}4YF;yMkaH7+gc0NPl-_WuXGZ} z5}C49d>Rq6-`8vUn^D2LMx{=C7t=A$1V&rFr-;!C*}Jamg&q%-GpZgRmB_?JrJ_ld z9jDn~7%aiem1Ex%-;SlSA@FMGzP&c#4;_4bzu-kvB`6MAUs$eV=+5X=uOFSx7=b_7 zH8Uh-Ny+!RI1#EOO^ssr*T&q$K!JkF>K7O_;)f8fDRp~821XtpAI=g*;cyo93Bhbm z*8M9qlISIDV9!PpVt*K;9dfb3Plv)9ANNFIpjBc)hmh`Uu(<%v{5|tH=P5=N|I9GZ zC@9$tcDnR_TG);H86jn9IUw@75qiakvE?}q=dViE#H_3#f*FJ0JSu}=wx2F*{Q9#* Y8vf6p0dML-qTdr>Wnph#YwC07FA)gfUH||9 literal 2362 zcmZuz2~?8X7B;(x;XI4h%^}CkRHPho)@N$bFKCw6NSa78OVXEtL*kIs%hV^DH%cT2 zz_}a>H7$qA)GRR*(ws|7b3zL;9*+)>-SEy}!NBcMcgqcq>43AW~9N z3O>6%k&-c6N(!X+%X*0y5P8&4GH3&P0=&dxvBVXNTk`WmGbG+OYiVgAJ`ztzrt6}R z2$YoT)aw&cQnI~1o^Am#)Y&0o#G4(;Eu#vM&XLV{DK zP$*n;<>$de}}5i89#9_b4Nb!!dujvR0guhe$xYqbux3K*Ba z94(_eJPQDo#hcN^GT%=GfolC!uEWbBQi6Xu7GA)-e~tqxhJ4i%&axB-8VgkM)>DGX03x?rS!azQL62u(d5-5WlX<= zQG#rPvT68a{hb2f4x#);7TdW$x@Oc_gU>oR@FG=o)JPXs<$qzD%cgg-nBtfEImF0R zkda`E_h3rs3`McL14nO!eJbwW8C1e~!)>|}Uw50^RG(0HdoFfN8GDiR9RzbPYJs77 z1teO{?Cb~ZNpEtxU*9yN`HV^~qeeRDBaD#8)YP*3ip~$YuZ4Y$9_cL$>bA7%rd{KP z4WZhg6_P0bmpFlz28(j12;Sn?lbkPRS+#+1U1zlWTxFiYgas2e)K}efRZXVCwx-LK zd;R9`C_O|dj2c91W1l!G76w+bV(a%GLaC!YcnnyY#8{+>>MVw zAv>o}^|SP;f2Q(2Lsj9?-a7}ObE~We1jqe5aP~>T*sAuSVGA`<-R;y7$7^@{Xz?V2 z9;qLVCJ4A}=b^-`&Ac3_=O9S89!jelf#4^#1! z`H3g8#4y!si>?vOFPElIFj7x;-wJDJvG3JGrD25VaM-7=1Un$X#*4ZR@*RApdSq(6 z>EJJ*jRCI*H)Ey)(aer=@PkY3cL=~oLh`mNl*U{Z<_c4I)Q;Y>=xSLXY;pJKbwW{h z2kzvKBw{)7@)!9arenU{|7-fKnNxiG701*BQJpS~Je^M8`tZr~{;cY)3&#>N?f|v^ zVb!HG{dX^v;ibK`;Mwerc!Z?4ZHjUkeoZ*H4xw zW5Nj+$Ub`mvgl0dlSPQ;2AFyuQA=SL_Yzt~M+2YRhojtvXZzI$o|5(IB}?tlLh6V% z#ApQ#*DXB{W7I)or(8BNT=M=z^>&Uq#|mzZDg~1AUxut$8(+*GDbQRKO_ zU;&h^F<}Lh8*>=+PQHR?Z2W37+;wf&9~k;?Eh8B0c*H@CDNm9NZg;!#l7H+zezW?i zC-xdghBja;@%PhWlv^D4=i$=>9cWfsnQuxEi>_00jh=^eOE*@{Uk&^hJX=Ap0{Z4O z0LWanTd)2d9F*j4IRQF+O;O_<9Q6#Q7GZ9jSay6{kcnvoIyAO7Kd0*oC`vdr2NO<` zH)PtUjK{GG50qv1n3&GBLy!4{IepYiU6Y3u$(biuzX^)$*n&d&K940mimh*E9y@Zo za8uD}1EYpPvcYDtMZZ9rkBB1TLSMbzYXG!Jm8-CYbHZLfpb>3pIbH3p}B4yg{3h;zd>KI zAYn}X&X$u^%36PgWaNK#WCUv-p}X7B)5qo6v?x;}=PsDty9@J&LS>ia`9R;k8XoG1o8y-Kxa*lB)0n_861nzTqV>2IyFcyVvn3(SL-*v6K96nu^Ym}nt_ zc7ha3oiz7pmj?H|v`=zWfONX5{4BC+xRBA*y>MSR@(koRHe=epdCGgtNdJox70R?pZ9P`26S8^u0KU4S7fh4n`LNfX`fS` zBBVtY@eexY3O5+pW8`o*XBVA|jw_L}Z8SxkgH2?kTB>hroKY*GES7_l*~CHr-HVl# zm3a79?@8{pvD-DpJ|V?BYW#zN!1c#gCi0g@tIjW1zS$HAf;pp`@JUl%6&HdnP7Yc*4|`K4bosQGpl|f z*@5>w

                        StkError Member List

                        This is the complete list of members for StkError, including all inherited members. - + + - - - + + +
                        getMessage(void) const StkError [inline, virtual]
                        getMessage(void)StkError [inline, virtual]
                        getMessageCString(void)StkError [inline, virtual]
                        getType(void)StkError [inline, virtual]
                        printMessage(void)StkError [virtual]
                        StkError(const char *p, TYPE tipe=StkError::UNSPECIFIED)StkError
                        ~StkError(void)StkError [virtual]
                        printMessage(void)StkError [inline, virtual]
                        StkError(const std::string &message, Type type=StkError::UNSPECIFIED)StkError [inline]
                        ~StkError(void)StkError [inline, virtual]

                        - +
                        The Synthesis ToolKit in C++ (STK)
                        The Synthesis ToolKit in C++ (STK)
                        ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                        diff --git a/doc/html/classStkError.html b/doc/html/classStkError.html index 1235efc..342008a 100644 --- a/doc/html/classStkError.html +++ b/doc/html/classStkError.html @@ -9,16 +9,20 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                        -

                        StkError Class Reference

                        STK error handling class. -More... +

                        StkError Class Reference

                        #include <Stk.h>

                        -#include <Stk.h> +List of all members.


                        Detailed Description

                        +STK error handling class.

                        -List of all members. +This is a fairly abstract exception handling class. There could be sub-classes to take care of more specific error conditions ... or not. +

                        + +

                        +Definition at line 48 of file Stk.h.

                        +  - + +virtual const Type &  - + +virtual const std::string &  - + + + +

                        Public Member Functions

                        StkError (const char *p, TYPE tipe=StkError::UNSPECIFIED)
                        StkError (const std::string &message, Type type=StkError::UNSPECIFIED)
                         The constructor.

                        @@ -28,29 +32,26 @@ virtual  virtual void printMessage (void)
                         Prints "thrown" error message to stdout.

                         Prints thrown error message to stderr.

                        -virtual const TYPE & getType (void)
                        getType (void)
                         Returns the "thrown" error message TYPE.

                         Returns the thrown error message type.

                        -virtual const char * getMessage (void) const
                        getMessage (void)
                         Returns the "thrown" error message string.

                         Returns the thrown error message string.

                        +virtual const char * getMessageCString (void)
                         Returns the thrown error message as a C string.

                        -


                        Detailed Description

                        -STK error handling class. -

                        -This is a fairly abstract exception handling class. There could be sub-classes to take care of more specific error conditions ... or not. -

                        - -

                        -Definition at line 42 of file Stk.h.


                        The documentation for this class was generated from the following file:
                          +
                          The documentation for this class was generated from the following file:
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classStkFrames-members.html b/doc/html/classStkFrames-members.html new file mode 100644 index 0000000..35b712b --- /dev/null +++ b/doc/html/classStkFrames-members.html @@ -0,0 +1,31 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
                          +    

                          +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                          +
                          + +

                          StkFrames Member List

                          This is the complete list of members for StkFrames, including all inherited members. + + + + + + + + + + +
                          channels(void) const StkFrames [inline]
                          frames(void) const StkFrames [inline]
                          interleaved(void) const StkFrames [inline]
                          operator[](size_t n)StkFrames [inline]
                          operator[](size_t n) const StkFrames [inline]
                          resize(unsigned int nFrames, unsigned int nChannels=1, StkFloat value=0.0)StkFrames
                          setInterleaved(bool isInterleaved)StkFrames [inline]
                          size() const StkFrames [inline]
                          StkFrames(unsigned int nFrames=0, unsigned int nChannels=1, bool interleaved=true)StkFrames
                          StkFrames(const StkFloat &value, unsigned int nFrames, unsigned int nChannels, bool interleaved=true)StkFrames

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

                          +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                          +
                          + +

                          StkFrames Class Reference

                          #include <Stk.h> +

                          +List of all members.


                          Detailed Description

                          +An STK class to handle vectorized audio data. +

                          +This class can hold single- or multi-channel audio data in either interleaved or non-interleaved formats. The data type is always StkFloat.

                          +Possible future improvements in this class could include static functions to inter- or de-interleave the data and to convert to and return other data types.

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

                          + +

                          +Definition at line 177 of file Stk.h. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                          Public Member Functions

                          StkFrames (unsigned int nFrames=0, unsigned int nChannels=1, bool interleaved=true)
                           The default constructor initializes the frame data structure to size zero.

                          StkFrames (const StkFloat &value, unsigned int nFrames, unsigned int nChannels, bool interleaved=true)
                           Overloaded constructor which initializes the frame data to the specified size with value.

                          StkFloat & operator[] (size_t n)
                           Subscript operator which returns a reference to element n of self.

                          StkFloat operator[] (size_t n) const
                           Subscript operator which returns the value at element n of self.

                          +size_t size () const
                           Returns the total number of audio samples represented by the object.

                          void resize (unsigned int nFrames, unsigned int nChannels=1, StkFloat value=0.0)
                           Resize self to represent the specified number of channels and frames.

                          +unsigned int channels (void) const
                           Return the number of channels represented by the data.

                          +unsigned int frames (void) const
                           Return the number of sample frames represented by the data.

                          +bool interleaved (void) const
                           Returns true if the data is in interleaved format, false if the data is non-interleaved.

                          +void setInterleaved (bool isInterleaved)
                           Set the flag to indicate whether the internal data is in interleaved (true) or non-interleaved (false) format.

                          +


                          Member Function Documentation

                          +

                          + + + + +
                          + + + + + + + + + + +
                          StkFloat& StkFrames::operator[] size_t  n  )  [inline]
                          +
                          + + + + + +
                          +   + + +

                          +Subscript operator which returns a reference to element n of self. +

                          +The result can be used as an lvalue . This reference is valid until the resize function is called or the array is destroyed. The index n must be between 0 and size less one. No range checking is performed. +

                          +Definition at line 194 of file Stk.h. +

                          +

                          00194 { return data_[n]; };
                          +
                          +

                          + + + + +
                          + + + + + + + + + + +
                          StkFloat StkFrames::operator[] size_t  n  )  const [inline]
                          +
                          + + + + + +
                          +   + + +

                          +Subscript operator which returns the value at element n of self. +

                          +The index n must be between 0 and size less one. No range checking is performed. +

                          +Definition at line 201 of file Stk.h. +

                          +

                          00201 { return data_[n]; };
                          +
                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                          void StkFrames::resize unsigned int  nFrames,
                          unsigned int  nChannels = 1,
                          StkFloat  value = 0.0
                          +
                          + + + + + +
                          +   + + +

                          +Resize self to represent the specified number of channels and frames. +

                          +Changes the size of self based on the number of frames and channels, and assigns value to every element.

                          +


                          The documentation for this class was generated from the following file: +
                          + + + + +
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          + + + diff --git a/doc/html/classSubNoise-members.html b/doc/html/classSubNoise-members.html index d470a08..20505a3 100644 --- a/doc/html/classSubNoise-members.html +++ b/doc/html/classSubNoise-members.html @@ -10,22 +10,26 @@

                          SubNoise Member List

                          This is the complete list of members for SubNoise, including all inherited members. - - - - + + + + + - - + + - - + + + + - + + @@ -33,14 +37,16 @@ - + + +
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          lastOut() const Noise
                          MY_FLOAT32Stk [static]
                          MY_FLOAT64Stk [static]
                          Generator()Generator
                          handleError(const char *message, StkError::Type type)Stk [static]
                          handleError(std::string message, StkError::Type type)Stk [static]
                          handleError(StkError::Type type)Stk [protected]
                          lastOut() const Generator [inline, virtual]
                          Noise()Noise
                          Noise(unsigned int seed)Noise
                          rawwavePath(void)Stk [static]
                          sampleRate(void)Stk [static]
                          rawwavePath(void)Stk [inline, static]
                          sampleRate(void)Stk [inline, static]
                          setRate(int subRate)SubNoise
                          setRawwavePath(std::string newPath)Stk [static]
                          setSampleRate(MY_FLOAT newRate)Stk [static]
                          setRawwavePath(std::string path)Stk [static]
                          setSampleRate(StkFloat rate)Stk [inline, static]
                          setSeed(unsigned int seed=0)Noise
                          sleep(unsigned long milliseconds)Stk [static]
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [static]
                          STK_FLOAT64Stk [static]
                          STK_SINT16Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT24Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT8Stk [static]
                          SubNoise(int subRate=16)SubNoise
                          subRate(void) const SubNoise
                          swap32(unsigned char *ptr)Stk [static]
                          swap64(unsigned char *ptr)Stk [static]
                          tick()SubNoise [virtual]
                          Noise::tick(MY_FLOAT *vector, unsigned int vectorSize)Noise [virtual]
                          tick(StkFloat *vector, unsigned int vectorSize)SubNoise [virtual]
                          tick(StkFrames &frames, unsigned int channel=1)SubNoise [virtual]
                          ~Generator()Generator [virtual]
                          ~Noise()Noise [virtual]
                          ~Stk(void)Stk [protected, virtual]
                          ~SubNoise()SubNoise

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSubNoise.html b/doc/html/classSubNoise.html index 2caa78a..4914c03 100644 --- a/doc/html/classSubNoise.html +++ b/doc/html/classSubNoise.html @@ -9,18 +9,24 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          SubNoise Class Reference

                          STK sub-sampled noise generator. -More... -

                          -#include <SubNoise.h> +

                          SubNoise Class Reference

                          #include <SubNoise.h>

                          Inheritance diagram for SubNoise:

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

                          Detailed Description

                          +STK sub-sampled noise generator. +

                          +Generates a new random number every "rate" ticks using the C rand() function. The quality of the rand() function varies from one OS to another.

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

                          + +

                          +Definition at line 18 of file SubNoise.h.

                          +StkFloat  + + + + + +

                          Public Member Functions

                          @@ -40,24 +46,66 @@ void  Set the sub-sampling rate.

                          -MY_FLOAT tick ()
                          tick ()
                           Return a sub-sampled random number between -1.0 and 1.0.

                          +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                           Compute vectorSize outputs and return them in vector.

                          StkFramestick (StkFrames &frames, unsigned int channel=1)
                           Fill a channel of the StkFrames object with computed outputs.

                          -

                          Detailed Description

                          -STK sub-sampled noise generator. -

                          -Generates a new random number every "rate" ticks using the C rand() function. The quality of the rand() function varies from one OS to another.

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

                          +


                          Member Function Documentation

                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + +
                          StkFrames& SubNoise::tick StkFrames frames,
                          unsigned int  channel = 1
                          [virtual]
                          +
                          + + + + + +
                          +   +

                          -Definition at line 18 of file SubNoise.h.


                          The documentation for this class was generated from the following file:
                            +Fill a channel of the StkFrames object with computed outputs. +

                            +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                            +Reimplemented from Noise.

                          +


                          The documentation for this class was generated from the following file:
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classSubNoise.png b/doc/html/classSubNoise.png index 792f4c7681dfaf935e2a1ce7f025862f08f429e4..4558add2077126ef29d18a9ae84a72e6d885345d 100644 GIT binary patch delta 440 zcmV;p0Z0D$0^kE7iBL{Q4GJ0x0000DNk~Le0000*0002M1Oos70HEHpagiZ3e|AYk zK~#90?U+rD!ypWWVKZy&8`vip&0J_!x&INy*yKL}R7F*k+6$oY)qYMCy{6%}8Q(l{v&J!&wj1HLIRFQ#4m=6{ewC^hg@4F-P&)OwY5ki@*KW zE6mq$4KobwVm-`NeL3TdGuJUsfA)6*+?~*dL8ca?A4wdLFi+yAG6LFi$%sLc{zgFY zW#nl&F;uqgAdAC!Ipz^l2W4c+^5Bp`&1X60S`#x%7!M8@0+mFjOlwJxw!G^-y%Xd9 zzK9OQ8E2e%FY{!7*Pzj$Ys`_$Z<%6)#Kq>%7%cD0%h%zR9vm4yXQ(hze+!_&Z2p>9 z_YQ46?Y>Uqvl;jIMRXv}IOEKF8E8fdshRkmOavvPZrHcdmPvZ71B6}XkkEAvI9dPz002ovPDHLkV1h+&iU|M! diff --git a/doc/html/classTable-members.html b/doc/html/classTable-members.html index 63a6b2f..40f3797 100644 --- a/doc/html/classTable-members.html +++ b/doc/html/classTable-members.html @@ -10,32 +10,38 @@

                          Table Member List

                          This is the complete list of members for Table, including all inherited members. + - - - - - - - - + + + + + + + + + + - + + - - - + + + + +
                          Function()Function
                          getLength() const Table
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          lastOut() const Table
                          MY_FLOAT32Stk [static]
                          MY_FLOAT64Stk [static]
                          rawwavePath(void)Stk [static]
                          sampleRate(void)Stk [static]
                          setRawwavePath(std::string newPath)Stk [static]
                          setSampleRate(MY_FLOAT newRate)Stk [static]
                          handleError(const char *message, StkError::Type type)Stk [static]
                          handleError(std::string message, StkError::Type type)Stk [static]
                          handleError(StkError::Type type)Stk [protected]
                          lastOut() const Function [inline, virtual]
                          rawwavePath(void)Stk [inline, static]
                          sampleRate(void)Stk [inline, static]
                          setRawwavePath(std::string path)Stk [static]
                          setSampleRate(StkFloat rate)Stk [inline, static]
                          sleep(unsigned long milliseconds)Stk [static]
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [static]
                          STK_FLOAT64Stk [static]
                          STK_SINT16Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT24Stk [static]
                          STK_SINT32Stk [static]
                          STK_SINT8Stk [static]
                          swap16(unsigned char *ptr)Stk [static]
                          swap32(unsigned char *ptr)Stk [static]
                          swap64(unsigned char *ptr)Stk [static]
                          Table(char *fileName)Table
                          tick(MY_FLOAT index)Table
                          tick(MY_FLOAT *vector, unsigned int vectorSize)Table
                          Table(std::string fileName)Table
                          tick(StkFloat index)Table [virtual]
                          tick(StkFloat *vector, unsigned int vectorSize)Table [virtual]
                          tick(StkFrames &frames, unsigned int channel=1)Table [virtual]
                          ~Function()Function [virtual]
                          ~Stk(void)Stk [protected, virtual]
                          ~Table()Table

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classTable.html b/doc/html/classTable.html index 57bb4ea..0ef52f8 100644 --- a/doc/html/classTable.html +++ b/doc/html/classTable.html @@ -9,23 +9,29 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          Table Class Reference

                          STK table lookup class. -More... -

                          -#include <Table.h> +

                          Table Class Reference

                          #include <Table.h>

                          Inheritance diagram for Table:

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

                          Detailed Description

                          +STK table lookup class. +

                          +This class loads a table of floating-point doubles, which are assumed to be in big-endian format. Linear interpolation is performed for fractional lookup indexes.

                          +An StkError will be thrown if the table file is not found.

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

                          + +

                          +Definition at line 22 of file Table.h.

                          - + - + @@ -34,38 +40,28 @@ long  - + - - + + - - + + - +

                          Public Member Functions

                          Table (char *fileName)
                           Table (std::string fileName)
                           Constructor loads the data from fileName.

                           The constructor loads the data from fileName.

                           ~Table ()
                          getLength () const
                           Return the number of elements in the table.

                          -MY_FLOAT lastOut () const
                          StkFloat tick (StkFloat index)
                           Return the last output value.

                          MY_FLOAT tick (MY_FLOAT index)
                           Return the table value at position index.

                          +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                           Return the table value at position index.

                          -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                           Take vectorSize inputs from vector and replace them with corresponding outputs.

                          StkFramestick (StkFrames &frames, unsigned int channel=1)
                           Take vectorSize index positions and return the corresponding table values in vector.

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

                          -

                          Detailed Description

                          -STK table lookup class. -

                          -This class loads a table of floating-point doubles, which are assumed to be in big-endian format. Linear interpolation is performed for fractional lookup indexes.

                          -An StkError will be thrown if the table file is not found.

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

                          - -

                          -Definition at line 22 of file Table.h.


                          Member Function Documentation

                          -

                          +


                          Constructor & Destructor Documentation

                          +


                          - + - - + + @@ -81,10 +77,86 @@ Definition at line 22 of fi + +
                          MY_FLOAT Table::tick Table::Table MY_FLOAT  index std::string  fileName  ) 
                          +

                          +The constructor loads the data from fileName. +

                          +An StkError will be thrown in the file cannot be found or opened.

                          +

                          Member Function Documentation

                          +

                          + + + + +
                          + + + + + + + + + + +
                          StkFloat Table::tick StkFloat  index  )  [virtual]
                          +
                          + + + + +Linear interpolation is performed if index is fractional. +

                          +Implements Function. +

                          +
                          +   + +

                          Return the table value at position index.

                          -Linear interpolation is performed if index is fractional.

                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + +
                          StkFrames& Table::tick StkFrames frames,
                          unsigned int  channel = 1
                          [virtual]
                          +
                          + + + +
                          +   + + +

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

                          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                          +Reimplemented from Function.


                          The documentation for this class was generated from the following file:
                            @@ -92,7 +164,7 @@ Linear interpolation is performed if index is fractional.
                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classTable.png b/doc/html/classTable.png index 9acc33e41d2c474b9eadb662c33282b92b38b9cc..0b7bfeff03097ba46c24dc137e6b8f8b00160962 100644 GIT binary patch delta 305 zcmV-10nYxC0@?y0iBL{Q4GJ0x0000DNk~Le0000z0001p1Oos70H#a+9FZY3fAC2} zK~#90?bSOD!Y~W~&}3nbeFOUh2rk6b`yT;2NkvKHM3AMFctU>o)2fo)y%|?`<5nEY z0hky~CuZz810vb|^*@NFv(AUs{@C)opV>cqV?UWM%p0Jb+{dmxg(f7k5pi#q9L1HFF)@>>oGVdeJ}# zOuPO=4r{jR3^6PFbKd{uqwn{pecr$6)2CYw%?K_u+a1QeESnO}*Xx7px;`$5d#JjA z0~h=zTl9})yQ~;p->cC-*MB!3La_I*#`(STeLn%}BJ)iGwCL6V0000<2SrXqu0mjf DHeQkX delta 232 zcmV><1#EsP4nnZT}{0Z>jLA;Uda}k1>jo3*r!{RRMtY3YFi~%^R>Ke8 iNa&Ire}nsR{2*R&LRI3%u^P7k0000

                          TcpWvIn Member List

                          This is the complete list of members for TcpWvIn, including all inherited members. - + - + + + - + - - - + - - - + + + - + - - - + + + + + - + + - - - + + + + + - +
                          addTime(MY_FLOAT aTime)WvIn [protected, virtual]
                          addTime(StkFloat aTime)WvIn [protected, virtual]
                          closeFile(void)WvIn [protected]
                          getChannels(void) const WvIn [protected]
                          getFileRate(void) const WvIn [protected]
                          getSize(void) const WvIn [protected]
                          handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                          handleError(const char *message, StkError::Type type)Stk [protected, static]
                          handleError(std::string message, StkError::Type type)Stk [protected, static]
                          handleError(StkError::Type type)Stk [protected]
                          isConnected(void)TcpWvIn
                          isFinished(void) const WvIn [protected]
                          lastFrame(void) const TcpWvIn [virtual]
                          lastFrame(void) const TcpWvIn [virtual]
                          lastOut(void) const TcpWvIn [virtual]
                          listen(unsigned int nChannels=1, Stk::STK_FORMAT format=STK_SINT16)TcpWvIn
                          MY_FLOAT32Stk [protected, static]
                          MY_FLOAT64Stk [protected, static]
                          listen(unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)TcpWvIn
                          normalize(void)WvIn [protected]
                          normalize(MY_FLOAT peak)WvIn [protected]
                          openFile(const char *fileName, bool raw=FALSE, bool doNormalize=TRUE)WvIn [protected]
                          rawwavePath(void)Stk [protected, static]
                          normalize(StkFloat peak)WvIn [protected]
                          openFile(std::string fileName, bool raw=false, bool doNormalize=true)WvIn [protected]
                          rawwavePath(void)Stk [inline, protected, static]
                          reset(void)WvIn [protected]
                          sampleRate(void)Stk [protected, static]
                          sampleRate(void)Stk [inline, protected, static]
                          setInterpolate(bool doInterpolate)WvIn [protected]
                          setRate(MY_FLOAT aRate)WvIn [protected]
                          setRawwavePath(std::string newPath)Stk [protected, static]
                          setSampleRate(MY_FLOAT newRate)Stk [protected, static]
                          setRate(StkFloat aRate)WvIn [protected]
                          setRawwavePath(std::string path)Stk [protected, static]
                          setSampleRate(StkFloat rate)Stk [inline, protected, static]
                          sleep(unsigned long milliseconds)Stk [protected, static]
                          Stk(void)Stk [protected]
                          STK_FLOAT32Stk [protected, static]
                          STK_FLOAT64Stk [protected, static]
                          STK_SINT16Stk [protected, static]
                          STK_SINT32Stk [protected, static]
                          STK_SINT24Stk [protected, static]
                          STK_SINT32Stk [protected, static]
                          STK_SINT8Stk [protected, static]
                          swap16(unsigned char *ptr)Stk [protected, static]
                          swap32(unsigned char *ptr)Stk [protected, static]
                          swap64(unsigned char *ptr)Stk [protected, static]
                          TcpWvIn(int port=2006)TcpWvIn
                          tick(void)TcpWvIn [virtual]
                          tick(MY_FLOAT *vector, unsigned int vectorSize)TcpWvIn [virtual]
                          tickFrame(void)TcpWvIn [virtual]
                          tickFrame(MY_FLOAT *frameVector, unsigned int frames)TcpWvIn [virtual]
                          tick(StkFloat *vector, unsigned int vectorSize)TcpWvIn [virtual]
                          tick(StkFrames &frames, unsigned int channel=1)TcpWvIn [virtual]
                          tickFrame(void)TcpWvIn [virtual]
                          tickFrame(StkFloat *frameVector, unsigned int frames)TcpWvIn [virtual]
                          tickFrame(StkFrames &frames)TcpWvIn [virtual]
                          WvIn()WvIn [protected]
                          WvIn(const char *fileName, bool raw=FALSE, bool doNormalize=TRUE)WvIn [protected]
                          WvIn(std::string fileName, bool raw=false, bool doNormalize=true)WvIn [protected]
                          ~Stk(void)Stk [protected, virtual]
                          ~TcpWvIn()TcpWvIn
                          ~WvIn()WvIn [protected, virtual]

                          - +
                          The Synthesis ToolKit in C++ (STK)
                          The Synthesis ToolKit in C++ (STK)
                          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                          diff --git a/doc/html/classTcpWvIn.html b/doc/html/classTcpWvIn.html index 9a9a3f7..9889e99 100644 --- a/doc/html/classTcpWvIn.html +++ b/doc/html/classTcpWvIn.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                          -

                          TcpWvIn Class Reference

                          STK internet streaming input class. -More... -

                          -#include <TcpWvIn.h> +

                          TcpWvIn Class Reference

                          #include <TcpWvIn.h>

                          Inheritance diagram for TcpWvIn:

                          @@ -20,7 +17,17 @@ WvIn Stk -List of all members. +List of all members.

                          Detailed Description

                          +STK internet streaming input class. +

                          +This protected Wvin subclass can read streamed data over a network via a TCP socket connection. The data is assumed in big-endian, or network, byte order.

                          +TcpWvIn supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return pointers to multi-channel sample frames. For single-channel data, these methods return equivalent values.

                          +This class starts a socket server, which waits for a single remote connection. The default data type for the incoming stream is signed 16-bit integers, though any of the defined StkFormats are permissible.

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

                          + +

                          +Definition at line 42 of file TcpWvIn.h.

                          @@ -30,48 +37,44 @@   - + - + +StkFloat  +StkFloat  +StkFloat *  - + + + + - + - + -

                          Public Member Functions

                           TcpWvIn (int port=2006)
                          ~TcpWvIn ()
                           Class destructor.

                          void listen (unsigned int nChannels=1, Stk::STK_FORMAT format=STK_SINT16)
                          void listen (unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)
                           Listen for a (new) connection with specified data channels and format.

                          bool isConnected (void)
                           Returns TRUE is an input connection exists or input data remains in the queue.

                           Returns true is an input connection exists or input data remains in the queue.

                          -MY_FLOAT lastOut (void) const
                          lastOut (void) const
                           Return the average across the last output sample frame.

                          -MY_FLOAT tick (void)
                          tick (void)
                           Read out the average across one sample frame of data.

                          -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                          tick (StkFloat *vector, unsigned int vectorSize)
                           Read out vectorSize averaged sample frames of data in vector.

                          -const MY_FLOAT * lastFrame (void) const
                          StkFramestick (StkFrames &frames, unsigned int channel=1)
                           Fill a channel of the StkFrames object with averaged sample frames.

                          +const StkFloat * lastFrame (void) const
                           Return a pointer to the last output sample frame.

                          -const MY_FLOAT * tickFrame (void)
                          +const StkFloat * tickFrame (void)
                           Return a pointer to the next sample frame of data.

                          -MY_FLOAT * tickFrame (MY_FLOAT *frameVector, unsigned int frames)
                          +StkFloat * tickFrame (StkFloat *frameVector, unsigned int frames)
                           Read out sample frames of data to frameVector.

                          -

                          Detailed Description

                          -STK internet streaming input class. -

                          -This protected Wvin subclass can read streamed data over a network via a TCP socket connection. The data is assumed in big-endian, or network, byte order.

                          -TcpWvIn supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return pointers to multi-channel sample frames. For single-channel data, these methods return equivalent values.

                          -This class starts a socket server, which waits for a single remote connection. The default data type for the incoming stream is signed 16-bit integers, though any of the defined STK_FORMATs are permissible.

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

                          +StkFramestickFrame (StkFrames &frames) -

                          -Definition at line 41 of file TcpWvIn.h.


                          Constructor & Destructor Documentation

                          + Fill the StkFrames object with sample frames of data and return the same reference.


                          + +

                          Constructor & Destructor Documentation

                          @@ -118,7 +121,7 @@ An StkError will be thrown if an err - + @@ -170,9 +173,84 @@ An StkError will be thrown a socket +This method will not return false after an input connection has been closed until all buffered input data has been read out. + +
                          Stk::STK_FORMAT Stk::StkFormat  format = STK_SINT16

                          -Returns TRUE is an input connection exists or input data remains in the queue. +Returns true is an input connection exists or input data remains in the queue.

                          -This method will not return FALSE after an input connection has been closed until all buffered input data has been read out.

                          +

                          + + + + +
                          + + + + + + + + + + + + + + + + + + + +
                          StkFrames& TcpWvIn::tick StkFrames frames,
                          unsigned int  channel = 1
                          [virtual]
                          +
                          + + + + + +
                          +   + + +

                          +Fill a channel of the StkFrames object with averaged sample frames. +

                          +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                          +Reimplemented from WvIn.

                          +

                          + + + + +
                          + + + + + + + + + + +
                          StkFrames& TcpWvIn::tickFrame StkFrames frames  )  [virtual]
                          +
                          + + + +
                          +   + + +

                          +Fill the StkFrames object with sample frames of data and return the same reference. +

                          +An StkError will be thrown if there is an incompatability between the number of channels in the TcpWvIn object and that in the StkFrames object. +

                          +Reimplemented from WvIn.


                          The documentation for this class was generated from the following file:
                            @@ -180,7 +258,7 @@ This method will not return FALSE after an input connection has been closed unti
                            - +
                            The Synthesis ToolKit in C++ (STK)
                            The Synthesis ToolKit in C++ (STK)
                            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                            diff --git a/doc/html/classTcpWvOut-members.html b/doc/html/classTcpWvOut-members.html index ea5c8d0..32e9eed 100644 --- a/doc/html/classTcpWvOut-members.html +++ b/doc/html/classTcpWvOut-members.html @@ -11,33 +11,40 @@

                            TcpWvOut Member List

                            This is the complete list of members for TcpWvOut, including all inherited members. - + + - - - - - - - - + + + + + + + + + + + - + + - - - - + + + + + + - + @@ -49,7 +56,7 @@
                            closeFile(void)WvOut [protected]
                            connect(int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::STK_FORMAT format=STK_SINT16)TcpWvOut
                            connect(int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)TcpWvOut
                            disconnect(void)TcpWvOut
                            getClipStatus(void)WvOut [inline, protected]
                            getFrames(void) const TcpWvOut
                            getTime(void) const TcpWvOut
                            handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                            MY_FLOAT32Stk [protected, static]
                            MY_FLOAT64Stk [protected, static]
                            openFile(const char *fileName, unsigned int nChannels=1, WvOut::FILE_TYPE type=WVOUT_WAV, Stk::STK_FORMAT format=STK_SINT16)WvOut [protected]
                            rawwavePath(void)Stk [protected, static]
                            sampleRate(void)Stk [protected, static]
                            setRawwavePath(std::string newPath)Stk [protected, static]
                            setSampleRate(MY_FLOAT newRate)Stk [protected, static]
                            handleError(const char *message, StkError::Type type)Stk [protected, static]
                            handleError(std::string message, StkError::Type type)Stk [protected, static]
                            handleError(StkError::Type type)Stk [protected]
                            openFile(const char *fileName, unsigned int nChannels=1, WvOut::FILE_TYPE type=WVOUT_WAV, Stk::StkFormat format=STK_SINT16)WvOut [protected]
                            rawwavePath(void)Stk [inline, protected, static]
                            resetClipStatus(void)WvOut [inline, protected]
                            sampleRate(void)Stk [inline, protected, static]
                            setRawwavePath(std::string path)Stk [protected, static]
                            setSampleRate(StkFloat rate)Stk [inline, protected, static]
                            sleep(unsigned long milliseconds)Stk [protected, static]
                            Stk(void)Stk [protected]
                            STK_FLOAT32Stk [protected, static]
                            STK_FLOAT64Stk [protected, static]
                            STK_SINT16Stk [protected, static]
                            STK_SINT32Stk [protected, static]
                            STK_SINT24Stk [protected, static]
                            STK_SINT32Stk [protected, static]
                            STK_SINT8Stk [protected, static]
                            swap16(unsigned char *ptr)Stk [protected, static]
                            swap32(unsigned char *ptr)Stk [protected, static]
                            swap64(unsigned char *ptr)Stk [protected, static]
                            TcpWvOut()TcpWvOut
                            TcpWvOut(int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::STK_FORMAT format=STK_SINT16)TcpWvOut
                            tick(MY_FLOAT sample)TcpWvOut [virtual]
                            tick(const MY_FLOAT *vector, unsigned int vectorSize)TcpWvOut [virtual]
                            tickFrame(const MY_FLOAT *frameVector, unsigned int frames=1)TcpWvOut [virtual]
                            TcpWvOut(int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)TcpWvOut
                            tick(const StkFloat sample)TcpWvOut [virtual]
                            tick(const StkFloat *vector, unsigned int vectorSize)TcpWvOut [virtual]
                            tick(const StkFrames &frames, unsigned int channel=1)TcpWvOut [virtual]
                            tickFrame(const StkFloat *frameVector, unsigned int frames=1)TcpWvOut [virtual]
                            tickFrame(const StkFrames &frames)TcpWvOut [virtual]
                            WvOut()WvOut [protected]
                            WvOut(const char *fileName, unsigned int nChannels=1, FILE_TYPE type=WVOUT_WAV, Stk::STK_FORMAT format=STK_SINT16)WvOut [protected]
                            WvOut(const char *fileName, unsigned int nChannels=1, FILE_TYPE type=WVOUT_WAV, Stk::StkFormat format=STK_SINT16)WvOut [protected]
                            WVOUT_AIFWvOut [protected, static]
                            WVOUT_MATWvOut [protected, static]
                            WVOUT_RAWWvOut [protected, static]

                            - +
                            The Synthesis ToolKit in C++ (STK)
                            The Synthesis ToolKit in C++ (STK)
                            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                            diff --git a/doc/html/classTcpWvOut.html b/doc/html/classTcpWvOut.html index 355b72a..67c8fb3 100644 --- a/doc/html/classTcpWvOut.html +++ b/doc/html/classTcpWvOut.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                            -

                            TcpWvOut Class Reference

                            STK internet streaming output class. -More... -

                            -#include <TcpWvOut.h> +

                            TcpWvOut Class Reference

                            #include <TcpWvOut.h>

                            Inheritance diagram for TcpWvOut:

                            @@ -20,21 +17,31 @@ WvOut Stk -List of all members. +List of all members.

                            Detailed Description

                            +STK internet streaming output class. +

                            +This protected WvOut subclass can stream data over a network via a TCP socket connection. The data is converted to big-endian byte order, if necessary, before being transmitted.

                            +TcpWvOut supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame, from the tickFrame() method, which takes a pointer to multi-channel sample frame data.

                            +This class connects to a socket server, the port and IP address of which must be specified as constructor arguments. The default data type is signed 16-bit integers but any of the defined StkFormats are permissible.

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

                            + +

                            +Definition at line 34 of file TcpWvOut.h.

                            - + - + +StkFloat  - + - + - + - + + + + + + +

                            Public Member Functions

                             TcpWvOut ()
                             Default constructor ... the socket is not instantiated.

                             TcpWvOut (int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::STK_FORMAT format=STK_SINT16)
                             TcpWvOut (int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)
                             Overloaded constructor which opens a network connection during instantiation.

                             ~TcpWvOut ()
                             Class destructor.

                            void connect (int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::STK_FORMAT format=STK_SINT16)
                            void connect (int port, const char *hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)
                             Connect to the specified host and port and prepare to stream nChannels of data in the given data format.

                            @@ -46,30 +53,26 @@ unsigned long  Return the number of sample frames output.

                            -MY_FLOAT getTime (void) const
                            getTime (void) const
                             Return the number of seconds of data output.

                            void tick (MY_FLOAT sample)
                            void tick (const StkFloat sample)
                             Output a single sample to all channels in a sample frame.

                            void tick (const MY_FLOAT *vector, unsigned int vectorSize)
                            void tick (const StkFloat *vector, unsigned int vectorSize)
                             Output each sample in vector to all channels in vectorSize sample frames.

                            void tickFrame (const MY_FLOAT *frameVector, unsigned int frames=1)
                            void tick (const StkFrames &frames, unsigned int channel=1)
                             Output the frameVector of sample frames of the given length.

                             Output a channel of the StkFrames object to all channels of the TcpWvOut object.

                            void tickFrame (const StkFloat *frameVector, unsigned int frames=1)
                             Output the frameVector of sample frames of the given length.

                            virtual void tickFrame (const StkFrames &frames)
                             Output the StkFrames data to the TcpWvOut object.

                            -

                            Detailed Description

                            -STK internet streaming output class. -

                            -This protected WvOut subclass can stream data over a network via a TCP socket connection. The data is converted to big-endian byte order, if necessary, before being transmitted.

                            -TcpWvOut supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame, from the tickFrame() method, which takes a pointer to multi-channel sample frame data.

                            -This class connects to a socket server, the port and IP address of which must be specified as constructor arguments. The default data type is signed 16-bit integers but any of the defined STK_FORMATs are permissible.

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

                            - -

                            -Definition at line 34 of file TcpWvOut.h.


                            Constructor & Destructor Documentation

                            +

                            Constructor & Destructor Documentation

                            @@ -96,7 +99,7 @@ Definition at line 34 of - + @@ -149,7 +152,7 @@ An StkError is thrown if a socket er - + @@ -183,7 +186,7 @@ An StkError is thrown if a socket er - + @@ -205,7 +208,7 @@ Output a single sample to all channels in a sample frame.

                            An StkError is thrown if a socket write error occurs.

                            -Reimplemented from WvOut. +Reimplemented from WvOut.

                            Stk::STK_FORMAT Stk::StkFormat  format = STK_SINT16
                            Stk::STK_FORMAT Stk::StkFormat  format = STK_SINT16
                            void TcpWvOut::tick MY_FLOAT const StkFloat  sample  )  [virtual]

                            @@ -216,7 +219,7 @@ Reimplemented from WvOut. void TcpWvOut::tick (  - const MY_FLOAT *  + const StkFloat *  vector, @@ -247,10 +250,52 @@ Output each sample in vector to all channels in vectorSize sam

                            An StkError is thrown if a socket write error occurs.

                            -Reimplemented from WvOut. +Reimplemented from WvOut. -

                            +

                            + + + + +
                            + + + + + + + + + + + + + + + + + + + +
                            void TcpWvOut::tick const StkFrames frames,
                            unsigned int  channel = 1
                            [virtual]
                            +
                            + + + + + +
                            +   + + +

                            +Output a channel of the StkFrames object to all channels of the TcpWvOut object. +

                            +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if a socket write error occurs or the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                            +Reimplemented from WvOut.

                            +

                            - + @@ -289,7 +334,40 @@ Output the frameVector of sample frames of the given length.

                            An StkError is thrown if a socket write error occurs.

                            -Reimplemented from WvOut. +Reimplemented from WvOut. +

                            +
                            @@ -258,7 +303,7 @@ Reimplemented from WvOut.
                            void TcpWvOut::tickFrame const MY_FLOAT * const StkFloat *  frameVector,
                            +

                            + + + + +
                            + + + + + + + + + + +
                            virtual void TcpWvOut::tickFrame const StkFrames frames  )  [virtual]
                            +
                            + + + +
                            +   + + +

                            +Output the StkFrames data to the TcpWvOut object. +

                            +An StkError will be thrown if a socket write error occurs or if there is an incompatability between the number of channels in the TcpWvOut object and that in the StkFrames object. +

                            +Reimplemented from WvOut.


                            The documentation for this class was generated from the following file:
                              @@ -297,7 +375,7 @@ Reimplemented from WvOut.
                              - +
                              The Synthesis ToolKit in C++ (STK)
                              The Synthesis ToolKit in C++ (STK)
                              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                              diff --git a/doc/html/classThread-members.html b/doc/html/classThread-members.html index a86b87c..3852286 100644 --- a/doc/html/classThread-members.html +++ b/doc/html/classThread-members.html @@ -10,31 +10,35 @@

                              Thread Member List

                              This is the complete list of members for Thread, including all inherited members. - - - - - - - + + + + + + + + + + - + + - + - +
                              handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                              MY_FLOAT32Stk [static]
                              MY_FLOAT64Stk [static]
                              rawwavePath(void)Stk [static]
                              sampleRate(void)Stk [static]
                              setRawwavePath(std::string newPath)Stk [static]
                              setSampleRate(MY_FLOAT newRate)Stk [static]
                              cancel(void)Thread
                              handleError(const char *message, StkError::Type type)Stk [static]
                              handleError(std::string message, StkError::Type type)Stk [static]
                              handleError(StkError::Type type)Stk [protected]
                              rawwavePath(void)Stk [inline, static]
                              sampleRate(void)Stk [inline, static]
                              setRawwavePath(std::string path)Stk [static]
                              setSampleRate(StkFloat rate)Stk [inline, static]
                              sleep(unsigned long milliseconds)Stk [static]
                              start(THREAD_FUNCTION routine, void *ptr=NULL)Thread
                              Stk(void)Stk [protected]
                              STK_FLOAT32Stk [static]
                              STK_FLOAT64Stk [static]
                              STK_SINT16Stk [static]
                              STK_SINT32Stk [static]
                              STK_SINT24Stk [static]
                              STK_SINT32Stk [static]
                              STK_SINT8Stk [static]
                              swap16(unsigned char *ptr)Stk [static]
                              swap32(unsigned char *ptr)Stk [static]
                              swap64(unsigned char *ptr)Stk [static]
                              test(void)Thread [static]
                              testCancel(void)Thread
                              Thread()Thread
                              wait(long milliseconds=-1)Thread
                              wait(void)Thread
                              ~Stk(void)Stk [protected, virtual]
                              ~Thread()Thread

                              - +
                              The Synthesis ToolKit in C++ (STK)
                              The Synthesis ToolKit in C++ (STK)
                              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                              diff --git a/doc/html/classThread.html b/doc/html/classThread.html index 1f73bf5..6968795 100644 --- a/doc/html/classThread.html +++ b/doc/html/classThread.html @@ -9,17 +9,25 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                              -

                              Thread Class Reference

                              STK thread class. -More... -

                              -#include <Thread.h> +

                              Thread Class Reference

                              #include <Thread.h>

                              Inheritance diagram for Thread:

                              Stk -List of all members. +List of all members.

                              Detailed Description

                              +STK thread class. +

                              +This class provides a uniform interface for cross-platform threads. On unix systems, the pthread library is used. Under Windows, the C runtime threadex functions are used.

                              +Each instance of the Thread class can be used to control a single thread process. Routines are provided to signal cancelation and/or joining with a thread, though it is not possible for this class to know the running status of a thread once it is started.

                              +For cross-platform compatability, thread functions should be declared as follows:

                              +THREAD_RETURN THREAD_TYPE thread_function(void *ptr)

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

                              + +

                              +Definition at line 47 of file Thread.h.

                              - + - - + + - - - + + - + + + +

                              Public Member Functions

                              @@ -29,28 +37,21 @@
                               ~Thread ()
                               The class destructor waits indefinitely for the thread to end before returning.

                               The class destructor does not attempt to cancel or join a thread.

                              bool start (THREAD_FUNCTION routine, void *ptr=NULL)
                               Begin execution of the thread routine. Upon success, TRUE is returned.

                              bool wait (long milliseconds=-1)
                               Begin execution of the thread routine. Upon success, true is returned.

                              bool cancel (void)
                               Wait the specified number of milliseconds for the thread to terminate. Return TRUE on success.


                              Static Public Member Functions

                              -void test (void)
                               Signal cancellation of a thread routine, returning true on success.

                              bool wait (void)
                               Test for a thread cancellation request.

                               Block the calling routine indefinitely until the thread terminates.

                              void testCancel (void)
                               Create a cancellation point within a thread routine.

                              -

                              Detailed Description

                              -STK thread class. -

                              -This class provides a uniform interface for cross-platform threads. On unix systems, the pthread library is used. Under Windows, the C runtime threadex functions are used.

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

                              - -

                              -Definition at line 40 of file Thread.h.


                              Member Function Documentation

                              +

                              Member Function Documentation

                              @@ -86,21 +87,21 @@ Definition at line 40 of f +A data pointer can be supplied to the thread routine via the optional ptr argument. If the thread cannot be created, the return value is false.

                              -Begin execution of the thread routine. Upon success, TRUE is returned. +Begin execution of the thread routine. Upon success, true is returned.

                              -The thread routine can be passed an argument via ptr. If the thread cannot be created, the return value is FALSE.

                              -

                              +

                              -

                              -Definition at line 20 of file TwoPole.h.


                              Member Function Documentation

                              + +
                              - + - - + + @@ -117,9 +118,71 @@ The thread routine can be passed an argument via ptr. If the thread can +This function only signals thread cancellation. It does not wait to verify actual routine termination. A true return value only signifies that the cancellation signal was properly executed, not thread cancellation. A thread routine may need to make use of the testCancel() function to specify a cancellation point. + +
                              bool Thread::wait bool Thread::cancel long  milliseconds = -1 void   ) 

                              -Wait the specified number of milliseconds for the thread to terminate. Return TRUE on success. +Signal cancellation of a thread routine, returning true on success.

                              -If the specified time value is negative, the function will block indefinitely. Otherwise, the function will block up to a maximum of the specified time. A return value of FALSE indicates the thread did not terminate within the specified time limit.

                              +

                              + + + + +
                              + + + + + + + + + + +
                              bool Thread::wait void   ) 
                              +
                              + + + + + +
                              +   + + +

                              +Block the calling routine indefinitely until the thread terminates. +

                              +This function suspends execution of the calling routine until the thread has terminated. It will return immediately if the thread was already terminated. A true return value signifies successful termination. A false return value indicates a problem with the wait call.

                              +

                              + + + + +
                              + + + + + + + + + + +
                              void Thread::testCancel void   ) 
                              +
                              + + + +
                              +   + + +

                              +Create a cancellation point within a thread routine. +

                              +This function call checks for thread cancellation, allowing the thread to be terminated if a cancellation request was previously signaled.


                              The documentation for this class was generated from the following file:
                              StkFramestick (StkFrames &frames, unsigned int channel=1)
                               Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.

                              +


                              Member Function Documentation

                              @@ -87,20 +87,20 @@ Definition at line 20 of - + - + - + @@ -134,8 +134,8 @@ This method determines the filter coefficients corresponding to two complex-conj - - + + @@ -159,12 +159,54 @@ The gain is applied at the filter input and does not affect the coefficient valu Reimplemented from Filter.
                              void TwoPole::setResonance MY_FLOAT StkFloat  frequency,
                              MY_FLOAT StkFloat  radius,
                              bool  normalize = FALSE normalize = false
                              void TwoPole::setGain MY_FLOAT  theGain StkFloat  gain  )  [virtual]
                              +

                              + + + + +
                              + + + + + + + + + + + + + + + + + + + +
                              StkFrames& TwoPole::tick StkFrames frames,
                              unsigned int  channel = 1
                              [virtual]
                              +
                              + + + + + +
                              +   + + +

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

                              +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                              +Reimplemented from Filter.


                              The documentation for this class was generated from the following file:
                              - +
                              The Synthesis ToolKit in C++ (STK)
                              The Synthesis ToolKit in C++ (STK)
                              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                              diff --git a/doc/html/classTwoZero-members.html b/doc/html/classTwoZero-members.html index 50230d9..3e38b21 100644 --- a/doc/html/classTwoZero-members.html +++ b/doc/html/classTwoZero-members.html @@ -12,34 +12,38 @@

                              TwoZero Member List

                              This is the complete list of members for TwoZero, including all inherited members. - + - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + + - - + + + @@ -47,7 +51,7 @@
                              clear(void)TwoZero
                              Filter(void)Filter [protected]
                              Filter(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
                              Filter(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
                              getGain(void) const TwoZero [virtual]
                              handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                              handleError(const char *message, StkError::Type type)Stk [protected, static]
                              handleError(std::string message, StkError::Type type)Stk [protected, static]
                              handleError(StkError::Type type)Stk [protected]
                              lastOut(void) const TwoZero [virtual]
                              MY_FLOAT32Stk [protected, static]
                              MY_FLOAT64Stk [protected, static]
                              rawwavePath(void)Stk [protected, static]
                              sampleRate(void)Stk [protected, static]
                              setB0(MY_FLOAT b0)TwoZero
                              setB1(MY_FLOAT b1)TwoZero
                              setB2(MY_FLOAT b2)TwoZero
                              setCoefficients(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)Filter [protected]
                              setDenominator(int na, MY_FLOAT *aCoefficients)Filter [protected]
                              setGain(MY_FLOAT theGain)TwoZero [virtual]
                              setNotch(MY_FLOAT frequency, MY_FLOAT radius)TwoZero
                              setNumerator(int nb, MY_FLOAT *bCoefficients)Filter [protected]
                              setRawwavePath(std::string newPath)Stk [protected, static]
                              setSampleRate(MY_FLOAT newRate)Stk [protected, static]
                              rawwavePath(void)Stk [inline, protected, static]
                              sampleRate(void)Stk [inline, protected, static]
                              setB0(StkFloat b0)TwoZero
                              setB1(StkFloat b1)TwoZero
                              setB2(StkFloat b2)TwoZero
                              setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)Filter [protected]
                              setDenominator(std::vector< StkFloat > &aCoefficients)Filter [protected]
                              setGain(StkFloat gain)TwoZero [virtual]
                              setNotch(StkFloat frequency, StkFloat radius)TwoZero
                              setNumerator(std::vector< StkFloat > &bCoefficients)Filter [protected]
                              setRawwavePath(std::string path)Stk [protected, static]
                              setSampleRate(StkFloat rate)Stk [inline, protected, static]
                              sleep(unsigned long milliseconds)Stk [protected, static]
                              Stk(void)Stk [protected]
                              STK_FLOAT32Stk [protected, static]
                              STK_FLOAT64Stk [protected, static]
                              STK_SINT16Stk [protected, static]
                              STK_SINT32Stk [protected, static]
                              STK_SINT24Stk [protected, static]
                              STK_SINT32Stk [protected, static]
                              STK_SINT8Stk [protected, static]
                              swap16(unsigned char *ptr)Stk [protected, static]
                              swap32(unsigned char *ptr)Stk [protected, static]
                              swap64(unsigned char *ptr)Stk [protected, static]
                              tick(MY_FLOAT sample)TwoZero [virtual]
                              tick(MY_FLOAT *vector, unsigned int vectorSize)TwoZero [virtual]
                              tick(StkFloat sample)TwoZero [virtual]
                              tick(StkFloat *vector, unsigned int vectorSize)TwoZero [virtual]
                              tick(StkFrames &frames, unsigned int channel=1)TwoZero [virtual]
                              TwoZero()TwoZero
                              ~Filter(void)Filter [protected, virtual]
                              ~Stk(void)Stk [protected, virtual]

                              - +
                              The Synthesis ToolKit in C++ (STK)
                              The Synthesis ToolKit in C++ (STK)
                              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                              diff --git a/doc/html/classTwoZero.html b/doc/html/classTwoZero.html index 180d182..db947f4 100644 --- a/doc/html/classTwoZero.html +++ b/doc/html/classTwoZero.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                              -

                              TwoZero Class Reference

                              STK two-zero filter class. -More... -

                              -#include <TwoZero.h> +

                              TwoZero Class Reference

                              #include <TwoZero.h>

                              Inheritance diagram for TwoZero:

                              @@ -20,7 +17,15 @@ Filter Stk -List of all members. +List of all members.

                              Detailed Description

                              +STK two-zero filter class. +

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

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

                              + +

                              +Definition at line 20 of file TwoZero.h.

                              +void  +void  +void  - + - + +StkFloat  +StkFloat  +StkFloat  +StkFloat *  -

                              Public Member Functions

                              @@ -36,49 +41,44 @@ void  Clears the internal states of the filter.

                              -void setB0 (MY_FLOAT b0)
                              setB0 (StkFloat b0)
                               Set the b[0] coefficient value.

                              -void setB1 (MY_FLOAT b1)
                              setB1 (StkFloat b1)
                               Set the b[1] coefficient value.

                              -void setB2 (MY_FLOAT b2)
                              setB2 (StkFloat b2)
                               Set the b[2] coefficient value.

                              void setNotch (MY_FLOAT frequency, MY_FLOAT radius)
                              void setNotch (StkFloat frequency, StkFloat radius)
                               Sets the filter coefficients for a "notch" at frequency (in Hz).

                              void setGain (MY_FLOAT theGain)
                              void setGain (StkFloat gain)
                               Set the filter gain.

                              -MY_FLOAT getGain (void) const
                              getGain (void) const
                               Return the current filter gain.

                              -MY_FLOAT lastOut (void) const
                              lastOut (void) const
                               Return the last computed output value.

                              -MY_FLOAT tick (MY_FLOAT sample)
                              tick (StkFloat sample)
                               Input one sample to the filter and return one output.

                              -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                              tick (StkFloat *vector, unsigned int vectorSize)
                               Input vectorSize samples to the filter and return an equal number of outputs in vector.

                              -

                              Detailed Description

                              -STK two-zero filter class. -

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

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

                              +StkFramestick (StkFrames &frames, unsigned int channel=1) -

                              -Definition at line 20 of file TwoZero.h.


                              Member Function Documentation

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


                              + +

                              Member Function Documentation

                              @@ -87,13 +87,13 @@ Definition at line 20 of - + - + @@ -127,8 +127,8 @@ This method determines the filter coefficients corresponding to two complex-conj - - + + @@ -152,12 +152,54 @@ The gain is applied at the filter input and does not affect the coefficient valu Reimplemented from Filter.
                              void TwoZero::setNotch MY_FLOAT StkFloat  frequency,
                              MY_FLOAT StkFloat  radius
                              void TwoZero::setGain MY_FLOAT  theGain StkFloat  gain  )  [virtual]
                              +

                              + + + + +
                              + + + + + + + + + + + + + + + + + + + +
                              StkFrames& TwoZero::tick StkFrames frames,
                              unsigned int  channel = 1
                              [virtual]
                              +
                              + + + + + +
                              +   + + +

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

                              +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                              +Reimplemented from Filter.


                              The documentation for this class was generated from the following file:
                              - +
                              The Synthesis ToolKit in C++ (STK)
                              The Synthesis ToolKit in C++ (STK)
                              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                              diff --git a/doc/html/classVector3D-members.html b/doc/html/classVector3D-members.html index 6e0c4bb..dcc3b30 100644 --- a/doc/html/classVector3D-members.html +++ b/doc/html/classVector3D-members.html @@ -14,16 +14,35 @@ getX()Vector3D getY()Vector3D getZ()Vector3D - setX(double aval)Vector3D - setXYZ(double anX, double aY, double aZ)Vector3D - setY(double aval)Vector3D - setZ(double aval)Vector3D - Vector3D(double initX=0.0, double initY=0.0, double initZ=0.0)Vector3D + handleError(const char *message, StkError::Type type)Stk [static] + handleError(std::string message, StkError::Type type)Stk [static] + handleError(StkError::Type type)Stk [protected] + rawwavePath(void)Stk [inline, static] + sampleRate(void)Stk [inline, static] + setRawwavePath(std::string path)Stk [static] + setSampleRate(StkFloat rate)Stk [inline, static] + setX(StkFloat x)Vector3D + setXYZ(StkFloat x, StkFloat y, StkFloat z)Vector3D + setY(StkFloat y)Vector3D + setZ(StkFloat z)Vector3D + sleep(unsigned long milliseconds)Stk [static] + Stk(void)Stk [protected] + STK_FLOAT32Stk [static] + STK_FLOAT64Stk [static] + STK_SINT16Stk [static] + STK_SINT24Stk [static] + STK_SINT32Stk [static] + STK_SINT8Stk [static] + swap16(unsigned char *ptr)Stk [static] + swap32(unsigned char *ptr)Stk [static] + swap64(unsigned char *ptr)Stk [static] + Vector3D(StkFloat initX=0.0, StkFloat initY=0.0, StkFloat initZ=0.0)Vector3D + ~Stk(void)Stk [protected, virtual] ~Vector3D()Vector3D
                              - +
                              The Synthesis ToolKit in C++ (STK)
                              The Synthesis ToolKit in C++ (STK)
                              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                              diff --git a/doc/html/classVector3D.html b/doc/html/classVector3D.html index 25ab1b8..fdd9dfc 100644 --- a/doc/html/classVector3D.html +++ b/doc/html/classVector3D.html @@ -9,16 +9,26 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                              -

                              Vector3D Class Reference

                              STK 3D vector class. -More... +

                              Vector3D Class Reference

                              #include <Vector3D.h>

                              -#include <Vector3D.h> +

                              Inheritance diagram for Vector3D: +

                              + +Stk + +List of all members.

                              Detailed Description

                              +STK 3D vector class.

                              -List of all members. +This class implements a three-dimensional vector.

                              +by Perry R. Cook, 1995 - 2004. +

                              + +

                              +Definition at line 16 of file Vector3D.h.

                              +  +StkFloat  +StkFloat  +StkFloat  +StkFloat  +void  +void  +void  +void 

                              Public Member Functions

                              Vector3D (double initX=0.0, double initY=0.0, double initZ=0.0)
                              Vector3D (StkFloat initX=0.0, StkFloat initY=0.0, StkFloat initZ=0.0)
                               Default constructor taking optional initial X, Y, and Z values.

                              @@ -26,52 +36,44 @@
                               Class destructor.

                              -double getX ()
                              getX ()
                               Get the current X value.

                              -double getY ()
                              getY ()
                               Get the current Y value.

                              -double getZ ()
                              getZ ()
                               Get the current Z value.

                              -double getLength ()
                              getLength ()
                               Calculate the vector length.

                              -void setXYZ (double anX, double aY, double aZ)
                              setXYZ (StkFloat x, StkFloat y, StkFloat z)
                               Set the X, Y, and Z values simultaniously.

                              -void setX (double aval)
                              setX (StkFloat x)
                               Set the X value.

                              -void setY (double aval)
                              setY (StkFloat y)
                               Set the Y value.

                              -void setZ (double aval)
                              setZ (StkFloat z)
                               Set the Z value.

                              -


                              Detailed Description

                              -STK 3D vector class. -

                              -This class implements a three-dimensional vector.

                              -by Perry R. Cook, 1995 - 2002. -

                              - -

                              -Definition at line 14 of file Vector3D.h.


                              The documentation for this class was generated from the following file:
                                +
                                The documentation for this class was generated from the following file:
                                - +
                                The Synthesis ToolKit in C++ (STK)
                                The Synthesis ToolKit in C++ (STK)
                                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                diff --git a/doc/html/classVector3D.png b/doc/html/classVector3D.png new file mode 100644 index 0000000000000000000000000000000000000000..09c98b17d4d60d12134ea019510dc5e964281c17 GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^PCy*M!VDziQ}%fSDTx4|5ZC|z{{xx-{~wq?KVbrp z1;z&s9H>6@{|S)GSQ6wH%;50sMjDWF#M8wwq+-t7$$@-_6*$_SE~U1#5&jFZey0G$D|wv~fl8WR6~rTE4Sd`(zeb&EtI0 wu`BXN#MhvRHPZvCUcP@k=l>_=mfuow2U4q*HZ77<1^S1<)78&qol`;+07^%I0ssI2 literal 0 HcmV?d00001 diff --git a/doc/html/classVoicForm-members.html b/doc/html/classVoicForm-members.html index e2323eb..f1c399b 100644 --- a/doc/html/classVoicForm-members.html +++ b/doc/html/classVoicForm-members.html @@ -11,38 +11,42 @@

                                VoicForm Member List

                                This is the complete list of members for VoicForm, including all inherited members. - - + + + + - - - - + + - - - - + + + + - - - - - + + + + + + + - + + - + + @@ -50,7 +54,7 @@
                                clear()VoicForm
                                controlChange(int number, MY_FLOAT value)VoicForm [virtual]
                                handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                                controlChange(int number, StkFloat value)VoicForm [virtual]
                                handleError(const char *message, StkError::Type type)Stk [static]
                                handleError(std::string message, StkError::Type type)Stk [static]
                                handleError(StkError::Type type)Stk [protected]
                                Instrmnt()Instrmnt
                                lastOut() const Instrmnt
                                lastOutLeft() const Instrmnt
                                lastOutRight() const Instrmnt
                                MY_FLOAT32Stk [static]
                                MY_FLOAT64Stk [static]
                                noteOff(MY_FLOAT amplitude)VoicForm [virtual]
                                noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)VoicForm [virtual]
                                noteOff(StkFloat amplitude)VoicForm [virtual]
                                noteOn(StkFloat frequency, StkFloat amplitude)VoicForm [virtual]
                                quiet()VoicForm
                                rawwavePath(void)Stk [static]
                                sampleRate(void)Stk [static]
                                setFilterSweepRate(int whichOne, MY_FLOAT rate)VoicForm
                                setFrequency(MY_FLOAT frequency)VoicForm [virtual]
                                rawwavePath(void)Stk [inline, static]
                                sampleRate(void)Stk [inline, static]
                                setFilterSweepRate(unsigned int whichOne, StkFloat rate)VoicForm
                                setFrequency(StkFloat frequency)VoicForm [virtual]
                                setPhoneme(const char *phoneme)VoicForm
                                setPitchSweepRate(MY_FLOAT rate)VoicForm
                                setRawwavePath(std::string newPath)Stk [static]
                                setSampleRate(MY_FLOAT newRate)Stk [static]
                                setUnVoiced(MY_FLOAT nGain)VoicForm
                                setVoiced(MY_FLOAT vGain)VoicForm
                                setPitchSweepRate(StkFloat rate)VoicForm
                                setRawwavePath(std::string path)Stk [static]
                                setSampleRate(StkFloat rate)Stk [inline, static]
                                setUnVoiced(StkFloat nGain)VoicForm
                                setVoiced(StkFloat vGain)VoicForm
                                sleep(unsigned long milliseconds)Stk [static]
                                speak()VoicForm
                                Stk(void)Stk [protected]
                                STK_FLOAT32Stk [static]
                                STK_FLOAT64Stk [static]
                                STK_SINT16Stk [static]
                                STK_SINT32Stk [static]
                                STK_SINT24Stk [static]
                                STK_SINT32Stk [static]
                                STK_SINT8Stk [static]
                                swap16(unsigned char *ptr)Stk [static]
                                swap32(unsigned char *ptr)Stk [static]
                                swap64(unsigned char *ptr)Stk [static]
                                tick()VoicForm [virtual]
                                Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                                tick(StkFloat *vector, unsigned int vectorSize)VoicForm [virtual]
                                tick(StkFrames &frames, unsigned int channel=1)VoicForm [virtual]
                                VoicForm()VoicForm
                                ~Instrmnt()Instrmnt [virtual]
                                ~Stk(void)Stk [protected, virtual]

                                - +
                                The Synthesis ToolKit in C++ (STK)
                                The Synthesis ToolKit in C++ (STK)
                                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                diff --git a/doc/html/classVoicForm.html b/doc/html/classVoicForm.html index 546437a..6719251 100644 --- a/doc/html/classVoicForm.html +++ b/doc/html/classVoicForm.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                                -

                                VoicForm Class Reference

                                Four formant synthesis instrument. -More... -

                                -#include <VoicForm.h> +

                                VoicForm Class Reference

                                #include <VoicForm.h>

                                Inheritance diagram for VoicForm:

                                @@ -20,13 +17,24 @@ Instrmnt Stk -List of all members. +List of all members.

                                Detailed Description

                                +Four formant synthesis instrument. +

                                +This instrument contains an excitation singing wavetable (looping wave with random and periodic vibrato, smoothing on frequency, etc.), excitation noise, and four sweepable complex resonances.

                                +Measured formant data is included, and enough data is there to support either parallel or cascade synthesis. In the floating point case cascade synthesis is the most natural so that's what you'll find here.

                                +Control Change Numbers:

                                  +
                                • Voiced/Unvoiced Mix = 2
                                • Vowel/Phoneme Selection = 4
                                • Vibrato Frequency = 11
                                • Vibrato Gain = 1
                                • Loudness (Spectral Tilt) = 128
                                +

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

                                + +

                                +Definition at line 39 of file VoicForm.h.

                                - + - + @@ -36,27 +44,27 @@ void  +void  - + +void  +void  +void  +void  +void  +void  +StkFloat  - + + + + + + +

                                Public Member Functions

                                VoicForm ()
                                 VoicForm ()
                                 Class constructor, taking the lowest desired playing frequency.

                                 Class constructor.

                                 ~VoicForm ()
                                 Reset and clear all internal state.

                                -void setFrequency (MY_FLOAT frequency)
                                setFrequency (StkFloat frequency)
                                 Set instrument parameters for a particular frequency.

                                bool setPhoneme (const char *phoneme)
                                 Set instrument parameters for the given phoneme. Returns FALSE if phoneme not found.

                                 Set instrument parameters for the given phoneme. Returns false if phoneme not found.

                                -void setVoiced (MY_FLOAT vGain)
                                setVoiced (StkFloat vGain)
                                 Set the voiced component gain.

                                -void setUnVoiced (MY_FLOAT nGain)
                                setUnVoiced (StkFloat nGain)
                                 Set the unvoiced component gain.

                                -void setFilterSweepRate (int whichOne, MY_FLOAT rate)
                                setFilterSweepRate (unsigned int whichOne, StkFloat rate)
                                 Set the sweep rate for a particular formant filter (0-3).

                                -void setPitchSweepRate (MY_FLOAT rate)
                                setPitchSweepRate (StkFloat rate)
                                 Set voiced component pitch sweep rate.

                                @@ -68,40 +76,109 @@ void  Stop the voice.

                                -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                                noteOn (StkFloat frequency, StkFloat amplitude)
                                 Start a note with the given frequency and amplitude.

                                -void noteOff (MY_FLOAT amplitude)
                                noteOff (StkFloat amplitude)
                                 Stop a note with the given amplitude (speed of decay).

                                -MY_FLOAT tick ()
                                tick ()
                                 Compute one output sample.

                                -void controlChange (int number, MY_FLOAT value)
                                +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                                 Computer vectorSize outputs and return them in vector.

                                StkFramestick (StkFrames &frames, unsigned int channel=1)
                                 Fill a channel of the StkFrames object with computed outputs.

                                +void controlChange (int number, StkFloat value)
                                 Perform the control change specified by number and value (0.0 - 128.0).

                                -

                                Detailed Description

                                -Four formant synthesis instrument. -

                                -This instrument contains an excitation singing wavetable (looping wave with random and periodic vibrato, smoothing on frequency, etc.), excitation noise, and four sweepable complex resonances.

                                -Measured formant data is included, and enough data is there to support either parallel or cascade synthesis. In the floating point case cascade synthesis is the most natural so that's what you'll find here.

                                -Control Change Numbers:

                                  -
                                • Voiced/Unvoiced Mix = 2
                                • Vowel/Phoneme Selection = 4
                                • Vibrato Frequency = 11
                                • Vibrato Gain = 1
                                • Loudness (Spectral Tilt) = 128
                                -

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

                                +


                                Constructor & Destructor Documentation

                                +

                                + + + + +
                                + + + + + + + + + +
                                VoicForm::VoicForm  ) 
                                +
                                + + + + + +
                                +   +

                                -Definition at line 39 of file VoicForm.h.


                                The documentation for this class was generated from the following file:
                                  +Class constructor. +

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

                                +


                                Member Function Documentation

                                +

                                + + + + +
                                + + + + + + + + + + + + + + + + + + + +
                                StkFrames& VoicForm::tick StkFrames frames,
                                unsigned int  channel = 1
                                [virtual]
                                +
                                + + + + + +
                                +   + + +

                                +Fill a channel of the StkFrames object with computed outputs. +

                                +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                                +Reimplemented from Instrmnt.

                                +


                                The documentation for this class was generated from the following file:
                                - +
                                The Synthesis ToolKit in C++ (STK)
                                The Synthesis ToolKit in C++ (STK)
                                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                diff --git a/doc/html/classVoicer-members.html b/doc/html/classVoicer-members.html index 5ca1dd6..78c1607 100644 --- a/doc/html/classVoicer-members.html +++ b/doc/html/classVoicer-members.html @@ -11,44 +11,48 @@

                                Voicer Member List

                                This is the complete list of members for Voicer, including all inherited members. - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + - + + - - + + +
                                addInstrument(Instrmnt *instrument, int channel=0)Voicer
                                controlChange(int number, MY_FLOAT value, int channel=0)Voicer
                                controlChange(long tag, int number, MY_FLOAT value)Voicer
                                handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                                lastOut() const Voicer
                                lastOutLeft() const Voicer
                                lastOutRight() const Voicer
                                MY_FLOAT32Stk [static]
                                MY_FLOAT64Stk [static]
                                noteOff(MY_FLOAT noteNumber, MY_FLOAT amplitude, int channel=0)Voicer
                                noteOff(long tag, MY_FLOAT amplitude)Voicer
                                noteOn(MY_FLOAT noteNumber, MY_FLOAT amplitude, int channel=0)Voicer
                                pitchBend(MY_FLOAT value, int channel=0)Voicer
                                pitchBend(long tag, MY_FLOAT value)Voicer
                                rawwavePath(void)Stk [static]
                                controlChange(int number, StkFloat value, int channel=0)Voicer
                                controlChange(long tag, int number, StkFloat value)Voicer
                                handleError(const char *message, StkError::Type type)Stk [static]
                                handleError(std::string message, StkError::Type type)Stk [static]
                                handleError(StkError::Type type)Stk [protected]
                                lastOut() const Voicer
                                lastOutLeft() const Voicer
                                lastOutRight() const Voicer
                                noteOff(StkFloat noteNumber, StkFloat amplitude, int channel=0)Voicer
                                noteOff(long tag, StkFloat amplitude)Voicer
                                noteOn(StkFloat noteNumber, StkFloat amplitude, int channel=0)Voicer
                                pitchBend(StkFloat value, int channel=0)Voicer
                                pitchBend(long tag, StkFloat value)Voicer
                                rawwavePath(void)Stk [inline, static]
                                removeInstrument(Instrmnt *instrument)Voicer
                                sampleRate(void)Stk [static]
                                setFrequency(MY_FLOAT noteNumber, int channel=0)Voicer
                                setFrequency(long tag, MY_FLOAT noteNumber)Voicer
                                setRawwavePath(std::string newPath)Stk [static]
                                setSampleRate(MY_FLOAT newRate)Stk [static]
                                sampleRate(void)Stk [inline, static]
                                setFrequency(StkFloat noteNumber, int channel=0)Voicer
                                setFrequency(long tag, StkFloat noteNumber)Voicer
                                setRawwavePath(std::string path)Stk [static]
                                setSampleRate(StkFloat rate)Stk [inline, static]
                                silence(void)Voicer
                                sleep(unsigned long milliseconds)Stk [static]
                                Stk(void)Stk [protected]
                                STK_FLOAT32Stk [static]
                                STK_FLOAT64Stk [static]
                                STK_SINT16Stk [static]
                                STK_SINT32Stk [static]
                                STK_SINT24Stk [static]
                                STK_SINT32Stk [static]
                                STK_SINT8Stk [static]
                                swap16(unsigned char *ptr)Stk [static]
                                swap32(unsigned char *ptr)Stk [static]
                                swap64(unsigned char *ptr)Stk [static]
                                tick()Voicer
                                tick(MY_FLOAT *vector, unsigned int vectorSize)Voicer
                                Voicer(int maxInstruments, MY_FLOAT decayTime=0.2)Voicer
                                tick(StkFloat *vector, unsigned int vectorSize)Voicer
                                tick(StkFrames &frames, unsigned int channel=1)Voicer [virtual]
                                Voicer(StkFloat decayTime=0.2)Voicer
                                ~Stk(void)Stk [protected, virtual]
                                ~Voicer()Voicer

                                - +
                                The Synthesis ToolKit in C++ (STK)
                                The Synthesis ToolKit in C++ (STK)
                                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                diff --git a/doc/html/classVoicer.html b/doc/html/classVoicer.html index 273d035..d5d5322 100644 --- a/doc/html/classVoicer.html +++ b/doc/html/classVoicer.html @@ -9,23 +9,30 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                                -

                                Voicer Class Reference

                                STK voice manager class. -More... -

                                -#include <Voicer.h> +

                                Voicer Class Reference

                                #include <Voicer.h>

                                Inheritance diagram for Voicer:

                                Stk -List of all members. +List of all members.

                                Detailed Description

                                +STK voice manager class. +

                                +This class can be used to manage a group of STK instrument classes. Individual voices can be controlled via unique note tags. Instrument groups can be controlled by channel number.

                                +A previously constructed STK instrument class is linked with a voice manager using the addInstrument() function. An optional channel number argument can be specified to the addInstrument() function as well (default channel = 0). The voice manager does not delete any instrument instances ... it is the responsibility of the user to allocate and deallocate all instruments.

                                +The tick() function returns the mix of all sounding voices. Each noteOn returns a unique tag (credits to the NeXT MusicKit), so you can send control changes to specific voices within an ensemble. Alternately, control changes can be sent to all voices on a given channel.

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

                                + +

                                +Definition at line 38 of file Voicer.h.

                                +  - + @@ -36,35 +43,35 @@ - + - + - + - + - + +void  +void  +void  +void  +StkFloat  +StkFloat *  - + + + + - + - +

                                Public Member Functions

                                Voicer (int maxInstruments, MY_FLOAT decayTime=0.2)
                                Voicer (StkFloat decayTime=0.2)
                                 Class constructor taking the maximum number of instruments to control and an optional note decay time (in seconds).

                                 Class constructor taking an optional note decay time (in seconds).

                                 ~Voicer ()
                                void removeInstrument (Instrmnt *instrument)
                                 Remove the given instrument pointer from the voice manager's control.

                                long noteOn (MY_FLOAT noteNumber, MY_FLOAT amplitude, int channel=0)
                                long noteOn (StkFloat noteNumber, StkFloat amplitude, int channel=0)
                                 Initiate a noteOn event with the given note number and amplitude and return a unique note tag.

                                void noteOff (MY_FLOAT noteNumber, MY_FLOAT amplitude, int channel=0)
                                void noteOff (StkFloat noteNumber, StkFloat amplitude, int channel=0)
                                 Send a noteOff to all voices having the given noteNumber and optional channel (default channel = 0).

                                void noteOff (long tag, MY_FLOAT amplitude)
                                void noteOff (long tag, StkFloat amplitude)
                                 Send a noteOff to the voice with the given note tag.

                                void setFrequency (MY_FLOAT noteNumber, int channel=0)
                                void setFrequency (StkFloat noteNumber, int channel=0)
                                 Send a frequency update message to all voices assigned to the optional channel argument (default channel = 0).

                                void setFrequency (long tag, MY_FLOAT noteNumber)
                                void setFrequency (long tag, StkFloat noteNumber)
                                 Send a frequency update message to the voice with the given note tag.

                                -void pitchBend (MY_FLOAT value, int channel=0)
                                pitchBend (StkFloat value, int channel=0)
                                 Send a pitchBend message to all voices assigned to the optional channel argument (default channel = 0).

                                -void pitchBend (long tag, MY_FLOAT value)
                                pitchBend (long tag, StkFloat value)
                                 Send a pitchBend message to the voice with the given note tag.

                                -void controlChange (int number, MY_FLOAT value, int channel=0)
                                controlChange (int number, StkFloat value, int channel=0)
                                 Send a controlChange to all instruments assigned to the optional channel argument (default channel = 0).

                                -void controlChange (long tag, int number, MY_FLOAT value)
                                controlChange (long tag, int number, StkFloat value)
                                 Send a controlChange to the voice with the given note tag.

                                @@ -72,37 +79,30 @@ void  Send a noteOff message to all existing voices.

                                -MY_FLOAT tick ()
                                tick ()
                                 Mix the output for all sounding voices.

                                -MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                                tick (StkFloat *vector, unsigned int vectorSize)
                                 Compute vectorSize output mixes and return them in vector.

                                -MY_FLOAT lastOut () const
                                virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
                                 Fill a channel of the StkFrames object with computed outputs.

                                +StkFloat lastOut () const
                                 Return the last output value.

                                -MY_FLOAT lastOutLeft () const
                                +StkFloat lastOutLeft () const
                                 Return the last left output value.

                                -MY_FLOAT lastOutRight () const
                                +StkFloat lastOutRight () const
                                 Return the last right output value.

                                -

                                Detailed Description

                                -STK voice manager class. -

                                -This class can be used to manage a group of STK instrument classes. Individual voices can be controlled via unique note tags. Instrument groups can be controlled by channel number.

                                -A previously constructed STK instrument class is linked with a voice manager using the addInstrument() function. An optional channel number argument can be specified to the addInstrument() function as well (default channel = 0). The voice manager does not delete any instrument instances ... it is the responsibility of the user to allocate and deallocate all instruments.

                                -The tick() function returns the mix of all sounding voices. Each noteOn returns a unique tag (credits to the NeXT MusicKit), so you can send control changes to specific voices within an ensemble. Alternately, control changes can be sent to all voices on a given channel.

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

                                - -

                                -Definition at line 38 of file Voicer.h.


                                Member Function Documentation

                                +

                                Member Function Documentation

                                @@ -182,13 +182,13 @@ It is important that any instruments which are to be deleted by the user while t - + - + @@ -228,13 +228,13 @@ Send the noteOn message to the first available unused voice. If all voices are s - + - + @@ -280,7 +280,7 @@ The amplitude value should be in the range 0.0 - 128.0. - + @@ -314,7 +314,7 @@ The amplitude value should be in the range 0.0 - 128.0. - + @@ -360,7 +360,7 @@ The noteNumber argument corresponds to a MIDI note number, though it is - + @@ -386,12 +386,52 @@ Send a frequency update message to the voice with the given note tag. The noteNumber argument corresponds to a MIDI note number, though it is a floating-point value and can range beyond the normal 0-127 range.
                                long Voicer::noteOn MY_FLOAT StkFloat  noteNumber,
                                MY_FLOAT StkFloat  amplitude,
                                void Voicer::noteOff MY_FLOAT StkFloat  noteNumber,
                                MY_FLOAT StkFloat  amplitude,
                                MY_FLOAT StkFloat  amplitude
                                void Voicer::setFrequency MY_FLOAT StkFloat  noteNumber,
                                MY_FLOAT StkFloat  noteNumber
                                +

                                + + + + +
                                + + + + + + + + + + + + + + + + + + + +
                                virtual StkFrames& Voicer::tick StkFrames frames,
                                unsigned int  channel = 1
                                [virtual]
                                +
                                + + + + + +
                                +   + + +

                                +Fill a channel of the StkFrames object with computed outputs. +

                                +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object.


                                The documentation for this class was generated from the following file:
                                - +
                                The Synthesis ToolKit in C++ (STK)
                                The Synthesis ToolKit in C++ (STK)
                                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                diff --git a/doc/html/classWaveLoop-members.html b/doc/html/classWaveLoop-members.html index 9775ade..bf9f83b 100644 --- a/doc/html/classWaveLoop-members.html +++ b/doc/html/classWaveLoop-members.html @@ -10,52 +10,57 @@

                                WaveLoop Member List

                                This is the complete list of members for WaveLoop, including all inherited members. - - - + + + - + + + - + - - - - - + + + - - + + - - - + + + + + - + + - + + - - + + + - +
                                addPhase(MY_FLOAT anAngle)WaveLoop
                                addPhaseOffset(MY_FLOAT anAngle)WaveLoop
                                addTime(MY_FLOAT aTime)WaveLoop [virtual]
                                addPhase(StkFloat angle)WaveLoop
                                addPhaseOffset(StkFloat angle)WaveLoop
                                addTime(StkFloat time)WaveLoop [virtual]
                                closeFile(void)WvIn
                                getChannels(void) const WvIn
                                getFileRate(void) const WvIn
                                getSize(void) const WvIn
                                handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                                handleError(const char *message, StkError::Type type)Stk [static]
                                handleError(std::string message, StkError::Type type)Stk [static]
                                handleError(StkError::Type type)Stk [protected]
                                isFinished(void) const WvIn
                                lastFrame(void) const WvIn [virtual]
                                lastFrame(void) const WvIn [virtual]
                                lastOut(void) const WvIn [virtual]
                                MY_FLOAT32Stk [static]
                                MY_FLOAT64Stk [static]
                                normalize(void)WvIn
                                normalize(MY_FLOAT peak)WvIn
                                openFile(const char *fileName, bool raw=FALSE, bool doNormalize=TRUE)WvIn
                                rawwavePath(void)Stk [static]
                                normalize(StkFloat peak)WvIn
                                openFile(std::string fileName, bool raw=false, bool doNormalize=true)WvIn
                                rawwavePath(void)Stk [inline, static]
                                reset(void)WvIn
                                sampleRate(void)Stk [static]
                                setFrequency(MY_FLOAT aFrequency)WaveLoop
                                sampleRate(void)Stk [inline, static]
                                setFrequency(StkFloat frequency)WaveLoop
                                setInterpolate(bool doInterpolate)WvIn
                                setRate(MY_FLOAT aRate)WvIn
                                setRawwavePath(std::string newPath)Stk [static]
                                setSampleRate(MY_FLOAT newRate)Stk [static]
                                setRate(StkFloat aRate)WvIn
                                setRawwavePath(std::string path)Stk [static]
                                setSampleRate(StkFloat rate)Stk [inline, static]
                                sleep(unsigned long milliseconds)Stk [static]
                                Stk(void)Stk [protected]
                                STK_FLOAT32Stk [static]
                                STK_FLOAT64Stk [static]
                                STK_SINT16Stk [static]
                                STK_SINT32Stk [static]
                                STK_SINT24Stk [static]
                                STK_SINT32Stk [static]
                                STK_SINT8Stk [static]
                                swap16(unsigned char *ptr)Stk [static]
                                swap32(unsigned char *ptr)Stk [static]
                                swap64(unsigned char *ptr)Stk [static]
                                tick(void)WvIn [virtual]
                                tick(MY_FLOAT *vector, unsigned int vectorSize)WvIn [virtual]
                                tick(StkFloat *vector, unsigned int vectorSize)WvIn [virtual]
                                tick(StkFrames &frames, unsigned int channel=1)WvIn [virtual]
                                tickFrame(void)WaveLoop [virtual]
                                WvIn::tickFrame(MY_FLOAT *frameVector, unsigned int frames)WvIn [virtual]
                                WaveLoop(const char *fileName, bool raw=FALSE)WaveLoop
                                tickFrame(StkFloat *frameVector, unsigned int frames)WaveLoop [virtual]
                                tickFrame(StkFrames &frames)WaveLoop [virtual]
                                WaveLoop(std::string fileName, bool raw=false)WaveLoop
                                WvIn()WvIn
                                WvIn(const char *fileName, bool raw=FALSE, bool doNormalize=TRUE)WvIn
                                WvIn(std::string fileName, bool raw=false, bool doNormalize=true)WvIn
                                ~Stk(void)Stk [protected, virtual]
                                ~WaveLoop()WaveLoop [virtual]
                                ~WvIn()WvIn [virtual]

                                - +
                                The Synthesis ToolKit in C++ (STK)
                                The Synthesis ToolKit in C++ (STK)
                                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                diff --git a/doc/html/classWaveLoop.html b/doc/html/classWaveLoop.html index 55cc8a7..b7a7c29 100644 --- a/doc/html/classWaveLoop.html +++ b/doc/html/classWaveLoop.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                                -

                                WaveLoop Class Reference

                                STK waveform oscillator class. -More... -

                                -#include <WaveLoop.h> +

                                WaveLoop Class Reference

                                #include <WaveLoop.h>

                                Inheritance diagram for WaveLoop:

                                @@ -20,45 +17,51 @@ WvIn Stk -List of all members. +List of all members.

                                Detailed Description

                                +STK waveform oscillator class. +

                                +This class inherits from WvIn and provides audio file looping functionality.

                                +WaveLoop supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return pointers to multi-channel sample frames. For single-channel data, these methods return equivalent values.

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

                                + +

                                +Definition at line 26 of file WaveLoop.h.

                                +  - + +void  - + - + +const StkFloat *  -

                                Public Member Functions

                                WaveLoop (const char *fileName, bool raw=FALSE)
                                WaveLoop (std::string fileName, bool raw=false)
                                 Class constructor.

                                virtual ~WaveLoop ()
                                 Class destructor.

                                void setFrequency (MY_FLOAT aFrequency)
                                void setFrequency (StkFloat frequency)
                                 Set the data interpolation rate based on a looping frequency.

                                -void addTime (MY_FLOAT aTime)
                                addTime (StkFloat time)
                                 Increment the read pointer by aTime samples, modulo file size.

                                void addPhase (MY_FLOAT anAngle)
                                void addPhase (StkFloat angle)
                                 Increment current read pointer by anAngle, relative to a looping frequency.

                                void addPhaseOffset (MY_FLOAT anAngle)
                                void addPhaseOffset (StkFloat angle)
                                 Add a phase offset to the current read pointer.

                                -const MY_FLOAT * tickFrame (void)
                                tickFrame (void)
                                 Return a pointer to the next sample frame of data.

                                -

                                Detailed Description

                                -STK waveform oscillator class. -

                                -This class inherits from WvIn and provides audio file looping functionality.

                                -WaveLoop supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return pointers to multi-channel sample frames. For single-channel data, these methods return equivalent values.

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

                                +StkFloat * tickFrame (StkFloat *frameVector, unsigned int frames) -

                                -Definition at line 27 of file WaveLoop.h.


                                Member Function Documentation

                                + Read out sample frames of data to frameVector.


                                +StkFramestickFrame (StkFrames &frames) + + Fill the StkFrames object with sample frames of data and return the same reference.


                                + +

                                Member Function Documentation

                                @@ -67,8 +70,8 @@ Definition at line 27 of - - + + @@ -98,8 +101,8 @@ This function determines the interpolation rate based on the file size and the c - - + + @@ -129,8 +132,8 @@ This function increments the read pointer based on the file size and the current - - + + @@ -152,12 +155,87 @@ Add a phase offset to the current read pointer. This function determines a time offset based on the file size and the current Stk::sampleRate. The anAngle value is a multiple of file size.
                                void WaveLoop::setFrequency MY_FLOAT  aFrequency StkFloat  frequency  ) 
                                void WaveLoop::addPhase MY_FLOAT  anAngle StkFloat  angle  ) 
                                void WaveLoop::addPhaseOffset MY_FLOAT  anAngle StkFloat  angle  ) 
                                +

                                + + + + +
                                + + + + + + + + + + + + + + + + + + + +
                                StkFloat* WaveLoop::tickFrame StkFloat *  frameVector,
                                unsigned int  frames
                                [virtual]
                                +
                                + + + + + +
                                +   + + +

                                +Read out sample frames of data to frameVector. +

                                +An StkError will be thrown if a file is read incrementally and a read error occurs. +

                                +Reimplemented from WvIn.

                                +

                                + + + + +
                                + + + + + + + + + + +
                                StkFrames& WaveLoop::tickFrame StkFrames frames  )  [virtual]
                                +
                                + + + + + +
                                +   + + +

                                +Fill the StkFrames object with sample frames of data and return the same reference. +

                                +An StkError will be thrown if a file is read incrementally and a read error occurs or there is an incompatability between the number of channels in the RtWvIn object and that in the StkFrames object. +

                                +Reimplemented from WvIn.


                                The documentation for this class was generated from the following file:
                                - +
                                The Synthesis ToolKit in C++ (STK)
                                The Synthesis ToolKit in C++ (STK)
                                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                diff --git a/doc/html/classWhistle-members.html b/doc/html/classWhistle-members.html index dfddf43..1bcf176 100644 --- a/doc/html/classWhistle-members.html +++ b/doc/html/classWhistle-members.html @@ -11,33 +11,37 @@

                                Whistle Member List

                                This is the complete list of members for Whistle, including all inherited members. - - + + + + - - - - - - - - - + + + + + + + - + + + - + + - + - + + @@ -45,7 +49,7 @@
                                clear()Whistle
                                controlChange(int number, MY_FLOAT value)Whistle [virtual]
                                handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                                controlChange(int number, StkFloat value)Whistle [virtual]
                                handleError(const char *message, StkError::Type type)Stk [static]
                                handleError(std::string message, StkError::Type type)Stk [static]
                                handleError(StkError::Type type)Stk [protected]
                                Instrmnt()Instrmnt
                                lastOut() const Instrmnt
                                lastOutLeft() const Instrmnt
                                lastOutRight() const Instrmnt
                                MY_FLOAT32Stk [static]
                                MY_FLOAT64Stk [static]
                                noteOff(MY_FLOAT amplitude)Whistle [virtual]
                                noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Whistle [virtual]
                                rawwavePath(void)Stk [static]
                                sampleRate(void)Stk [static]
                                setFrequency(MY_FLOAT frequency)Whistle [virtual]
                                setRawwavePath(std::string newPath)Stk [static]
                                setSampleRate(MY_FLOAT newRate)Stk [static]
                                noteOff(StkFloat amplitude)Whistle [virtual]
                                noteOn(StkFloat frequency, StkFloat amplitude)Whistle [virtual]
                                rawwavePath(void)Stk [inline, static]
                                sampleRate(void)Stk [inline, static]
                                setFrequency(StkFloat frequency)Whistle [virtual]
                                setRawwavePath(std::string path)Stk [static]
                                setSampleRate(StkFloat rate)Stk [inline, static]
                                sleep(unsigned long milliseconds)Stk [static]
                                startBlowing(MY_FLOAT amplitude, MY_FLOAT rate)Whistle
                                startBlowing(StkFloat amplitude, StkFloat rate)Whistle
                                Stk(void)Stk [protected]
                                STK_FLOAT32Stk [static]
                                STK_FLOAT64Stk [static]
                                STK_SINT16Stk [static]
                                STK_SINT32Stk [static]
                                STK_SINT24Stk [static]
                                STK_SINT32Stk [static]
                                STK_SINT8Stk [static]
                                stopBlowing(MY_FLOAT rate)Whistle
                                stopBlowing(StkFloat rate)Whistle
                                swap16(unsigned char *ptr)Stk [static]
                                swap32(unsigned char *ptr)Stk [static]
                                swap64(unsigned char *ptr)Stk [static]
                                tick()Whistle [virtual]
                                Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                                tick(StkFloat *vector, unsigned int vectorSize)Whistle [virtual]
                                tick(StkFrames &frames, unsigned int channel=1)Whistle [virtual]
                                Whistle()Whistle
                                ~Instrmnt()Instrmnt [virtual]
                                ~Stk(void)Stk [protected, virtual]

                                - +
                                The Synthesis ToolKit in C++ (STK)
                                The Synthesis ToolKit in C++ (STK)
                                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                diff --git a/doc/html/classWhistle.html b/doc/html/classWhistle.html index 2cdb8b0..ad05564 100644 --- a/doc/html/classWhistle.html +++ b/doc/html/classWhistle.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                                -

                                Whistle Class Reference

                                STK police/referee whistle instrument class. -More... -

                                -#include <Whistle.h> +

                                Whistle Class Reference

                                #include <Whistle.h>

                                Inheritance diagram for Whistle:

                                @@ -20,13 +17,23 @@ Instrmnt Stk -List of all members. +List of all members.

                                Detailed Description

                                +STK police/referee whistle instrument class. +

                                +This class implements a hybrid physical/spectral model of a police whistle (a la Cook).

                                +Control Change Numbers:

                                  +
                                • Noise Gain = 4
                                • Fipple Modulation Frequency = 11
                                • Fipple Modulation Gain = 1
                                • Blowing Frequency Modulation = 2
                                • Volume = 128
                                +

                                +by Perry R. Cook 1996 - 2004. +

                                + +

                                +Definition at line 30 of file Whistle.h.

                                - + - + @@ -36,51 +43,121 @@ void  +void  +void  +void  +void  +void  +StkFloat  - + + + + + + +

                                Public Member Functions

                                Whistle ()
                                 Whistle ()
                                 Class constructor.

                                 Class constructor.

                                 ~Whistle ()
                                 Reset and clear all internal state.

                                -void setFrequency (MY_FLOAT frequency)
                                setFrequency (StkFloat frequency)
                                 Set instrument parameters for a particular frequency.

                                -void startBlowing (MY_FLOAT amplitude, MY_FLOAT rate)
                                startBlowing (StkFloat amplitude, StkFloat rate)
                                 Apply breath velocity to instrument with given amplitude and rate of increase.

                                -void stopBlowing (MY_FLOAT rate)
                                stopBlowing (StkFloat rate)
                                 Decrease breath velocity with given rate of decrease.

                                -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                                noteOn (StkFloat frequency, StkFloat amplitude)
                                 Start a note with the given frequency and amplitude.

                                -void noteOff (MY_FLOAT amplitude)
                                noteOff (StkFloat amplitude)
                                 Stop a note with the given amplitude (speed of decay).

                                -MY_FLOAT tick ()
                                tick ()
                                 Compute one output sample.

                                -void controlChange (int number, MY_FLOAT value)
                                +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                                 Computer vectorSize outputs and return them in vector.

                                StkFramestick (StkFrames &frames, unsigned int channel=1)
                                 Fill a channel of the StkFrames object with computed outputs.

                                +void controlChange (int number, StkFloat value)
                                 Perform the control change specified by number and value (0.0 - 128.0).

                                -

                                Detailed Description

                                -STK police/referee whistle instrument class. -

                                -This class implements a hybrid physical/spectral model of a police whistle (a la Cook).

                                -Control Change Numbers:

                                  -
                                • Noise Gain = 4
                                • Fipple Modulation Frequency = 11
                                • Fipple Modulation Gain = 1
                                • Blowing Frequency Modulation = 2
                                • Volume = 128
                                -

                                -by Perry R. Cook 1996 - 2002. -

                                +


                                Constructor & Destructor Documentation

                                +

                                + + + + +
                                + + + + + + + + + +
                                Whistle::Whistle  ) 
                                +
                                + + + + + +
                                +   +

                                -Definition at line 30 of file Whistle.h.


                                The documentation for this class was generated from the following file:
                                  +Class constructor. +

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

                                +


                                Member Function Documentation

                                +

                                + + + + +
                                + + + + + + + + + + + + + + + + + + + +
                                StkFrames& Whistle::tick StkFrames frames,
                                unsigned int  channel = 1
                                [virtual]
                                +
                                + + + + + +
                                +   + + +

                                +Fill a channel of the StkFrames object with computed outputs. +

                                +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                                +Reimplemented from Instrmnt.

                                +


                                The documentation for this class was generated from the following file:
                                - +
                                The Synthesis ToolKit in C++ (STK)
                                The Synthesis ToolKit in C++ (STK)
                                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                diff --git a/doc/html/classWurley-members.html b/doc/html/classWurley-members.html index 62694a5..c74e790 100644 --- a/doc/html/classWurley-members.html +++ b/doc/html/classWurley-members.html @@ -11,9 +11,11 @@

                                Wurley Member List

                                This is the complete list of members for Wurley, including all inherited members. - - - + + + + + @@ -21,31 +23,33 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + + - + + @@ -54,7 +58,7 @@
                                clear()FM
                                controlChange(int number, MY_FLOAT value)FM [virtual]
                                FM(int operators=4)FM
                                handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                                controlChange(int number, StkFloat value)FM [virtual]
                                FM(unsigned int operators=4)FM
                                handleError(const char *message, StkError::Type type)Stk [static]
                                handleError(std::string message, StkError::Type type)Stk [static]
                                handleError(StkError::Type type)Stk [protected]
                                Instrmnt()Instrmnt
                                keyOff()FM
                                keyOn()FM
                                lastOutLeft() const Instrmnt
                                lastOutRight() const Instrmnt
                                loadWaves(const char **filenames)FM
                                MY_FLOAT32Stk [static]
                                MY_FLOAT64Stk [static]
                                noteOff(MY_FLOAT amplitude)FM [virtual]
                                noteOn(MY_FLOAT frequency, MY_FLOAT amplitude)Wurley [virtual]
                                rawwavePath(void)Stk [static]
                                sampleRate(void)Stk [static]
                                setControl1(MY_FLOAT cVal)FM
                                setControl2(MY_FLOAT cVal)FM
                                setFrequency(MY_FLOAT frequency)Wurley [virtual]
                                setGain(int waveIndex, MY_FLOAT gain)FM
                                setModulationDepth(MY_FLOAT mDepth)FM
                                setModulationSpeed(MY_FLOAT mSpeed)FM
                                setRatio(int waveIndex, MY_FLOAT ratio)FM
                                setRawwavePath(std::string newPath)Stk [static]
                                setSampleRate(MY_FLOAT newRate)Stk [static]
                                noteOff(StkFloat amplitude)FM [virtual]
                                noteOn(StkFloat frequency, StkFloat amplitude)Wurley [virtual]
                                rawwavePath(void)Stk [inline, static]
                                sampleRate(void)Stk [inline, static]
                                setControl1(StkFloat cVal)FM
                                setControl2(StkFloat cVal)FM
                                setFrequency(StkFloat frequency)Wurley [virtual]
                                setGain(unsigned int waveIndex, StkFloat gain)FM
                                setModulationDepth(StkFloat mDepth)FM
                                setModulationSpeed(StkFloat mSpeed)FM
                                setRatio(unsigned int waveIndex, StkFloat ratio)FM
                                setRawwavePath(std::string path)Stk [static]
                                setSampleRate(StkFloat rate)Stk [inline, static]
                                sleep(unsigned long milliseconds)Stk [static]
                                Stk(void)Stk [protected]
                                STK_FLOAT32Stk [static]
                                STK_FLOAT64Stk [static]
                                STK_SINT16Stk [static]
                                STK_SINT32Stk [static]
                                STK_SINT24Stk [static]
                                STK_SINT32Stk [static]
                                STK_SINT8Stk [static]
                                swap16(unsigned char *ptr)Stk [static]
                                swap32(unsigned char *ptr)Stk [static]
                                swap64(unsigned char *ptr)Stk [static]
                                tick()Wurley [virtual]
                                Instrmnt::tick(MY_FLOAT *vector, unsigned int vectorSize)Instrmnt [virtual]
                                tick(StkFloat *vector, unsigned int vectorSize)Wurley [virtual]
                                tick(StkFrames &frames, unsigned int channel=1)Wurley [virtual]
                                Wurley()Wurley
                                ~FM()FM [virtual]
                                ~Instrmnt()Instrmnt [virtual]

                                - +
                                The Synthesis ToolKit in C++ (STK)
                                The Synthesis ToolKit in C++ (STK)
                                ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                diff --git a/doc/html/classWurley.html b/doc/html/classWurley.html index 036ac47..2eff7da 100644 --- a/doc/html/classWurley.html +++ b/doc/html/classWurley.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                                -

                                Wurley Class Reference

                                STK Wurlitzer electric piano FM synthesis instrument. -More... -

                                -#include <Wurley.h> +

                                Wurley Class Reference

                                #include <Wurley.h>

                                Inheritance diagram for Wurley:

                                @@ -21,31 +18,7 @@ Instrmnt Stk -List of all members. - - - - - - - - - - - - - - - - - -

                                Public Member Functions

                                Wurley ()
                                 Class constructor.

                                ~Wurley ()
                                 Class destructor.

                                -void setFrequency (MY_FLOAT frequency)
                                 Set instrument parameters for a particular frequency.

                                -void noteOn (MY_FLOAT frequency, MY_FLOAT amplitude)
                                 Start a note with the given frequency and amplitude.

                                -MY_FLOAT tick ()
                                 Compute one output sample.

                                -

                                Detailed Description

                                +List of all members.

                                Detailed Description

                                STK Wurlitzer electric piano FM synthesis instrument.

                                This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

                                @@ -57,16 +30,120 @@ Control Change Numbers:

                                • Modulator Index One = 2
                                • Crossfade of Outputs = 4
                                • LFO Speed = 11
                                • LFO Depth = 1
                                • ADSR 2 & 4 Target = 128

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

                                -by Perry R. Cook and Gary P. Scavone, 1995 - 2002. +by Perry R. Cook and Gary P. Scavone, 1995 - 2004.

                                -Definition at line 38 of file Wurley.h.


                                The documentation for this class was generated from the following file:
                                  +Definition at line 38 of file Wurley.h. + + + + + + + + + + + + + + + + + + + + + + + +

                                  Public Member Functions

                                   Wurley ()
                                   Class constructor.

                                  ~Wurley ()
                                   Class destructor.

                                  +void setFrequency (StkFloat frequency)
                                   Set instrument parameters for a particular frequency.

                                  +void noteOn (StkFloat frequency, StkFloat amplitude)
                                   Start a note with the given frequency and amplitude.

                                  +StkFloat tick ()
                                   Compute one output sample.

                                  +StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                                   Computer vectorSize outputs and return them in vector.

                                  StkFramestick (StkFrames &frames, unsigned int channel=1)
                                   Fill a channel of the StkFrames object with computed outputs.

                                  +

                                  Constructor & Destructor Documentation

                                  +

                                  + + + + +
                                  + + + + + + + + + +
                                  Wurley::Wurley  ) 
                                  +
                                  + + + + + +
                                  +   + + +

                                  +Class constructor. +

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

                                  +


                                  Member Function Documentation

                                  +

                                  + + + + +
                                  + + + + + + + + + + + + + + + + + + + +
                                  StkFrames& Wurley::tick StkFrames frames,
                                  unsigned int  channel = 1
                                  [virtual]
                                  +
                                  + + + + + +
                                  +   + + +

                                  +Fill a channel of the StkFrames object with computed outputs. +

                                  +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                                  +Implements FM.

                                  +


                                  The documentation for this class was generated from the following file:
                                  - +
                                  The Synthesis ToolKit in C++ (STK)
                                  The Synthesis ToolKit in C++ (STK)
                                  ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                  diff --git a/doc/html/classWvIn-members.html b/doc/html/classWvIn-members.html index b43b101..ebc4469 100644 --- a/doc/html/classWvIn-members.html +++ b/doc/html/classWvIn-members.html @@ -10,47 +10,52 @@

                                  WvIn Member List

                                  This is the complete list of members for WvIn, including all inherited members. - + - + + + - + - - - - - + + + - + - - - + + + + + - + + - - - + + + + + - +
                                  addTime(MY_FLOAT aTime)WvIn [virtual]
                                  addTime(StkFloat aTime)WvIn [virtual]
                                  closeFile(void)WvIn
                                  getChannels(void) const WvIn
                                  getFileRate(void) const WvIn
                                  getSize(void) const WvIn
                                  handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                                  handleError(const char *message, StkError::Type type)Stk [static]
                                  handleError(std::string message, StkError::Type type)Stk [static]
                                  handleError(StkError::Type type)Stk [protected]
                                  isFinished(void) const WvIn
                                  lastFrame(void) const WvIn [virtual]
                                  lastFrame(void) const WvIn [virtual]
                                  lastOut(void) const WvIn [virtual]
                                  MY_FLOAT32Stk [static]
                                  MY_FLOAT64Stk [static]
                                  normalize(void)WvIn
                                  normalize(MY_FLOAT peak)WvIn
                                  openFile(const char *fileName, bool raw=FALSE, bool doNormalize=TRUE)WvIn
                                  rawwavePath(void)Stk [static]
                                  normalize(StkFloat peak)WvIn
                                  openFile(std::string fileName, bool raw=false, bool doNormalize=true)WvIn
                                  rawwavePath(void)Stk [inline, static]
                                  reset(void)WvIn
                                  sampleRate(void)Stk [static]
                                  sampleRate(void)Stk [inline, static]
                                  setInterpolate(bool doInterpolate)WvIn
                                  setRate(MY_FLOAT aRate)WvIn
                                  setRawwavePath(std::string newPath)Stk [static]
                                  setSampleRate(MY_FLOAT newRate)Stk [static]
                                  setRate(StkFloat aRate)WvIn
                                  setRawwavePath(std::string path)Stk [static]
                                  setSampleRate(StkFloat rate)Stk [inline, static]
                                  sleep(unsigned long milliseconds)Stk [static]
                                  Stk(void)Stk [protected]
                                  STK_FLOAT32Stk [static]
                                  STK_FLOAT64Stk [static]
                                  STK_SINT16Stk [static]
                                  STK_SINT32Stk [static]
                                  STK_SINT24Stk [static]
                                  STK_SINT32Stk [static]
                                  STK_SINT8Stk [static]
                                  swap16(unsigned char *ptr)Stk [static]
                                  swap32(unsigned char *ptr)Stk [static]
                                  swap64(unsigned char *ptr)Stk [static]
                                  tick(void)WvIn [virtual]
                                  tick(MY_FLOAT *vector, unsigned int vectorSize)WvIn [virtual]
                                  tickFrame(void)WvIn [virtual]
                                  tickFrame(MY_FLOAT *frameVector, unsigned int frames)WvIn [virtual]
                                  tick(StkFloat *vector, unsigned int vectorSize)WvIn [virtual]
                                  tick(StkFrames &frames, unsigned int channel=1)WvIn [virtual]
                                  tickFrame(void)WvIn [virtual]
                                  tickFrame(StkFloat *frameVector, unsigned int frames)WvIn [virtual]
                                  tickFrame(StkFrames &frames)WvIn [virtual]
                                  WvIn()WvIn
                                  WvIn(const char *fileName, bool raw=FALSE, bool doNormalize=TRUE)WvIn
                                  WvIn(std::string fileName, bool raw=false, bool doNormalize=true)WvIn
                                  ~Stk(void)Stk [protected, virtual]
                                  ~WvIn()WvIn [virtual]

                                  - +
                                  The Synthesis ToolKit in C++ (STK)
                                  The Synthesis ToolKit in C++ (STK)
                                  ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                  diff --git a/doc/html/classWvIn.html b/doc/html/classWvIn.html index bac40c8..bdcc12c 100644 --- a/doc/html/classWvIn.html +++ b/doc/html/classWvIn.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                                  -

                                  WvIn Class Reference

                                  STK audio data input base class. -More... -

                                  -#include <WvIn.h> +

                                  WvIn Class Reference

                                  #include <WvIn.h>

                                  Inheritance diagram for WvIn:

                                  @@ -22,21 +19,34 @@ TcpWvIn WaveLoop -List of all members. +List of all members.

                                  Detailed Description

                                  +STK audio data input base class. +

                                  +This class provides input support for various audio file formats. It also serves as a base class for "realtime" streaming subclasses.

                                  +WvIn loads the contents of an audio file for subsequent output. Linear interpolation is used for fractional "read rates".

                                  +WvIn supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return pointers to multi-channel sample frames. For single-channel data, these methods return equivalent values.

                                  +Small files are completely read into local memory during instantiation. Large files are read incrementally from disk. The file size threshold and the increment size values are defined in WvIn.h.

                                  +When the end of a file is reached, subsequent calls to the tick() functions return the data values at the end of the file.

                                  +WvIn currently supports WAV, AIFF, SND (AU), MAT-file (Matlab), and STK RAW file formats. Signed integer (8-, 16-, and 32-bit) and floating- point (32- and 64-bit) data types are supported. Compressed data types are not supported. If using MAT-files, data should be saved in an array with each data channel filling a matrix row. The sample rate for MAT-files is assumed to be 44100 Hz.

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

                                  + +

                                  +Definition at line 57 of file WvIn.h.

                                  - + - + - + - + - + +virtual void  +virtual StkFloat  - + - + - + + + + - + - - + + - + + + +

                                  Public Member Functions

                                   WvIn ()
                                   Default constructor.

                                   WvIn (const char *fileName, bool raw=FALSE, bool doNormalize=TRUE)
                                   WvIn (std::string fileName, bool raw=false, bool doNormalize=true)
                                   Overloaded constructor for file input.

                                  virtual ~WvIn ()
                                   Class destructor.

                                  void openFile (const char *fileName, bool raw=FALSE, bool doNormalize=TRUE)
                                  void openFile (std::string fileName, bool raw=false, bool doNormalize=true)
                                   Open the specified file and load its data.

                                  @@ -50,7 +60,7 @@ void void normalize (void)
                                   Normalize data to a maximum of +-1.0.

                                  void normalize (MY_FLOAT peak)
                                  void normalize (StkFloat peak)
                                   Normalize data to a maximum of +-peak.

                                  @@ -61,57 +71,51 @@ unsigned long getChannels (void) const
                                   Return the number of audio channels in the file.

                                  MY_FLOAT getFileRate (void) const
                                  StkFloat getFileRate (void) const
                                   Return the input file sample rate in Hz (not the data read rate).

                                  bool isFinished (void) const
                                   Query whether reading is complete.

                                  void setRate (MY_FLOAT aRate)
                                  void setRate (StkFloat aRate)
                                   Set the data read rate in samples. The rate can be negative.

                                  -virtual void addTime (MY_FLOAT aTime)
                                  addTime (StkFloat aTime)
                                   Increment the read pointer by aTime samples.

                                  void setInterpolate (bool doInterpolate)
                                   Turn linear interpolation on/off.

                                  -virtual MY_FLOAT lastOut (void) const
                                  lastOut (void) const
                                   Return the average across the last output sample frame.

                                  virtual MY_FLOAT tick (void)
                                  virtual StkFloat tick (void)
                                   Read out the average across one sample frame of data.

                                  virtual MY_FLOAT * tick (MY_FLOAT *vector, unsigned int vectorSize)
                                  virtual StkFloat * tick (StkFloat *vector, unsigned int vectorSize)
                                   Read out vectorSize averaged sample frames of data in vector.

                                  -virtual const MY_FLOAT * lastFrame (void) const
                                  virtual StkFramestick (StkFrames &frames, unsigned int channel=1)
                                   Fill a channel of the StkFrames object with averaged sample frames.

                                  +virtual const StkFloat * lastFrame (void) const
                                   Return a pointer to the last output sample frame.

                                  virtual const MY_FLOAT * tickFrame (void)
                                  virtual const StkFloat * tickFrame (void)
                                   Return a pointer to the next sample frame of data.

                                  virtual MY_FLOAT * tickFrame (MY_FLOAT *frameVector, unsigned int frames)
                                   Return a pointer to the next sample frame of data.

                                  virtual StkFloat * tickFrame (StkFloat *frameVector, unsigned int frames)
                                   Read out sample frames of data to frameVector.

                                   Read out sample frames of data to frameVector.

                                  virtual StkFramestickFrame (StkFrames &frames)
                                   Fill the StkFrames object with sample frames of data and return the same reference.

                                  -

                                  Detailed Description

                                  -STK audio data input base class. -

                                  -This class provides input support for various audio file formats. It also serves as a base class for "realtime" streaming subclasses.

                                  -WvIn loads the contents of an audio file for subsequent output. Linear interpolation is used for fractional "read rates".

                                  -WvIn supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which return samples produced by averaging across sample frames, from the tickFrame() methods, which return pointers to multi-channel sample frames. For single-channel data, these methods return equivalent values.

                                  -Small files are completely read into local memory during instantiation. Large files are read incrementally from disk. The file size threshold and the increment size values are defined in WvIn.h.

                                  -WvIn currently supports WAV, AIFF, SND (AU), MAT-file (Matlab), and STK RAW file formats. Signed integer (8-, 16-, and 32-bit) and floating- point (32- and 64-bit) data types are supported. Uncompressed data types are not supported. If using MAT-files, data should be saved in an array with each data channel filling a matrix row.

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

                                  - -

                                  -Definition at line 52 of file WvIn.h.


                                  Constructor & Destructor Documentation

                                  +

                                  Constructor & Destructor Documentation

                                  @@ -120,20 +124,20 @@ Definition at line 52 of fil - + - + - + @@ -167,20 +171,20 @@ An StkError will be thrown if the fi - + - + - + @@ -244,7 +248,7 @@ For large, incrementally loaded files with integer data types, normalization is - + @@ -273,7 +277,7 @@ For large, incrementally loaded files with integer data types, normalization is +Definition at line 52 of file WvOut.h.
                                  WvIn::WvIn const char * std::string  fileName,
                                  bool  raw = FALSE, raw = false,
                                  bool  doNormalize = TRUE doNormalize = true
                                  void WvIn::openFile const char * std::string  fileName,
                                  bool  raw = FALSE, raw = false,
                                  bool  doNormalize = TRUE doNormalize = true
                                  void WvIn::normalize MY_FLOAT StkFloat  peak  )  - + @@ -306,7 +310,7 @@ WAV, SND, and AIF formatted files specify a sample rate in their headers. STK RA - + @@ -366,7 +370,7 @@ Interpolation is automatically off when the read rate is an integer value. If in +Definition at line 51 of file WvOut.h.
                                  MY_FLOAT WvIn::getFileRate StkFloat WvIn::getFileRate void 
                                  void WvIn::setRate MY_FLOAT StkFloat  aRate  )  - + @@ -399,9 +403,9 @@ Reimplemented in RtWvIn, and
                                  virtual MY_FLOAT WvIn::tick virtual StkFloat WvIn::tick void 
                                  - + - + @@ -435,13 +439,55 @@ An StkError will be thrown if a file Reimplemented in RtWvIn, and TcpWvIn.
                                  virtual MY_FLOAT* WvIn::tick virtual StkFloat* WvIn::tick MY_FLOAT * StkFloat *  vector,
                                  -

                                  +

                                  + +
                                  - + + + + + + + + + + + + + + + + + +
                                  virtual const MY_FLOAT* WvIn::tickFrame virtual StkFrames& WvIn::tick StkFrames frames,
                                  unsigned int  channel = 1
                                  [virtual]
                                  +
                                  + + + + + +
                                  +   + + +

                                  +Fill a channel of the StkFrames object with averaged sample frames. +

                                  +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if a file is read incrementally and a read error occurs or the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                                  +Reimplemented in RtWvIn, and TcpWvIn.

                                  +

                                  + + + +Definition at line 50 of file WvOut.h.
                                  + + + @@ -465,18 +511,18 @@ Return a pointer to the next sample frame of data.

                                  An StkError will be thrown if a file is read incrementally and a read error occurs.

                                  -Reimplemented in RtWvIn, TcpWvIn, and WaveLoop. +Reimplemented in RtWvIn, TcpWvIn, and WaveLoop.

                                  virtual const StkFloat* WvIn::tickFrame void 
                                  -

                                  +

                                  +Definition at line 49 of file WvOut.h.
                                  - + - + @@ -507,7 +553,40 @@ Read out sample frames of data to frameVector.

                                  An StkError will be thrown if a file is read incrementally and a read error occurs.

                                  -Reimplemented in RtWvIn, and TcpWvIn. +Reimplemented in RtWvIn, TcpWvIn, and WaveLoop. +

                                  +
                                  virtual MY_FLOAT* WvIn::tickFrame virtual StkFloat* WvIn::tickFrame MY_FLOAT * StkFloat *  frameVector,
                                  +

                                  + + + + +
                                  + + + + + + + + + + +
                                  virtual StkFrames& WvIn::tickFrame StkFrames frames  )  [virtual]
                                  +
                                  + + + +
                                  +   + + +

                                  +Fill the StkFrames object with sample frames of data and return the same reference. +

                                  +An StkError will be thrown if a file is read incrementally and a read error occurs or if there is an incompatability between the number of channels in the WvIn object and that in the StkFrames object. +

                                  +Reimplemented in RtWvIn, TcpWvIn, and WaveLoop.


                                  The documentation for this class was generated from the following file:
                                    @@ -515,7 +594,7 @@ Reimplemented in RtWvIn, and - +
                                    The Synthesis ToolKit in C++ (STK)
                                    The Synthesis ToolKit in C++ (STK)
                                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                    diff --git a/doc/html/classWvOut-members.html b/doc/html/classWvOut-members.html index 3b8c2ce..bfd1bab 100644 --- a/doc/html/classWvOut-members.html +++ b/doc/html/classWvOut-members.html @@ -11,29 +11,36 @@

                                    WvOut Member List

                                    This is the complete list of members for
                                    WvOut, including all inherited members. + - - - - - - - - + + + + + + + + + + + - + + - - - + + + + + - + @@ -44,7 +51,7 @@
                                    closeFile(void)WvOut
                                    getClipStatus(void)WvOut [inline]
                                    getFrames(void) const WvOut
                                    getTime(void) const WvOut
                                    handleError(const char *message, StkError::TYPE type)Stk [protected, static]
                                    MY_FLOAT32Stk [static]
                                    MY_FLOAT64Stk [static]
                                    openFile(const char *fileName, unsigned int nChannels=1, WvOut::FILE_TYPE type=WVOUT_WAV, Stk::STK_FORMAT format=STK_SINT16)WvOut
                                    rawwavePath(void)Stk [static]
                                    sampleRate(void)Stk [static]
                                    setRawwavePath(std::string newPath)Stk [static]
                                    setSampleRate(MY_FLOAT newRate)Stk [static]
                                    handleError(const char *message, StkError::Type type)Stk [static]
                                    handleError(std::string message, StkError::Type type)Stk [static]
                                    handleError(StkError::Type type)Stk [protected]
                                    openFile(const char *fileName, unsigned int nChannels=1, WvOut::FILE_TYPE type=WVOUT_WAV, Stk::StkFormat format=STK_SINT16)WvOut
                                    rawwavePath(void)Stk [inline, static]
                                    resetClipStatus(void)WvOut [inline]
                                    sampleRate(void)Stk [inline, static]
                                    setRawwavePath(std::string path)Stk [static]
                                    setSampleRate(StkFloat rate)Stk [inline, static]
                                    sleep(unsigned long milliseconds)Stk [static]
                                    Stk(void)Stk [protected]
                                    STK_FLOAT32Stk [static]
                                    STK_FLOAT64Stk [static]
                                    STK_SINT16Stk [static]
                                    STK_SINT32Stk [static]
                                    STK_SINT24Stk [static]
                                    STK_SINT32Stk [static]
                                    STK_SINT8Stk [static]
                                    swap16(unsigned char *ptr)Stk [static]
                                    swap32(unsigned char *ptr)Stk [static]
                                    swap64(unsigned char *ptr)Stk [static]
                                    tick(const MY_FLOAT sample)WvOut [virtual]
                                    tick(const MY_FLOAT *vector, unsigned int vectorSize)WvOut [virtual]
                                    tickFrame(const MY_FLOAT *frameVector, unsigned int frames=1)WvOut [virtual]
                                    tick(const StkFloat sample)WvOut [virtual]
                                    tick(const StkFloat *vector, unsigned int vectorSize)WvOut [virtual]
                                    tick(const StkFrames &frames, unsigned int channel=1)WvOut [virtual]
                                    tickFrame(const StkFloat *frameVector, unsigned int frames=1)WvOut [virtual]
                                    tickFrame(const StkFrames &frames)WvOut [virtual]
                                    WvOut()WvOut
                                    WvOut(const char *fileName, unsigned int nChannels=1, FILE_TYPE type=WVOUT_WAV, Stk::STK_FORMAT format=STK_SINT16)WvOut
                                    WvOut(const char *fileName, unsigned int nChannels=1, FILE_TYPE type=WVOUT_WAV, Stk::StkFormat format=STK_SINT16)WvOut
                                    WVOUT_AIFWvOut [static]
                                    WVOUT_MATWvOut [static]
                                    WVOUT_RAWWvOut [static]

                                    - +
                                    The Synthesis ToolKit in C++ (STK)
                                    The Synthesis ToolKit in C++ (STK)
                                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                    diff --git a/doc/html/classWvOut.html b/doc/html/classWvOut.html index 9088f56..9ab8cf8 100644 --- a/doc/html/classWvOut.html +++ b/doc/html/classWvOut.html @@ -9,10 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                                    -

                                    WvOut Class Reference

                                    STK audio data output base class. -More... -

                                    -#include <WvOut.h> +

                                    WvOut Class Reference

                                    #include <WvOut.h>

                                    Inheritance diagram for WvOut:

                                    @@ -21,21 +18,32 @@ RtWvOut TcpWvOut -List of all members. +List of all members.

                                    Detailed Description

                                    +STK audio data output base class. +

                                    +This class provides output support for various audio file formats. It also serves as a base class for "realtime" streaming subclasses.

                                    +WvOut writes samples to an audio file. It supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame, from the tickFrame() method, which takes a pointer to multi-channel sample frame data.

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

                                    +Currently, WvOut is non-interpolating and the output rate is always Stk::sampleRate().

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

                                    + +

                                    +Definition at line 43 of file WvOut.h.

                                    - + - + +StkFloat  - + - - + + - - + + - + + + + + + + + + + + + + @@ -71,18 +93,7 @@ MY_FLOAT 

                                    Public Member Functions

                                     WvOut ()
                                     Default constructor.

                                     WvOut (const char *fileName, unsigned int nChannels=1, FILE_TYPE type=WVOUT_WAV, Stk::STK_FORMAT format=STK_SINT16)
                                     WvOut (const char *fileName, unsigned int nChannels=1, FILE_TYPE type=WVOUT_WAV, Stk::StkFormat format=STK_SINT16)
                                     Overloaded constructor used to specify a file name, type, and data format with this object.

                                    virtual ~WvOut ()
                                     Class destructor.

                                    void openFile (const char *fileName, unsigned int nChannels=1, WvOut::FILE_TYPE type=WVOUT_WAV, Stk::STK_FORMAT format=STK_SINT16)
                                    void openFile (const char *fileName, unsigned int nChannels=1, WvOut::FILE_TYPE type=WVOUT_WAV, Stk::StkFormat format=STK_SINT16)
                                     Create a file of the specified type and name and output samples to it in the given data format.

                                    @@ -47,18 +55,32 @@ unsigned long  Return the number of sample frames output.

                                    -MY_FLOAT getTime (void) const
                                    getTime (void) const
                                     Return the number of seconds of data output.

                                    virtual void tick (const MY_FLOAT sample)
                                    +bool getClipStatus (void)
                                     Output a single sample to all channels in a sample frame.

                                    virtual void tick (const MY_FLOAT *vector, unsigned int vectorSize)
                                     Returns true if clipping has been detected during output since instantiation or the last reset.

                                    +void resetClipStatus (void)
                                     Output each sample in vector to all channels in vectorSize sample frames.

                                    virtual void tickFrame (const MY_FLOAT *frameVector, unsigned int frames=1)
                                     Reset the clipping status to false.

                                    virtual void tick (const StkFloat sample)
                                     Output the frameVector of sample frames of the given length.

                                     Output a single sample to all channels in a sample frame.

                                    virtual void tick (const StkFloat *vector, unsigned int vectorSize)
                                     Output each sample in vector to all channels in vectorSize sample frames.

                                    virtual void tick (const StkFrames &frames, unsigned int channel=1)
                                     Output a channel of the StkFrames object to all channels of the WvOut object.

                                    virtual void tickFrame (const StkFloat *frameVector, unsigned int frames=1)
                                     Output the frameVector of sample frames of the given length.

                                    virtual void tickFrame (const StkFrames &frames)
                                     Output the StkFrames data to the WvOut object.


                                    Static Public Attributes

                                    const FILE_TYPE WVOUT_RAW
                                    const FILE_TYPE WVOUT_MAT
                                    -

                                    Detailed Description

                                    -STK audio data output base class. -

                                    -This class provides output support for various audio file formats. It also serves as a base class for "realtime" streaming subclasses.

                                    -WvOut writes samples to an audio file. It supports multi-channel data in interleaved format. It is important to distinguish the tick() methods, which output single samples to all channels in a sample frame, from the tickFrame() method, which takes a pointer to multi-channel sample frame data.

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

                                    -Currently, WvOut is non-interpolating and the output rate is always Stk::sampleRate().

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

                                    - -

                                    -Definition at line 44 of file WvOut.h.


                                    Constructor & Destructor Documentation

                                    +

                                    Constructor & Destructor Documentation

                                    @@ -109,7 +120,7 @@ Definition at line 44 of fi - + @@ -162,7 +173,7 @@ An StkError is thrown for invalid ar - + @@ -188,7 +199,7 @@ Create a file of the specified type and name and output samples to it in the giv An StkError is thrown for invalid argument values or if an error occurs when initializing the output file.
                                    Stk::STK_FORMAT Stk::StkFormat  format = STK_SINT16
                                    Stk::STK_FORMAT Stk::StkFormat  format = STK_SINT16
                                    -

                                    +

                                    - + @@ -221,7 +232,7 @@ An StkError is thrown if a file writ Reimplemented in RtWvOut, and TcpWvOut.
                                    @@ -196,7 +207,7 @@ An StkError is thrown for invalid ar
                                    virtual void WvOut::tick const MY_FLOAT const StkFloat  sample  )  [virtual]
                                    -

                                    +

                                    - + @@ -263,7 +274,49 @@ An StkError is thrown if a file writ Reimplemented in RtWvOut, and TcpWvOut.
                                    @@ -229,7 +240,7 @@ Reimplemented in RtWvOut, and virtual void WvOut::tick const MY_FLOAT * const StkFloat *  vector,
                                    -

                                    +

                                    + + + + +
                                    + + + + + + + + + + + + + + + + + + + +
                                    virtual void WvOut::tick const StkFrames frames,
                                    unsigned int  channel = 1
                                    [virtual]
                                    +
                                    + + + + + +
                                    +   + + +

                                    +Output a channel of the StkFrames object to all channels of the WvOut object. +

                                    +The channel argument should be one or greater (the first channel is specified by 1). An StkError will be thrown if a file write error occurs or the channel argument is zero or it is greater than the number of channels in the StkFrames object. +

                                    +Reimplemented in RtWvOut, and TcpWvOut.

                                    +

                                    - + @@ -302,7 +355,40 @@ Output the frameVector of sample frames of the given length.

                                    An StkError is thrown if a file write error occurs.

                                    -Reimplemented in RtWvOut, and TcpWvOut. +Reimplemented in RtWvOut, and TcpWvOut. +

                                    +
                                    @@ -271,7 +324,7 @@ Reimplemented in RtWvOut, and virtual void WvOut::tickFrame const MY_FLOAT * const StkFloat *  frameVector,
                                    +

                                    + + + + +
                                    + + + + + + + + + + +
                                    virtual void WvOut::tickFrame const StkFrames frames  )  [virtual]
                                    +
                                    + + + +
                                    +   + + +

                                    +Output the StkFrames data to the WvOut object. +

                                    +An StkError will be thrown if a file write error occurs or if there is an incompatability between the number of channels in the WvOut object and that in the StkFrames object. +

                                    +Reimplemented in RtWvOut, and TcpWvOut.


                                    Member Data Documentation

                                    @@ -327,7 +413,7 @@ Reimplemented in RtWvOut, and STK RAW file type.

                                    -Definition at line 50 of file WvOut.h.

                                  @@ -351,7 +437,7 @@ Definition at line 50 of fi

                                  WAV file type.

                                  -Definition at line 51 of file WvOut.h.

                                  @@ -375,7 +461,7 @@ Definition at line 51 of fi

                                  SND (AU) file type.

                                  -Definition at line 52 of file WvOut.h.

                                  @@ -399,7 +485,7 @@ Definition at line 52 of fi

                                  AIFF file type.

                                  -Definition at line 53 of file WvOut.h.

                                  @@ -423,7 +509,7 @@ Definition at line 53 of fi

                                  Matlab MAT-file type.

                                  -Definition at line 54 of file WvOut.h. +Definition at line 53 of file WvOut.h.


                                  The documentation for this class was generated from the following file:
                                    @@ -431,7 +517,7 @@ Definition at line 54 of fi
                                    - +
                                    The Synthesis ToolKit in C++ (STK)
                                    The Synthesis ToolKit in C++ (STK)
                                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                    diff --git a/doc/html/classes.html b/doc/html/classes.html index 906cb2b..e270909 100644 --- a/doc/html/classes.html +++ b/doc/html/classes.html @@ -22,7 +22,7 @@
                                    - +
                                    The Synthesis ToolKit in C++ (STK)
                                    The Synthesis ToolKit in C++ (STK)
                                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                    diff --git a/doc/html/compile.html b/doc/html/compile.html index 2372e2b..f89d791 100644 --- a/doc/html/compile.html +++ b/doc/html/compile.html @@ -11,31 +11,31 @@

                                    Compiling

                                    The Synthesis ToolKit can be used in a variety of ways, depending on your particular needs. Some people choose the classes they need for a particular project and copy those to their working directory. Others create Makefiles which compile project-specific class objects from common src and include directories. And still others like to compile and link to a common library of object files. STK was not designed with one particular style of use in mind.

                                    "Realtime" vs. "Non-Realtime"

                                    -Most of the Synthesis ToolKit classes are platform independent. That means that they should compile on any reasonably current C++ compiler. The functionality needed for realtime audio and MIDI input/output, as well as realtime control message acquistion, is inherently platform and operating-system (OS) dependent. STK classes 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 __LINUX_OSS__, __LINUX_ALSA__, __IRIX_AL__, __MACOSX_CORE__, __WINDOWS_DS__, or __WINDOWS_ASIO__ 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 __LITTLE_ENDIAN__ preprocessor definition should be provided.

                                    +Most of the Synthesis ToolKit classes are platform independent. That means that they should compile on any reasonably current C++ compiler. The functionality needed for realtime audio and MIDI input/output, as well as realtime control message acquistion, is inherently platform and operating-system (OS) dependent. STK classes which require specific platform/OS support include RtAudio, RtWvOut, RtWvIn, RtDuplex, RtMidi, TcpWvIn, TcpWvOut, Socket, Thread, and Mutex. These classes currently can only be compiled on Linux, Irix, Macintosh OS X, and Windows systems.

                                    +Without the "realtime" classes, it is still possible to read SKINI scorefiles for control input and to read and write to/from a variety of audio file formats (WAV, SND, AIFF, MAT-file, and RAW). If compiling for a "little-endian" host processor, the __LITTLE_ENDIAN__ preprocessor definition should be provided.

                                    Unix Systems:

                                    STK compiles with realtime support on the following flavors of the Unix operating system: Linux, Irix, and Macintosh OS X. Aside from differences in compilers, audio/MIDI APIs, and host endianness, the steps necessary to compile STK programs and classes on these platforms are the same. The following table summarizes these differences.

                                    - + - + - + - +
                                    OS: Realtime Audio/MIDI API: Preprocessor Definition: Library or Framework:
                                    Linux ALSA __LINUX_ALSA__, __LITTLE_ENDIAN__ asound, pthread
                                    Linux ALSA __LINUX_ALSA__, __LINUX_ALSASEQ__, __LITTLE_ENDIAN__ asound, pthread
                                    Linux OSS __LINUX_OSS__, __LITTLE_ENDIAN__ pthread
                                    Linux OSS (audio only, use ALSA for MIDI support) __LINUX_OSS__, __LINUX_ALSASEQ__, __LITTLE_ENDIAN__ asound, pthread
                                    Macintosh OS X CoreAudio __MACOSX_CORE__ pthread, stdc++, CoreAudio, CoreMIDI, CoreFoundation
                                    Macintosh OS X CoreAudio __MACOSX_CORE__ pthread, CoreAudio, CoreMIDI, CoreFoundation
                                    Irix AL __IRIX_AL__ audio, pthread
                                    Irix AL __IRIX_AL__, __IRIX_MD__ audio, pthread

                                    The available C++ compilers on any of these systems can vary.

                                    -One approach in using STK is to simply copy the class files needed for a particular program into a project directory. Taking the sineosc.cpp example from the previous tutorial chapter, it would be necessary to set up a directory that includes the files sineosc.cpp, the rawwave file sinewave.raw in a subdirectory called rawwaves, and the header and source files for the classes Stk, WvIn, WaveLoop, and WvOut. The program could then be compiled on a Linux system using the GNU g++ compiler as follows:

                                    g++ -Wall -D__LITTLE_ENDIAN__ -o sineosc Stk.cpp WvIn.cpp WaveLoop.cpp WvOut.cpp sineosc.cpp
                                    +One approach in using STK is to simply copy the class files needed for a particular program into a project directory. Taking the sineosc.cpp example from the previous tutorial chapter, it would be necessary to set up a directory that includes the files sineosc.cpp, the rawwave file sinewave.raw in a subdirectory called rawwaves, and the header and source files for the classes Stk, WvIn, WaveLoop, and WvOut. The program could then be compiled on a little-endian system, such as a PC running Linux, using the GNU g++ compiler as follows: 
                                    g++ -Wall -D__LITTLE_ENDIAN__ -o sineosc Stk.cpp WvIn.cpp WaveLoop.cpp WvOut.cpp sineosc.cpp
                                     

                                    Note that the sineosc.cpp example does not make use of realtime audio or MIDI input/output classes. For programs using any of the STK realtime classes mentioned above, it is necessary to specify an audio/MIDI API preprocessor definition and link with the appropriate libraries or frameworks.

                                    -When working with a number of different projects that make use of ToolKit classes, the above approach can become cumbersome (especially when trying to synchronize with new STK releases). Most of the STK projects (e.g., demo, effects, ...) contain Makefiles (built by the configure script) which compile project-specific class objects from the distribution src and include directories. This approach makes it relatively easy when upgrading to a new STK release (by making path substitutions in the Makefile or by moving the projects to a similar relative path within the new STK source tree). A Makefile is provided in the projects/examples directory for compiling all the tutorial programs, as well as other example programs. To compile the sineosc.cpp program, for example, one need only type make sineosc from within the projects/examples directory. Note that this particular Makefile depends on a static library, as described in the next section.

                                    +When working with a number of different projects that make use of ToolKit classes, the above approach can become cumbersome (especially when trying to synchronize with new STK releases). Most of the STK projects (e.g., demo, effects, ...) contain Makefiles (built by the configure script) which compile project-specific class objects from the distribution src and include directories. This approach makes it relatively easy when upgrading to a new STK release (by making path substitutions in the Makefile or by moving the projects to a similar relative path within the new STK source tree). A Makefile is provided in the projects/examples directory for compiling all the tutorial programs, as well as other example programs. To compile the sineosc.cpp program, for example, one need only type make sineosc from within the projects/examples directory.

                                    Library Use:

                                    -The STK distribution provides a Makefile that can be used on Unix systems to build a static library. After unpacking the distribution (tar -xzf stk-4.x.tar.gz), run the configure script by typing ./configure from the top level distribution directory (see the INSTALL file in the same directory for more information). Then from within the src directory, type make. After a successful build, you may wish to move the library (libstk.a) and the contents of the include directory to standard library and include search paths on your system. For example, the linux RPM distribution of STK puts the library in /usr/lib/ and the STK header files in /usr/include/stk/.

                                    -Assuming the library is located in a standard search path and the header files are located in /usr/include/stk/, the sineosc.cpp example from the previous tutorial chapter can be compiled on a Linux system using the GNU g++ compiler as follows:

                                    +The STK distribution provides a Makefile that can be used on Unix systems to build a static library. After unpacking the distribution (tar -xzf stk-4.x.x.tar.gz), run the configure script by typing ./configure from the top level distribution directory (see the INSTALL file in the same directory for more information). Then from within the src directory, type make. After a successful build, you may wish to move the library (libstk.a) and the contents of the include directory to standard library and include search paths on your system. For example, the linux RPM distribution of STK puts the library in /usr/lib/ and the STK header files in /usr/include/stk/.

                                    +Assuming the library is located in a standard search path and the header files are located in /usr/include/stk/, the sineosc.cpp example from the previous tutorial chapter can be compiled on a little-endian system using the GNU g++ compiler as follows:

                                    g++ -Wall -D__LITTLE_ENDIAN__ -I/usr/include/stk -o sineosc sineosc.cpp -lstk
                                     

                                    With the header files in a standard search path, it is possible to modify the #include statements in the sineosc.cpp program as follows:

                                    @@ -48,12 +48,12 @@ and then compile without an explicit include path argument to the compiler:

                                    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 src and include 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 sineosc.cpp, and make sure the sinewave.raw file is in the subdirectory rawwaves.

                                    -For programs using any of the STK realtime classes mentioned above, it is necessary to link with the DirectSound (dsound.lib), winmm.lib, and Wsock32.lib libraries, select the multithreaded library, and provide the __LITTLE_ENDIAN__ and __WINDOWS_DS__ preprocessor definitions.

                                    -For Steinberg ASIO support, use the __WINDOWS_ASIO__ preprocessor definition, include all the files in the src/asio/ directory (i.e., asio.h,cpp, asiodrivers.h,cpp, ...), and link with the winmm.lib, and Wsock32.lib libraries.

                                    -[Next tutorial]   [Main tutorial page]


                                    +For programs using any of the STK realtime classes mentioned above, it is necessary to link with the DirectSound (dsound.lib), winmm.lib, and Wsock32.lib libraries, select the multithreaded library, and provide the __LITTLE_ENDIAN__, __WINDOWS_DS__, and __WINDOWS_MM__ preprocessor definitions.

                                    +For Steinberg ASIO support, use the __WINDOWS_ASIO__ preprocessor definition (and the __WINDOWS_MM__ definition for RtMidi support), include all the files in the src/asio/ directory (i.e., asio.h,cpp, asiodrivers.h,cpp, ...), and link with the winmm.lib, and Wsock32.lib libraries.

                                    +[Next tutorial]   [Main tutorial page]


                                    - +
                                    The Synthesis ToolKit in C++ (STK)
                                    The Synthesis ToolKit in C++ (STK)
                                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                    diff --git a/doc/html/controlin.html b/doc/html/controlin.html index e4afb37..18985e0 100644 --- a/doc/html/controlin.html +++ b/doc/html/controlin.html @@ -10,7 +10,7 @@

                                    Control Input

                                    Each Synthesis ToolKit instrument exposes its relevant control parameters via public functions such as setFrequency() and controlChange(). Programmers are free to implement the control scheme of their choice in exposing those parameters to the user.

                                    -A text-based control protocol called SKINI is provided with the Synthesis ToolKit. SKINI extends the MIDI protocol in incremental ways, providing a text-based messaging scheme in human-readable format and making use of floating-point numbers wherever possible. Each SKINI message consists of a message type (e.g., NoteOn, PitchBend), a time specification (absolute or delta), a channel number (scanned as a long integer), and a maximum of two subsequent message-specific field values. Knowing this, it should be relatively clear what the following SKINI "scorefile" specifies:

                                    +A text-based control protocol called SKINI is provided with the Synthesis ToolKit. SKINI extends the MIDI protocol in incremental ways, providing a text-based messaging scheme in human-readable format and making use of floating-point numbers wherever possible. Each SKINI message consists of a message type (e.g., NoteOn, PitchBend), a time specification (absolute or delta), a channel number (scanned as a long integer), and a maximum of two subsequent message-specific field values. Knowing this, it should be relatively clear what the following SKINI "scorefile" specifies:

                                    NoteOn          0.000082  2  55.0  82.3
                                     NoteOff         1.000000  2  55.0  64.0
                                     NoteOn          0.000082  2  69.0  82.8
                                    @@ -22,109 +22,196 @@ StringDetune    0.100000  2  22.0
                                     StringDetune    0.100000  2  12.0
                                     NoteOff         1.000000  2  69.0  64.0
                                     

                                    -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 bethree.cpp program from the previous tutorial chapter and incorporate a Messager class to allow control via a SKINI scorefile.

                                    -

                                    // controlbee.cpp
                                    +MIDI messages are easily represented within the SKINI protocol.

                                    +The class Messager can be used to acquire and parse MIDI messages from a MIDI device and SKINI messages from STDIN and socket connections. Incoming messages are acquired asynchronously and saved to an internal message queue of Skini::Message types (MIDI messages are converted to the Skini:Message format). The user then uses the Messager:popMessage() function to retrieve incoming control messages. This function does not block, instead returning a message type of zero when no more messages are in the queue. Many of the example programs included with the ToolKit distribution use a Messager instance to accept control input from the accompanying tcl/tk graphical user interfaces, from external MIDI devices, or from SKINI scorefiles.

                                    +In the following example, we'll modify the bethree.cpp program from the previous tutorial chapter and incorporate a Messager class to allow control via SKINI messages read from a SKINI file.

                                    +

                                    // controlbee.cpp STK tutorial program
                                     
                                     #include "BeeThree.h"
                                    -#include "RtWvOut.h"
                                    +#include "RtAudio.h"
                                     #include "Messager.h"
                                     #include "SKINI.msg"
                                     #include <math.h>
                                    +#include <algorithm>
                                    +#if !defined(__OS_WINDOWS__) // Windoze bogosity for VC++ 6.0
                                    +  using std::min;
                                    +#endif
                                    +
                                    +void usage(void) {
                                    +  // Error function in case of incorrect command-line
                                    +  // argument specifications.
                                    +  std::cout << "\nuseage: controlbee file\n";
                                    +  std::cout << "    where file = a SKINI scorefile.\n\n";
                                    +  exit(0);
                                    +}
                                     
                                    -int main()
                                    +// The TickData structure holds all the class instances and data that
                                    +// are shared by the various processing functions.
                                    +struct TickData {
                                    +  Instrmnt *instrument;
                                    +  Messager messager;
                                    +  Skini::Message message;
                                    +  int counter;
                                    +  bool haveMessage;
                                    +  bool done;
                                    +
                                    +  // Default constructor.
                                    +  TickData()
                                    +    : instrument(0), counter(0), haveMessage(false), done( false ) {}
                                    +};
                                    +
                                    +#define DELTA_CONTROL_TICKS 64 // default sample frames between control input checks
                                    +
                                    +// The processMessage() function encapsulates the handling of control
                                    +// messages.  It can be easily relocated within a program structure
                                    +// depending on the desired scheduling scheme.
                                    +void processMessage( TickData* data )
                                     {
                                    -  // Set the global sample rate before creating class instances.
                                    -  Stk::setSampleRate( 44100.0 );
                                    +  register StkFloat value1 = data->message.floatValues[0];
                                    +  register StkFloat value2 = data->message.floatValues[1];
                                     
                                    -  Instrmnt *instrument = 0;
                                    -  RtWvOut *output = 0;
                                    -  Messager *messager = 0;
                                    -  bool done = FALSE;
                                    +  switch( data->message.type ) {
                                    +
                                    +  case __SK_Exit_:
                                    +    data->done = true;
                                    +    return;
                                    +
                                    +  case __SK_NoteOn_:
                                    +    if ( value2 == 0.0 ) // velocity is zero ... really a NoteOff
                                    +      data->instrument->noteOff( 0.5 );
                                    +    else { // a NoteOn
                                    +      StkFloat frequency = 220.0 * pow( 2.0, (value1 - 57.0) / 12.0 ); 
                                    +      data->instrument->noteOn( frequency, value2 * ONE_OVER_128 );
                                    +    }
                                    +    break;
                                    +
                                    +  case __SK_NoteOff_:
                                    +    data->instrument->noteOff( value2 * ONE_OVER_128 );
                                    +    break;
                                    +
                                    +  case __SK_ControlChange_:
                                    +    data->instrument->controlChange( (int) value1, value2 );
                                    +    break;
                                    +
                                    +  case __SK_AfterTouch_:
                                    +    data->instrument->controlChange( 128, value1 );
                                    +
                                    +  } // end of switch
                                    +
                                    +  data->haveMessage = false;
                                    +  return;
                                    +}
                                    +
                                    +// This tick() function handles sample computation and scheduling of
                                    +// control updates.  It will be called automatically when the system
                                    +// needs a new buffer of audio samples.
                                    +int tick(char *buffer, int bufferSize, void *dataPointer)
                                    +{
                                    +  TickData *data = (TickData *) dataPointer;
                                    +  register StkFloat *samples = (StkFloat *) buffer;
                                    +  int counter, nTicks = bufferSize;
                                    +
                                    +  while ( nTicks > 0 && !data->done ) {
                                    +
                                    +    if ( !data->haveMessage ) {
                                    +      data->messager.popMessage( data->message );
                                    +      if ( data->message.type > 0 ) {
                                    +        data->counter = (long) (data->message.time * Stk::sampleRate());
                                    +        data->haveMessage = true;
                                    +      }
                                    +      else
                                    +        data->counter = DELTA_CONTROL_TICKS;
                                    +    }
                                    +
                                    +    counter = min( nTicks, data->counter );
                                    +    data->counter -= counter;
                                    +
                                    +    for ( int i=0; i<counter; i++ ) {
                                    +      *samples++ = data->instrument->tick();
                                    +      nTicks--;
                                    +    }
                                    +    if ( nTicks == 0 ) break;
                                    +
                                    +    // Process control messages.
                                    +    if ( data->haveMessage ) processMessage( data );
                                    +  }
                                    +
                                    +  return 0;
                                    +}
                                    +
                                    +int main( int argc, char *argv[] )
                                    +{
                                    +  if ( argc != 2 ) usage();
                                    +
                                    +  // Set the global sample rate and rawwave path before creating class instances.
                                    +  Stk::setSampleRate( 44100.0 );
                                    +  Stk::setRawwavePath( "../../rawwaves/" );
                                    +
                                    +  TickData data;
                                    +  RtAudio *dac = 0;
                                    +
                                    +  // Figure out how many bytes in an StkFloat and setup the RtAudio object.
                                    +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
                                    +  int bufferSize = RT_BUFFER_SIZE;
                                    +  try {
                                    +    dac = new RtAudio(0, 1, 0, 0, format, (int)Stk::sampleRate(), &bufferSize, 4);
                                    +  }
                                    +  catch (RtError& error) {
                                    +    error.printMessage();
                                    +    goto cleanup;
                                    +  }
                                     
                                       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);
                                    +    data.instrument = new BeeThree();
                                       }
                                       catch (StkError &) {
                                         goto cleanup;
                                       }
                                     
                                    +  if ( data.messager.setScoreFile( argv[1] ) == false )
                                    +    goto cleanup;
                                    +
                                       try {
                                    -    // Create a Messager instance to read from a redirected SKINI scorefile.
                                    -    messager = new Messager();
                                    +    dac->setStreamCallback(&tick, (void *)&data);
                                    +    dac->startStream();
                                       }
                                    -  catch (StkError &) {
                                    +  catch (RtError &error) {
                                    +    error.printMessage();
                                         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;
                                    -      }
                                    -    }
                                    +  // Block waiting until callback signals done.
                                    +  while ( !data.done )
                                    +    Stk::sleep( 100 );
                                    +  
                                    +  // Shut down the callback and output stream.
                                    +  try {
                                    +    dac->cancelStreamCallback();
                                    +    dac->closeStream();
                                    +  }
                                    +  catch (RtError &error) {
                                    +    error.printMessage();
                                       }
                                     
                                      cleanup:
                                    -  delete instrument;
                                    -  delete output;
                                    -  delete messager;
                                    +  delete data.instrument;
                                    +  delete dac;
                                     
                                       return 0;
                                     }
                                     

                                    -Assuming the program is compiled as controlbee and the SKINI scorefile bookert.ski is in the scores directory, the scorefile could be redirected to the program as:

                                    -

                                    controlbee < scores/bookert.ski
                                    +A realtime control message will usually have a delta time of zero, in which case it is processed as soon as possible. Non-realtime messages, normally from a scorefile, will usually have non-zero delta times. The scheme used in this example is designed to work for both scorefile and realtime input types. When no message is available from the queue, the instrument is "ticked" for DELTA_CONTROL_TICKS and then the queue is checked again. The value of DELTA_CONTROL_TICKS roughly defines the program "control rate" in a realtime context, though multiple available messages in the queue are processed in immediate succession when their delta time values are zero.

                                    +The processMessage() function centralizes the handling of control messages. Other control update schemes can be implemented, perhaps using a separate thread or in the main() function, and this function should work in any context.

                                    +Assuming the program is compiled as controlbee and the SKINI scorefile bookert.ski is in the scores directory, the program can be run as:

                                    +

                                    controlbee scores/bookert.ski
                                     

                                    -Only a few basic SKINI message type case statements are included in this example. It is easy to extend the program to support a much more elaborate set of instrument control parameters.

                                    -This example could also be easily extended to accept "realtime" control input messages via STDIN, socket, or MIDI connections. The Messager class constructor takes an optional argument consisting of a bitmask of the following options: STK_PIPE, STK_SOCKET, and/or STK_MIDI.

                                    +Only a few basic SKINI message type case statements are included in this example. It is easy to extend the program to support a much more elaborate set of instrument control parameters.

                                    +This example could also be easily extended to accept "realtime" control input messages via pipe, socket or MIDI connections. The Messager class provides Messager::startStdInput(), Messager::startSocketInput(), and Messager::startMidiInput() functions for this purpose.

                                    [Next tutorial]   [Main tutorial page]


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

                                    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                                    +
                                    + +

                                    Realtime Audio (callback)

                                    The previous section described the use of the RtWvOut class for realtime audio output. The RtWvOut::tick() function periodically pauses program execution in order to send a buffer of audio data to the computer's audio hardware (referred to as blocking functionality). These pauses will effectively limit a program's computations to the correct number of samples per second, which is defined by the sample rate of the hardware.

                                    +An alternative scheme for audio input/output is to define a specific function in which audio computations are performed and to let the audio system call this function when more input/output data can be accepted by the hardware (referred to as a callback scheme). In this section, we show how the previous rtsine.cpp program can be modified to work in a callback scenario. There is no "single-sample" interface for this functionality. The callback function will be invoked automatically by the audio system controller (RtAudio) when new data is needed and it is necessary to compute a full audio buffer of samples at that time (see Blocking vs. Callbacks for further information).

                                    +

                                    // crtsine.cpp STK tutorial program
                                    +
                                    +#include "WaveLoop.h"
                                    +#include "RtAudio.h"
                                    +
                                    +// This tick() function handles sample computation only.  It will be
                                    +// called automatically when the system needs a new buffer of audio
                                    +// samples.
                                    +int tick(char *buffer, int bufferSize, void *dataPointer)
                                    +{
                                    +  WaveLoop *sine = (WaveLoop *) dataPointer;
                                    +  register StkFloat *samples = (StkFloat *) buffer;
                                    +
                                    +  for ( int i=0; i<bufferSize; i++ )
                                    +    *samples++ = sine->tick();
                                    +
                                    +  return 0;
                                    +}
                                    +
                                    +int main()
                                    +{
                                    +  // Set the global sample rate before creating class instances.
                                    +  Stk::setSampleRate( 44100.0 );
                                    +
                                    +  WaveLoop *sine = 0;
                                    +  RtAudio *dac = 0;
                                    +
                                    +  // Figure out how many bytes in an StkFloat and setup the RtAudio object.
                                    +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
                                    +  int bufferSize = RT_BUFFER_SIZE;
                                    +  try {
                                    +    dac = new RtAudio(0, 1, 0, 0, format, (int)Stk::sampleRate(), &bufferSize, 4);
                                    +  }
                                    +  catch (RtError& error) {
                                    +    error.printMessage();
                                    +    goto cleanup;
                                    +  }
                                    +
                                    +  try {
                                    +    // Define and load the sine wave file
                                    +    sine = new WaveLoop( "rawwaves/sinewave.raw", true );
                                    +  }
                                    +  catch (StkError &) {
                                    +    goto cleanup;
                                    +  }
                                    +
                                    +  sine->setFrequency(440.0);
                                    +
                                    +  try {
                                    +    dac->setStreamCallback(&tick, (void *)sine);
                                    +    dac->startStream();
                                    +  }
                                    +  catch (RtError &error) {
                                    +    error.printMessage();
                                    +    goto cleanup;
                                    +  }
                                    +
                                    +  // Block waiting here.
                                    +  char keyhit;
                                    +  std::cout << "\nPlaying ... press <enter> to quit.\n";
                                    +  std::cin.get(keyhit);
                                    +
                                    +  // Shut down the callback and output stream.
                                    +  try {
                                    +    dac->cancelStreamCallback();
                                    +    dac->closeStream();
                                    +  }
                                    +  catch (RtError &error) {
                                    +    error.printMessage();
                                    +  }
                                    +
                                    + cleanup:
                                    +
                                    +  delete sine;
                                    +  delete dac;
                                    +
                                    +  return 0;
                                    +}
                                    +

                                    +The sinusoidal oscillator is created as before. The instantiation of RtAudio requires quite a few more parameters, including output/input device and channel specifiers, the data format, and the desired buffer length (in frames). In this example, we request a single output channel using the default output device, zero channels of input, the RtAudio data format which corresponds to an StkFloat, and the RT_BUFFER_SIZE defined in Stk.h. The last argument is an API-dependent buffering parameter (see RtAudio for further information).

                                    +After the digital-to-analog converter (dac) and oscillator are successfully created, it is necessary to provide the audio system controller with a pointer to our callback function. The RtAudio::setStreamCallback() function takes a pointer to the callback function and an optional pointer to data that will be made available in the callback. In this example, we need to pass only the pointer to the oscillator. In more complex programs, it is typically necessary to put all shared data in a struct (see the next tutorial program for an example) or make use of global variables.

                                    +Our callback routine is the tick() function. Function arguments include a pointer to the audio data buffer, the buffer size (in frames), and the data pointer passed to the RtAudio::setStreamCallback() function (if it exists). It is necessary to cast these pointers to their corresponding data types before use. Our tick() routine simply "ticks" the oscillator for bufferSize counts and writes the result into the audio data buffer before returning.

                                    +The main() function blocks at the std::cin.get() call until the user hits the "enter" key, after which the audio controller is shut down and program execution ends.

                                    +Blocking vs. Callbacks

                                    +Prior to version 4.2.0, all STK example projects and programs used blocking audio input/output functionality (typically with the RtWvIn, RtWvOut, or RtDuplex classes). In many instances, a blocking scheme results in a clearer and more straight forward program structure. Within a graphical user interface (GUI) programming context, however, callback routines are often more natural.

                                    +The RtAudio class provides both blocking and callback routines for all supported audio APIs. It should be noted that it is easy to embed blocking calls within a thread to create "callback-like" functionality. In fact, this is what RtAudio does for those audio APIs which are naturally based on blocking routines (Linux ALSA and OSS, SGI Irix, and Windows DirectSound). It is much more difficult to make an inherently callback-based system work like a blocking scheme. RtAudio attempts to do this with the Linux JACK, Macintosh OS-X CoreAudio, and Windows ASIO APIs, but the result is not fully robust (audio over/underruns are more likely to occur).

                                    +In order to allow all STK programs to function with equal proficiency on all supported computer platforms, a decision was made to modify the example projects to use audio callback routines. The result is a more complicated code structure, which is unfortunate given that we generally strive to make STK code as clear as possible for educational purposes. This was especially an issue with the demo program because it is designed to function in both realtime and non-realtime contexts. The use of global variables has been avoided by defining data structures to hold all variables which must be accessible to the callback routine and other functions. Alternative schemes for making control updates could be designed depending on particular program needs and constraints.

                                    +[Next tutorial]   [Main tutorial page]


                                    + + + + +
                                    The Synthesis ToolKit in C++ (STK)
                                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                    + + + diff --git a/doc/html/download.html b/doc/html/download.html index 0965ac4..9bccd71 100644 --- a/doc/html/download.html +++ b/doc/html/download.html @@ -9,17 +9,59 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                                    -

                                    Download and Release Notes

                                    Version 4.1.3, 22 March 2004

                                    +

                                    Download and Release Notes

                                    Version 4.2.0, 4 October 2004

                                    Release Notes:

                                    +

                                    +Version 4.2.0

                                    +
                                      +
                                    • +Simultaneous multiple audio APIs supported at compile time.
                                    • +
                                    • +Various changes to better conform to standard C++ programming practices.
                                    • +
                                    • +Fixed hidden overloaded virtual functions.
                                    • +
                                    • +New Asymp exponential envelope class.
                                    • +
                                    • +MY_FLOAT type converted to StkFloat and changed throughout (use treesed utility to search/replace in old files).
                                    • +
                                    • +Most example programs rewritten to use an audio callback paradigm (which works better in OS-X).
                                    • +
                                    • +New StkFrames class for vectorized multichannel data and associated new tick() functions making use of StkFrames.
                                    • +
                                    • +New RtMidi class with MIDI output capabilities (API changes).
                                    • +
                                    • +New MidiFileIn class for reading MIDI files.
                                    • +
                                    • +Revised Filter classes to use std::vectors for coefficients (API changes).
                                    • +
                                    • +Revised Messager class (API changes).
                                    • +
                                    • +New abstract parent Effect class for various effects.
                                    • +
                                    • +New abstract parent Generator class for various signal sources.
                                    • +
                                    • +New abstract parent Function class for tables and various non-linear functions.
                                    • +
                                    • +Skini class completely rewritten (simplified) using the C++ STL (API changes).
                                    • +
                                    • +WvOut classes now clip to -1.0 to +1.0 and report out of range.
                                    • +
                                    • +New Mutex class.
                                    • +
                                    • +Turned Nagle algorithm off by default in Socket class.
                                    • +
                                    • +Error reporting standardized in all classes.
                                    • +

                                    Version 4.1.3

                                    Version 4.1.1

                                    @@ -82,7 +124,7 @@ 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 tcl/tk scripts changed to use SKINI PitchChange instead of PitchBend.
                                  • Demo program response to PitchBend modified to octave up/down.
                                  • @@ -90,7 +132,7 @@ Several RtAudio fixes and improvement
                                  • Added nextOut() method to Delay classes.
                                  • -Documentation fixes for Reverb classes.
                                  • +Documentation fixes for Reverb classes.
                                  • RAWWAVE_PATH changed to include the "rawwave" directory.
                                  • @@ -176,13 +218,13 @@ Fixed MIDI system message exclusion under Irix.
                                  • Added a few bitmaps for the Shaker instruments.
                                  • -Made destructors virtual for Reverb.h, WvIn.h and Simple.h.
                                  • +Made destructors virtual for Reverb.h, WvIn.h and Simple.h.
                                  • Fixed bug setting delay length in DLineA when value too big.
                                  • Fixed bug in WinMM realtime code (RTSoundIO).
                                  • -Added tick() method to BowTabl, JetTabl, and ReedTabl (same as lookup).
                                  • +Added tick() method to BowTabl, JetTabl, and ReedTabl (same as lookup).
                                  • Switched to pthread API on SGI platforms.
                                  • @@ -234,7 +276,7 @@ New WvIn class with RawWvIn, SndWvIn, Wa
                                  • Removed RawWave, RawShot, RawInterp, and RawLoop classes (supplanted by RawWvIn).
                                  • -Multi-channel data support in WvIn and WvOut classes using MY_MULTI data type (pointer to MY_FLOAT) and the methods mtick() and mlastOutput().
                                  • +Multi-channel data support in WvIn and WvOut classes using MY_MULTI data type (pointer to StkFloat) and the methods mtick() and mlastOutput().
                                  • Now writing to primary buffer under Windoze when allowed by hardware.
                                  • @@ -266,11 +308,11 @@ Unification of the capabilities of STK across the various platforms. All of the
                                  • MIDI input (with optional time-stamping) supported on SGI, Linux (OSS device drivers only), and Windows operating systems. Time stamping under IRIX and Windows is quantized to milliseconds and under Linux to hundredths of a second.
                                  • -Various Sound Output Options - .wav, .snd, and .mat (Matlab MAT-file) soundfile outputs are supported on all operating systems. I hacked out the MAT-file structure, so you don't have to include any platform-specific libraries. Realtime sound output is provided as well, except under NeXTStep.
                                  • +Various Sound Output Options - .wav, .snd, and .mat (Matlab MAT-file) soundfile outputs are supported on all operating systems. I hacked out the MAT-file structure, so you don't have to include any platform-specific libraries. Realtime sound output is provided as well, except under NeXTStep.
                                  • -Multiple Reverberator Implementations - Reverb subclasses of JCRev and NRev (popular reverberator implementations from CCRMA) have been written. Perry's original reverb implementation still exists as PRCRev. All reverberators now take a T60 initializer argument.
                                  • +Multiple Reverberator Implementations - Reverb subclasses of JCRev and NRev (popular reverberator implementations from CCRMA) have been written. Perry's original reverb implementation still exists as PRCRev. All reverberators now take a T60 initializer argument.
                                  • -MD2SKINI - A program which parses a MIDI input stream and spits out SKINI code. The output of MD2SKINI is typically piped into an STK instrument executable (eg. MD2SKINI | syntmono Clarinet -r -i). In addition, you can supply a filename argument to MD2SKINI and have it simultaneously record a SKINI score file for future reuse.
                                  • +MD2SKINI - A program which parses a MIDI input stream and spits out SKINI code. The output of MD2SKINI is typically piped into an STK instrument executable (eg. MD2SKINI | syntmono Clarinet -r -i). In addition, you can supply a filename argument to MD2SKINI and have it simultaneously record a SKINI score file for future reuse.
                                  • Modifications to Object.h for OS_TYPE compilation dependencies. Makefile automatically determines OS_TYPE when invoked (if you have the GNU makefile utilities installed on your system).
                                  • @@ -279,7 +321,7 @@ A single distribution for all platforms. The Unix and Windows versions have been
                                    - +
                                    The Synthesis ToolKit in C++ (STK)
                                    The Synthesis ToolKit in C++ (STK)
                                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                    diff --git a/doc/html/files.html b/doc/html/files.html index 94c9028..6c0e36b 100644 --- a/doc/html/files.html +++ b/doc/html/files.html @@ -11,13 +11,14 @@

                                    STK File List

                                    Here is a list of all documented files with brief descriptions: + - + @@ -26,23 +27,28 @@ + + + - + + + @@ -54,9 +60,8 @@ - + - @@ -70,7 +75,8 @@ - + + @@ -95,7 +101,7 @@
                                    ADSR.h [code]
                                    Asymp.h [code]
                                    BandedWG.h [code]
                                    BeeThree.h [code]
                                    BiQuad.h [code]
                                    BlowBotl.h [code]
                                    BlowHole.h [code]
                                    Bowed.h [code]
                                    BowTabl.h [code]
                                    BowTable.h [code]
                                    Brass.h [code]
                                    Chorus.h [code]
                                    Clarinet.h [code]
                                    DelayL.h [code]
                                    Drummer.h [code]
                                    Echo.h [code]
                                    Effect.h [code]
                                    Envelope.h [code]
                                    Filter.h [code]
                                    Flute.h [code]
                                    FM.h [code]
                                    FMVoices.h [code]
                                    FormSwep.h [code]
                                    Function.h [code]
                                    Generator.h [code]
                                    HevyMetl.h [code]
                                    Instrmnt.h [code]
                                    JCRev.h [code]
                                    JetTabl.h [code]
                                    JetTable.h [code]
                                    Mandolin.h [code]
                                    Mesh2D.h [code]
                                    Messager.h [code]
                                    MidiFileIn.h [code]
                                    Modal.h [code]
                                    ModalBar.h [code]
                                    Modulate.h [code]
                                    Moog.h [code]
                                    Mutex.h [code]
                                    Noise.h [code]
                                    NRev.h [code]
                                    OnePole.h [code]
                                    PluckTwo.h [code]
                                    PoleZero.h [code]
                                    PRCRev.h [code]
                                    ReedTabl.h [code]
                                    ReedTable.h [code]
                                    Resonate.h [code]
                                    Reverb.h [code]
                                    Rhodey.h [code]
                                    RtAudio.h [code]
                                    RtDuplex.h [code]
                                    Simple.h [code]
                                    SingWave.h [code]
                                    Sitar.h [code]
                                    SKINI.h [code]
                                    Skini.h [code]
                                    SKINI.msg [code]
                                    Socket.h [code]
                                    Sphere.h [code]
                                    StifKarp.h [code]
                                    - +
                                    The Synthesis ToolKit in C++ (STK)
                                    The Synthesis ToolKit in C++ (STK)
                                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                    diff --git a/doc/html/filtering.html b/doc/html/filtering.html new file mode 100644 index 0000000..b0db932 --- /dev/null +++ b/doc/html/filtering.html @@ -0,0 +1,89 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
                                    +    

                                    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

                                    +
                                    + +

                                    Using Filters

                                    In this section, we demonstrate the use of a few of the STK filter classes. The Filter class provides functionality to implement a generalized digital filter of any type, similar to the filter function in Matlab. In this example, we create a Filter instance and initialize it with specific numerator and denominator coefficients. We then compute its impulse response for 20 samples.

                                    +

                                    #include "Filter.h"
                                    +
                                    +int main()
                                    +{
                                    +  StkFrames output( 20 );   // initialize StkFrames to 20 elements (defaults: 1 channel, interleaved)
                                    +  output[0] = 1.0;
                                    +
                                    +  std::vector<StkFloat> numerator( 5, 0.1 ); // create and initialize numerator coefficients
                                    +  std::vector<StkFloat> denominator;         // create empty denominator coefficients
                                    +  denominator.push_back( 1.0 );              // populate our denomintor values
                                    +  denominator.push_back( 0.3 );
                                    +  denominator.push_back( -0.5 );
                                    +
                                    +  Filter filter( numerator, denominator );
                                    +
                                    +  filter.tick( output );
                                    +  for ( unsigned int i=0; i<output.size(); i++ ) {
                                    +    std::cout << "i = " << i << " : output = " << output[i] << std::endl;
                                    +  }
                                    +
                                    +  return 0;
                                    +}
                                    +

                                    +The Filter class implements the standard difference equation

                                     a[0]*y[n] = b[0]*x[n] + ... + b[nb]*x[n-nb] - a[1]*y[n-1] - ... - a[na]*y[n-na],
                                    +

                                    +where "b" values are numerator coefficients and "a" values are denominator coefficients. Note that if the first denominator coefficient is not 1.0, the Filter class automatically normalizes all filter coefficients by that value. The coefficient values are passed to the Filter class via a C++ vector, a container object provided by the C++ Standard Library.

                                    +Most STK classes use more specific types of digital filters, such as the OneZero, OnePole, TwoPole, or BiQuad varieties. These classes inherit from the Filter class and provide specific functionality particular to their use, as well as functions to independently control individual coefficient values.

                                    +Resonances:

                                    +The STK BiQuad and TwoPole classes provide functionality for creating resonance filters. The following example demonstrates how to create a resonance centered at 440 Hz that is used to filter the output of a Noise generator.

                                    +

                                    #include "BiQuad.h"
                                    +#include "Noise.h"
                                    +
                                    +int main()
                                    +{
                                    +  StkFrames output( 20 );   // initialize StkFrames to 20 elements (defaults: 1 channel, interleaved)
                                    +  Noise noise;
                                    +
                                    +  BiQuad biquad;
                                    +  biquad.setResonance( 440.0, 0.98, true ); // automatically normalize for unity peak gain
                                    +
                                    +  for ( unsigned int i=0; i<output.size(); i++ ) {
                                    +    output[i] = biquad.tick( noise.tick() );  // single-sample computations
                                    +    std::cout << "i = " << i << " : output = " << output[i] << std::endl;
                                    +  }
                                    +
                                    +  return 0;
                                    +}
                                    +

                                    +By passing a boolian value of true as the third argument to the BiQuad::setResonance() function, the filter coefficients are automatically scaled to achieve unity gain at the resonance peak frequency. The previous code could be easily modified for "vector-based" calculations:

                                    +

                                    #include "BiQuad.h"
                                    +#include "Noise.h"
                                    +
                                    +int main()
                                    +{
                                    +  StkFrames output( 20 );   // initialize StkFrames to 20 elements (defaults: 1 channel, interleaved)
                                    +  Noise noise;
                                    +
                                    +  BiQuad biquad;
                                    +  biquad.setResonance( 440.0, 0.98, true ); // automatically normalize for unity peak gain
                                    +
                                    +  biquad.tick( noise.tick( output ) );      // vector-based computations
                                    +  for ( unsigned int i=0; i<output.size(); i++ ) {
                                    +    std::cout << "i = " << i << " : output = " << output[i] << std::endl;
                                    +  }
                                    +
                                    +  return 0;
                                    +}
                                    +

                                    +[Next tutorial]   [Main tutorial page]


                                    + + + + +
                                    The Synthesis ToolKit in C++ (STK)
                                    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                                    + + + diff --git a/doc/html/functions.html b/doc/html/functions.html index 8b5a6ee..04bfc19 100644 --- a/doc/html/functions.html +++ b/doc/html/functions.html @@ -9,7 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
                                    - +
                                    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | ~

                                    @@ -17,14 +17,15 @@

                                    Here is a list of all documented class members with links to the class documentation for each member:

                                    - a -

                                    +: ADSR
                                  • Asymp() +: Asymp

                                  - b -

                                  - c -

                                  +: Delay
                                • controlChange() +: Whistle, VoicForm, Voicer, StifKarp, Simple, Shakers, Saxofony, Sampler, Resonate, Moog, ModalBar, Modal, Mesh2D, Mandolin, Instrmnt, FMVoices, FM, Flute, Clarinet, Brass, Bowed, BlowHole, BlowBotl, BandedWG

                                - d -

                                • damp() : Modal
                                • DEBUG_WARNING @@ -60,61 +66,71 @@ Here is a list of all documented class members with links to the class documenta : RtAudioDeviceInfo

                                - e -

                                - f -

                                +: FormSwep
                              • frames() +: StkFrames
                              • Function() +: Function

                              - g -

                              - h -

                              - i -

                              - j -

                              +: JCRev
                            • JetTable() +: JetTable

                            - k -

                            +: Simple, Sampler, Resonate, FM, Envelope, Asymp, ADSR
                          • keyOn() +: Simple, Sampler, Resonate, FM, Envelope, Asymp, ADSR

                          - l -

                          +: FM
                        • lock() +: Mutex

                        - m -

                        +: Moog
                      • Mutex() +: Mutex

                      - n -

                      - p -

                      +: StkError, RtError
                    • probed +: RtAudioDeviceInfo
                    • pushMessage() +: Messager

                    - q -

                    - r -

                    - s -

                    +: RtError
                  • type +: Skini::Message

                  - u -

                  - v -

                  • Vector3D() @@ -370,11 +413,11 @@ Here is a list of all documented class members with links to the class documenta : VoicForm

                  - w -

                  - ~ -

                  - g -

                  - h -

                  - i -

                  - j -

                  +: JCRev
                • JetTable() +: JetTable

                - k -

                +: Simple, Sampler, Resonate, FM, Envelope, Asymp, ADSR
              • keyOn() +: Simple, Sampler, Resonate, FM, Envelope, Asymp, ADSR

              - l -

              +: FM
            • lock() +: Mutex

            - m -

            +: Moog
          • Mutex() +: Mutex

          - n -

          +: WvOut, WvIn
        • openPort() +: RtMidiOut, RtMidiIn
        • openStream() +: RtAudio
        • openVirtualPort() +: RtMidiOut, RtMidiIn
        • operator[]() +: StkFrames

        - p -

        +: StkError, RtError
      • pushMessage() +: Messager

      - q -

      - r -

      - s -

      +

      - u -

      - v -

      - w -

      - ~ -

      • ~ADSR() -: ADSR
      • ~BandedWG() +: ADSR
      • ~Asymp() +: Asymp
      • ~BandedWG() : BandedWG
      • ~BeeThree() : BeeThree
      • ~BiQuad() : BiQuad
      • ~BlowBotl() : BlowBotl
      • ~BlowHole() : BlowHole
      • ~Bowed() -: Bowed
      • ~BowTabl() -: BowTabl
      • ~Brass() +: Bowed
      • ~BowTable() +: BowTable
      • ~Brass() : Brass
      • ~Chorus() : Chorus
      • ~Clarinet() : Clarinet
      • ~Delay() @@ -365,24 +403,29 @@ : DelayA
      • ~DelayL() : DelayL
      • ~Drummer() : Drummer
      • ~Echo() -: Echo
      • ~Envelope() +: Echo
      • ~Effect() +: Effect
      • ~Envelope() : Envelope
      • ~Filter() : Filter
      • ~Flute() : Flute
      • ~FM() : FM
      • ~FMVoices() : FMVoices
      • ~FormSwep() -: FormSwep
      • ~HevyMetl() +: FormSwep
      • ~Function() +: Function
      • ~Generator() +: Generator
      • ~HevyMetl() : HevyMetl
      • ~Instrmnt() : Instrmnt
      • ~JCRev() -: JCRev
      • ~JetTabl() -: JetTabl
      • ~Mandolin() +: JCRev
      • ~JetTable() +: JetTable
      • ~Mandolin() : Mandolin
      • ~Mesh2D() : Mesh2D
      • ~Messager() -: Messager
      • ~Modal() +: Messager
      • ~MidiFileIn() +: MidiFileIn
      • ~Modal() : Modal
      • ~ModalBar() : ModalBar
      • ~Modulate() : Modulate
      • ~Moog() -: Moog
      • ~Noise() +: Moog
      • ~Mutex() +: Mutex
      • ~Noise() : Noise
      • ~NRev() : NRev
      • ~OnePole() : OnePole
      • ~OneZero() @@ -392,15 +435,15 @@ : Plucked
      • ~PluckTwo() : PluckTwo
      • ~PoleZero() : PoleZero
      • ~PRCRev() -: PRCRev
      • ~ReedTabl() -: ReedTabl
      • ~Resonate() -: Resonate
      • ~Reverb() -: Reverb
      • ~Rhodey() +: PRCRev
      • ~ReedTable() +: ReedTable
      • ~Resonate() +: Resonate
      • ~Rhodey() : Rhodey
      • ~RtAudio() -: RtAudio
      • ~RtDuplex() +: RtAudio
      • ~RtDuplex() : RtDuplex
      • ~RtError() -: RtError
      • ~RtMidi() -: RtMidi
      • ~RtWvIn() +: RtError
      • ~RtMidiIn() +: RtMidiIn
      • ~RtMidiOut() +: RtMidiOut
      • ~RtWvIn() : RtWvIn
      • ~RtWvOut() : RtWvOut
      • ~Sampler() : Sampler
      • ~Saxofony() @@ -408,8 +451,8 @@ : Shakers
      • ~Simple() : Simple
      • ~SingWave() : SingWave
      • ~Sitar() -: Sitar
      • ~SKINI() -: SKINI
      • ~Socket() +: Sitar
      • ~Skini() +: Skini
      • ~Socket() : Socket
      • ~Sphere() : Sphere
      • ~StifKarp() : StifKarp
      • ~Stk() @@ -434,7 +477,7 @@
        - +
        The Synthesis ToolKit in C++ (STK)
        The Synthesis ToolKit in C++ (STK)
        ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
        diff --git a/doc/html/functions_type.html b/doc/html/functions_type.html new file mode 100644 index 0000000..11cd9bf --- /dev/null +++ b/doc/html/functions_type.html @@ -0,0 +1,26 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
        +    

        +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

        +
        + + + +

        +

        +
        + + + + +
        The Synthesis ToolKit in C++ (STK)
        ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
        + + + diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html index f1df4f1..9850710 100644 --- a/doc/html/functions_vars.html +++ b/doc/html/functions_vars.html @@ -9,24 +9,31 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
        - +

          -
        • duplexChannels -: RtAudioDeviceInfo
        • inputChannels -: RtAudioDeviceInfo
        • isDefault -: RtAudioDeviceInfo
        • MY_FLOAT32 -: Stk
        • MY_FLOAT64 -: Stk
        • name +
        • channel +: Skini::Message
        • duplexChannels +: RtAudioDeviceInfo
        • floatValues +: Skini::Message
        • inputChannels +: RtAudioDeviceInfo
        • intValues +: Skini::Message
        • isDefault +: RtAudioDeviceInfo
        • name : Phonemes, RtAudioDeviceInfo
        • nativeFormats : RtAudioDeviceInfo
        • outputChannels : RtAudioDeviceInfo
        • probed -: RtAudioDeviceInfo
        • sampleRates -: RtAudioDeviceInfo
        • STK_SINT16 -: Stk
        • STK_SINT32 -: Stk
        • STK_SINT8 -: Stk
        • WVOUT_AIF +: RtAudioDeviceInfo
        • remainder +: Skini::Message
        • sampleRates +: RtAudioDeviceInfo
        • STK_FLOAT32 +: Stk
        • STK_FLOAT64 +: Stk
        • STK_SINT16 +: Stk
        • STK_SINT24 +: Stk
        • STK_SINT32 +: Stk
        • STK_SINT8 +: Stk
        • time +: Skini::Message
        • type +: Skini::Message
        • WVOUT_AIF : WvOut
        • WVOUT_MAT : WvOut
        • WVOUT_RAW : WvOut
        • WVOUT_SND @@ -35,7 +42,7 @@
          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/fundamentals.html b/doc/html/fundamentals.html new file mode 100644 index 0000000..293b0e5 --- /dev/null +++ b/doc/html/fundamentals.html @@ -0,0 +1,61 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
          +    

          +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

          +
          + +

          STK Fundamentals

          The Synthesis ToolKit is implemented in the C++ programming language. STK does not attempt to provide a new programming environment or paradigm but rather provides a set of objects which can be used within a normal C++ programming framework. Therefore, it is expected that users of STK will have some familiarity with C/C++ programming concepts. That said, the STK classes do have some particular idiosyncrasies that we will mention here.

          +Computations:

          +Audio and control signals throughout STK use a floating-point data type, StkFloat, the exact precision of which can be controlled via a typedef statement in Stk.h. By default, an StkFloat is a double-precision floating-point value. Thus, the ToolKit can use any normalization scheme desired. The base instruments and algorithms are implemented with a general audio sample dynamic maximum of +/-1.0.

          +In general, the computation and/or passing of values is performed on a "single-sample" basis. For example, the Noise class outputs random floating-point numbers in the range +/-1.0. The computation of such values occurs in the Noise::tick() function. The following program will generate 20 random floating-point (StkFloat) values in the range -1.0 to +1.0:

          +

          #include "Noise.h"
          +
          +int main()
          +{
          +  StkFloat output;
          +  Noise noise;
          +
          +  for ( unsigned int i=0; i<20; i++ ) {
          +    output = noise.tick();
          +    std::cout << "i = " << i << " : output = " << output << std::endl;
          +  }
          +
          +  return 0;
          +}
          +

          +Nearly all STK classes implement tick() functions which take and/or return sample values. Within the tick() function, the fundamental sample calculations are performed for a given class. Most STK classes consume/generate a single sample per operation and their tick() method takes/returns each sample "by value". In addition, every class implementing a tick() function also provides one or more overloaded tick() functions which can be used for vectorized computations, as shown in the next example.

          +

          #include "Noise.h"
          +
          +int main()
          +{
          +  StkFrames output(20);   // initialize StkFrames to 20 elements (defaults: 1 channel, interleaved)
          +  Noise noise;
          +
          +  noise.tick( output );
          +  for ( unsigned int i=0; i<output.size(); i++ ) {
          +    std::cout << "i = " << i << " : output = " << output[i] << std::endl;
          +  }
          +
          +  return 0;
          +}
          +

          +In this way, it might be possible to achieve improved processing efficiency using vectorized computations. The StkFrames class is a new addition to the ToolKit to provide a general "mechanism" for handling and passing vectorized, multi-channel audio data. The StkFrames "type" provides functions to set and/or determine the number of audio channels and sample frames it holds, as well as the format (interleaved or non-interleaved) of its data.

          +Inheritance:

          +Nearly all STK classes inherit from the Stk abstract base class, which provides common functionality related to error reporting, sample rate control, and byte swapping. Several other base classes exist which roughly group many of the classes according to function as follows:

          +

          +

          +[Next tutorial]   [Main tutorial page]


          + + + + +
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          + + + diff --git a/doc/html/hello.html b/doc/html/hello.html index 5a97a8a..8802314 100644 --- a/doc/html/hello.html +++ b/doc/html/hello.html @@ -9,7 +9,7 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
          -

          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.

          +

          Hello Sine!

          We'll continue 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.

          // sineosc.cpp
           
           #include "WaveLoop.h"
          @@ -21,16 +21,16 @@
             Stk::setSampleRate( 44100.0 );
           
             // Define and load the sine wave file
          -  WaveLoop *input = new WaveLoop( "rawwaves/sinewave.raw", TRUE );
          +  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 );
          +  WvOut* 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() );
          +    output->tick( input->tick() );
             }
           
             // Clean up
          @@ -42,13 +42,11 @@
           

          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 tick() functions which take and/or return sample values. Within the tick() function, the fundamental sample calculations are performed for a given class. Most STK classes consume/generate a single sample per operation and their tick() method takes/returns each sample "by value". In addition, every class implementing a tick() function also provides 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.

          +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 44100 Hz.

          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.

          -

          // sineosc.cpp
          +
          // sineosc.cpp STK tutorial program
           
           #include "WaveLoop.h"
           #include "WvOut.h"
          @@ -63,7 +61,7 @@ The ToolKit has some basic C++ error handling functionality built in. Classes wh
           
             try {
               // Define and load the sine wave file
          -    input = new WaveLoop( "rawwaves/sinewave.raw", TRUE );
          +    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 );
          @@ -75,10 +73,11 @@ The ToolKit has some basic C++ error handling functionality built in. Classes wh
             input->setFrequency( 440.0 );
           
             // Run the oscillator for 40000 samples, writing to the output file
          -  for ( int i=0; i<40000; i++ ) {
          +  int i;
          +  for ( i=0; i<40000; i++ ) {
           
               try {
          -      output->tick( input->tick() );
          +      output->tick( input->tick() );
               }
               catch ( StkError & ) {
                 goto cleanup;
          @@ -94,10 +93,10 @@ The ToolKit has some basic C++ error handling functionality built in. Classes wh
           }
           

          In this particular case, we simply exit the program if an error occurs (an error message is automatically printed to stderr). A more refined program might attempt to recover from or fix a particular problem and, if successful, continue processing. See the Class Documentation to determine which constructors and functions can throw an error.

          -[Next tutorial]   [Main tutorial page]


          +[Next tutorial]   [Main tutorial page]
          - +
          The Synthesis ToolKit in C++ (STK)
          The Synthesis ToolKit in C++ (STK)
          ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html index f933fbb..2549acd 100644 --- a/doc/html/hierarchy.html +++ b/doc/html/hierarchy.html @@ -10,19 +10,25 @@

          STK Class Hierarchy

          This inheritance list is sorted roughly, but not completely, alphabetically:
            -
          • Phonemes
          • RtAudio
          • RtAudioDeviceInfo
          • RtError -
          • Sphere +
          • RtMidi + +
          • Skini::Message
          • Stk
            - +
            The Synthesis ToolKit in C++ (STK)
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            diff --git a/doc/html/index.html b/doc/html/index.html index ceaa5af..bd3baec 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -11,16 +11,16 @@

            The Synthesis ToolKit in C++ (STK)

            -

            Perry R. Cook & Gary P. Scavone

            -

            -

            -The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in 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.

            +

            4.2.0

            +

            Perry R. Cook & Gary P. Scavone

            +

            +The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. The Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (all source included, no unusual libraries, and no hidden drivers). We like to think that this increases the chances that our programs will still work in another 5-10 years. In fact, the ToolKit has been working continuously for nearly 10 years now. STK currently runs with "realtime" support (audio and MIDI) on SGI (Irix), Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.


            - +
            The Synthesis ToolKit in C++ (STK)
            The Synthesis ToolKit in C++ (STK)
            ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
            diff --git a/doc/html/information.html b/doc/html/information.html index eb82c2f..57ed1d0 100644 --- a/doc/html/information.html +++ b/doc/html/information.html @@ -14,11 +14,11 @@
            • ICMC99 Paper
              - A somewhat recent paper by Perry and Gary about the Synthesis ToolKit in C++.

              + A not-so-recent paper by Perry and Gary about the Synthesis ToolKit in C++.

            • SIGGRAPH96 Paper
              - A not-so-recent paper by Perry about the Synthesis ToolKit in C++.

              + A very-not-so-recent paper by Perry about the Synthesis ToolKit in C++.

            • Perry's STK Web Page
              @@ -27,26 +27,59 @@

              What is the Synthesis ToolKit?

              -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 in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. The Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (all source included, no unusual libraries, and no hidden drivers). We like to think that this increases the chances that our programs will still work in another 5-10 years. In fact, the ToolKit has been working continuously for nearly 10 years now. STK currently runs with "realtime" support (audio and MIDI) on SGI (Irix), Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

              The Synthesis ToolKit 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).

              What the Synthesis ToolKit is not.

              -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 Tcl/Tk (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).

              +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. It is easy to embed STK classes inside a GUI environment but we have chosen to focus our energy on the audio signal processing issues. Spending hundreds of hours making platform-dependent graphical user interfaces 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 Tcl/Tk (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).

              A brief history of the Synthesis ToolKit in C++.

              Perry Cook began developing a pre-cursor to the Synthesis ToolKit (also called STK) under NeXTStep at the Center for Computer Research in Music and Acoustics (CCRMA) at Stanford University in the early-1990s. With his move to Princeton University in 1996, he ported everything to C++ on SGI hardware, added real-time capabilities, and greatly expanded the synthesis techniques available. With the help of Bill Putnam, Perry also made a port of STK to Windows95. Gary Scavone began using STK extensively in the summer of 1997 and completed a full port of STK to Linux early in 1998. He finished the fully compatable Windows port (using Direct Sound API) in June 1998. Numerous improvements and extensions have been made since then.

              -The Toolkit has been distributed continuously since 1996 via the Princeton Sound Kitchen, Perry Cook's home page at Princeton, Gary Scavone's home page at Stanford's Center for Computer Research in Music and Acoustics (CCRMA), and the Synthesis ToolKit home page. The ToolKit has been in included in various collections of software. Much of it has also been ported to MAX/MSP on Macintosh computers by Dan Trueman and Luke Dubois of Columbia University, and is distributed as PeRColate. Help on real-time sound and MIDI has been provided by Tim Stilson, Bill Putnam, and Gabriel Maldonado.

              +The Toolkit has been distributed continuously since 1996 via the Princeton Sound Kitchen, Perry Cook's home page at Princeton, Gary Scavone's home page at Stanford's Center for Computer Research in Music and Acoustics (CCRMA), and the Synthesis ToolKit home page. The ToolKit has been included in various collections of software. Much of it has also been ported to Max/MSP on Macintosh computers by Dan trueman and Luke Dubois of Columbia University, and is distributed as PeRColate. Help on real-time sound and MIDI has been provided over the years by Tim Stilson, Bill Putnam, and Gabriel Maldonado.

              Legal and Ethical Notes

              This software was designed and created to be made publicly available for free, primarily for academic purposes, so if you use it, pass it on with this documentation, and for free. If you make a million dollars with it, give us some. If you make compositions with it, put us in the program notes.

              Some of the concepts are covered by various patents, some known to us and likely others which are unknown. Many of the ones known to us are administered by the Stanford Office of Technology and Licensing. The good news is that large hunks of the techniques used here are public domain. To avoid subtle legal issues, we will not state what's freely useable here, but we will try to note within the various classes where certain things are likely to be protected by patents.

              Disclaimer

              -STK is free and we do not guarantee anything. We've been hacking on this code for a while now and most of it seems to work pretty well. But, there surely are some bugs floating around. Sometimes things work fine on one computer platform but not so fine on another. FPU overflows and underflows cause very weird behavior which also depends on the particular CPU and OS. Let us know about bugs you find and we'll do our best to correct them.


              +STK is free and we do not guarantee anything. We've been hacking on this code for a while now and most of it seems to work pretty well. But, there surely are some bugs floating around. Sometimes things work fine on one computer platform but not so fine on another. FPU overflows and underflows cause very weird behavior which also depends on the particular CPU and OS. Let us know about bugs you find and we'll do our best to correct them.

              +

              Perry's Notes From the Original Distribution of STK

              +

              +This whole world was created with no particular hardware in mind. These examples are intended to be tutorial in nature, as a platform for the continuation of my research, and as a possible starting point for a software synthesis system. The basic motivation was to create the necessary unit generators to do the synthesis, processing, and control that I want to do and teach about. Little thought for optimization was given and therefore improvements, especially speed enhancements, should be possible with these classes. It was written with some basic concepts in mind about how to let compilers optimize.

              +Your question at this point might be, "But Perry, with CMix, CMusic, CSound, CShells, CMonkeys, etc. already cluttering the landscape, why a new set of stupid C functions for music synthesis and processing?" The answers lie below.

              +

                +
              1. +I needed to port many of the things I've done into something which is generic enough to port further to different machines.

                +

              2. +
              3. +I really plan to document this stuff, so that you don't have to be me to figure out what's going on. (I'll probably be sorry I said this in a couple of years, when even I can't figure out what I was thinking.)

                +

              4. +
              5. +The classic difficulties most people have in trying to implement physical models are:

                +

                  +
                • +They have trouble understanding the papers, and/or in turning the theory into practice.

                  +

                • +
                • +The physical model instruments are a pain to get to oscillate, and coming up with stable and meaningful parameter values is required to get the models to work at all.
                • +
                +

                +This set of C++ unit generators and instruments might help to diminish the scores of emails I get asking what to do with those block diagrams I put in my papers.

                +

              6. +
              7. +I wanted to try some new stuff with modal synthesis, and implement some classic FM patches as well.

                +

              8. +
              9. +I wanted to reimplement, and newly implement more of the intelligent and physical performer models I've talked about in some of my papers. But I wanted to do it in a portable way, and in such a way that I can hook up modules quickly. I also wanted to make these instruments connectable to such player objects, so folks like Brad Garton who really think a lot about the players can connect them to my instruments, a lot about which I think.

                +

              10. +
              11. +More rationalizations to follow ...
              12. +
              +
              - +
              The Synthesis ToolKit in C++ (STK)
              The Synthesis ToolKit in C++ (STK)
              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
              diff --git a/doc/html/instruments.html b/doc/html/instruments.html index 02894df..00c8dd2 100644 --- a/doc/html/instruments.html +++ b/doc/html/instruments.html @@ -9,61 +9,104 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
              -

              Instruments

              The ToolKit comes with a wide variety of synthesis algorithms, all of which inherit from the Instrmnt class. In this example, we'll fire up an instance of the BeeThree FM synthesis class and show how it's frequency can be modified over time.

              -

              // bethree.cpp
              +

              Instruments

              The ToolKit comes with a wide variety of synthesis algorithms, all of which inherit from the Instrmnt class. In this example, we'll fire up an instance of the BeeThree FM synthesis class and show how its frequency can be modified over time.

              +

              // bethree.cpp STK tutorial program
               
               #include "BeeThree.h"
              -#include "RtWvOut.h"
              +#include "RtAudio.h"
              +
              +// The TickData structure holds all the class instances and data that
              +// are shared by the various processing functions.
              +struct TickData {
              +  Instrmnt *instrument;
              +  StkFloat frequency;
              +  StkFloat scaler;
              +  long counter;
              +  bool done;
              +
              +  // Default constructor.
              +  TickData()
              +    : instrument(0), scaler(1.0), counter(0), done( false ) {}
              +};
              +
              +// This tick() function handles sample computation only.  It will be
              +// called automatically when the system needs a new buffer of audio
              +// samples.
              +int tick(char *buffer, int bufferSize, void *dataPointer)
              +{
              +  TickData *data = (TickData *) dataPointer;
              +  register StkFloat *samples = (StkFloat *) buffer;
              +
              +  for ( int i=0; i<bufferSize; i++ ) {
              +    *samples++ = data->instrument->tick();
              +    if ( ++data->counter % 2000 == 0 ) {
              +      data->scaler += 0.025;
              +      data->instrument->setFrequency( data->frequency * data->scaler );
              +    }
              +  }
              +
              +  if ( data->counter > 80000 )
              +    data->done = true;
              +
              +  return 0;
              +}
               
               int main()
               {
              -  // Set the global sample rate before creating class instances.
              +  // Set the global sample rate and rawwave path before creating class instances.
                 Stk::setSampleRate( 44100.0 );
              +  Stk::setRawwavePath( "../../rawwaves/" );
               
              -  Instrmnt *instrument = 0;
              -  RtWvOut *output = 0;
              -  MY_FLOAT frequency, amplitude, scaler;
              -  long counter, i;
              +  TickData data;
              +  RtAudio *dac = 0;
              +
              +  // Figure out how many bytes in an StkFloat and setup the RtAudio object.
              +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
              +  int bufferSize = RT_BUFFER_SIZE;
              +  try {
              +    dac = new RtAudio(0, 1, 0, 0, format, (int)Stk::sampleRate(), &bufferSize, 4);
              +  }
              +  catch (RtError& error) {
              +    error.printMessage();
              +    goto cleanup;
              +  }
               
                 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);
              +    data.instrument = new BeeThree();
                 }
                 catch (StkError &) {
                   goto cleanup;
                 }
               
              -  scaler = 1.0;
              -  frequency = 220.0;
              -  amplitude = 0.5;
              -  instrument->noteOn( frequency, amplitude );
              +  data.frequency = 220.0;
              +  data.instrument->noteOn( data.frequency, 0.5 );
               
              -  // 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 );
              +  try {
              +    dac->setStreamCallback(&tick, (void *)&data);
              +    dac->startStream();
              +  }
              +  catch (RtError &error) {
              +    error.printMessage();
              +    goto cleanup;
                 }
               
              -  // Turn the instrument off with maximum decay envelope.
              -  instrument->noteOff( 1.0 );
              +  // Block waiting until callback signals done.
              +  while ( !data.done )
              +    Stk::sleep( 100 );
              +  
              +  // Shut down the callback and output stream.
              +  try {
              +    dac->cancelStreamCallback();
              +    dac->closeStream();
              +  }
              +  catch (RtError &error) {
              +    error.printMessage();
              +  }
               
                cleanup:
              -  delete instrument;
              -  delete output;
              +  delete data.instrument;
              +  delete dac;
               
                 return 0;
               }
              @@ -74,7 +117,7 @@ Instrument parameters can be precisely controlled as demonstrated above. A more
               [Next tutorial]   [Main tutorial page] 
              - +
              The Synthesis ToolKit in C++ (STK)
              The Synthesis ToolKit in C++ (STK)
              ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
              diff --git a/doc/html/links.html b/doc/html/links.html index 68c36f0..90a92d4 100644 --- a/doc/html/links.html +++ b/doc/html/links.html @@ -10,16 +10,25 @@

              Miscellaneous Links

              +
            • The RtAudio WWW site

            +
          • The RtMidi WWW site

          +
        • ChucK: Concurrent, On-the-fly Audio Programming Language using STK unit generators

        +
      • Paul Lansky's port of STK to SuperCollider
      +

      +

      +

      +

      +

      +

      @@ -35,7 +44,7 @@
      - +
      The Synthesis ToolKit in C++ (STK)
      The Synthesis ToolKit in C++ (STK)
      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/maillist.html b/doc/html/maillist.html index f3e5872..e5ff9dc 100644 --- a/doc/html/maillist.html +++ b/doc/html/maillist.html @@ -15,7 +15,7 @@ To join send a message to <st To be removed from the list send a message to <stk-request@ccrma.stanford.edu> with the contents: unsubscribe
      - +
      The Synthesis ToolKit in C++ (STK)
      The Synthesis ToolKit in C++ (STK)
      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/multichannel.html b/doc/html/multichannel.html index 819d06d..42d7f8f 100644 --- a/doc/html/multichannel.html +++ b/doc/html/multichannel.html @@ -13,7 +13,7 @@ Most STK classes process single-sample data streams via their tick() function. In order to distinguish single-sample and sample frame calculations, the WvIn and WvOut classes implement both tick() and tickFrame() functions. The tickFrame() functions take or return a pointer to an array of audio data representing one or more sample frames. For single-channel streams, the tick() and tickFrame() functions produce equivalent results. When tick() is called for a multi-channel stream, however, the function either returns a sample frame average (WvIn) or writes a single sample argument to all channels (WvOut).

      Multi-channel 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.

      -

      // foursine.cpp
      +
      // foursine.cpp STK tutorial program
       
       #include "WaveLoop.h"
       #include "WvOut.h"
      @@ -31,7 +31,7 @@ The following example demonstrates the use of the // Define and load the sine waves
         try {
           for ( i=0; i<4; i++ ) {
      -      inputs[i] = new WaveLoop( "rawwaves/sinewave.raw", TRUE );
      +      inputs[i] = new WaveLoop( "rawwaves/sinewave.raw", true );
             inputs[i]->setFrequency( 220.0 * (i+1) );
           }
         }
      @@ -48,17 +48,17 @@ The following example demonstrates the use of the // Write two seconds of four sines to the output file
      -  MY_FLOAT frame[4];
      +  StkFloat frame[4];
         for ( j=0; j<88200; j++ ) {
           for ( i=0; i<4; i++ )
             frame[i] = inputs[i]->tick();
       
      -    output->tickFrame( frame );
      +    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() );
      +    output->tick( inputs[0]->tick() );
         }
       
        cleanup:
      @@ -71,7 +71,7 @@ The following example demonstrates the use of the Next tutorial]   [Main tutorial page] 
      - +
      The Synthesis ToolKit in C++ (STK)
      The Synthesis ToolKit in C++ (STK)
      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/pages.html b/doc/html/pages.html index 2cd0816..ac2e96a 100644 --- a/doc/html/pages.html +++ b/doc/html/pages.html @@ -16,8 +16,14 @@
    • Control Input +
    • Realtime Audio (callback) +
    • Download and Release Notes +
    • Using Filters + +
    • STK Fundamentals +
    • Hello Sine!
    • General Information @@ -32,7 +38,7 @@
    • Voice Management -
    • Realtime Audio +
    • Realtime Audio (blocking)
    • Synthesis toolKit Instrument Network Interface (SKINI) @@ -46,7 +52,7 @@
      - +
      The Synthesis ToolKit in C++ (STK)
      The Synthesis ToolKit in C++ (STK)
      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/polyvoices.html b/doc/html/polyvoices.html index aac142d..6061727 100644 --- a/doc/html/polyvoices.html +++ b/doc/html/polyvoices.html @@ -9,118 +9,199 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
      -

      Voice Management

      The previous tutorial chapters were concerned only with monophonic ToolKit instrument playback and control. At this point, it should be relatively clear that one can instantiate multiple instruments and perhaps sum together their 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 tick() function. The Voicer class responds to noteOn, noteOff, setFrequency, pitchBend, and controlChange messages, automatically assigning incoming messages to the voices in its control. When all voices are sounding and a new noteOn is encountered, the Voicer interrupts the oldest sounding voice. The user is responsible for creating and deleting all instrument instances.

      +

      Voice Management

      The previous tutorial chapters were concerned only with monophonic ToolKit instrument playback and control. At this point, it should be relatively clear that one can instantiate multiple instruments and perhaps sum together their outputs or even direct their outputs to separate channels. It is less clear how one might go about controlling a group of instruments. The Voicer class is designed to serve just this purpose.

      +The STK Voicer class is a relatively simple voice manager. The user can dynamically add and delete instruments to/from its "control", with the option of controlling specific instruments via unique note tags and/or grouping sets of instruments via a "channel" number. All sounding instrument outputs are summed and returned via the tick() function. The Voicer class responds to noteOn, noteOff, setFrequency, pitchBend, and controlChange messages, automatically assigning incoming messages to the voices in its control. When all voices are sounding and a new noteOn is encountered, the Voicer interrupts the oldest sounding voice. The user is responsible for creating and deleting all instrument instances.

      In the following example, we modify the controlbee.cpp program to make use of three BeeThree instruments, all controlled using a Voicer.

      -

      // threebees.cpp
      +
      // threebees.cpp STK tutorial program
       
       #include "BeeThree.h"
      -#include "RtWvOut.h"
      +#include "RtAudio.h"
       #include "Messager.h"
       #include "Voicer.h"
       #include "SKINI.msg"
       
      +#include <algorithm>
      +#if !defined(__OS_WINDOWS__) // Windoze bogosity for VC++ 6.0
      +  using std::min;
      +#endif
      +
      +// The TickData structure holds all the class instances and data that
      +// are shared by the various processing functions.
      +struct TickData {
      +  Voicer voicer;
      +  Messager messager;
      +  Skini::Message message;
      +  int counter;
      +  bool haveMessage;
      +  bool done;
      +
      +  // Default constructor.
      +  TickData()
      +    : counter(0), haveMessage(false), done( false ) {}
      +};
      +
      +#define DELTA_CONTROL_TICKS 64 // default sample frames between control input checks
      +
      +// The processMessage() function encapsulates the handling of control
      +// messages.  It can be easily relocated within a program structure
      +// depending on the desired scheduling scheme.
      +void processMessage( TickData* data )
      +{
      +  register StkFloat value1 = data->message.floatValues[0];
      +  register StkFloat value2 = data->message.floatValues[1];
      +
      +  switch( data->message.type ) {
      +
      +  case __SK_Exit_:
      +    data->done = true;
      +    return;
      +
      +  case __SK_NoteOn_:
      +    if ( value2 == 0.0 ) // velocity is zero ... really a NoteOff
      +      data->voicer.noteOff( value1, 64.0 );
      +    else { // a NoteOn
      +      data->voicer.noteOn( value1, value2 );
      +    }
      +    break;
      +
      +  case __SK_NoteOff_:
      +    data->voicer.noteOff( value1, value2 );
      +    break;
      +
      +  case __SK_ControlChange_:
      +    data->voicer.controlChange( (int) value1, value2 );
      +    break;
      +
      +  case __SK_AfterTouch_:
      +    data->voicer.controlChange( 128, value1 );
      +
      +  case __SK_PitchChange_:
      +    data->voicer.setFrequency( value1 );
      +    break;
      +
      +  case __SK_PitchBend_:
      +    data->voicer.pitchBend( value1 );
      +
      +  } // end of switch
      +
      +  data->haveMessage = false;
      +  return;
      +}
      +
      +// This tick() function handles sample computation and scheduling of
      +// control updates.  It will be called automatically when the system
      +// needs a new buffer of audio samples.
      +int tick(char *buffer, int bufferSize, void *dataPointer)
      +{
      +  TickData *data = (TickData *) dataPointer;
      +  register StkFloat *samples = (StkFloat *) buffer;
      +  int counter, nTicks = bufferSize;
      +
      +  while ( nTicks > 0 && !data->done ) {
      +
      +    if ( !data->haveMessage ) {
      +      data->messager.popMessage( data->message );
      +      if ( data->message.type > 0 ) {
      +        data->counter = (long) (data->message.time * Stk::sampleRate());
      +        data->haveMessage = true;
      +      }
      +      else
      +        data->counter = DELTA_CONTROL_TICKS;
      +    }
      +
      +    counter = min( nTicks, data->counter );
      +    data->counter -= counter;
      +
      +    for ( int i=0; i<counter; i++ ) {
      +      *samples++ = data->voicer.tick();
      +      nTicks--;
      +    }
      +    if ( nTicks == 0 ) break;
      +
      +    // Process control messages.
      +    if ( data->haveMessage ) processMessage( data );
      +  }
      +
      +  return 0;
      +}
      +
       int main()
       {
      -  // Set the global sample rate before creating class instances.
      +  // Set the global sample rate and rawwave path before creating class instances.
         Stk::setSampleRate( 44100.0 );
      +  Stk::setRawwavePath( "../../rawwaves/" );
       
         int i;
      -  RtWvOut *output = 0;
      -  Messager *messager = 0;
      -  Voicer *voicer = 0;
      -  bool done = FALSE;
      +  TickData data;
      +  RtAudio *dac = 0;
         Instrmnt *instrument[3];
         for ( i=0; i<3; i++ ) instrument[i] = 0;
       
      +  // Figure out how many bytes in an StkFloat and setup the RtAudio object.
      +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
      +  int bufferSize = RT_BUFFER_SIZE;
      +  try {
      +    dac = new RtAudio(0, 1, 0, 0, format, (int)Stk::sampleRate(), &bufferSize, 4);
      +  }
      +  catch (RtError& error) {
      +    error.printMessage();
      +    goto cleanup;
      +  }
      +
         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;
         }
       
      +  // "Add" the instruments to the voicer.
      +  for ( i=0; i<3; i++ )
      +    data.voicer.addInstrument( instrument[i] );
      +
      +  if ( data.messager.startStdInput() == false )
      +    goto cleanup;
      +
         try {
      -    // Create a Messager instance to read from a redirected SKINI scorefile.
      -    messager = new Messager();
      +    dac->setStreamCallback(&tick, (void *)&data);
      +    dac->startStream();
         }
      -  catch (StkError &) {
      +  catch (RtError &error) {
      +    error.printMessage();
           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;
      -      }
      -    }
      +  // Block waiting until callback signals done.
      +  while ( !data.done )
      +    Stk::sleep( 100 );
      +  
      +  // Shut down the callback and output stream.
      +  try {
      +    dac->cancelStreamCallback();
      +    dac->closeStream();
      +  }
      +  catch (RtError &error) {
      +    error.printMessage();
         }
       
        cleanup:
         for ( i=0; i<3; i++ ) delete instrument[i];
      -  delete output;
      -  delete messager;
      -  delete voicer;
      +  delete dac;
       
         return 0;
       }
       

      -Assuming the program is compiled as threebees, the three-voice SKINI scorefile bachfugue.ski (also located in the scores directory with the examples) could be redirected to the program as:

      -

      threebees < bachfugue.ski
      +We have written this program to accept control messages from STDIN. Assuming the program is compiled as threebees, the three-voice SKINI scorefile bachfugue.ski (located in the scores directory with the examples) can be redirected to the program as:

      +

      threebees < scores/bachfugue.ski
       

      -For more fun, surf to Kern Scores for a huge assortment of other scorefiles which can be downloaded in the SKINI format.

      -Another easy extension would be to use the STK_MIDI constructor argument to the Messager class and then play the instruments via a MIDI keyboard.

      +For more fun, surf to Kern Scores for a huge assortment of other scorefiles which can be downloaded in the SKINI format.

      +Another easy extension would be to add the Messager::startMidiInput() function to the program and then play the instruments via a MIDI keyboard.

      [Main tutorial page]


      - +
      The Synthesis ToolKit in C++ (STK)
      The Synthesis ToolKit in C++ (STK)
      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/realtime.html b/doc/html/realtime.html index 6533928..82fe3b5 100644 --- a/doc/html/realtime.html +++ b/doc/html/realtime.html @@ -9,8 +9,8 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
      -

      Realtime Audio

      In this section, we modify the sineosc.cpp program in order to send the output to the default audio playback device on your system.

      -

      // rtsine.cpp
      +

      Realtime Audio (blocking)

      In this section, we modify the sineosc.cpp program in order to send the output to the default audio playback device on your computer system.

      +

      // rtsine.cpp STK tutorial program
       
       #include "WaveLoop.h"
       #include "RtWvOut.h"
      @@ -20,27 +20,27 @@
         // Set the global sample rate before creating class instances.
         Stk::setSampleRate( 44100.0 );
       
      -  WaveLoop *input = 0;
      -  RtWvOut *output = 0;
      +  WaveLoop *sine = 0;
      +  RtWvOut *dac = 0;
       
         try {
           // Define and load the sine wave file
      -    input = new WaveLoop( "rawwaves/sinewave.raw", TRUE );
      +    sine = new WaveLoop( "rawwaves/sinewave.raw", true );
       
           // Define and open the default realtime output device for one-channel playback
      -    output = new RtWvOut(1);
      +    dac = new RtWvOut(1);
         }
         catch (StkError &) {
           goto cleanup;
         }
       
      -  input->setFrequency(440.0);
      +  sine->setFrequency(440.0);
       
         // Play the oscillator for 40000 samples
         int i;
         for ( i=0; i<40000; i++ ) {
           try {
      -      output->tick(input->tick());
      +      dac->tick( sine->tick() );
           }
           catch (StkError &) {
             goto cleanup;
      @@ -48,27 +48,27 @@
         }
       
        cleanup:
      -  delete input;
      -  delete output;
      +  delete sine;
      +  delete dac;
       
         return 0;
       }
       

      -The class RtWvOut is a protected subclass of WvOut. A number of optional constructor arguments can be used to fine tune its performance for a given system.

      +The class RtWvOut is a protected subclass of WvOut. A number of optional constructor arguments can be used to fine tune its performance for a given system. RtWvOut provides a "single-sample" interface to the RtAudio class. Note that RtWvOut (as well as the RtWvIn and RtDuplex classes described below) make use of RtAudio's blocking input/output functionality. On systems which implement an inherently callback-based audio API, this blocking functionality will be less robust. An example of audio output using a callback scheme will be discussed in a subsequent tutorial section.

      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 record.cpp example program in the examples 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 effects project or the io.cpp example program in the examples 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):

      +It may be possible to use an instance of RtWvOut and an instance of RtWvIn to simultaneously read and write realtime audio to and from a hardware device or devices. However, it is recommended to instead use a single instance of RtDuplex to achieve this behavior, in that it guarantees better synchronization between the input and output data. See the effects project or the io.cpp example program in the examples 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 API as follows (assuming all necessary files exist in the project directory):

      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
      +    RtWvOut.cpp RtAudio.cpp rtsine.cpp -lpthread -lasound
       

      On a Macintosh OS X system, the syntax would be:

      -

      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
      +
      g++ -Wall -D__MACOSX_CORE__ -o rtsine Stk.cpp WvIn.cpp WaveLoop.cpp WvOut.cpp RtWvOut.cpp RtAudio.cpp \
      +   rtsine.cpp -lpthread -framework CoreAudio -framework CoreMIDI -framework CoreFoundation
       

      -[Next tutorial]   [Main tutorial page]


      +[Next tutorial]   [Main tutorial page]
      - +
      The Synthesis ToolKit in C++ (STK)
      The Synthesis ToolKit in C++ (STK)
      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/skini.html b/doc/html/skini.html index c5f0b8b..7ba8fd3 100644 --- a/doc/html/skini.html +++ b/doc/html/skini.html @@ -9,56 +9,56 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
      -

      Synthesis toolKit Instrument Network Interface (SKINI)

      This describes the latest (version 1.1) implementation of SKINI for the Synthesis ToolKit in C++ (STK) by Perry R. Cook.

      +

      Synthesis toolKit Instrument Network Interface (SKINI)

      This describes the latest (version 1.1) implementation of SKINI for the Synthesis ToolKit in C++ (STK) by Perry R. Cook.

              Too good to be true?
           Have control and read it too?
      -          A SKINI haiku.
      +          A SKINI haiku.
       

      -Profound thanks to Dan Trueman, Brad Garton, and Gary Scavone for input on this revision. Thanks also to MIDI, the NeXT MusicKit, ZIPI and all the creators and modifiers of these for good bases upon/from which to build and depart.

      +Profound thanks to Dan trueman, Brad Garton, and Gary Scavone for input on this revision. Thanks also to MIDI, the NeXT MusicKit, ZIPI and all the creators and modifiers of these for good bases upon/from which to build and depart.

      MIDI Compatibility

      -SKINI was designed to be MIDI compatible wherever possible, and extend MIDI in incremental, then maybe profound ways.

      +SKINI was designed to be MIDI compatible wherever possible, and extend MIDI in incremental, then maybe profound ways.

      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 graphics. 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 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.
    +
  • 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.

Why SKINI?

-SKINI was designed to be extensable and hackable for a number of applications: imbedded synthesis in a game or VR simulation, scoring and mixing tasks, real-time and non-real time applications which could benefit from controllable sound synthesis, JAVA controlled synthesis, or eventually maybe JAVA synthesis, etc. SKINI is not intended to be "the mother of scorefiles," but since the entire system is based on text representations of names, floats, and ints, converters from one scorefile language to SKINI, or back, should be easily created.

-I am basically a bottom-up designer with an awareness of top-down design ideas, so SKINI above all reflects the needs of my particular research and creative projects as they have arisen and developed. SKINI 1.1 represents a profound advance beyond versions 0.8 and 0.9 (the first versions), future SKINI's might reflect some changes. Compatibility with prior scorefiles will be attempted, but there aren't that many scorefiles out there yet.

+SKINI was designed to be extensable and hackable for a number of applications: imbedded synthesis in a game or VR simulation, scoring and mixing tasks, real-time and non-real time applications which could benefit from controllable sound synthesis, JAVA controlled synthesis, or eventually maybe JAVA synthesis, etc. SKINI is not intended to be "the mother of scorefiles," but since the entire system is based on text representations of names, floats, and ints, converters from one scorefile language to SKINI, or back, should be easily created.

+I am basically a bottom-up designer with an awareness of top-down design ideas, so SKINI above all reflects the needs of my particular research and creative projects as they have arisen and developed. SKINI 1.1 represents a profound advance beyond versions 0.8 and 0.9 (the first versions), future SKINI's might reflect some changes. Compatibility with prior scorefiles will be attempted, but there aren't that many scorefiles out there yet.

SKINI Messages

-A basic SKINI message is a line of text. There are only three required fields, the message type (an ASCII name), the time (either delta or absolute), and the channel number. Don't freak out and think that this is MIDI channel 0-15 (which is supported), because the channel number is scanned as a long int. Channels could be socket numbers, machine IDs, serial numbers, or even unique tags for each event in a synthesis. Other fields might be used, as specified in the SKINI.tbl file. This is described in more detail later.

-Fields in a SKINI line are delimited by spaces, commas, or tabs. The SKINI parser only operates on a line at a time, so a newline means the message is over. Multiple messages are NOT allowed directly on a single line (by use of the ; for example in C). This could be supported, but it isn't in version 1.1.

-Message types include standard MIDI types like NoteOn, NoteOff, ControlChange, etc. MIDI extension message types (messages which look better than MIDI but actually get turned into MIDI-like messages) include LipTension, StringDamping, etc. Non-MIDI message types include SetPath (sets a path for file use later), and OpenReadFile (for streaming, mixing, and applying effects to soundfiles along with synthesis, for example). Other non-MIDI message types include Trilling, HammerOn, etc. (these translate to gestures, behaviors, and contexts for use by intellegent players and instruments using SKINI). Where possible I will still use these as MIDI extension messages, so foot switches, etc. can be used to control them in real time.

+A basic SKINI message is a line of text. There are only three required fields, the message type (an ASCII name), the time (either delta or absolute), and the channel number. Don't freak out and think that this is MIDI channel 0-15 (which is supported), because the channel number is scanned as a long int. Channels could be socket numbers, machine IDs, serial numbers, or even unique tags for each event in a synthesis. Other fields might be used, as specified in the SKINI.tbl file. This is described in more detail later.

+Fields in a SKINI line are delimited by spaces, commas, or tabs. The SKINI parser only operates on a line at a time, so a newline means the message is over. Multiple messages are NOT allowed directly on a single line (by use of the ; for example in C). This could be supported, but it isn't in version 1.1.

+Message types include standard MIDI types like NoteOn, NoteOff, ControlChange, etc. MIDI extension message types (messages which look better than MIDI but actually get turned into MIDI-like messages) include LipTension, StringDamping, etc. Non-MIDI message types include SetPath (sets a path for file use later), and OpenReadFile (for streaming, mixing, and applying effects to soundfiles along with synthesis, for example). Other non-MIDI message types include Trilling, HammerOn, etc. (these translate to gestures, behaviors, and contexts for use by intellegent players and instruments using SKINI). Where possible I will still use these as MIDI extension messages, so foot switches, etc. can be used to control them in real time.

All fields other than type, time, and channel are optional, and the types and useage of the additional fields is defined in the file SKINI.tbl.

-The other important file used by SKINI is SKINI.msg, which is a set of #defines to make C code more readable, and to allow reasonably quick re-mapping of control numbers, etc.. All of these defined symbols are assigned integer values. For Java, the #defines could be replaced by declaration and assignment statements, preserving the look and behavior of the rest of the code.

-C Files Used To Implement SKINI

-SKINI.cpp is an object which can either open a SKINI file, and successively read and parse lines of text as SKINI strings, or accept strings from another object and parse them. The latter functionality would be used by a socket, pipe, or other connection receiving SKINI messages a line at a time, usually in real time, but not restricted to real time.

-SKINI.msg should be included by anything wanting to use the SKINI.cpp object. This is not mandatory, but use of the __SK_blah_ symbols which are defined in the .msg file will help to ensure clarity and consistency when messages are added and changed.

-SKINI.tbl is used only by the SKINI parser object (SKINI.cpp). In the file SKINI.tbl, an array of structures is declared and assigned values which instruct the parser as to what the message types are, and what the fields mean for those message types. This table is compiled and linked into applications using SKINI, but could be dynamically loaded and changed in a future version of SKINI.

+The other important file used by SKINI is SKINI.msg, which is a set of #defines to make C code more readable, and to allow reasonably quick re-mapping of control numbers, etc.. All of these defined symbols are assigned integer values. For Java, the #defines could be replaced by declaration and assignment statements, preserving the look and behavior of the rest of the code.

+Files Used To Implement SKINI

+Skini.cpp is a C++ object which can either open a SKINI file and successively read and parse lines of text as SKINI strings, or accept strings from another object and parse them. The latter functionality would be used by a socket, pipe, or other connection receiving SKINI messages a line at a time, usually in real time, but not restricted to real time.

+SKINI.msg should be included by anything wanting to use the Skini.cpp object. This is not mandatory, but use of the __SK_blah_ symbols which are defined in the .msg file will help to ensure clarity and consistency when messages are added and changed.

+SKINI.tbl is used only by the SKINI parser object (Skini.cpp). In the file SKINI.tbl, an array of structures is declared and assigned values which instruct the parser as to what the message types are, and what the fields mean for those message types. This table is compiled and linked into applications using SKINI, but could be dynamically loaded and changed in a future version of SKINI.

SKINI Messages and the SKINI Parser:

-The parser isn't all that smart, but neither am I. Here are the basic rules governing a valid SKINI message:

+The parser isn't all that smart, but neither am I. Here are the basic rules governing a valid SKINI message:

    -
  • If the first (non-delimiter ... see below) character in a SKINI string is '/' that line is treated as a comment and echoed to stdout.
+
  • If the first (non-delimiter ... see below) character in a SKINI string is '/' that line is treated as a comment and echoed to stdout.
    • If there are no characters on a line, that line is treated as blank and echoed to stdout. Tabs and spaces are treated as non-characters.

      -
    • Spaces, commas, and tabs delimit the fields in a SKINI message line. (We might allow for multiple messages per line later using the semicolon, but probably not. A series of lines with deltaTimes of 0.0 denotes simultaneous events. For read-ability, multiple messages per line doesn't help much, so it's unlikely to be supported later).
    +
  • Spaces, commas, and tabs delimit the fields in a SKINI message line. (We might allow for multiple messages per line later using the semicolon, but probably not. A series of lines with deltaTimes of 0.0 denotes simultaneous events. For read-ability, multiple messages per line doesn't help much, so it's unlikely to be supported later).
    • -
    • The first field must be a SKINI message name (like NoteOn). These might become case-insensitive in future versions, so don't plan on exciting clever overloading of names (like noTeOn being different from NoTeON). There can be a number of leading spaces or tabs, but don't exceed 32 or so.
    +
  • The first field must be a SKINI message name (like NoteOn). These might become case-insensitive in future versions, so don't plan on exciting clever overloading of names (like noTeOn being different from NoTeON). There can be a number of leading spaces or tabs, but don't exceed 32 or so.
    • -
    • The second field must be a time specification in seconds. A time field can be either delta-time (most common and the only one supported in version 0.8), or absolute time. Absolute time messages have an '=' appended to the beginning of the floating point number with no space. So 0.10000 means delta time of 100 ms, while =0.10000 means absolute time of 100 ms. Absolute time messages make most sense in score files, but could also be used for (loose) synchronization in a real-time context. Real-time messages should be time-ordered AND time-correct. That is, if you've sent 100 total delta-time messages of 1.0 seconds, and then send an absolute time message of =90.0 seconds, or if you send two absolute time messages of =100.0 and =90.0 in that order, things will get really fouled up. The SKINI parser doesn't know about time, however. The WvOut device is the master time keeper in the Synthesis Toolkit, so it should be queried to see if absolute time messages are making sense. There's an example of how to do that later in this document. Absolute times are returned by the parser as negative numbers (since negative deltaTimes are not allowed).
    +
  • The second field must be a time specification in seconds. A time field can be either delta-time (most common and the only one supported in version 0.8), or absolute time. Absolute time messages have an '=' appended to the beginning of the floating point number with no space. So 0.10000 means delta time of 100 ms, while =0.10000 means absolute time of 100 ms. Absolute time messages make most sense in score files, but could also be used for (loose) synchronization in a real-time context. Real-time messages should be time-ordered AND time-correct. That is, if you've sent 100 total delta-time messages of 1.0 seconds, and then send an absolute time message of =90.0 seconds, or if you send two absolute time messages of =100.0 and =90.0 in that order, things will get really fouled up. The SKINI parser doesn't know about time, however. The WvOut device is the master time keeper in the Synthesis Toolkit, so it should be queried to see if absolute time messages are making sense. There's an example of how to do that later in this document. Absolute times are returned by the parser as negative numbers (since negative deltaTimes are not allowed).
    • The third field must be an integer channel number. Don't go crazy and think that this is just MIDI channel 0-15 (which is supported). The channel number is scanned as a long int. Channels 0-15 are in general to be treated as MIDI channels. After that it's wide open. Channels could be socket numbers, machine IDs, serial numbers, or even unique tags for each event in a synthesis. A -1 channel can be used as don't care, omni, or other functions depending on your needs and taste.

      -
    • All remaining fields are specified in the SKINI.tbl file. In general, there are maximum two more fields, which are either SK_INT (long), SK_DBL (double float), or SK_STR (string). The latter is the mechanism by which more arguments can be specified on the line, but the object using SKINI must take that string apart (retrived by using getRemainderString()) and scan it. Any excess fields are stashed in remainderString.
    +
  • All remaining fields are specified in the SKINI.tbl file. In general, there are maximum two more fields, which are either SK_INT (long), SK_DBL (double float), or SK_STR (string). The latter is the mechanism by which more arguments can be specified on the line, but the object using SKINI must take that string apart (retrived by using getRemainderString()) and scan it. Any excess fields are stashed in remainderString.
  • A Short SKINI File:

            /*  Howdy!!! Welcome to SKINI, by P. Cook 1999
    @@ -94,7 +94,7 @@ A Short SKINI File:
             NoteOff         0.000000 2 79 82
     

    The SKINI.tbl File and Message Parsing:

    -The SKINI.tbl file contains an array of structures which are accessed by the parser object SKINI.cpp. The struct is:

    +The SKINI.tbl file contains an array of structures which are accessed by the parser object Skini.cpp. The struct is:

    struct SKINISpec {
        char messageString[32];
        long  type;
    @@ -105,7 +105,7 @@ The SKINI.tbl file contains an array of structures which are accessed by the par
     so an assignment of one of these structs looks like:

            MessageStr$      ,type, data2, data3,
     

    -type is the message type sent back from the SKINI line parser.

    +type is the message type sent back from the SKINI line parser.

    data<n> is either:

    • NOPE : field not used, specifically, there aren't going to be any more fields on this line. So if there is is NOPE in data2, data3 won't even be checked.
    @@ -114,7 +114,7 @@ so an assignment of one of these structs looks like:

  • SK_INT : byte (actually scanned as 32 bit signed long int). If it's a MIDI data field which is required to be an integer, like a controller number, it's 0-127. Otherwise, get creative with SK_INTs.
    • -
    • SK_DBL : double precision floating point. SKINI uses these in the MIDI context for note numbers with micro tuning, velocities, controller values, etc.
    +
  • SK_DBL : double precision floating point. SKINI uses these in the MIDI context for note numbers with micro tuning, velocities, controller values, etc.
    • SK_STR : only valid in final field. This allows (nearly) arbitrary message types to be supported by simply scanning the string to EndOfLine and then passing it to a more intellegent handler. For example, MIDI SYSEX (system exclusive) messages of up to 256 bytes can be read as space-delimited integers into the 1K SK_STR buffer. Longer bulk dumps, soundfiles, etc. should be handled as a new message type pointing to a FileName, Socket, or something else stored in the SK_STR field, or as a new type of multi-line message.
    @@ -129,64 +129,63 @@ Here's a couple of lines from the SKINI.tbl file

    {"StringDamping" , __SK_ControlChange_, __SK_StringDamping_, SK_DBL}, {"StringDetune" , __SK_ControlChange_, __SK_StringDetune_, SK_DBL},

    -The first three are basic MIDI messages. The first two would cause the parser, after recognizing a match of the string "NoteOff" or "NoteOn", to set the message type to 128 or 144 (__SK_NoteOff_ and __SK_NoteOn_ are #defined in the file SKINI.msg to be the MIDI byte value, without channel, of the actual MIDI messages for NoteOn and NoteOff). The parser would then set the time or delta time (this is always done and is therefore not described in the SKINI Message Struct). The next two fields would be scanned as double-precision floats and assigned to the byteTwo and byteThree variables of the SKINI parser. The remainder of the line is stashed in the remainderString variable.

    +The first three are basic MIDI messages. The first two would cause the parser, after recognizing a match of the string "NoteOff" or "NoteOn", to set the message type to 128 or 144 (__SK_NoteOff_ and __SK_NoteOn_ are #defined in the file SKINI.msg to be the MIDI byte value, without channel, of the actual MIDI messages for NoteOn and NoteOff). The parser would then set the time or delta time (this is always done and is therefore not described in the SKINI Message Struct). The next two fields would be scanned as double-precision floats and assigned to the byteTwo and byteThree variables of the SKINI parser. The remainder of the line is stashed in the remainderString variable.

    The ControlChange spec is basically the same as NoteOn and NoteOff, but the second data byte is set to an integer (for checking later as to what MIDI control is being changed).

    The Volume spec is a MIDI Extension message, which behaves like a ControlChange message with the controller number set explicitly to the value for MIDI Volume (7). Thus the following two lines would accomplish the same changing of MIDI volume on channel 2:

        ControlChange  0.000000 2 7 64.1
         Volume         0.000000 2   64.1
     

    -I like the 2nd line better, thus my motivation for SKINI in the first place.

    +I like the 2nd line better, thus my motivation for SKINI in the first place.

    The StringDamping and StringDetune messages behave the same as the Volume message, but use Control Numbers which aren't specifically nailed-down in MIDI. Note that these Control Numbers are carried around as long ints, so we're not limited to 0-127. If, however, you want to use a MIDI controller to play an instrument, using controller numbers in the 0-127 range might make sense.

    Using SKINI:

    -Here's a simple example of code which uses the SKINI object to read a SKINI file and control a single instrument.

    -

            instrument = new Mandolin(50.0);
    -        score = new SKINI(argv[1]);
    -        while(score->getType() > 0) {
    -            tempDouble = score->getDelta();
    -            if (tempDouble < 0)     {
    -                tempDouble = - tempDouble;
    -                tempDouble = tempDouble - output.getTime();
    -                if (tempDouble < 0) {
    -                   printf("Bad News Here!!!  Backward Absolute Time Required.\n");
    -                   tempDouble = 0.0;
    -                }
    +Here's a simple example of code which uses the SKINI object to read a SKINI file and control a single instrument.

    +

            Skini score;
    +        Skini::Message message;
    +        instrument = new Mandolin(50.0);
    +        score.setFile( argv[1] );
    +        while ( score.nextMessage( message ) != 0 ) {
    +          tempDouble = message.time;
    +          if (tempDouble < 0)     {
    +            tempDouble = - tempDouble;
    +            tempDouble = tempDouble - output.getTime();
    +            if (tempDouble < 0) {
    +              printf("Bad News Here!!!  Backward Absolute Time Required.\n");
    +              tempDouble = 0.0;
                 }
    -            tempLong = (long) (tempDouble * Stk::sampleRate());
    -            for (i=0;i<tempLong;i++)   {
    -                output.tick(instrument->tick());
    +          }
    +          tempLong = (long) ( tempDouble * Stk::sampleRate() );
    +          for ( i=0; i<tempLong; i++ ) {
    +            output.tick( instrument->tick() );
    +          }
    +
    +          tempDouble3 = message.floatValues[1] * NORM_MIDI;
    +          if ( message.type == __SK_NoteOn_ ) {
    +            if ( tempDouble3 == 0.0 ) {
    +              tempDouble3 = 0.5;
    +              instrument->noteOff( tempDouble3 );
                 }
    -            tempDouble3 = score->getByteThree();
    -            if (score->getType()== __SK_NoteOn_ )        {
    -                tempDouble3 *= NORM_MIDI;
    -                if (score->getByteThree() == 0)  {
    -                    tempDouble3 = 0.5;
    -                    instrument->noteOff(tempDouble3);
    -                }
    -                else {
    -                    tempLong = (int) score->getByteTwo();
    -                    tempDouble2 = Midi2Pitch[tempLong];
    -                    instrument->noteOn(tempDouble2,tempDouble3);
    -                }
    +            else {
    +              tempLong = message.intValues[0];
    +              tempDouble2 = Midi2Pitch[tempLong];
    +              instrument->noteOn( tempDouble2, tempDouble3 );
                 }
    -            else if (score->getType() == __SK_NoteOff_) {
    -                tempDouble3 *= NORM_MIDI;
    -                instrument->noteOff(tempDouble3);
    -            }
    -            else if (score->getType() == __SK_ControlChange_)        {
    -                tempLong = score->getByteTwoInt();
    -                instrument->controlChange(tempLong,temp3.0);
    -            }
    -            score->nextMessage();
    +          }
    +          else if ( message.type == __SK_NoteOff_ ) {
    +            instrument->noteOff( tempDouble3 );
    +          }
    +          else if ( message.type == __SK_ControlChange_ ) {
    +            tempLong = message.intValues[0];
    +            instrument->controlChange( tempLong, tempDouble3 );
    +          }
             }
     

    -When the score (SKINI object) object is created from the filename in argv[1], the first valid command line is read from the file and parsed.

    -The score->getType() retrieves the messageType. If this is -1, there are no more valid messages in the file and the synthesis loop terminates. Otherwise, the message type is returned.

    -getDelta() retrieves the deltaTime until the current message should occur. If this is greater than 0, synthesis occurs until the deltaTime has elapsed. If deltaTime is less than zero, the time is interpreted as absolute time and the output device is queried as to what time it is now. That is used to form a deltaTime, and if it's positive we synthesize. If it's negative, we print an error and pretend this never happened and we hang around hoping to eventually catch up.

    -The rest of the code sorts out message types NoteOn, NoteOff (including NoteOn with velocity 0), and ControlChange. The code implicitly takes into account the integer type of the control number, but all other data is treated as double float.

    -The last line reads and parses the next message in the file.


    +When a SKINI score is passed to a Skini object using the Skini::setFile() function, valid messages are read from the file and returned using the Skini::nextMessage() function.

    +A Skini::Message structure contains all the information parsed from a single SKINI message. A returned message type of zero indicates either an invalid message or the end of a scorefile.

    +The "time" member of a Skini::Message is the deltaTime until the current message should occur. If this is greater than 0, synthesis occurs until the deltaTime has elapsed. If deltaTime is less than zero, the time is interpreted as absolute time and the output device is queried as to what time it is now. That is used to form a deltaTime, and if it's positive we synthesize. If it's negative, we print an error, pretend this never happened and we hang around hoping to eventually catch up.

    +The rest of the code sorts out message types NoteOn, NoteOff (including NoteOn with velocity 0), and ControlChange. The code implicitly takes into account the integer type of the control number, but all other data is treated as double float.


    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudioDeviceInfo-members.html b/doc/html/structRtAudioDeviceInfo-members.html index 7255d13..36dd81c 100644 --- a/doc/html/structRtAudioDeviceInfo-members.html +++ b/doc/html/structRtAudioDeviceInfo-members.html @@ -21,7 +21,7 @@
    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudioDeviceInfo.html b/doc/html/structRtAudioDeviceInfo.html index 9c3bcb0..4c1dca4 100644 --- a/doc/html/structRtAudioDeviceInfo.html +++ b/doc/html/structRtAudioDeviceInfo.html @@ -9,12 +9,14 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
    -

    RtAudioDeviceInfo Struct Reference

    The public device information structure for returning queried values. -More... +

    RtAudioDeviceInfo Struct Reference

    #include <RtAudio.h>

    -#include <RtAudio.h> +List of all members.


    Detailed Description

    +The public device information structure for returning queried values.

    -List of all members. + +

    +Definition at line 99 of file RtAudio.h.

    @@ -34,12 +36,7 @@

    Public Attributes

    std::string name
    RtAudioFormat nativeFormats
    -


    Detailed Description

    -The public device information structure for returning queried values. -

    - -

    -Definition at line 99 of file RtAudio.h.


    Member Data Documentation

    +

    Member Data Documentation

    @@ -237,7 +234,7 @@ Definition at line 107 of
    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structSkini_1_1Message-members.html b/doc/html/structSkini_1_1Message-members.html new file mode 100644 index 0000000..2a31c3b --- /dev/null +++ b/doc/html/structSkini_1_1Message-members.html @@ -0,0 +1,27 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +

    +    

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    +
    + +

    Skini::Message Member List

    This is the complete list of members for Skini::Message, including all inherited members. + + + + + + +
    channelSkini::Message
    floatValuesSkini::Message
    intValuesSkini::Message
    remainderSkini::Message
    timeSkini::Message
    typeSkini::Message

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

    +Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial

    +
    + +

    Skini::Message Struct Reference

    #include <Skini.h> +

    +List of all members.


    Detailed Description

    +A message structure to store and pass parsed SKINI messages. +

    + +

    +Definition at line 41 of file Skini.h. + + + + + + + + + + + + + + +

    Public Attributes

    long type
    long channel
    StkFloat time
    std::vector< StkFloat > floatValues
    std::vector< long > intValues
    std::string remainder
    +


    Member Data Documentation

    +

    + + + + +
    + + +
    long Skini::Message::type +
    +
    + + + + + +
    +   + + +

    +The message type, as defined in SKINI.msg. +

    +Definition at line 42 of file Skini.h.

    +

    + + + + +
    + + +
    long Skini::Message::channel +
    +
    + + + + + +
    +   + + +

    +The message channel (not limited to 16!). +

    +Definition at line 43 of file Skini.h.

    +

    + + + + +
    + + +
    StkFloat Skini::Message::time +
    +
    + + + + + +
    +   + + +

    +The message time stamp in seconds (delta or absolute). +

    +Definition at line 44 of file Skini.h.

    +

    + + + + +
    + + +
    std::vector<StkFloat> Skini::Message::floatValues +
    +
    + + + + + +
    +   + + +

    +The message values read as floats (values are type-specific). +

    +Definition at line 45 of file Skini.h.

    +

    + + + + +
    + + +
    std::vector<long> Skini::Message::intValues +
    +
    + + + + + +
    +   + + +

    +The message values read as ints (number and values are type-specific). +

    +Definition at line 46 of file Skini.h.

    +

    + + + + +
    + + +
    std::string Skini::Message::remainder +
    +
    + + + + + +
    +   + + +

    +Any remaining message data, read as ascii text. +

    +Definition at line 47 of file Skini.h.

    +


    The documentation for this struct was generated from the following file: +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/system.html b/doc/html/system.html index 2d37040..f30cf44 100644 --- a/doc/html/system.html +++ b/doc/html/system.html @@ -11,7 +11,7 @@

    System Requirements

    General:
    • -A MIDI interface to use MIDI input controls. (NOTE: This may be built into the soundcard on your computer.)
    • +A MIDI interface to use MIDI input/output controls. (NOTE: This may be built into the soundcard on your computer.)
    • Tcl/Tk 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).
    @@ -20,17 +20,19 @@ A MIDI interface to use MIDI input controls. (NOTE: This may be built into the s
  • A soundcard to use realtime audio input/output capabilities. In order to use the effects project, the soundcard and drivers must support full duplex mode.
  • -OSS or ALSA device drivers for realtime sound output and MIDI input.
  • +ALSA device drivers and library for realtime sound and MIDI input/output. OSS device drivers can be used for audio input/output, but MIDI support requires the ALSA library to compile.

    Macintosh OS X (specific):

    • -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.
    • +A C++ compiler does install by default with OS X. It is necessary to download the Developer Kit from the Apple WWW site in order to compile STK or load it from the installation CD-ROM.
    • -IMPORTANT:The internal Macintosh audio hardware typically supports a sample rate of 44100 Hz only. 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.
    • +IMPORTANT:The internal Macintosh audio hardware typically supports a sample rate of 44100 Hz only. The default STK sample rate is now 44100 Hz, but there may be programs which change that value before execution. Check the program code if you have sample rate conflicts. Many of the example project programs allow the sample rate to be specified via the command line.
    • -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.

      +If you experience frequent audio input/output "glitches", try increasing the RT_BUFFER_SIZE specified in Stk.h.

    • +
    • +The tcl/tk interpreter does not ship by default with OS X, but must be downloaded from the internet. The latest Tcl/Tk Aqua distribution (http://www.apple.com/downloads/macosx/unix_open_source/tcltk.html) has been successfully tested on 10.2 and 10.3 systems. The default installation will place a link to the wish interpretor at /usr/bin/wish.

      +It appears that socket support in Tcl/Tk uses the Nagle algorithm, which produces poor response between changes made in the tcl/tk script and the resulting audio updates. Note that this is only a problem when using a socket connection from a Tcl/Tk script.

    @@ -58,7 +60,7 @@ DirectX support for NT is inadequate, so it is not possible to use STK under Win


    - +
    The Synthesis ToolKit in C++ (STK)
    The Synthesis ToolKit in C++ (STK)
    ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/tutorial.html b/doc/html/tutorial.html index c83e573..0e53275 100644 --- a/doc/html/tutorial.html +++ b/doc/html/tutorial.html @@ -9,25 +9,25 @@ Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial
    -

    Tutorial

    The Synthesis ToolKit is a set of C++ classes. In order to go beyond the simple example programs we provide, it is necessary to know some basics about programming in C or C++. STK's "target audience" includes people who:
      +

      Tutorial

      The Synthesis ToolKit is a set of C++ classes. In order to go beyond the simple example programs we provide, it is necessary to know some basics about programming in C and C++. STK's "target audience" includes people who:
      • want to create audio DSP and/or synthesis programs
      • -want to save some time by using our unit generators and input/output routines
      • +want to use our unit generators and input/output routines rather than code their own
      • want to learn about synthesis and processing algorithms
      • -wish to teach real-time synthesis and processing, and wish to use some of our classes and examples
      • +wish to teach real-time synthesis and processing and wish to use some of our classes and examples

      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.).

      The following tutorial chapters describe many of the fundamental ToolKit concepts and classes. All tutorial programs are included in the projects/examples directory.

        -
      1. Hello Sine!
      2. Compiling
      3. Realtime Audio
      4. Instruments
      5. Control Input
      6. Multi-Channel I/O
      7. Voice Management
      +
    • STK Fundamentals
    • Hello Sine!
    • Compiling
    • Using Filters
    • Realtime Audio (blocking)
    • Realtime Audio (callback)
    • Instruments
    • Control Input
    • Multi-Channel I/O
    • Voice Management

    • - +
      The Synthesis ToolKit in C++ (STK)
      The Synthesis ToolKit in C++ (STK)
      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/usage.html b/doc/html/usage.html index a15d5f6..c42a61f 100644 --- a/doc/html/usage.html +++ b/doc/html/usage.html @@ -26,7 +26,7 @@ The include directory contains the header files for all the STK

    • -The rawwaves directory contains various raw, monophonic, 16-bit, big-endian soundfiles used with the STK classes.

      +The rawwaves directory contains various raw, monophonic, 16-bit, big-endian, 22050 Hz soundfiles used with the STK classes.

    • @@ -53,13 +53,13 @@ The ragamatic project is just cool. Fire it up and be enlightene

    • -The examples project contains several simple programs which demonstrate audio input/output, as well as the use of the audio internet streaming classes.
    • +The examples project contains several simple programs which demonstrate audio input/output, including the audio internet streaming classes, as well as most of the tutorial programs.

      Compiling:

      • -Windows95/98/2000/XP: Realtime support is available using either DirectSound or ASIO audio drivers. For DirectSound support, use the __WINDOWS_DS__ preprocessor definition and link with the dsound.lib, winmm.lib, and Wsock32.lib libraries. For ASIO support, use the __WINDOWS_ASIO__ preprocessor definition, include all the files in the src/asio/ directory (i.e. asio.h,cpp, asiodrivers.h,cpp, ...), and link with the winmm.lib, and Wsock32.lib libraries. In addition, the __LITTLE_ENDIAN__ 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 Microsoft). Further, the effects 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.

        +Windows95/98/2000/XP: Realtime support is available using either DirectSound or ASIO audio drivers. For DirectSound support, use the __WINDOWS_DS__ preprocessor definition and link with the dsound.lib, winmm.lib, and Wsock32.lib libraries. For ASIO support, use the __WINDOWS_ASIO__ preprocessor definition, include all the files in the src/asio/ directory (i.e. asio.h,cpp, asiodrivers.h,cpp, ...), and link with the winmm.lib, and Wsock32.lib libraries. In addition, the __LITTLE_ENDIAN__ and __WINDOWS_MM__ preprocessor definitions are necessary for all Windows systems (RtMidi uses the Windows MultiMedia MIDI API). A distribution of the release is available with precompiled binaries (using DirectSound) for all the projects. In order for these binaries to function properly, your system must have the DirectX 5.0 (or higher) runtime libraries installed (available from Microsoft). Further, the effects project requires that your soundcard and drivers provide full duplex mode capabilities. Visual C++ 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.

      • WindowsNT: DirectX support for NT is inadequate, so it is not possible to use STK under WindowsNT with realtime DirectX support. It may be possible to use STK under WindowsNT with realtime ASIO support, though this has not been tested.

        @@ -72,12 +72,14 @@ Several options can be supplied to the configure script to customiz

      • --enable-debug to enable various debug output
      • ---enable-midiator to enable native MS-124W MIDI support (linux only)
      • +--with-alsa to choose native ALSA API support (default, linux only)
      • ---with-alsa to choose native ALSA API support (linux only)
      • +--with-jack to choose native JACK API support (linux only) +
      • +--with-oss to choose native OSS audio API support (linux only, no native OSS MIDI support)

      -In addition, it is possible to specify the location of the STK rawwaves and the STK include path as follows:

      ./configure RAWWAVE_PATH="/home/gary/rawwaves/"
      +Note that it is possible to specify as many of the "--with-" options as desired to compile multi-API support. In addition, it is possible to specify the location of the STK rawwaves and the STK include path as follows: 
      ./configure RAWWAVE_PATH="/home/gary/rawwaves/"
       ./configure INCLUDE_PATH="/home/gary/include/"
       

      For novice STK users, the default configuration should be adequate. @@ -85,32 +87,32 @@ For novice STK users, the default configuration should be adequate.

      For those who wish to create their own system-specific Makefiles:

      • -Linux: Realtime support is enabled with either the __LINUX_OSS__ or __LINUX_ALSA__ preprocessor definitions, which are used to select the underlying audio/MIDI system API. Realtime programs must also link with the pthread library. When using the ALSA API, it is also necessary to link with the asound library. In addition, the __LITTLE_ENDIAN__ 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 __MIDIATOR__ preprocessor definition (together with either the __LINUX_ALSA__ or __LINUX_OSS__ definitions). See the README-Linux file for further system configuration information.

        +Linux: Realtime audio support is enabled with either the __LINUX_ALSA__, __LINUX_JACK__, and/or __LINUX_OSS__ preprocessor definitions, which are used to select the underlying audio system API(s). Because the ALSA library is now integrated into the standard Linux kernel, it is the default audio/MIDI API with STK versions 4.2 and higher. The __LINUX_ALSASEQ__ preprocessor definition must be included for MIDI support. Note that native OSS MIDI support no longer exists in RtMidi. If the __LINUX_OSS__ preprocessor definition is specified, only OSS audio support will be compiled and RtMidi will still be compiled using the ALSA API (assuming the __LINUX_ALSASEQ__ definition is defined). For this reason, STK now requires the asound library for realtime support. Realtime programs must also link with the pthread library. In addition, the __LITTLE_ENDIAN__ preprocessor definition is necessary if compiling on a little-endian system. See the README-Linux file for further system configuration information.

      • Macintosh OS X: Realtime support is enabled with the __MACOSX_CORE__ preprocessor definitions, which incorporates the CoreAudio audio/MIDI API. Realtime programs must also link with the pthread library and the CoreAudio, CoreMIDI, and CoreFoundation frameworks. See the README-MacOSX file for further system configuration information.

      • -SGI: Realtime support is enabled with the __IRIX_AL__ preprocessor definition and linkage with the audio, md, and pthread libraries. STK 4.0 (and higher) is confirmed to compile using CC version 7.30. There may be problems with old compiler versions.

        +SGI: Realtime audio and MIDI support is enabled with the __IRIX_AL__ and __IRIX_MD__ preprocessor definitions and linkage with the audio, md, and pthread libraries. STK 4.0 (and higher) is confirmed to compile using CC version 7.30. There may be problems with old compiler versions.

      • -Generic (non-realtime): Most STK classes are operating system independent and can be compiled using any current C++ compiler. STK assumes big-endian host byte order by default, so if your system is little-endian (i.e. Intel processor), you must provide the __LITTLE_ENDIAN__ preprocessor definition to your compiler. The demo project will compile without realtime support, allowing the use of SKINI scorefiles for input control and output to a variety of soundfile formats. The following classes cannot be used without realtime support: RtAudio, RtWvIn, RtWvOut, RtDuplex, RtMidi, Socket, Thread, TcpWvIn, TcpWvOut. Because of this, it is not possible to compile the effects, ragamatic, and most of the examples projects for non-realtime use.
      • +Generic (non-realtime): Most STK classes are operating system independent and can be compiled using any current C++ compiler. STK assumes big-endian host byte order by default, so if your system is little-endian (i.e. Intel processor), you must provide the __LITTLE_ENDIAN__ preprocessor definition to your compiler. The demo project will compile without realtime support, allowing the use of SKINI scorefiles for input control and output to a variety of soundfile formats. The following classes cannot be used without realtime support: RtAudio, RtWvIn, RtWvOut, RtDuplex, RtMidi, Socket, Thread, Mutex, TcpWvIn, TcpWvOut. Because of this, it is not possible to compile the effects, ragamatic, and most of the examples projects for non-realtime use.

      Control Data:

      -All STK programs in this distribution take input control data in the form of SKINI or MIDI messages only. The Messager class unifies the various means of acquiring control data under a single, easy to use set of functions. The way that SKINI messages can be sent to the programs is dependent upon the operating system in use, as well as whether the program is running in realtime or not. In general, it is possible to:

      +All STK programs in this distribution take input control data in the form of SKINI or MIDI messages only. The Messager class unifies the various means of acquiring control data under a single, easy to use set of functions. The way that SKINI messages can be sent to the programs is dependent upon the operating system in use, as well as whether the program is running in realtime or not. In general, it is possible to:

      1. -Redirect or pipe SKINI scorefiles to an executable.
      2. +Redirect or pipe SKINI scorefiles to an executable.
      3. -Pipe realtime SKINI input messages to an executable (not possible under Windows95/98).
      4. +Pipe realtime SKINI input messages to an executable (not possible under Windows95/98).
      5. -Socket realtime SKINI input messages to an executable.
      6. +Socket realtime SKINI input messages to an executable.
      7. Acquire realtime MIDI messages from a MIDI port on your computer.

      -Tcl/Tk 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 Md2Skini program (in the demo directory) is mostly obsolete but can be used to create SKINI scorefiles from realtime MIDI input.

      +Tcl/Tk graphical user interfaces (GUI) are provided with this distribution 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 Md2Skini program (in the demo directory) is mostly obsolete but can be used to create SKINI scorefiles from realtime MIDI input.

      Demo: STK Instruments

      The demo project demonstrates the behavior of all the distributed STK instruments. The instruments available with this release include:
      • @@ -171,15 +173,12 @@ The demo project demonstrates the behavior of all the distribute

        Demo: Non-Realtime Use

        See the information above with respect to compiling STK for non-realtime use.

        -In non-realtime mode, it is assumed that input control messages are provided from a SKINI scorefile and that audio output is written to a soundfile (.snd, .wav, .aif, .mat, .raw). A number of SKINI scorefiles are provided in the scores directory of the demo project. Assuming a successful compilation of the demo program, typing:

        -

        cat scores/bookert.ski | demo BeeThree -ow myfile.wav
        +In non-realtime mode, it is assumed that input control messages are provided from a SKINI scorefile and that audio output is written to a soundfile (.snd, .wav, .aif, .mat, .raw). A number of SKINI scorefiles are provided in the scores directory of the demo project. Assuming a successful compilation of the demo program, typing:

        +

        demo BeeThree -ow myfile.wav -if scores/bookert.ski
         

        -or (on WindowsXX and/or Unix)

        -

        demo BeeThree -ow myfile.wav < scores\bookert.ski
        -

        -from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and write the resulting audio data to a WAV formatted soundfile called "myfile.wav". Typing demo without any arguments will provide a full program usage description.

        +from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and write the resulting audio data to a WAV formatted soundfile called "myfile.wav" (note that you may need to append ./ to the program name if your default shell setup is not set to look in the current directory). Typing demo without any arguments will provide a full program usage description.

        Demo: Realtime Use

        -STK realtime audio and MIDI input/output and realtime SKINI control input via socketing support is provided for Linux, 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.

        +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.

        Control input and audio output options are typically specified as command-line arguments to STK programs. For example, the demo program is invoked as:

        demo instrument flags
         

        @@ -187,28 +186,27 @@ where instruments include those described above and flags can be any or all of:

      • -or for realtime audio output,
      • --ow for WAV soundfile output,
      • +-ow <file name> for WAV soundfile output,
      • --os for SND (AU) soundfile output,
      • +-os <file name> for SND (AU) soundfile output,
      • --om for MAT-file output,
      • +-om <file name> for MAT-file output,
      • --ip for realtime SKINI control input via piping,
      • +-if <file name> for a SKINI formatted control file,
      • --is > for realtime SKINI control input via socketing (with an optional port number),
      • +-ip for realtime SKINI control input via piping,
      • --im for MIDI control input
      • +-is <port> for realtime SKINI control input via socketing (with an optional port number),
      • --s RATE to specify a sample rate
      • +-im <port> for MIDI control input (with optional port, -1 = virtual port where possible), +
      • +-s RATE to specify a sample rate,
      • -n NUMBER to specify multivoice polyphony
      -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.

      Assuming a successful compilation of the demo program, typing:

      -

      cat scores/bookert.ski | demo BeeThree -or
      -

      -or (on WindowsXX and/or Unix)

      -

      demo BeeThree -or < scores\bookert.ski
      +
      demo BeeThree -or -if scores/bookert.ski
       

      from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and stream the resulting audio data in realtime to the audio output channel of your computer. Typing demo without any arguments will provide a full program usage description.

      Realtime Control Input using Tcl/Tk Graphical User Interfaces:

      @@ -228,14 +226,15 @@ Note that it is possible to specify a hostname when establishing the socket conn Realtime MIDI Control Input: On all supported realtime platforms, you can direct realtime MIDI input to the STK Clarinet by typing:

      demo Clarinet -or -im
      -

      +

      +This will attempt to use the default MIDI port for input. An optional MIDI port number can be specified after the -im flag. Valid MIDI ports are numbered from 0 (default) and higher. On Linux and Macintosh OS-X systems, it is possible to open a virtual MIDI input port (which other software applications can connect to) by specifying a port identifier of -1.

      Polyphony:

      The demo program supports an arbitrary number of voices via the -n NUMBER command-line flag and argument. For example, you can play eight BeeThree instruments with realtime output and control them from a MIDI device by typing:

      demo BeeThree -n 8 -or -im
       

      - +
      The Synthesis ToolKit in C++ (STK)
      The Synthesis ToolKit in C++ (STK)
      ©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.